自学考试、计算机基础与程序设计(09.4-12.7)试题汇总 联系客服

发布时间 : 星期四 文章自学考试、计算机基础与程序设计(09.4-12.7)试题汇总更新完毕开始阅读

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

C.如果函数值的类型与返回值类型不一致,以函数值类型为准 D.如果形参与实参的类型不一致,以实参类型为准 E.形参与实参的对应关系由形参名和实参名决定 25.设有关于结构体类型的定义: struct database

{

char name[20]; float speed;

}dbl={\,125600.56},db2,*p=&db2; 下面选项中语句正确的有( ) A.p=&dbl; B.p=dbl;

C.strcpy(p—>name,\; D.p—>speed=dbl.speed; E.strcpy(p—>name,dbl.name)

三、简答题(本大题共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指向\的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(\%d\n\,s); }

printf(\%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(\1=%d\n\,sum1); printf(\%d\n\; }

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[]=\,*q=s; int a=0;

for(;q

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中的数据按从小到大的次序输出在屏幕上。

全国2012年4月高等教育自学考试

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

课程代码:02275

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

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.存储容量1KB等于 ( ) A.23字节 C.220字节

2.下面哪种设备是输出设备? ( ) A.扫描仪 C.鼠标

B.键盘 D.显示器 B.210字节 D.230字节

3.设有int a=3,b=-4,c=5;表达式++a-c+b++的值是 ( ) A.-6 C.-4

B.-5 D.-3

4.设有int x,y;表达式y=(x=1,++x,x+2)的值是 ( ) A.1 C.3

B.2 D.4

5.以十六进制形式输出整型数的格式说明符是 ( ) A.%x C.%o

B.%u D.%d

6.下列语句中,有语法错误的是 ( ) ..A.if(x>y); B.if(x= =y)x+y;

C.if(x!=y) scanf(″%d″,&x)else scanf (″%d″,&y); D.if(x

if(y<0)x-=y; else x+=y;

执行完该程序段后,x的值为 ( ) A.-1

B.0