2019年高职升本计算机基础复习材料—C语言精编100题
C语言精编100题
一、单选题
1. (1) 由C语言编写的代码程序( )
A. 可直接执行 B. 是一个源程序 C. 经过编译即可执行 D. 经过编译解释才能执行 (2) C语言源程序的扩展名为( )
A. .obj B. .c C. .exe D. .cpp 2. (1) 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )
A. 大写字母 B. 中划线 C. 数字字符 D. 下划线 (2) 下列选项中,不能用作标识符的是( )
A. _1234_ B. _1_2 C. int_2_ D. 2_int_ (3) 以下选项中合法的用户标识符是( )
A. long B. _2Test C. 3Dmax D. A.dat (4) 以下不能定义为用户标识符的是( ) A. Main B. _0 C. _int D. sizeof (5) 下列定义变量的语句错误的是( )
A. int _int; B. double int_; C. char For; D. float US$; (6) 以下选项中不合法的标识符是( )
A. print B. FOR C. &a D. _00 (7) 以下不合法的用户标识符是( )
A.j2_KEY B. Double C. 4d D. _8_ (8) 以下C语言用户标识符,不合法的是( )
A. _1 B. AaBc C. a_b D. a-b 3. (1) 在C语言中,整型数据分为( )
A. 二进制、八进制、十进制 B. 二进制、十进制、十六进制
C. 八进制、十进制、十六进制 D. 二进制、八进制、十进制、十六进制 (2) C源程序不能表示的进制为( )
A. 八进制 B. 二进制 C. 十六进制 D. 十进制 4. (1) 在C语言中,合法的实型常数是( )
A. 5E2.0 B. E-3 C. .2E0 D. 1.3E (2) 在C语言中,合法的实型常数是( )
A. 1.2E0.5 B. 3.14159E C. 5E-3 D. E15 (3) 以下选项中,不能作为合法常量的是( )
A. 1.234e04 B. 1.234e0.4 C. 1.234e+4 D. 1.234e0 (4) 以下不合法的数值常量是( )
A. 011 B. le1 C. 8.0E0.5 D. 0xabcd (5) 以下选项中,能用作数据常量的是( ) A. o115 B. 0118 C. 1.5e1.5 D. 115 (6) 以下选项中,合法的一组C语言数值常量是( )
A. 028 B. 12. C. .177 D. 0x8A .5e-3 OXa23 4e1.5 10,000 -0xf 4.5e0 Oabc 3.e5
5. (1) 在C语言中,非法的字符常量是( )
A.‘\\t’ B.‘\\17’ C. \ D.‘\\xaa’
1
2019年高职升本计算机基础复习材料—C语言精编100题
(2) 以下不合法的字符常量是( )
A.‘\\018’ B.‘\\\’ C.‘\\\\’ D.‘\\xcc’ (3) 以下选项不属于字符常量的是( )
A. 'C' B. \ C. '\\xCC' D. '\\072' (4) 以下选项中,非法的字符常量是
A.‘\\101’ B.‘\\65’ C.‘\\xff’ D.‘\\019’ 6. 在C语言中,以下关于运算符叙述错误的是( )
A. 在C语言中,逗号运算符的优先级最低 B. 在C语言中,赋值运算符自右向左运算
C. 在C语言中,+、-、*、/、%是算术运算符,可用于整型和实型数的运算 D. 在C语言中,++、--运算符可以改变变量的值 7. 下列运算符中优先级最高的运算符是( )( )
A. <= B. = C. % D. && A. == B. / C. = D. >= 8. (1) 以下程序的输出结果是( )
main()
{ int a=3,b=4; printf(\A. 3 B. 4 C. 1 D. 0 (2) 在C语言中,表达式10!=9的值为( ) A. 0 B. False C. 1 D. True 9. 在C语言中,以下非法的表达式是( )
A. 0<=x<=100 B. i=j==0 C. (char)(65+3) D. x+1=x+1 10. 在C语言中,以下非法的赋值语句是( )
A. j++; B. ++(i+1); C. x=j>0; D. k=i==j; 11. (1) 表达式3.6-5/2+1.2+5%2的值是( )
A. 4.3 B. 4.8 C. 3.3 D. 3.8
(2) 若有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y;,则z的值为( ) A. 1.9 B. 1 C. 2 D. 2.4 12. (1) 设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )
A. 3 B. 0 C. 9 D. -12 (2) 设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( ) A. 10 B. 20 C. 40 D. 30 (3) 设有语句:int a=0;则执行语句 a+=(a=8);变量a的值是( ) A. 0 B. 8 C. 16 D. 24 13. 以下程序的输出结果是( )( )( )( )( )
⑴ main()
{ int i=10,j=1;
printf(\,++j);} A. 9,2 B. 10,2 C. 9,1 D. 10,1 ⑵ main()
{ int a=12,b=12;
printf(\,++b);}
A. 10 10 B. 12 12 C. 11 10 D. 11 13 ⑶ main()
{ int x=023; printf(\
A. 17 B. 18 C. 23 D. 24
2
2019年高职升本计算机基础复习材料—C语言精编100题
⑷ main()
{ int x=10,y=10;
printf(\,--y);}
A. 10 10 B. 9 9 C. 9 10 D. 10 9 ⑸ main()
{ int i=010,j=10;
printf(\,++i,j--);}
A. 11,10 B. 9,10 C. 010,9 D. 10,9 14. 以下程序的输出结果是( )
main()
{ int x=100,y=200;
printf(\
A. 200 B. 100 C. 100 200 D)200 100 15. 以下程序的输出结果是( )
main()
{ int x=10,y=3,z;
printf(\}
A. 1 B. 0 C. 4 D. 3 16. int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )
A. k++ B. k+=1 C. ++k D. k+1 17. 以下程序的输出结果是( )
main()
{ int x,y,z; x=y=1;
z=x++,y++,++y;
printf(\
A. 2,3,3 B. 2,3,2 C. 2,3,1 D. 2,2,1 18. 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )
A. 1 B. 2 C. 3 D. 4 19. 设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )
A. 0 B. 1 C. 2 D. 4 20. 以下程序的输出结果是
(1) main(){ int k=11; printf(\( ) A. k=11,k=12,k=11 B. k=11,k=13,k=13 C. k=11,k=013,k=0xb D. k=11,k=13,k=b (2) main(){ int k=17; printf(\( )
A. 17,021,0x11 B. 17,17,17 C. 17,0x11,021 D. 17,21,11 21. 运行时从键盘上输入9876543210
scanf(\
printf(\
A. a=98,b=765,c=4321 B. a=10,b=432,c=8765 C. a=98,b=765.000000,c=4321.000000 D. a=98,b=765.0,c=4321.0
3
2019年高职升本计算机基础复习材料—C语言精编100题
22. (1) 设变量均已正确定义,若要通过scanf(\语句为变量
a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正 确的是(注:□代表空格字符)( )
A. 10□X□20□Y<回车> B. 10□X20□Y<回车> C. 10□X<回车> D. 10X<回车> 20□Y<回车> 20Y<回车>
(2) 若有定义:int a,b;,通过语句scanf(\,能把整数3赋给变量a,5赋给变量b的 输入数据是( )
A. 3 5 B. 3,5 C. 3;5 D. 35 23. 以下程序的输出结果是 #define MA(x) x*(x-1) main()
{ int a=1,b=2;
printf(\
A. 6 B. 8 C. 10 24. 以下程序的输出结果是( ) #define M(x,y,z) x*y+z main()
{ int a=1,b=2,c=3;
printf(\
A. 19 B. 17 C. 15 25. 以下程序段的输出结果是( )
#define MIN(x,y) (x)<(y)?(x):(y) main()
{ int i=10,j=15,k;
k=10*MIN(i,j); printf(\}
A. 15 B. 100 C. 10 26. 设a=1,b=2,c=3,d=4,则表达式a
A. 4 B. 3 C. 2 27. 以下程序段的输出结果是( )
main()
{ int x=1,y=2,z=3; if(x>y)
if(y A. 331 B. 41 C. 2 28. 以下程序段的输出结果是( ) main() { int x=5; if(x++>5) printf(\ else printf(\} A. 4 B. 5 C. 6 4 D. 12 D. 12 D. 150 D. 1 D. 1 D. 7 2019年高职升本计算机基础复习材料—C语言精编100题 29. 以下程序段的输出结果是( ) main() { 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; case 3:a++;b++; } printf(\ A. a=1,b=0 B. a=2,b=2 C. a=1,b=1 D. a=2,b=1 30. (1) 有以下程序 main() { int n=4; while(n--) printf(\} 程序执行后的输出结果是( ) A. 2 0 B. 3 1 C. 3 2 1 D. 2 1 0 (2) 有以下程序 main() { int y=10; while(y--); printf(\,y); } 程序执行后的输出结果是( ) A. y=0 B. y=-1 C. y=1 D. while构成无限循环 31. 有以下程序 main() { int i; for(i=0;i<3;i++) switch(i) { case 0: printf(\ case 1: printf(\ default: printf(\ } } 程序执行后的输出结果是( ) A.000112 B. 012 C. 012020 D. 120 32. 以下叙述中正确的是( ) A. 构成C程序的基本单位是函数 B. 可以在一个函数中定义另一个函数 C. main()函数必须放在其它函数之前 D. 所有被调用函数一定要在调用之前进行定义 5