全国2011年7月自考计算机基础与程序设计试题

编辑整理:广东自考网   发布于:2019-11-27 11:37:20 点击: 次 

全国2011年7月高等教育自学考试

计算机基础与程序设计试题

课程代码:02275

一、单项选择题(本大题共20小题,每小题1分,共20分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.下列存储设备中,属于主机范畴的是(      )

A.光盘 B.硬盘

C.内存 D.U盘

2.下列属于计算机软件系统的是(      )

A.内存储器 B.操作系统

C.显示器 D.CPU

3.在Turbo C2.0中,在主菜单File项中选择Os Shell后,要重新回到Turbo C2.0,应使用的命令是(      )

A.Return B.Exit

C.Quit D.New

4.下面合法的C语言标识符是(      )

A.int_ B.int

C.π D.file.c

5.若有int a,b;下面正确使用变量a,b的表达式是(      )

A.7.0%3.0 B.(a+b)++

C.7++ D.a+′a′+b

6.下面几种运算符中,优先级最低的是(      )

A.| | B.,

C.= D.?:

7.设有int a=3,b=-4,c=5;表达式(a>b)?a&&c<0:b的值是(      )

A.0 B.1

C.3 D.-4

8.设有int x=2,y,z;执行z=y=x++;后变量y的值是(      )

A.0 B.1

C.2 D.3

9.若有int a=8,b=5;语句printf(“%d”,a>b);的执行结果是(      )

A.0 B.1

C.5 D.8

10.下面程序的输出结果是(      )

main( )

{int a=3,b=5;

a+=b;b+=a;

printf(“%d,%d”,a,b);}

A.3,5 B.5,3

C.8,13 D.13,21

11.若有int a=8,b=12,max,min;执行语句

if(a>b){max=a;min=b;}

else{max=b;min=a;}

的结果是(      )

A.max的值是8,min的值是12 B.max的值是8,min的值是8

C.max的值是12,min的值是8 D.max的值是12,min的值是12

12.执行下面程序段后,a的值是

int a=100;

do

{a++;}while(a>120);(      )

A.100 B.101

C.120 D.121

13.若有定义int ch[5][4];则数组ch中的元素的个数是(      )

A.9 B.12

C.15 D.20

14.若有定义char str[20];能使数组str得到字符串"I am a boy"的正确输入方法是(      )

A.gets(str); B.str=getchar(  );

C.scanf("%c",str); D.scanf("%s",str);

15.若主函数调用funl函数,而funl函数调用fun2函数,这种逐级调用称为(      )

A.直接递归调用 B.间接递归调用

C.并行调用 D.嵌套调用

16.下面关于函数参数的说法中,不正确的是(      )

A.实参可以是常量、变量或表达式

B.形参可以是常量、变量或表达式

C.实参可以是数组元素或数组名

D.形参应与其对应的实参类型一致

17.若有定义int b[2][3] ={0},(*p)[3]=b;对b数组第i行第j列(设i,j已正确说明并赋

值)元素的不正确的引用是(      )

A.*(*(p+i)+j) B.*(p[i]+j)

C.*(p+i)+j D.(*(p+i))[j]

18.设有下面的结构体和结构变量定义:

Struct tea

{

char*name;

float price,weight;

};

struct tea teal={"green_tea",2.0,28.5};

struct tea *p_struct=&teal;

语句:

printf("%s,%.1f ",p_struct—>name,p_struct—>price*p_struct—>weight);

的输出结果是(      )

A.57.0 B.57.0,green_tea

C.green_tea,57.0 D.green_tea

19.若有定义int x=5,y=6;下面表达式值为0的是(      )

A.x^x B.x&y

C.x|y D.y>>2

20.下列函数中向文件一次读一个字符的函数是(      )

A.fgetc B.fputc

C.fgets D.fputs

二、多项选择题(本大题共5小题,每小题2分,共10分)

在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。

21.与十进制100等值的数有(        )

A.(1100100)2 B.(1011011)2

C.(144)8 D.(64)16

E.(5F)16

22.下面合法的C语言常量有(        )

A.′tc′ B.3e2.5

C.0xfde D.1e8

E.′\n′

23.下面属于C语言中输入或输出函数的有(        )

A.scanf B.printf

C.putchar D.main

E.pow

24.下面关于函数的说法中,不正确的有(        )

A.定义函数时,形参的类型说明可以放在函数体内

B.return后边的值不能为表达式

C.如果函数值的类型与返回值类型不一致,以函数值类型为准

D.如果形参与实参的类型不一致,以实参类型为准

E.形参与实参的对应关系由形参名和实参名决定

25.设有关于结构体类型的定义:

struct database

{

char name[20];

float speed;

}dbl={"Oracle",125600.56},db2,*p=&db2;

下面选项中语句正确的有(      )

A.p=&dbl; B.p=dbl;

C.strcpy(p—>name,"Sybase"); D.p—>speed=dbl.speed;

E.strcpy(p—>name,dbl.name)转自:考试网 - [Examw.Com]

三、简答题(本大题共4小题,每小题4分,共16分)

26.下面是求1到100之和的程序

main( )

{   int i,sum=0;

for(i=1;i<=100;i++)

sum+=i;

   printf("%d\n",sum);

}

问如何修改循环体,使其仅求前10个数之和。

27.若有下面定义:

int num[10]={0,1,2,3,4,5,6,7,8,9),*p=num;

设数组num的首地址是65484。

问:(1)表达式p+8表示什么?其值是多少?

(2)表达式*(p+8)表示什么?其值是多少?

28.设有说明:unsigned x=0x1234;下面表达式(1)、(2)的运算结果的十六进制值是什么?

(1)(x&0xff00)>>8|(x&0xff)<<8

(2)x&0xff00>>8|x&0xff<<8

29.设有说明:

 

struct island {int id;char name[10]; float area;}a,*p=&a;写出对p所指的成员id、area分别赋值101、34521.65,使p所指的指针成员name指向"Wang"的C语句分别是:

四、阅读分析题(本大题共6小题,每小题5分,共30分)

30.阅读下列程序并写出运行结果。

main( )

{ int a=55,x,y;

x=(int)(a/8.0);

y=a-8*x;

printf("%d,%d\n",x,y);

}


31.阅读下列程序并写出运行结果。

main( )

{  float  x;int  a=0;

scanf("%f ",&x);

switch(x/10-5)

{ case 7: a++;

case 6:a++;printf("%d,",a);

case 5:a++;break;

case 4:a++;

default:a++;printf("%d,",a);

case 1:a+=2:

}

printf("%d\n",a);

}

(1)当程序运行后输入115.5后,写出程序的执行结果。

(2)当再次运行程序后输入45后,写出程序的执行结果。

32.阅读下列程序并写出运行结果。

main( )

{ int s=0,k=1,i;

for(i=0;i<10;i++)

{ k=k+i;

s+=k;

if(i>3) break;

s+=2*k:

printf("s=%d\n",s);

}

printf("s=%d\n",s);

}

33.阅读下列程序并写出运行结果。

main( )

{ int a[4][4],i,j;

for( i=1;i<=3;i++)

for( j=1;j<=3;j++)

a[i][j]=i+j;

for(i=1;i<4;i++){

for(j=1;j<=i;j++)

printf("%3d",a[i][j]);

printf("\n");

}

}

34.阅读下列程序并写出运行结果。

int sum1;

main( )

{ int sum2=0,i,f1(int),f2(int);

for(i=1;i<=5;i++)

sum1+=f1(i);

for(i=1;i<=5;i++)

sum2+=f2(i);

printf("sum1=%d\n",sum1);

printf("sum2=%d\n"sum2);

}

int f1(int a)

{ static int s1=1;

s1*=a;

return s1;

}

int f2(int a)

{ auto int s2=1;

s2*=a;

return s2;

}

35.阅读下列程序并写出运行结果。

main( )

{ char s[]="abcdel2345",*q=s;

int a=0;

for(;q

printf("%c",*q);

a=f(s);

printf("\na=%d\n",a);

}

int f(char*p)

{ int x=0;

while(*p++!=′\0′)

x++;

return x;

}

五、编程题(本大题共2小题,每小题12分,共24分)

36.从键盘上输入30个整数,输出其中能被3整除的数,并求出所有能被3整除的数之和。

37.从二进制文件c:\abc.dat中读出10个float型数据存放于数组a中,然后将数组a中的数据按从小到大的次序输出在屏幕上。

本文标签:历年真题

转载请注明:文章转载自(http://www.gdszkw.com

本文地址:http://www.gdszkw.com/jsjjcycxsj/28160.html

点击查看全部真题 >>

扫码登录


扫码关注“广东省自考网”微信公众号

即可查看全部内容

二维码以过期,请重新刷新




《广东自考网》免责声明:

1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。

2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com

广东自考-便捷服务