C 语言知识测试题一、单项选择题(每小题5 分,共 150 分)1. 下列合法的常量是()。A.-32169 B.0128 C.0XDEFG D.13E0.5 2. 以下选项中不合法的标识符是()。A.printf B.FOR C.&a D._00 3. 以下选项中不属于正确字符常量的是()。A. 'C' B. '\\' C.'\xCC0' D. '\070' 4. 设变量已正确定义并赋值,以下正确的语句是()。A.x=y*5=x+z ; B.int(15.8%5);C.x=y+z+5,++y ; D.int a=b=c=25%5; 5. 设变量均已正确定义,有语句scan(“%d%c%d%c”,&a,& b,&c,&d ); 若为变量 a 和 c 赋数值 10 和 20,为变量 b 和 d 赋字符 X和 Y。以下所示的输入形式中正确的是(注:□代表空格字符)()。A.10□X□20□Y〈回车〉 B. 10□X20□Y〈回车〉C.10X〈回车〉 D.10□X〈回车〉20Y〈回车〉 20□Y〈回车〉6. 若变量已正确定义,有以下程序段int a=3,b=5,c=7; if(a>b) a=b; c=a; else c=b; printf("%d,%d,%d\n",a,b,c); 其输出结果是()。A.程序段有语法错 B.3,5,3 C.3,5,5 D.3,5,7 7. 有以下程序#include main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; case 1: b++; break; } case 2: a++; b++; case 3: a++; b++; break; } printf(“a=%d,b=%d n”,a --,--b); } 程序的运行结果是()。A.a=1 ,b=0 B.a=3,b=2 C.a=3,b=3 D.a=2,b=2 8. 设有条件表达式:(EXP)? i++ :j--; ,则以下表达式中与(EXP)完全等价的是()。A.(EXP==0) B.(EXP!=0) C.(EXP==1) D.(EXP!=1) 9. 设用到的变量都已正确定义,则下列正确的选项是()。A.scanf(“%6.2f ”,&a); B.c=getchar();putchar(c);若从键盘上输入abc 后回车,则输出为a。C.printf(“ %6.2f ”,23.456);则输出结果为23.46 □。(注:□代表空格字符)D.scanf(“%3c%2d”,&a,&b);若从键盘输入123456 后回车,则a 值为’ 123’, b 值为 45。10. 有以下程序#include main() { int i,j, m=55; for(i=1;i<=3;i++) for(j=3; j<=i; j++) m=m%j; printf("%d\n ", m); } 程序的运行结果是()。A.0 B.1 C.2 D.3 11. 在 C语言中, char 型数据在内存中的存储形式是()。A.补码 B. 反码C.源码 D.ASCII码12. 设用到的变量均正确定义,则执行语句: (x=6)>(y=5)?1:1.5;后表达式的值为 ()。A.1 B.1....