《C语言程序设计期末复习.doc》由会员分享,可在线阅读,更多相关《C语言程序设计期末复习.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2011年C语言程序设计期末复习一、 选择题(每题3分)1. 以下说法正确的是( C )。A) C语言程序总是从第一个定义的函数开始的。B) 在C语言程序中,要调用的函数必须在main()函数中定义。C) C语言程序总是从main()开始执行的。D) C语言程序中的main()函数必须放在程序的开始处。2. 在C 语言中,合法的字符常量是( B )。A)084 B) x43 C) ab D) “0”3. 设有如下定义:int x=10, y=3, z;则语句:printf(“%dn” ,z=(x%y, x/y);的输出结果是( D )。A) 1 B) 0 C) 4 D) 34. 选出合法的C语
2、言赋值语句( B )。A) a=b=58 B)i+; C) a=58, b=58 D) k=int(a+b)5. 在下列选项中,不正确的赋值语句是( D )。A) +t; B) n1=(n2=(n3=0); C) k=j= =j; D) a=b+c=1;6. 设a=5, b=6, c=7, d=8,m=2, n=2, 执行“(m=ab)&(n=cd)”后n的值( B )。A) 1 B) 2 C) 3 D)47. 阅读程序:main() int x=1, y=0, a=0, b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b
3、+; break; case 2; a+; b+; break; printf(“ a=%d, b=%dn” , a, b);上面程序的输出结果是( A )。A)a=2, b=1 B)a=1, b=1 C) a=1, b=0 D)a=2, b=28. 当a=1, b=3, c=5, d=4 时,执行下面一段程序后,x 的值为( B )。if(ab) x=1; else if(cd) x=2; else x=3;A) 1 B) 2 C) 3 D) 69. 设有语句“int x=1, y=1;”,则表达式(!x|y+)的值是( B )。A) 0 B) 1 C) 2 D) 110. 下面程序段运行后
4、的输出结果是( B )。char s18=”a book!” ;printf(“% .4s” , s);A) a book! B) a bo C) ook! D)格式描述不正确,没有确定输出11. 下面程序运行后的输出结果是( A )。main() int n2, i, j, k; for(i=0; i2; i+) k=2; for(i=0;ik;i+) for(j=0;j7) n- ; printf( “ %dn ” , n); A)10 B)9 C) 10 D) 9 9 8 9 88 7 8 77 615. C语言规定,在一个源程序中,main()的位置( C )。A) 必须在开始。B)
5、必须在系统调用的库函数的后面。C) 可以任意。D) 必须在最后。16. 下面程序段的输出结果是( B )。int i=010,j=10;Printf(“%d, %dn”,+i,j-);A) 11,10 B) 9,10 C) 010,9 D) 11,917. 合法的语言字符常量是( A )。A) t B) “A” C) 65 D) A18. 阅读程序:main() int a; float b c; scanf(“ %2d%d3f%4f ” , &a, &b, &c); printf(“ na=%d, b=%f, c=%f “, a, b, c);若运行时,从键盘输入(回车),则程序的输出的结果
6、是( B )。A) a=98, b=765, c=4321 B) a=98, b=765., c=4321.C) a=98, b=765.0, c=4321.0 D) a=98.0, b=765.0, c=4321.019. 若有以下语句:char c1=b, c2=e;printf( “ %d, %cn “ , c2-c1,c2-a+A);则输出结果是( B )。A)2, M B) 3, E C) 2, E D) 输出结果不确定20. 若k是int 型变量,且有下面程序段,其输出结果是( A )。K= - 3;if(k=0) printf(“ # ”);Else printf(“ & “);
7、A) # B) & C) #& D)有语法错误,无法输出。21. 下面程序的输出结果( C )。main() int a= -1, b=4, k; k=(a+=0)&(!(b-=0); printf(“ %d%d%dn” ,k, a, b);A) 0 0 3 B)0 1 2 C)1 0 3 D)1 1 222. 当c 的值不为0时,在下列选项中,能正确将c 的值赋给变量a、b的是( C )。A) c=b=a; B) (a=c)|(b=c); C) (a=c)&(b=c); D) a=c=b;23. 设a、b、c都是int 型变量,且a=3, b=4, c=5, 则下面的表达式中,值为0的表达式
8、是( D )。A) a&b B) a=b C) a|b+c&b-c D) !(ab)&!c|1)24. 下面程序段运行后的输出结果是( D )。char s12=”a book”;printf(“%d”, strlen(s);1 12 B) 8 C) 7 D) 625. 定义如下变量和数组:int i, x33=1,2,3,4,5,6,7,8,9;则下列语句的输出结果是( C )。for(i=0; i3 i+) printf(“%d” , xi2-i) ;A) 1 5 9 B) 1 4 7 C)3 5 7 D)3 6 926. 下面程序运行后的输出结果是( B )。f(int b, int n
9、) int i,r;r=1;for(i=0;i3; j-) if( j%3) j- ; - j; - j; printf( “%d , j); A) 6 3 B) 7 4 C) 6 2 D) 7 329. 下面程序运行后的输出结果是( A )。char s=”ABCD”;main() char *p; for(p=s; ps+4; p+) printf(“%sn”, p);A) ABCD B) A C) D D) ABCD BCD B C ABC CD C B ABD D A A30. 选出可用于C语言用户标示符的以组一组标示符( B )。1 void Define Word2 a3_b3 _
10、123 iF3 For -abc Case4 2a Do sizeof31. 已知在ASCii代码中,字母A的序号是65,以下程序输出结果是( D )。main() char c1=A,c2=Y; printf(“%d,%dn”,c1,c2);A)输出格式非法,输出错误信息 B) 65, 90 C) A, Y D) 65 ,8932. 若已定义x和y为double类型,则表达式 “ x=1, y=x+3/2”的值是( C )。A) 1 B) 2 C) 2.0 D) 2.533. 已知字母的ASCII码为十进制的65,下面程序的输出结果是( A )。main() char ch1, ch2;ch
11、1=A+5-3;ch2=A+6-3;printf(“ %d. %dcn ” , ch1, ch2);A) 67, D B) B, C C) C, D D) 不确定的值34. 下列可作为C语言赋值语句的是( C )。A) x=3, y=5 B) a=b=6 C) i- ; D) y=int(x);35. 设A、B 和C都是int 型变量,且A=3, B=4, C=5,则下面表达式中值为0的表达式是( D )。A) A&B B) A=B C) A|B+C&B D) !(A=y)&(y=z) B)(x=y)AND(y=z) C)(x=y=z) D) (x=y)&(y=z)37. 设有语句“int x
12、=1, y=1;”,则表达式(!x|y-)的值是( B )。A) 0 B) 1 C) 2 D) 138. C语言中,运算对象必须是整型的运算符是( C )。A) & B) / C) % D) *39. 下面程序段运行后的输出结果是( C )。char s12=”abn012” ;printf(“%d”, strlen(s);A) 14 B) 7 C) 9 D) 1040. 若有下列说明:int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c=a, d, g;则数值为4的表达式是( D )。A) ag-c B) a4 C) ad-c D) ad-c41. 下面程序运
13、行后的输出结果是( D )。f(int a) int b=0; static int c=3; a=c+; b+; return (a);main() int a=2, i, k; for(i=0; i2; i+) k=f(a+); printf(“%dn”, k);A) 3 B) 0 C) 5 D) 442. 执行下面程序段的结果是( B )。int x=23;do printf(“%2d” , x-); while(!x);A)打印出321 B)打印出23 C)不打印任何内容 D)陷入死循环43. 执行下面语句后,变量i 的值是( C )。for( i=1; i + 4; );A) 3 B
14、) 4 C) 5 D)不定44. 下面程序运行后的输出结果是( C )。# include main() char *p1=”abc”, *p2=”ABC”, str50=”xyz”; strcpy(str+2, strcat(p1,p2); printf(“%sn”, str);A) xyzabcABC B) zabcABC C) xyabcABC D) yzabcABC45. C语言中,最简单的数据类型包括( B )。A) 整型、实型、逻辑型B) 整型、实型、字符型C) 整型、字符型、逻辑型D) 整型、实型、逻辑型、字符型46. 若x和y都是int 型变量,x=100, y=200,且有以
15、下程序段:printf(“%d”.(x,y);则,输出结果是( A )。A) 200 B) 100 C) 100, 200 D)输出格式不够,输出不确定的值47. 3若t为double类型,表达式 “t=1, t+5, t+”的值是( D )。A)1 B) 6.0 C)2.0 D) 1.048. 设有如下定义:int x=10, y=3, z;则语句:printf( “%dn” ,x/y); 的输出结果是( D )。A) 1 B) 0 C) 4 D) 349. 执行下面程序后,b的值为( B )。int x=25, b;char z=A;b=(x&15)&(za);A) 0 B) 1 C) 2
16、 D)350. 阅读程序:main() float x, y; scanf( “%f” , &x); if(x0.0) y=0.0; else if(x10.0) y=1.0/x; else y=10.0; printf( “%fn” ,y);若运行时从键盘上输入2.0 (回车),则上面程序的输出结果是( D )。A)0. B)0. C) 0. D)10.51. 在下面的运算符中,优先级最高的运算符是( C )。A) = B) = C) % D) &52. 设a=1, b=2, c=3, d=4,则表达式“ab? a : cd? a : d”的结果为( D )。A) 4 B) 3 C) 2 D
17、) 153. 下面程序的运行结果是( D )。main() int a8=0, i, j, k=8; for(i=0; ik; i+) for(j=0; jk; j+) aj=ai+1; printf(“%dn” , ak);A) 6 B) 7 C) 8 D)不确定的值54. 下面程序运行后的输出结果是( D )。 main() char a7=”abcdef”; char b4=”ABC”; strcpy(a,b);printf(“%c”, a5);A)空格 B) 0 C) e D) f55. C语言中,形参的缺省存储类型是( A )。A)自动(auto) B)静态(static) C)寄存
18、器(register) D)外部(extern)56. 下面程序运行后的输出结果是( B )。Void fun(int a, int b, int c) a=456; b=567; c=678;main() int x=10, y=20, z=30; fun(x, y, z);printf(“%d, %d, %dn”, x, y, z);A)30, 20, 10 B)10, 20, 30 C)456, 567, 678 D)678, 567, 45657. 阅读下面程序:#include main() float x, y, z; scanf(“ %f%f ”, &x, &y); z=x/y;
19、 while(1) if(fabs(z)1.0) x=y; y=z; z=x/y; else break; printf(“ %fn” , y);若从键盘输入3.6 和2.4 并回车,则输出结果是( B )。A)1. B)1. C) 2. D)2.58. 下面程序的输出结果是( D )。main() int x=10, y=10, i; for( i=0; x8; y=+i ) printf( “ %d “ ,x-, y);A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 159. 下面程序运行后的输出结果是( B )。main() char *alp
20、ha6=“ABCD”, “EFGH”, “IJKL”, “MNOP”, “QRST”, “UVWX”; char *p; int i; p=alpha; for(i=0; i4; i+) printf(“%s”, pi); printf(“n”);A) ABCDEFGHIJKL B) ABCDEFGHIJKLMNOP C) ABCD D) AEIM60. 合法的C语言字符常量是( A )。 A) t B) A C) 65 D) A161. 若有以下说明语句int a=5 ; a+ ;a+的值是( C )。 A) 7 B) 6 C) 5 D) 462. 若t为double类型,表达式 “t=1,
21、 t+5, t+”的值是( D )。A)1 B) 6.0 C)2.0 D) 1.063. 设a为整型变量,不能正确表达数学关系10a15的C语言表达式是( A )。 A) 10a10 & a15 D) ! (a=15)64. 已知字母A的ASCii码为十进制的65,下面程序的输出结果是( A )。#include stdio.hmain( ) char ch1 , ch2 ; ch1=A+5-3 ; ch2=A+6-3 ; printf(%d , %cn , ch1 , ch2) ; A) 67 , D B) B , C C) C , D D) 不确定的值65. 阅读程序:main() flo
22、at x, y; scanf( “%f” , &x); if(x0.0) y=0.0; else if(x10.0) y=1.0/x; else y=10.0; printf( “%fn” ,y);若运行时从键盘上输入2.0 (回车),则上面程序的输出结果是( D )。A)0. B)0. C) 0. D)10.66. 在下面的运算符中,优先级最高的运算符是( C )。A) = B) = C) % D) &67. 设a=1, b=2, c=3, d=4,则表达式“ab? a : cd? a : d”的结果为( D )。A) 4 B) 3 C) 2 D) 168. 下面程序的运行结果是( D )。
23、main() int a8=0, i, j, k=8; for(i=0; ik; i+) for(j=0; jk; j+) aj=ai+1; printf(“%dn” , ak);A) 6 B) 7 C) 8 D)不确定的值69. 下面程序运行后的输出结果是( D )。 main() char a7=”abcdef”; char b4=”ABC”; strcpy(a,b);printf(“%c”, a5);A)空格 B) 0 C) e D) f70. C语言中,形参的缺省存储类型是( A )。A)自动(auto) B)静态(static) C)寄存器(register) D)外部(extern
24、)71. 下面程序运行后的输出结果是( B )。Void fun(int a, int b, int c) a=456; b=567; c=678;main() int x=10, y=20, z=30; fun(x, y, z);printf(“%d, %d, %dn”, x, y, z);A)30, 20, 10 B)10, 20, 30 C)456, 567, 678 D)678, 567, 45672. 阅读下面程序:#include main() float x, y, z; scanf(“ %f%f ”, &x, &y); z=x/y; while(1) if(fabs(z)1.0
25、) x=y; y=z; z=x/y; else break; printf(“ %fn” , y);若从键盘输入3.6 和2.4 并回车,则输出结果是( B )。A)1. B)1. C) 2. D)2.73. 下面程序的输出结果是( D )。main() int x=10, y=10, i; for( i=0; x8; y=+i ) printf( “ %d “ ,x-, y);A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 174. 下面程序运行后的输出结果是( B )。main() char *alpha6=“ABCD”, “EFGH”, “IJ
26、KL”, “MNOP”, “QRST”, “UVWX”; char *p; int i; p=alpha; for(i=0; ib) x=1 ; else if(cd) x=2 ; else x=3 ; A) 1B) 2 C) 3 D) 676. 设A、B和C都是int型变量,且A=3,B=4,C=5,则下面表达式中值为0的表达式是( D )。 A) A & B B) A=B C) A | B+C & B D) !(A=y) & (y=z) B) (x=y) AND (y=z)C) (x=y=z)D) (x=y) & (y=z)78. 设a为整型变量,不能正确表达数学关系10a15的C语言表达
27、式是( A )。 A) 10a10 & a15 D) ! (a=15)79. 已知字母A的ASCii码为十进制的65,下面程序的输出结果是( A )。#include stdio.hmain( ) char ch1 , ch2 ; ch1=A+5-3 ; ch2=A+6-3 ; printf(%d , %cn , ch1 , ch2) ; A) 67 , D B) B , C C) C , D D) 不确定的值80. 阅读程序:main() float x, y; scanf( “%f” , &x); if(x0.0) y=0.0; else if(x10.0) y=1.0/x; else y
28、=10.0; printf( “%fn” ,y);若运行时从键盘上输入2.0 (回车),则上面程序的输出结果是( D )。A)0. B)0. C) 0. D)10.81. 阅读程序, 其输出结果是( A )。#include stdio.hmain( ) int x=1 , y=0 , a=0 , b=0 ; switch(x) case 1 : switch(y) case 0 : a+ ; break ; case 1 : b+ ; break ; case 2 : a+ ; b+ ; break ; printf(a=%d,b=%dn , a , b);A) a=2 , b=1 B) a
29、=1 , b=1 C) a=1 , b=0 D) a=2 , b=282. 若有以下定义:float x ; int a , b ;则正确的switch语句是( C )。A) switch(x) B) switch(x) case 1.0 : printf(*n) ; case 1 , 2 : printf(*n) ;case 2.0 : printf(*n) ; case 3 : printf(*n) ; C) switch(a+b) D) switch(a+b) ; case 1 : printf(n) ; case 1 : printf(*n) ; case 1+2 : printf(*
30、n) ; case 2 : printf(*n) ; 83. 下面程序的运行结果是( D )。main() int a8=0, i, j, k=8; for(i=0; ik; i+) for(j=0; jk; j+) aj=ai+1; printf(“%dn” , ak);A) 6 B) 7 C) 8 D)不确定的值84. 下面程序运行后的输出结果是( D )。 main() char a7=”abcdef”; char b4=”ABC”; strcpy(a,b);printf(“%c”, a5);A)空格 B) 0 C) e D) f85. C语言中,形参的缺省存储类型是( A )。A)自动
31、(auto) B)静态(static) C)寄存器(register) D)外部(extern)86. 下面程序运行后的输出结果是( B )。Void fun(int a, int b, int c) a=456; b=567; c=678;main() int x=10, y=20, z=30; fun(x, y, z);printf(“%d, %d, %dn”, x, y, z);A)30, 20, 10 B)10, 20, 30 C)456, 567, 678 D)678, 567, 45687. 阅读下面程序:#include main() float x, y, z; scanf(“
32、 %f%f ”, &x, &y); z=x/y; while(1) if(fabs(z)1.0) x=y; y=z; z=x/y; else break; printf(“ %fn” , y);若从键盘输入3.6 和2.4 并回车,则输出结果是( B )。A)1. B)1. C) 2. D)2.88. 下面程序的输出结果是( D )。main() int x=10, y=10, i; for( i=0; x8; y=+i ) printf( “ %d “ ,x-, y);A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 189. 下面程序运行后的输出结
33、果是( B )。main() char *alpha6=“ABCD”, “EFGH”, “IJKL”, “MNOP”, “QRST”, “UVWX”; char *p; int i; p=alpha; for(i=0; i4; i+) printf(“%s”, pi); printf(“n”);A) ABCDEFGHIJKL B) ABCDEFGHIJKLMNOP C) ABCD D) AEIM90. 若x为整型变量,pd是为整型的指针类型变量,则正确的赋值的表达式是( A )。A) pd=&x B) pd=x C) *pd=&x D) pd=x二、 填空题(每题5分)1. C语言的程序有函数
34、组成。2. C语言的基本数据类型为整型、实型及字符型。3. 在C语言中,如果下面的变量都是int型的,则输出结果为不确定。Sum=pad=5; pad=sum+; pad+, +pad; printf(“%dn”,pad);4. 下列程序的输出结果是a=32768。main() unsigned a=32768; printf( “a=%dn” ,a);5. 若已知a=10, b=20, 则表达式“!ab”的值是1。6. 结构化程序有顺序结构、选择结构、循环结构三种基本结构组成。7. C语言的标示符为关键字、用户自定义标识符及预定义标示符。8. 设a、b、c为整型变量,且a=3, b=4,c=5则执行语句“a*=16+(b+)-(+c);”后,a的值是42。9. 程序的输出结果是17,21,11。main() int k=17;printf( “%d, %o, %xn” , k, k, k);10. 下面程序的输出结果004。main() int a= -1, b