第二章知识点测试
满分:100 分
姓名: 班级: 学号:
1. 单选题 ( 2.0 分 )
1.下面的字符序列中,不正确的C语言标识符是()。
A. a
B. word
C. _file
D. 2L
正确答案:D
2. 单选题 ( 2.0 分 )
2.下面的字符序列中,不正确的C语言标识符是()。
A. file2
B. b
C. a**
D. _F_name
正确答案:C
3. 单选题 ( 2.0 分 )
3.下面的字符序列中,不正确的C语言标识符是()。
A. _int
B. float
C. me
D. f_name
正确答案:B
4. 单选题 ( 2.0 分 )
4.以下结果为整数的表达式(设有 int i ; char c ; float f ;)( )。
A. i + f
B. i * c
C. c + f
D. i + c + f
正确答案:B
5. 单选题 ( 2.0 分 )
5.以下不正确的语句(设有int p, q)是( )。
A. p*=3;
B. p/=q;
C. p+=3;
D. 3p=q;
正确答案:D
6. 单选题 ( 2.0 分 )
以下使 i 的运算结果为 4 表达式是( )。
A. int i=0,J=0;
B. int i=1,j=0; j=i=((i=3)*2);
C. int i=0,j=1;j=i;
D. int i=1,j=1;i += j+= 2;
正确答案:D
7. 单选题 ( 2.0 分 )
设x为int型变量,则执行以下语句后,x的值为( )。x=10; x*=x;
A. 10
B. 20
C. 100
D. 0
正确答案:C
8. 单选题 ( 2.0 分 )
设n = 10,i = 4,则值运算 n %= i +1执行后,n 的值是( )。
A. 0
B. 3
C. 2
D. 1
正确答案:A
9. 单选题 ( 2.0 分 )
逗号表达式 (a = 3 * 5,a * 4),a+15 的值为( )。 A.15 B.60 C.30 D.不正确
A. 15
B. 60
C. 30
D. 不正确
正确答案:C
10. 单选题 ( 2.0 分 )
设 int n = 3;则执行 ++n 后,n的值是( )。
A. 2
B. 3
C. 4
D. 5
正确答案:C
11. 单选题 ( 2.0 分 )
设int a=2,b=2,则++a+b的结果是( )。
A. 2
B. 3
C. 4
D. 5
正确答案:D
12. 单选题 ( 2.0 分 )
设有整型变量a,实型变量f,双精度型变量x,则表达式10+'b'+x*f的值的类型为( ) 。
A. int
B. float
C. double
D. 不能确定
正确答案:C
13. 单选题 ( 2.0 分 )
若有int k=5; flaot x=1.2; 则表达式(int)(x+k)的值是( )。
A. 5
B. 6.2
C. 7
D. 6
正确答案:D
14. 单选题 ( 2.0 分 )
若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是()。
A. 1
B. 4
C. 4.333333
D. 4.6
正确答案:A
15. 单选题 ( 2.0 分 )
若有语句int a=1,b; double y=2.3; b=(int)y; 则b的值为( )。
A. 3
B. 2
C. 1
D. 2.3
正确答案:B
16. 单选题 ( 2.0 分 )
C语言中的简单数据类型包括()。
A. 整型、实型、逻辑型
B. 整型、实型、逻辑型、字符型
C. 整型、字符型、逻辑型
D. 整型、实型、字符型
正确答案:D
17. 单选题 ( 2.0 分 )
下列可以正确表示字符型常量的是( )。
A. ‘\t’
B. “a”
C. “\n”
D. 297
正确答案:A
18. 单选题 ( 2.0 分 )
C语言中字符型(char)数据在内存中的存储的是()。
A. 原码
B. 补码
C. 反码
D. ASCII码
正确答案:D
19. 单选题 ( 2.0 分 )
在C语言中,字符型数据所占的内存空间是()
A. 2个字节
B. 4字节
C. 1字节
D. 由用户自定义
正确答案:C
20. 单选题 ( 2.0 分 )
若有以下类型说明语句:char a;int b; float c; double d; 则表达式a*b+d-c的结果类型为() 。
A. float
B. char
C. int
D. double
正确答案:D
21. 单选题 ( 2.0 分 )
若有以下类型说明语句:char w;int x;float y;double z;则表达式表达式(int)(x+y-z*w)的结果为()类型。
A. float
B. char
C. int
D. double
正确答案:C
22. 单选题 ( 2.0 分 )
C语言中运算对象必须是整型的运算符是()。
A. %=
B. /
C. =
D. 〈=
正确答案:A
23. 单选题 ( 2.0 分 )
在C语言程序中,表达式8/5的结果是()。
A. 1.6
B. 1
C. 3
D. 0
正确答案:B
24. 单选题 ( 2.0 分 )
下面()表达式的值为4.
A. 11/3
B. 11.0/3
C. (float)11/3
D. (int)(11.0/3+0.5)
正确答案:D
25. 单选题 ( 2.0 分 )
已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是()。
A. 0
B. 1
C. 5
D. 6
正确答案:C
26. 单选题 ( 2.0 分 )
已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为()。
A. 68
B. ‘D’
C. 错误
D. ‘d’
正确答案:B
27. 单选题 ( 2.0 分 )
设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()。
A. b=1.0/a
B. b=(float)(1/a)
C. b=1/(float)a
D. b=1/(a*1.0)
正确答案:B
28. 单选题 ( 2.0 分 )
设有以下语句,则 c 的二进制值是( )。 char a =3, b =6, c; c = a ^ b << 2;
A. 00011011
B. 00010100
C. 00011100
D. 00011000
正确答案:A
29. 单选题 ( 2.0 分 )
sizeof (double) 是一个( )表达式。
A. 整型
B. 双精度
C. 不合法
D. 函数调用
正确答案:A
30. 填空题 ( 2.0 分 )
已知 a=12; 则 a+=a-=a*a 的结果为( )
正确答案:-264
试题解析:第一步算:a=a-(a*a)) a=12-12*12=-132 第一步算:a=a+a a=(-132)+(-132)=-26
31. 单选题 ( 2.0 分 )
设有变量说明:int a = 7, b = 8;那么语句:printf (“%d, %d\n”,(a + b, a), (b, a + b));的输出应该是( )。
A. 7, 15
B. 8, 15
C. 15, 7
D. 15, 8
正确答案:A
试题解析: 解析:printf语句中的输出变量列表里,给出的是两个逗号表达式。第一个逗号表达式(a + b, a)的值,就是a的值;第二个逗号表达式(b, a + b) 的值,就是a+b的值。
32. 单选题 ( 2.0 分 )
以下说法正确的是()。
A. C程序是从第一个定义的函数开始执行的
B. 在C程序中,要调用的函数必须在main()函数中定义
C. C程序是从main()函数开始执行
D. C程序中的main()函数必须放在程序的开始部分
正确答案:C
33. 填空题 ( 2.0 分 )
int x = 6, y;执行 y=++x;后,x,y的值分别为( )。
正确答案: x=7,y=7
试题解析: 前置运算,x 先增1(=7),然后再赋值给y(=7)
34. 填空题 ( 2.0 分 )
int x = 6, y;执行 y = x-- ;后,x,y的值分别为( )。
正确答案: x=5,y=6
试题解析: 后置运算:先将 x 的值(=6)赋值给y(=6),然后 x 再减1(=5)
35. 填空题 ( 2.0 分 )
在C语言中,是以 () 作为一个字符串的结束标记的
正确答案:‘\0’
36. 填空题 ( 2.0 分 )
定义int x,y,执行y=(x=l,++x,x+2);后,y的值是
正确答案:4
37. 填空题 ( 2.0 分 )
在C语言中,输入操作是由库函数 完成的,输出操作是由库函数 完成的。
正确答案:scanf printf
38. 简答题 ( 5.0 分 )
阅读程序,给出输出结果。 #include<stdio.h> void main(){int x= 4, y = 25, z = 2; z = (--y / ++ x ) * z--; printf("%d\n", z); }
正确答案:7
39. 简答题 ( 5.0 分 )
阅读程序,给出输出结果。 。 #include<stdio.h> void main() { float f=13.8; int n; n=((int)f)%3; printf("n=%d\n",n); }
正确答案:1
40. 简答题 ( 5.0 分 )
#include<stdio.h> void main() { int a,b,x; x=(a=3,b=a--); printf("x=%d,a=%d,b=%d\n",x,a,b); }
正确答案: x=3,a=2,b=3
41. 单选题 ( 2.0 分 )
用printf输出实型(float)数据, 应使用( )格式限定符。
A. %c
B. %d
C. %f
D. %u
正确答案:C
42. 单选题 ( 2.0 分 )
用scanf输入双精度实型(double)数据, 可使用( )格式限定符。
A. %f
B. %lf
C. %d
D. %c
正确答案:B
43. 单选题 ( 2.0 分 )
在scanf函数的使用中以下叙述中正确的是( )。
A. 输入项可以是一个实型常量,如:scanf("%f",3.5);
B. 可以只有格式控制,没有输入项,如:scanf("a=%d,b=%d");
C. 格式控制部分可以规定小数点后面的位数,如:scanf("%4.2f",&d) ;
D. 当输入数据时,必须指明变量地址,如:scanf("%f",&f);
正确答案:D
44. 单选题 ( 2.0 分 )
main() {int a=12,b=12; printf ("%d %d\n",--a,++b);}
A. 10 11
B. 11 13
C. 11 10
D. 11 12
正确答案:B
45. 单选题 ( 2.0 分 )
以下语句:temp=x; x=y; y=temp; 的功能是()。
A. 把x,y,temp从小到大排列;
B. 把x,y,temp从大到小排列;
C. 交换x,y,
D. 无确定的结果。
正确答案:C
46. 单选题 ( 2.0 分 )
#include <stdio.h>int main(){inta=201,b=012;printf("%2d,%2d\n",a,b);return 0; }
A. 01,12
B. 201,10
C. 01,10
D. 20,01
正确答案:B
试题解析:八进制整型常量:由正、负号和 0至7的数码组成,并且第一个数码必须是0十进制整型常量:由正、负号和 0至9的数码组成,并且第一个数码不能是0十六进制整型常量:由正、负号和数码0至9、a至f或A至F组成,并且要有前缀0x这题b=012 是八进制数换成十进制数 b=10%d输出的是十进制数所以答案是201,10

