华南农业大学珠江学院期中考试试卷
2011--2012学年度 下 学期 考试科目: C语言程序设计 考试年级: 2011_级 考试类型:(闭卷) 考试时间: 120 分钟 学号 姓名 年级专业 题号 得分
得分 评卷人 一 二 三 总分 一、选择题(每题3分,共45分): 1.有以下程序
#include
int x=8;
for ( ; x>0;x--) {
if(x % 3) {
printf(“%d,”, x--); continue; }
printf(“%d,”,--x); }
return 0; }
程序的运行结果是【 】
A) 7,4,2, B) 8,7,5,2, C)9,7,6,4, D) 8,5,4,2,
2.以下不构成无限循环的语句或语句组是【 】 A) n=0 B) n=0;
do { ++n;} while ( n<=0); while(1) { n++;}
C) n=10; D) for ( n=0, i=1; ;i++) n+=i; while ( n );{ n-- ;}
试卷第1页(共8页)
3.以下选项中,能用作用户标示符的是【 】
A) void B)8_8 C)_8_ D)unsigned
4)阅读一下程序 #include
int case; float printF; printf(”请输入2个数:”);
scanf (”%d %f”,&case,&printF); printf (”%d %f\\n”,case,printF); return 0; }
该程序编译时产生错误,其出错原因是【 】
A)定义语句出错,case是关键字,不能用作用户自定义标识符 B)定义语句出错,printF不能用作用户自定义标识符 C)定义语句无错,scanf不能作为输入函数使用 D)定义语句无错,printf不能输出case的值
5.表达式:(int)((double)9/2)-(9)%2的值是【 】 A)0 B)3 C)4 D)5
6.有以下程序
#include
for (k=1;k<3;k++) switch (k) {
default: c+=k
case 2: c++;break; case 4: c+=2;break; }
printf(“%d\\n”,c); }
程序运行后的输出结果是【 】
A)3 B)5 C)7 D)9
7.有以下程序
试卷第2页(共8页)
#include
c1=’A’+’8’-‘4’; c2=’A’+’8’-‘5’;
printf(“%c,%d\\n”,c1,c2); }
已知字母A的ASCII码为65,程序运行后的输出结果是【 】
A)E,D B)D,69 C)E,68 D)输出无定值
8.设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是【A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a;a=b;b=c;} C)if(a>b) {c=b;b=a;a=c;} D)if(a>b) c=a;a=b;b=c;
9.有如下嵌套的if语句 if (a
if(a if(b 以下选项中与上述if语句等价的语句是【 】 A)k=(a<b)?a:b; k=(b<c)?b:c; B)k=(a<b)?((b<c)?a:b):((b>c)?b:c); C)k=(a<b)?((a<c)?a:c):((b<c)?b:c); D)k=(a<b)?a:b; k=(a<c)?a:c; 10.有以下程序 #include<stdio.h> void main(void) {int i,j,m=1; for(i=1;i<3;i++) {for(j=3;j>O;j--) {if(i*j)>3)break; m=i*j; } } printf(\\n\); } 试卷第3页(共8页) 】 程序运行后的输出结果是【 】 A)m=6 B)m=2 C)m=4 D)m=5 11.有以下程序 #include {int a=l;b=2; for(;a<8;a++) {b+=a;a+=2;} printf(\,%d\n\,a,b); } 程序运行后的输出结果是【 】 A)9,18 B)8,11 C)7,11 D)10,14 12.有以下程序,其中k的初值为八进制数 #include printf(\\n\,k++); } 程序运行后的输出结果是 A)12 B)11 C)10 D)9 13.以下关于return语句的叙述中正确的是【 】 A)一个自定义函数中必须有一条return语句 B)一个自定义函数中可以根据不同情况设置多条return语句 C)定义成void类型的函数中可以有带返回值的return语句 D)没有return语句的自定义函数在执行结束时不能返回到调用处 14.有以下程序 #include(stdio.h) void main(void) { int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0; for(i=0;i<5;i++) s=s+a[b[i]]); printf(\\n\); } 程序运行后的输出结果是【 】 A)6 B)10 C)11 D)15 15.有以下程序 试卷第4页(共8页) #include int a=1,b=0; printf(“%d,”,b=a+b); printf(“%d\\n”,a=2*b); } 程序运行后的输出结果是【 】 A)0,0 B)1,0 C)3,2 D)1,2 得分 评卷人 二、填空题(每题5分,共25分): 1.有以下程序 #include printf(“%d %d”,f1,f2); for(i=3;i<=5;i++) { f=f1+f2; printf(“%d”,f); f1=f2; f2=f; } printf(“\\n”); } 程序运行后的输出结果是 【 】 2.以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出。请填空。 #include int x=256; printf(\【 】 ,x/10,x/100); } 3.以下程序用以删除字符串所有的空格,请填空。 #include 试卷第5页(共8页)