C语言.docx
《C语言.docx》由会员分享,可在线阅读,更多相关《C语言.docx(18页珍藏版)》请在冰豆网上搜索。
C语言
第1-3章
1.设说明为inta=10;执行语句a*=1+2+3;后a的值是【D】。
A)15B)24C)33D)60
2.putchar函数可以向终端输出一个【D】。
A)整型变量值B)实型变量值C)字符串D)字符或字符变量
3.如果定义一个整型变量inta;使该变量字节不变,而正数值的表示范围扩大一倍的方式用【C】。
A)signedB)longC)unsignedD)float
4.若intx=10;则表达式x+(char)1/2.0值的类型是【B】。
A)intB)doubleC)floatD)unsigned
5.以下四组中都能正确作为C语言程序标识符的是【B】组。
A)printfrowif
B)sort_1string_to_floatPI
C)powstring1_abc
D)book->namebook.priceA#B
6.如果有inta,b;scanf("%d,%d",&a,&b);语句,则输入数据时只可以用【D】作为输入的分隔符。
A)TAB键B)空格C)回车D),
7.在C语言中,字符型(char)数据在内存中是以【D】形式存储的。
A)原码B)补码C)反码D)ASCII码
8.以下变量x.、y、z均为double类型且已正确赋值,不正确的C语言表达式是【A】。
A)x/y%zB)x*y*zC)x/y*5.0D)x+y+(int)z
9.若定义了intx;则将x强制转化成双精度类型,应写成【A】。
A)(double)xB)x(double)C)double(x)D)(x)double
10.下面程序的执行结果是【B】。
main(){
inti,j,m,n;
i=8;j=10;
m=++i;n=j++;
printf("%d,%d,%d,%d",i,j,m,n,);
}
A)9,10,9,10B)9,11,9,10C)9,11,9,11D)9,10,9,11
11.下面程序的执行结果是【A】。
main(){
inta,b;
a=20;b=10;
a+=a+b;
a-=a-b;
printf("%d\n",a);
}
A)10B)-10C)30D)0
12.以下程序时,从键盘输入25,13,10<回车>,则输出结果是【A】。
main(){
inta1,a2,a3;
scanf("%d,%d,%d",&a1,&a2,&a3);
printf("a1+a2+a3=%d\n",a1+a2+a3);
}
A)a1+a2+a3=48B)a1+a2+a3=25
C)a1+a2+a3=10D)不确定
13.使下列程序段输出“123,456,78”,由键盘输入数据,正确的输入是【C】。
inti,j,k;
scanf("%d,%3d%d",&i,&j,&k);
printf("%d,%d,%d\n",i,j,k);
A)12345678B)123,456,78C)123,45678D)123,*45678
14.以下程序运行后,输出结果是【B】。
#definePT5.5
#defineS(x)PT*x*x
main(){
inta=1,b=2;
printf("%4.1f\n",S(a+b));
}
A)49.5B)9.5C)22.0D)45.0
第四章
1.为表示关系x≥y≥z,应使用C语言表达式【C】。
A)(x>=y>=z)B)(x>=y)AND(y>=z)
C)(x>=y)&&(y>=z)D)(x>=y)&(y>=z)
2.判断字符类型变量c是否为大写字母的正确表达式是【C】。
A)'A'<=c<='Z'B)(c>='A')&(c<='Z')
C)(c>='A')&&(c<='Z')D)('A'<=c)AND('Z'>=c)
3.有如下程序,运行后的输出结果是【D】。
main(){
inta=10,b=4,c=3;
if(a
if(aprintf("%d,%d,%d\n",a,b,c);
}
A)3,4,10B)4,4,3C)3,4,3D)10,4,3
4.在以下一组运算符中,优先级最高的运算符是【C】。
A)<=B)=C)%D)&&
5.若有语句inta=1,b=2,c=3;则以下值为0的表达式是【D】。
A)'a'&&'b'B)a<=bC)(a>b)||(b(a+b)==c&&a)
6.表达式3&&6&&9的值是【D】。
A)3B)0C)9D)1
7.假设a为整型变量,表达式3&&4&&(a=2)的值为【A】。
A)1B)2C)3D)4
8.下面程序输出的结果是【D】。
#include
main(){
intm,n,o,a=2,b=3;
m=(++a==--b)?
-a:
++b;
n=++a;o=b;
printf("m=%d,n=%d,o=%d",m,n,o);
}
A)m=4,n=4,o=3B)m=4,n=3,o=4
C)m=3,n=4,o=4D)m=3,n=4,o=3
9.设x、y、z、t均为int型变量,则执行以下语句后,t的值为【C】。
x=y=z=1;
t=x||y&&z;
A)不定值B)2C)1D)0
10.下面程序的执行结果是【A】。
main(){
intx,a=1,b=2,c=0;
x=-a||b&&++c;
printf("%d\n",x);
}
A)1B)0C)-1D)非零值
11.设说明为inta=1;执行下列switch语句后,b获值为2的是【B】。
A)switch(a){B)switch(a){
case1:
b=1;case1:
b=1;
case2:
b=2;case2:
b=2;break;
default:
b=3;default:
b=3:
}}
C)switch(a){D)switch(a){
case1:
b=1;break;case1:
b=1;break;
case2:
b=2;break;case2:
b=2;
default:
b=3;break;default:
b=3;
}}
12.若有如下程序,则该程序的输出结果是【A】。
main(){
intx=1,a=0,b=0;
switch(x){
case0:
b++;
case1:
a++;
case2:
a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2
13.下列关于switch语句和break语句的说法中,只有【B】是正确的。
A)break是switch语句中的一部分
B)在switch语句中可以根据需要使用或不使用break语句
C)在switch语句中必须使用break语句
D)以上三种说法有两个是正确的
14.以下程序运行结果是【B】。
main(){
intx=1,y=2,z;
z=x>y?
++x:
++y;
printf("%d,%d,%d\n",x,y,z);
}
A)1,2,3B)1,3,3C)2,3,3D)2,2,3
15.以下程序的运行结果是【D】。
#include
main(){
charc='y';
if(c>='a'&&c<='u')c+=5;
elseif(c>='v'&&c<='z')c-=21;
putchar(c);
}
A)eB)fC)yD)d
16.若x、y、m、n均为int型变量,则执行下面语句后的x的值为【①D】,y值为【②C】,z值为【③D】。
m=10;n=5;
x=(--m==n++)?
--m:
++n;
y=m++;
z=n;
①
A)5B)6C)10D)7
②
A)11B)6C)9D)10
③、
A)5B)10C)6D)7
17.已知ch是字符型变量,下边正确的赋值语句是【C】。
A)ch='123';B)ch='xff';C)ch='a';D)ch="\";
18.若a=2,b=3;则语句printf("%d",(a=2)&&(b=2));的输出结果是【D】。
A)无输出B)结果不确定C)0D)1
第五章
1.在循环语句的循环体中执行break语句,其作用是【A】。
A)跳出该循环体,提前结束循环
B)继续执行break语句之后的循环体各语句
C)结束本次循环,进行下次循环
D)终止程序运行
2.执行语句for(i=10;i>0;i--);后,变量i的值为【C】。
A)10B)9C)0D)1
3.若x,i,j和k都是int型变量,则计算下面表达式后,x的值为【C】。
x=(i=4,j=16,k=32)
A)4B)16C)32D)52
4.C语言中while语句中的判断表达式【A】。
A)可以是任意有效表达式B)必须是逻辑表达式
C)必须是关系表达式D)必须是逻辑或关系表达式
5.下面程序的循环结束后i的值是【C】。
main(){
inti;
for(i=0;i<10;i++);
printf("\n%d",i);
}
A)11B)9C)10D)28
6.执行语句for(j=1;j++<4;);后变量j的值是【C】。
A)3B)4C)5D)不定
7.设有下面程序段,则下面描述正确的是【C】。
intk=10;
while(k=0)k=k-1;
A)While循环执行10次B)循环是无限循环
C)循环体语句一次也不执行D)循环体语句执行一次
8.下面程序的执行结果是【A】。
main(){
intx=10;
do{
x--;
}while(--x);
printf("%d\n",x--);
}
A)0B)-1C)1D)8
9.设有下面程序段,则运行后输出n的值是【C】。
inti,j,n;
for(i=1;i<=10;i++){
n=0;
for(j=1;j<=10;j++)n=n+j;
}
printf("n=%d\n",n);
A)5500B)5050C)55D)5000
10.若有以下