说明:请将单项选择题(1~50空)的正确答案涂写考试答题卡,将填空(51~75空)等文字题按【 】中的序号写入下面文字答题卡,否则不得分。 二、阅读程序题文字答题卡:(每空2分,共24分)
1题【51】 3题【54】 6题【57】 9题【60】 1题【52】 4题【55】 7题【58】 9题【61】 2题【53】 5题【56】 8题【59】 10题【62】 三、完善程序填空题文字答题卡:(每空2分,共26分)
1题 【63】 2题 【64】 【65】 【66】 3题 【67】 【68】 【69】 4题 【70】 【71】 【72】 5题 【73】 【74】 【75】
一、单项选择题(每空1分,共50分)
请将正确答案按【 】中的序号写入答题卡,否则不得分。
1.在C语言中,一条语句以 【】 字符作为结束符。
A) , B) ; C) . D) 无符号 2.以下4组标识符中,能作为变量名使用的是 【】 。
A) age,struct,s1 B) 2A, b_3,main C) ELSE,a[2],m123 D) _abc,INT,abcd
3.判断char型变量ch是否为数字字符的正确表达式为 【】 。
A) 0<=ch<=9 B) '0'<=ch<='9' C) (0<=ch)&&(ch<=9) D) ('0'<=ch)&&(ch<='9')
4.已知小写字母a的ASCII码值是97,大写字母A的ASCII码值是65,下列语句中不能输出大写字母B的是 【】 。
A) putchar('A'+1); B) putchar('b'-32); C) putchar(98-32); D) putchar(B); 5.空字符串的长度是 【】 。
A) 0 B) 1 C)2 D)3 6.整型变量a定义后赋初值的结果是 【】 。 int a=2.8*6;
A) 12 B) 16 C) 17 7.若有以下说明语句,则该语句 【】 。 char a='\\077';
A) 使a的值包含1个字符 B) 使a 的值包含4个字符 C) 使a的值包含3个字符 D) 说明不合法 8.下面的程序结果为: 【】 。 main() {
int x=023; printf(\,--x); }
A)17 B) 18 C)23 9.源程序执行后,屏幕上显示 【】 。 main() { int a; float b; a=4; b=9.5;
printf(\,b=%4.2f\\n\,a,b); }
A)a=%d,b=%f\\n B) a=%d,b=%f C)a=4,b=9.50 D) a=4,b=9.5 10.设 int x=10; x+=x%=(-6)+4; 则x= 【】 。
A) 0 B) 16 C) 18 11.C语言的下列运算符中,运算对象必须是整型数据的是 【】 。D) 18 D)24 D) 10
A) % B) / C) && D) * 12..若有代数式(3ae)/(bc),则下面不正确的C语言表达式是 【】 。
A) a/b/c*e*3 B) 3*a*e/b/c C) 3*a*e/b*c D) a*e/c/b*3 13.下面程序的输出结果是 【】 。 main() {
int a=-1,b=4,k;
k=(a++<=0)&&(!(b--<=0)); printf(\,%d,%d\\n\,k,a,b); }
A)1,1,2 B)1,0,3 C)14.下面哪个表达式的值为4 【】 。
A)11/3 B) 11.0/3 C)(float)11/3 D)(int)(11.0/3+0.5) 15.下面程序的输出结果是 【】 。 main() { int x=2,y=-1,z=2; if(x A) 3 B) 1 C)16.下列程序的运行结果是 【】 。 main() { int x=0,y=1,z=0; if(x=z=y) x=3; printf(“%d,%d\\n”,x,z); } A) 3,0 B) 0,0 C)17.下面的程序 main() { int x=100,a=10,b=20,ok1=5,ok2=0; if(a 0,1,2 2 0,1 D) 0,0,3 D) 0 D) 3,1 else if(ok2) x=10; x=-1; printf(\,x); } 的输出是 【】 。 A) -1 B) 0 C) 1 D) 不确定的值 18.执行下面程序后的输出结果是 【】 。 int x=1,y=1,z=1; x+=y+=z; printf(“%d\\n”,x A) 3 B) 2 C)1 D) 4 19.有如下程序段,则输出结果是 【】 。 int a=10; switch(a) { case 9: a+=1; case 10: a+=1; case 11: a+=1; case 12: a+=1; } printf(“a=%d\\n”,a); A)11 B) 12 C) 13 D) 10 20.下面的程序 main() { int i; for(i=0;i<10;i++); printf(\,i); } 的输出结果是 【】 。 A) 0 B) 123456789 C) 0123456789 D) 10 21. do语句的循环次数为 【】 。 int a=10; do { a--;} while (a!=0) A) 10 B) 9 C) 11 D) 12 22.设有类型说明为:int i=1; 则执行语句:“while (i++<5); ”后,变量i的值是 A) 7 B) 6 C) 5 D) 1 23.对以下程序段的叙述正确的是 【】 。 int k=0; while(k=0) k=k-1; 】 。 【A) while循环之行10次 B) 无限循环 C) 循环体一次也不执行 D) 循环体被执行一次 24.以下语句段中, 【】 不是死循环。 A)int i=100; while(1) {i=i0; i++; if(i>100)break;} B)for(;;); C)int k=32764; do {k++; k++;}while(k>0) D)int s=32764; while((s++%2)||(s%2)) s++; 25.使用如下语句定义一个char型二维数组str,用来存放字符串\、\、\, char str[M][N]; 则M和N最合理取值应该是 【】 。 A) 3和7 B) 2和7 C) 2和6 D) 3和6 26.设己定义 int a[5 ]={0,1,2} ; 则a[4]数组元素的值为 【】 。 A) 不确定值 B) 定义错误 C) 4 D) 0 27.运行下面程序段的输出结果是 【】 。 static int a[7]={1,3,5} ; printf(\ A) 0 B) 5 C) 3 D) 不确定数 28.设有说明 char a[ ]= \ 则以下不能正确输出的语句是 【】 。 A) printf(\ B) printf(\ C) puts( a ); D) puts (\ 29.当执行下面的程序时,如果输入ABC,则输出结果是 【】 。 #include \#include \main() { char ss[10]=\ gets(ss); strcat(ss, \} A) ABC6789 B) ABC67 C) 12345ABC6 D) ABC456789 30.以下程序的输出结果是 【】 。 main()