习题3
单选题
下面语句中,错误的是【 B 】。
A.m=c>a
B.int x=y=9;
C.k=x,y>0;
D.w++==--m?0:1;
以下程序段的输出结果是【 A 】。
int u=020, v=0x20, w=20;
printf(“%d,%d,%d\n”,u,v,w);
A.16,32,20
B.20,20,20
C.16,16,20
D.32,16,20
下面的程序在运行时,如果从键盘上输入98765432156↙(↙表示按回车键),则程序的输出结果是【 B 】。
#include
void main()
{ int a; float b,c;
scanf(“%2d%3f%4f”,&a,&b,&c);
printf(“\na=%d,b=%f,c=%f\n”,a,b,c);
}
A.a=98,b=765,c=4321
B.a=98,b=765.000000,c=4321.000000
C.a=98,b=765.0,c=4321.56
D.a=98,b=765.0,c=4321.0
已知 int a=8, b=10, c=16; 执行下面的程序段后a、b、c的值是【 D 】。
if (a>b) c=a; a=b; b=c;
A.8,10,6
B.10,10,16
C.10,16,8
D.10,16,16
执行以下程序,输出结果为【 D 】。
#include
void main()
{int a=10,b=0;
if (a==10)
a=a+1;b=b+1;
else
a=a+4;b=b+4;
printf(“%d,%d\n”,a,b);
}
A.11,1
B.14,1
C.14,4
D.有语法错误
以下关于switch语句的叙述中,错误的是【 B 】。
A.switch语句允许嵌套使用
B.语句中必须有default部分,才能构成完整的switch语句
C.只有与break语句结合使用,switch语句才能实现程序的选择控制
D.语句中各case与后面的常量表达式之间必须有空格
下面程序段的内循环体一共需要执行【 C 】次。
for (i=5; i; i--)
for (j=0; j<4; j++)
{…}
A.15
B.16
C.20
D.25
下面叙述中正确的是【 C 】。
A.do-while语句构成的循环不能用其他语句构成的循环代替
B.do-while语句构成的循环只能用break语句退出
C.用do-while语句构成的循环,在while后的表达式为零时结束循环
D.用do-while语句构成的循环,在while后的表达式为非零时结束循环
以下程序段中由while构成的循环执行的次数为【 C 】。
int k=0; while (k=1) k++;
A.执行1次
B.一次也不执行
C.无限次
D.有语法错,不能执行
对for(表达式1; ;表达式3){…}可以理解为【 B 】。
A.for(表达式1;0;表达式3){…}
B.for(表达式1;1;表达式3){…}
C.for(表达式1;表达式1;表达式3){…}
D.for(表达式1;表达式3;表达式3){…}
以下正确的描述是【 C 】。
A.continue语句的作用是结束整个循环的执行
B.在for循环中,不能使用break语句跳出循环
C.只能在循环体内和switch语句体内使用break语句
D.在循环体内使用break语句或continue语句的作用相同
填空题
一个C语句中至少应包含一个 。
答案:逗号
若定义float a; int b,c;要使用scanf(“a=%f,%o,%d”,&a,&b,&c);语句令a的值是6.3,b的值是10,c的值是5,输入数据的形式是 。
答案:a=6.3,12,5
执行printf(“%s\n”,”thitis\”\101x\”\0by”); 语句,输出为 。
答案:thitis”Ax”
能表示“20
答案:x>20 && x<30 || x
已知m=1,n=5,则执行if(!m+5>=n) n=1; 后,变量n的值是 。
答案:1
在C语言的switch语句中,每个“case”和冒号“:”之间只能是 。
答案:空格符
已知a、b、c的值分别是1、2、3,则执行下列语句后a和c的值分别是 。
if (a++