基础知识
一. 选择
1. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。 A、„{„ 和‟}‟ B、„[„和‟]‟ C、“/*”和”*/” D、“*/”和”/*” 2. 下列运算符中,优先级最低的是_____。
A、* B、!= C、+ D、= 3. 若变量已正确定义,表达式 (j=3, j++) 的值是_____ 。
A、3 B、 4 C、5 D、0 4. 已知字符 „a‟ 的ASCII码为 97 ,执行下列语句的输出是_____。 printf (\"%d, %c\
A、98, b B、语句不合法 C、98, 99 D、 98, c 5. 表达式strcmp(“box”, “boss”) 的值是一个_______。
A、 正数 B、 负数 C、 0 D、 不确定的数 6. 要调用数学函数时,在#include命令行中应包含_____。
A、 ”stdio.h” B、 ”string.h” C、 ”math.h” D、 ”ctype.h” 7. 判断i和j至少有一个值为非0的表达式是_____。
A、 i!=0 && j!=0 B、i*j!=0 C、!(i==0 || j==0) D、i&&j 8. 若a是基本整型变量,c是单精度实型变量,输入语句______是错误的。 A、scanf(”%d,%f”, &a, &c); B、scanf(”d=%d, c=%f”, &a, &c);
C、 scanf(”%d%f”, &a, &c); D、scanf(”%d%f”, a, c);
9. C语言源程序文件经过编译连接之后生成一个后缀为______的文件。
A.”.c” B.“.obj” C.“.exe” D. “.bas” 10. 以下选项中不正确的整型常量是_____。
A. 12L B. -10 C. 1,900 D. 123U 11. 表达式______的值是0。
A.3%5 B.3/5.0 C.3/5 D. 3<5 12. 表达式 !(x>0||y>0) 等价于_____。
A.!x>0||!y>0 B.!(x>0)||!(y>0) C.!x>0&&!y>0 D. !(x>0)&&!(y>
0)
13. 若变量已正确定义并赋值,表达式______不符合C语言语法。
A.4&&3 B.+a C.a=b=5 D. int(3.14)
14. 若变量已正确定义,执行语句scanf(\"%d%d%d \;时,______是正确的输入。
A.203040 B.20 30 40 C.20, 30 40 D. 20, 30,40 15. 执行语句 printf(\" ______\ 2); 将得到出错信息。
A.%d B.%o C.%x D. %f 16. 若x是整型变量,表达式 (x=10.0/4.0) 的值是_____ 。
A.2.5 B.2.0 C.3 D. 2 17. 若变量已正确定义并赋值,表达式 -k++ 等价于______。
A.-(k++) B.(-k)++ C.-(k+1) D. -(++k) 18. 在C 语言程序中,在函数内部定义的变量称为______。
A.全局变量 B.外部变量 C.局部变量 D. 内部变量 19. 下列运算符中,优先级从高到低依次排列为_____。
A.!,&&,|| B.||,&&,! C.&&,||,! C.&& C.10
D. &&,!,|| D. = D. 1.0
D. !(x>0)||!(y>0) D. NULL D. 2 D.a, b D.double d; D.‟\\n‟
20. 下列操作符优先级最低的是( ) A.<< B.!= 21. 下列选项哪个不能作为整常数( ) A.0xa B.010L
22. 下列选项与表达式!(x>0||y>0)等价的是( ) A.!(x>0)&&!(y>0) B.!x>0&&!y>0 C.!x>0||!y>0 23. 下列选项哪个表达式的值不为零( ) A.1/2 B.!‟\\0‟
C.!EOF
24. 若x为浮点型,则表达式x=10/4为( ) A.2.5 B.2.0 C.3 25. 下列表达式,错误的是( ) A.a&b B.a^b
C.&&x
26. 下列哪个声明可以放置最大的整数( ) A.int a; B.char b; C.float c; 27. 下列那个选项不能作为字符常量( ) A.”1” B.‟1‟ C.1
28. 若c是一个字符变量,下列表达式经计算后哪个选项c的值是1或者0( ) A.c=getchar()!=EOF B.(c=getchar())!=EOF C.c = ‟0‟ D.c = c ^ ~c 29. 下列操作符优先级最高的是( ) A.+= B.[ ]
C.? :
D.++ D.16 D.-132 D.20
D.expression error
30. 根据声明int x=23;表达式(x++*1/3)的值为( ) A.7 B.8 C.15 31. 根据声明int a=12;表达式a+=a- =a*=a的值为( ) A.-120 B.144 C.0 32. 根据声明int a=10, b=20;表达式!a34. 下列代码段的输出为( ) for(a=1,i=-1;-1<=i<1;i++) { a++; printf(“%2d”,a); } printf(“%2d”,i);
A.2 B.-1 C.0 D.3 35. 下列操作符优先级最低的是( )
A.? : B.== C.+= D.& 36. 下列字符哪个可以作为字符常量( )
A.‟\\‟ B.'\\080' C.'%d' D.0xa 37. 根据声明char c1=92,c2=92;下列哪个表达式的值为0( )
A. c1^c2 B.c1&c2 C.~c2 D.c1|c2 38. 根据声明int x=11;表达式(x++*1/3)的值为( )
A.3 B.4 C.0 D.3.667 39. 表达式sizeof(\"\\num=%d\\")的值为( )
A.7 B.8 C.9 D.10
40. 下列选项中用于判断ch是否是字符的表达式是( )
A.( 'a' <= ch <= 'z') || ( 'A' <= ch <= 'Z')
B.(ch >= 'a' && ch <= 'z') && ( ch >= 'A' && ch <= 'Z') C.(ch >= 'a' && ch <= 'z') || ( ch >= 'A' && ch <= 'Z') D.( 'a' <= ch <= 'z') && ( 'A' <= ch <= 'Z')
41. 如果执行printf(\" \下列哪种表达是错误的( ) A.%u B.%s C.%d D. %e 42. c是字符,下列哪个表达式使c的值为0后者1( )
A.c=getchar()!='\\n' B.(c=getchar())!='\\n' C.c = '1' D.c = EOF 43. 下列操作符那个优先级最高( )
A.! B .[ ] C .? : 44. 下列代码段的输出为( )
#include double d=3.4, x; x=(y=d/2.0)/2; printf(\" (%0.2f, %d) \ } A.(0.00, 1) B .(0.85, 1.7) C.(0.50, 1) 45. 下列代码段执行结束后,变量s的值为( ) int i=5, s=0; while(i-->0) { if (i%2) s+=i; else s+=i--;} A.15 B.11 C.10 46. 下列运算符中优先级最低的是_____。 A.|| B .>= C .!= A.a=2++ B.a=3,5 C.a=a+1=3 D.~ D. 12.3%4 47. 若变量已正确定义并赋值,符合C语言语法的表达式是 。 48. 表达式____不能用于判断“x和y不同时为零”。 A.x!=0 || y!=0 B.x || y C.!( x==0 || y==0) D.!( x==0 && y==0) 48. 表达式5>3>1值是_____。 A.0 B.1 C.3 D.表达式语法错 D.++ D.none of above D. 6 49. 下列程序段执行后s值为_____。 int i=5, s=0; while(i--) if (i%2) continue; else s+=i; A.15 B.10 C.9 D.6 50. 已知字母A的ASCII码为十进制数65,且ch为字符型变量,则执行语句ch=„A‟+„6‟-„3‟; 后,ch中的值为_____。 A.D B.68 C.C D.不确定 二. 填空题 1. 写出计算y的条件表达式( ) 1 x>0 y= 0 x=0 -1 x<0 2. 写出下列程序段的输出结果。 float x1, x2; x1=3/2; x2=x1/2; printf(\"%d, %.1f\ 3. 表达式 (7<<1>>2^2 ) 的值是_______。 4. 写出下列程序段的输出结果。 #define A 10