专科《C语言程序设计》试卷答案 .doc
专科C语言程序设计一、 (共75题,共150分)1. 不能定义为用户标识符的是( )。 (2分)A.short B._3count C.UNION D.long_1 .标准答案:A2. 设x和y均为int型变量,则以下语句:;的功能是( )。 (2分)A.把x和y按从大到小排列 B.把x和y按从小到大排列 C.x和y中的值不变 D.交换x和y中的值 .标准答案:D3. 非法的字符串常量是( )。 (2分)A."" B."a" C."a"b" D."a'b" .标准答案:C4. 合法的浮点型常量是( )。 (2分)A.2.5E0.5 B.3.14E C.5E-20 D.E20 .标准答案:C5. 与0x30等值的数为( )。 (2分)A.048 B.48 C.0256 D.256 .标准答案:B6. 若有定义;则表达式a=x+y的值是( )。 (2分)A.7 B.6 C.5.8 D.5 .标准答案:D7. 设有定义;则下面语句中错误的是( )。 (2分)A.a+; B.b+; C.+b; D.a+b; .标准答案:A8. 非法的字符常量是( )。 (2分)A.'007' B.'x7a' C.'7a' D.'' .标准答案:C9. 若定义int a=14,b=4;则表达式a/b的值是( )。 (2分)A.2.5 B.3 C.3.5 D.4 .标准答案:B10. while(!m)语句中的!m与下列条件表达式等价的是( )。 (2分)A.m=0 B.m=1 C.m!=0 D.m!=1 .标准答案:A11. 在C语言中,一个short型数据的存储长度是( )个字节。 (2分)A.1 B.2 C.3 D.4 .标准答案:B12. 已知int a=2,b=1,c=3;则表达式的值为( )。 (2分)A.1 B.2 C.3 D.4 .标准答案:A13. 执行语句后变量i的值为( )。 (2分)A.-2 B.-1 C.0 D.1 .标准答案:C14. 若定义则执行语句后变量a的值为( )。 (2分)A.2 B.5 C.6 D.7 .标准答案:D15. 若定义int a=2,b=4;则表达式的值是( )。 (2分)A.1 B.2 C.3 D.4 .标准答案:C16. 已知int a=4,b=1;则表达式的值为( )。 (2分)A.0 B.1 C.3 D.4 .标准答案:B17. 函数中未指定存储类别的局部变量,其隐含的存储类别为( )。 (2分)A.register B.extern C.static D.auto .标准答案:D18. 已知int a=2,b=1;则表达式(a+,b+,a+b)的值为( )。 (2分)A.2 B.3 C.4 D.5 .标准答案:D19. 联合变量所占的内存大小为( )。 (2分)A.各成员所需内存的总和B.第一个成员的内存量C.成员中占内存量最大者所需的容量D.最后一个成员的内存量.标准答案:C20. 若有定义和语句:则执行;语句的输出是( )。 (2分)A.10,20 B.10,10 C.20,10 D.20,20 .标准答案:D21. 以下定义语句中正确的是( )。 (2分)A.;B.;C.;D.;.标准答案:A,C22. 以下选项中合法的表达式是( )。 (2分)A.+(a-b) B.a=10,b=10 C.b=a+=10 D.double(a+b) .标准答案:B,C23. 设有定义;则能够正确表示数组元素a2的表达式是( )。 (2分)A.B.C.D.标准答案:A,B,D24. 以下能正确定义二维数组的选项是( )。 (2分)A.B.C.D.标准答案:A,B,C25. 合法的整型常量是( )。 (2分)A.1101 B.0348 C.0x34g D.34UL.标准答案:A,D26. 下列正确的字符常量是( )。 (2分)A.'10' B.'00' C.'08' D.'0' .标准答案:D27. 下列运算符中,优先级最高的是( )。 (2分)A. B.* C.- D.!= .标准答案:A28. 下列标识符中,是C语言关键字的是( )。 (2分)A.Break B.do C.printf D.main .标准答案:B29. 下列数据中属于字符串常量的是( )。 (2分)A.0 B.0.0 C."0" D.'0' .标准答案:C30. 若有定义char b; int a; double c;则表达式(a+b)*c的类型是( )。 (2分)A.float B.int C.char D.double .标准答案:D31. 若有定义int a, x, y;则下列语句中不正确的是( )。 (2分)A.x=3,y=5,a=7; B.a-+x+y; C.a=x+=y; D.a=x+y=30; .标准答案:D32. 一个double型数据的存储长度是( )个字节。 (2分)A.8 B.6 C.4 D.2 .标准答案:A33. 设变量说明为int m = 1, n = 1;则表达式+m + n+的值为( )。 (2分)A.2 B.3 C.4 D.5 .标准答案:B34. 若定义了char c = “abcd”; 则数组c的长度是( )。 (2分)A.3 B.4 C.5 D.6 .标准答案:C35. 若定义了char s = “uvwxyz”;则执行语句putchar(*(s + 4);的输出结果是( )。 (2分)A.w B.x C.y D.z .标准答案:C36. 若定义了int a=10;则表达式a!=10? a+2 : a+1的值是( )。 (2分)A.10 B.11 C.12 D.13 .标准答案:B37. 函数strlen(“finen”)的返回值是( )。 (2分)A.5 B.6 C.7 D.8 .标准答案:A38. 语句for (x=0,i=1;iA.5 B.10 C.15 D.20 .标准答案:B39. 若定义int x,y;则表达式(x=2,y=x+3/2)的值是( )。 (2分)A.2 B.3 C.3.5 D.4 .标准答案:B40. 若有定义int a= 0,*p=&a;则表达式+a+*p的值为( )。 (2分)A.0 B.1 C.2 D.3 .标准答案:C41. 若有定义double x35;则表达式x0的类型为( )。 (2分)A.double B.double * C.double * D.double (*)5 .标准答案:B42. 语句for( ; ; )等价于( )。 (2分)A.for(0); B.for(1); C.while(0); D.while(1); .标准答案:D43. 有定义int a=0,2,4,1,3,*p=a; 则*(p+a2)所代表的数组元素是( )。 (2分)A.a1 B.a2 C.a3 D.a4 .标准答案:D44. 设y为int型变量,则描述“y是大于10的奇数”的表达式是( )。 (2分)A.y>10 && y%2 B.y>10 y%2 C.y>10 && !(y%2) D.(y>10)& y%2 .标准答案:A45. 设有变量说明int a10, *p1 = a+1, *p2 =a+6;则表达式p2 p1的结果是( )。 (2分)A.1 B.2 C.5 D.6 .标准答案:C46. 以下定义语句中不正确的是( )。 (2分)A.char a='1',b='2' B.unsigned long a=b=100; C.short m=10,*n=&m; D.long double *p,a=&p; .标准答案:B,D47. 以下能正确进行字符串赋初值的语句是( )。 (2分)A.char s4="shop"B.char s="shop"C.char *s="shop"D.char s ='s','g','o','p' ,'0'.标准答案:C,D48. 以下选项可作为C语言合法整数的是( )。 (2分)A.12345L B.0x12abf C.0678 D.x3f0 .标准答案:A,B49. 已知有定义int k=2,*p1=&k,*p2=&k;下列能正确执行的赋值语句是( )。 (2分)A.p1=k; B.*p1=*p2; C.*p2=k+1; D.k=*p1+p2; .标准答案:B,C50. 下面对typedef的正确叙述是( )。 (2分)A.用typedef可以定义各种类型名,但不能用来定义变量B.用typedef可以增加新类型C.用typedef只是将已存在的类型名用一个新的标识符来代表D.用typedef有利于程序的通用和移植.标准答案:A,C,D51. 属于C语言关键字的是( )。 (2分)A.goto B.NULL C.sqrt D.EOF .标准答案:A52. 下列数据中,合法字符常量是( )。 (2分)A.'0x30' B.'x30' C."0x30" D."x30" .标准答案:B53. 设int a=14, b=4;则表达式a%b的值是( )。 (2分)A.1 B.2 C.3 D.0 .标准答案:B54. 设int a=2, b=4;则表达式(a+,b+,a+b)的值为( )。 (2分)A.5 B.6 C.7 D.8 .标准答案:D55. 设int a=2, b=3;则表达式a*=a+b的值为( )。 (2分)A.6 B.7 C.10 D.12 .标准答案:C56. 执行语句putchar('R'+'6'-'4');的输出结果是( )。 (2分)A.R B.S C.T D.U .标准答案:C57. 能正确定义长整型变量a和b并为其赋初值1的语句是( )。 (2分)A.long a=b=1; B.long a;b=1; C.long a=1;b=1; D.long a=1,b=1; .标准答案:D58. 有定义int a=6,7,8,9,10, *p=a;则执行*p+=2;后a0的值为( )。 (2分)A.6 B.7 C.8 D.9 .标准答案:C59. 程序中对函数fun有说明int fun(void);此说明的含义是( )。 (2分)A.fun函数无参数B.fun函数的参数可以是任意的数据类型C.fun函数有1个整型参数D.fun函数无返回值.标准答案:A60. 执行程序段n=0;while(nA.2 B.3 C.4 D.0 .标准答案:B61. 若p为int指针,要指向2个连续int型的存储单元,正确的语句是( )。 (2分)A.p = (int *)malloc(sizeof(int)*2 ;B.p=(int *)malloc(2*sizeof(int);C.p= (int *)malloc(2, 2) ;D.p=(int *)malloc(2,sizeof(int);.标准答案:B62. 确保完成x平方计算的带参宏定义是( )。 (2分)A.#definepower(x) x*xB.#definepower(x) (x*x)C.#definepower(x) (x)*(x)D.#definepower(x) (x)*(x).标准答案:D63. 十进制数511的十六进制表示是( )。 (2分)A.0x2ff B.0x1ff C.0x201 D.0x0ff1 .标准答案:B64. 设有声明: enum A, B=0, C, D, E=1 a; 则不能赋给a的值为( )。 (2分)A.E+1 B.2 C.A D.D+1 .标准答案:D65. 若为整型变量,则循环for(i=2;i-) printf("%d",i);的执行次数是( )。 (2分)A.0 B.1 C.2 D.无限次 .标准答案:D66. 已知a=0,则表达式!a&&1/2的值是( )。 (2分)A.0 B.0.5 C.1 D.1.5 .标准答案:A67. 设有声明int a,b; float c, d;下列表达式不正确的是( )。 (2分)A.a+c/d B.a%c+d C.a.标准答案:B68. 常量5.5e5是( )。 (2分)A.整型常量 B.浮点型常量 C.字符型常量 D.非法常量 .标准答案:B69. 关于数组名正确的叙述是( )。 (2分)A.数组名表示数组的长度B.数组名表示数组第一个元素的值C.数组名表示数组的首地址D.数组名表示整个数组元素的值.标准答案:C70. 已知static int a3=1,2,3;则a12的值为( )。 (2分)A.0 B.1 C.2 D.3 .标准答案:A71. 下列选项中,合法的常量是( )。 (2分)A."ab00" B.2L C.1.2E0.5 D.0xFF .标准答案:A,B,D72. 设int a=3,b=4,c=5;下列表达式的值是非0的有( )。 (2分)A.a+b>2*c B.ab+c&&b-c C.!(a!b .标准答案:B,D73. 以下是无限循环的语句是( )。 (2分)A.for( i=0;iC.for(y=0,x=1;x>y;y+); D.while(1) x+; .标准答案:A,D74. 已知int x,*p1=&x,*p2;正确的赋值语句是( )。 (2分)A.p2=p1+x; B.*p1=*p1+1; C.p2=x+1; D.k=p2+2; .标准答案:A,B75. 设有说明int s45,*ps;正确的赋值语句是( )。 (2分)A.ps=s B.ps=s0 C.ps=s00 D.ps=&s00 .标准答案:B,D