2013年计算机程序设计考试复习

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


„„„„„„„„„„„„„„
考试复习
„„„„„„„„„„„„„„„„„„„„„„„„„ 一、选择题 1. 下列格式符中,哪一个可以用于以 8 进制形式输出整数( C ) 。 A、%d A、%16d 3. B、%8d B、%8x C、%o C、%d16 D、%ld D、%d 2. 下列格式符中,哪一个可以用于以 16 进制形式输出整数( B ) 。 a 是 int 类型变量,c 是字符变量。下列输入语句中哪一个是错误的( B ) 。 A、scanf(”%d,%c”,&a,&c); C、scanf(”%d%c”,&a,&c); B、scanf(”%d%c”,a,c); D、scanf(”d=%d,c=%c”,&a,&c);
注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册部分。
( 附
3
页 )
A、for(;i>=0&&i<=10;i++) if(i!=5) printf(”%f\n”,1.0/(i-5)); B、for(;i>=0&&i<=10;i++) if(i==5) printf(”%f\n”,1.0/(i-5)); C、for(;i>=0&&i<=10;i++) if(i!=5) printf(”%f\n”,1.0/(i-5)); else break; D、for(;i<=0&&i>=10;i++) if(i!=5) printf(”%f\n”,1.0/(i-5)); 25. 下列语句中与语句 while(1){if(i>=100)break;s+=i;i++;} 功能相同的是( A ) 。 A、for(;i<100;i++) s=s+i; B、for(;i<100;i++;s=s+i); C、for(;i<=100;i++) s+=i; D、for(;i>=100;i++;s=s+i); 26. 在 C 语言中,下列说法中正确的是 ( D )。 A.不能使用“do 语句 while(条件) ”的循环 B. “do 语句 while(条件) ”的循环必须使用“break”语句退出循环 C. “do 语句 while(条件) ”的循环中,当条件为非 0 时将结束循环 D. “do 语句 while(条件) ”的循环中,当条件为 0 时将结束循环 27. 在 C 语言的语句中,用来决定分支流程的表达式是 ( A )。 A.可用任意表达式 B.只能用逻辑表达式或关系表达式 C.只能用逻辑表达式 D.只能用关系表达式 28. 下列各语句序列中,能够将变量 u、s 中最大值赋值到变量 t 中的是( B ) 。 A、if(u>s)t=u; t=s; B、t=s; if(u>s)t=u; C、if(u>s)t=s; else t=u; D、t=u; if(u>s)t=s; 29. int a=1, x=1; 循环语句 while(a<10) x++; a++; 的循环执行( A )。 A. 无限次 B.不确定次 C.10 次 D.9 次 30. while 循环,执行次数是( A ) i=4; while(--i) printf(“%d”,i); A. 3 次 B. 4 次 C. 0 次 D. 无数次 31. 下列程序段执行后 s 的值为( A ) int i=1, s=0; while(i++) if( !(i%3) ) break ; else s+=i ; A. 2 B. 3 C. 6 D. 以上均不是 32. 下列程序输出结果是( C ) #include <stdio.h> void main( ) { int x=3, y=6, z=0; while(x++!=(y-=1)){ z++; if(y<x) break; } printf(“x=%d,y=%d,z=%d”,x,y,z); } A. x=4,y=4,z=1 B. x=5,y=4,z=3 C. x=5,y=4,z=1 D. x=5,y=5,z=1 33. int i=1,s=0; while (i<100) {s+=i++;if (i>100 ) break;} 执行以上程序段后,s 的值是( C )。 A.1 到 101 的和 B.1 到 100 的和 C.1 到 99 的和 D.以上均不是 34. 假定 i 和 j 为 int 型变量,则执行以下语句后 i 的值为 ( B )。 int i=1; switch (i++){
注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册部分。
( 附
4
页 )
case 1: for (j=0;j<9;j++) if (i= =1) break; case 2: for (j=1;j<10;j++) if (i= =2) break; case 3: printf (“i=%d\n”,i ); } A.0 B.1 C.9 D.10 35. 假定 a 和 b 为 int 型变量,则执行以下语句后 b 的值为 ( D )。 a=1;b=10; do { b - =a;a++;} while (b- -<0); A.9 B.-2 C.-1 D.8 36. 下列定义的字符数组中,输出 printf( “%s\n”, str[2]) ;的输出是 ( C )。 static str[3][20] ={ “basic “, “foxpro “, “windows “}; A.basic B.foxpro C.windows D.输出语句出错 37. 下列各语句定义了数组,其中哪一个是不正确的( C ) 。 A、char a[3][10]={”China”,”American”,”Asia”}; B、int x[2][2]={1,2,3,4}; C、float x[2][ ]={1,2,4,6,8,10}; D、int m[][3]={1,2,3,4,5,6}; 38. 数组定义为 int a[3][2]={1,2,3,4,5,6},值为 6 的数组元素是( B ) 。 A、a[3][2] B、a[2][1] C、a[1][2] D、a[2][3] 39.若有以下数组说明,则数值最小的和最大的元素下标分别是 ( B )。 int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12}; A.1,12 B.0,11 C.1,11 D.0,12 40.若有以下说明,则数值为 4 的表达式是 ( D )。 int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12}; char c=‟a‟, d, g ; A.a[g-c] B.a[4] C.a[„d‟-„c‟] D.a[„d‟-c] (即 a[„d‟-„a‟]) 41.设有定义:char s[12] = “string “ ;, 则 printf( “%d\n”,strlen(s));的输出是 ( A )。 A.6 B.7 C.11 D.12 42.设有定义:char s[12] = “string “; 则 printf( “%d\n “, sizeof(s)); 的输出是 ( B )。 A.6 B.7 C.11 D.12 43. 合法的数组定义是 ( A )。 A.char a[ ]= “string “ ; B.int a[5] ={0,1,2,3,4,5}; C.char a= “string “ ; D.char a[ ]={0,1,2,3,4,5} 44. 合法的数组定义是 ( B )。 A.int a[3][ ]={0,1,2,3,4,5}; B.int a[ ][3] ={0,1,2,3,4}; C.int a[2][3]={0,1,2,3,4,5,6}; D.int a[2][3]={0,1,2,3,4,5,}; 45. 下列语句中,正确的是 ( D )。 A.char a[3][ ]={„abc‟, „1‟}; B.char a[ ][3] ={„abc‟, ‟1‟}; C.char a[3][ ]={„a‟, “1”}; D.char a[ ][3] ={ “a “, “1“}; 46. 下列定义的字符数组中,输出 printf( “%s\n”, str[2]) ;的输出是 ( C )。 static str[3][20] ={ “basic “, “foxpro “, “windows “};
4. 字符变量 ch=‟A‟,int 类型变量 k=25,语句 printf(”%3d,%d3\n”,ch,k);输出( A ) 。 A、65,253 B、65 253 C、65,25 D、A 25 5. 设 a=1234,b=12,c=34 执行 printf( “|%3d%3d%-3d|\n”, a,b,c); 的输出是( A )。 A.|1234 1234 | B.|123 1234 | C.|1234 12-34 | D.|234 1234 | 6. 使用 scanf( “x=%f,y=%f ”,&x,&y); 要使 x, y 均为 1.25, 正确的输入是( C )。 A.1.25, 1.25 B.1.25 1.25 C.x=1.25, y=1.25 D.x=1.25 y=1.25 7. 要使 double x; long a;获得数据,正确的输入语句是( C ) 。 A.scanf(“%d, %f ”,&a,&x); B.scanf(“%f, %1d”,&x,&a); C. scanf(“%ld, %1f ”,&a,&x); D.scanf(“%1d, %1f”,a, x); 8. 要使 double x; long a; 的数据能正确的输出,输出语句应是( D ) 。 A.printf(“%d, %f” ,a, x) ; B.printf(“%d, %1f” ,a, x) ; C.scanf(“%1d, %1f” ,&a, &x); D.printf(“%1d, %lf” ,a, x); 9. 设有 int a=255,b=8;则 printf(“%x,%o\n”, a, b); 的输出的是( B )。 A.255, 8 B.ff, 10 C.0xff, 010 D.输出格式错 10. 设有 int i=010,j=10;则 printf(“%d,%d\n”,++i, j--);的输出的是( B )。 A.11,10 B.9,10 C.010,9 D.10,9 11. 设 a、b 为字符型变量,执行 scanf(“a=%c,b=%c”,&a, &b); 后使 a 为‟A‟, b 为‟B‟,从键盘上的正确输入是( D )。 A.„A‟‟B‟ B.„A‟,‟B‟ C.A=A,B=B D. a=A,b=B 12. 若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是( C ) 。 A.1 B.2 C.2.0 D.2.5 13. int a=0; if(a=1) a+=10; 结果的值是( B ) 。 A.0 B.11 C.10 D.出错 14. 下列表达式中符合 C 语言语法的赋值表达式是( C ) 。 A.a=7+b+c=a+7 B.a=7+b++=a+7 C.a=(7+b,b++,a+7) D.a=7+b,c=a+7 15. 设有 int a=255,b=8;则 printf(“%x,%o\n”, a, b); 的输出的是( B )。 A.255, 8 B.ff, 10 C.0xff, 010 D.输出格式错 16. 设有 int i=010,j=10;则 printf(“%d,%d\n”,++i, j--);的输出的是( B )。
( 附
Biblioteka Baidu
2
页 )
A.11,10 B.9,10 C.010,9 D.10,9 17. int i=1,s=0; while (i<100) {s+=i++;if (i>100 ) break;} 执行以上程序段后,s 的值是( C )。 A.1 到 101 的和 B.1 到 100 的和 C.1 到 99 的和 D.以上均不是 18. 假定 i 和 j 为 int 型变量,则执行以下语句后 i 的值为 ( B )。 int i=1; switch (i++){ case 1: for (j=0;j<9;j++) if (i= =1) break; case 2: for (j=1;j<10;j++) if (i= =2) break; case 3: printf (“i=%d\n”,i ); } A.0 B.1 C.9 D.10 19. 假定 a 和 b 为 int 型变量,则执行以下语句后 b 的值为 ( D )。 a=1;b=10; do { b - =a;a++;} while (b- -<0); A.9 B.-2 C.-1 D.8 20. 设 x 和 y 均为 int 型变量,则执行下面的循环后,y 的值为 ( C )。 for (y=1,x=1;y<=50;y++) { if (x>=10 ) break; if (x%2==1) {x+=5;continue;} x - =3; } A.2 B.4 C.6 D.8 21. 求整数 1 至 10 的和并存入变量 s,下列语句中错误的是( D ) 。 A、s=0;for(i=1;i<=10;i++) s+=i; C、for(i=1,s=0;i<=10;s+=i,i=i+1); B、s=0;i=1;for(;i<=10;i++) s=s+i; D、for(i=1;s=0;i<=10;i++) s=s+i;
22. 若 sizeof(int)为 2,计算 1 至 10 的乘积,下列语句序列中正确的是( C ) 。 A、int jc=1; for(int i=2;i<=10;i++) jc*=i; B、for(float jc=1,int i=2;i<=10;i++,jc*=i); C、float jc=1; for(int i=2;i<=10;jc*=i,i=i+1); D、for(float jc=1;i=2;i<=10;i++) jc*=i; 23. 下列语句中,哪一个可以输出 26 个大写英文字母( C ) 。 A、 for(a=‟A‟;a<=‟Z‟;printf(”%c”,++a)); B、for(a=‟A‟;a<‟Z‟;a++)printf(”%c”,a); C、for(a=‟A‟;a<=‟Z‟;printf(”%c”,a++)); D、for(a=‟A‟;a<‟Z‟;printf(”%c”,++a)); 24. 与语句 while(i>=0&&i<=10) { if(i++==5)continue; printf(”%f\n”,1.0/(i-5));} 功能相同的是( A ) 。
相关文档
最新文档