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(\其输出结果是( )。
A.程序段有语法错 B.3,5,3 C.3,5,5 D.3,5,7 7.有以下程序 #include
{ 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);
1
}
程序的运行结果是( )。
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□。 10.有以下程序 #include
{ int i,j, m=55; for(i=1;i<=3;i++) }
程序的运行结果是( )。 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.0 C.1.5 D.编译通不过 13.设 int a=12; 表达式a+=a-=a*=a的值是( )。 A. 12 B. 144 C. 0 D. 132 14.以下程序的输出结果是( )。 main( ) { int a=011;
printf(“%#X\\n”,++a); }
A. 12 B. 10 C. A D. 0XA
15.在下列程序段中,若k为整型,则程序输出结果为( )。
k=2; while(k=0) printf(“%d”,k); k--; printf(“%d\\n”,k); A. -1 B. 2 C. 0 D. 1 16.以下程序的输出结果是( )。 main()
{ int k1=1,k2=2,k3=3,x=15;
2
D.scanf(“<-”,&a,&b);若从键盘输入123456后回车,则a值为’123’,b值为45。
for(j=3; j<=i; j++) m=m%j; printf(\
if(!k1) x--;
else if(k2) if(k3) x=4;else x=3; printf(“x=%d\\n”,x); }
A. x=4 B. x=15 C. x=14 D. x=3 17.若用到变量均正确定义,则下列说法正确的是( )。 A .x=3;x=!x--;最终x值为2。
B.printf(“%d=%%D”,20,20);则输出20=%D
C. scanf(“%d,%d”,&a,&b);在输入数据时可输入2□3后回车。(注:□代表空格字符) D.执行程序段:x=1;do --x;while(x--);此循环为无限循环。
18.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为 。 A)1 B)2 C)3 D)4 19.以下程序运行后,a和b的值分别为( )。 #include
printf(\
A.1,%3 B.3,%1 C.1,%1 D.1,%d 20.有以下程序,运行后的输出结果是( )。 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 21.执行以下程序时,输入1234567<回车>,则输出结果是( )。 main() { int a=1,b;
scanf(“--”,&a,&b); printf(“a=%d b=%d”,a,b); }
A.12 34 B.a=123 b=456 C.a=12 b=34 D.输入有错误 22.逗号表达式(a=3*5,a*4),a+15的值为( )。 A.15 B.60 C.30 D.75
23.若有说明语句:char c='\\72';则变量c( )。 A.包含1个字符 B.包含2个字符
3