第四章单元测试
以下运算符中,优先级最高的运算符是( ).
执行下列程序段后,m的值是( ).
int w=2,x=3,y=4,z=5,m;
m=(w<x)?w:x;
m=(m<y)?m:y;
m=(m<z)?m:z;
对下述程序,( )是正确的判断.
#include<stdio.h>
void main()
{int x,y;
scanf("%d,%d",&x,&y);
if(x>y)
x=y;y=x;
else
x++;y++;
printf("%d,%d",x,y);}
两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是( ).
#include <stdio.h>
void main( )
{ int x;
scanf(" %d ", &x);
if(x++>5) printf(" %d",x);
else printf(" %d\n", x--); }
执行下列语句后的输出为( ).
int j=-1;
if(j<=1)
printf("****\n");
else
printf("%%%%\n");
为了避免在嵌套的条件语句if···else中产生二义性,C语言规定:else子句总是与( )配对.
C语言的switch语句中case后( ).
void main()
{
int x=1,a=0,b=0;
switch (x)
{
case 0: b++;
case 1: a++;
case 2: a++;b++;
} printf("a=%d,b=%d",a,b);
}
该程序的输出结果是( ).
有以下程序
main()
{ int a =5,b =4,c= 3,d= 2;
if (a> b> c)
printf(" %d\n",d);
else if ((c-1> = d) = = 1)
printf(" %d\n",d+ 1);
else
printf(" %d\n",d + 2);}
执行后输出结果是( ).
当a=1、b=2、c=5、d=5时,执行下面的程序后,x的值是( ).
if(a<b)
if(c<d)x=1;
else
if(a<c)
if(b<d)x=2;
else x=3;
else x=6;
else x=7;
A:(类型) B:*= C:+ D:>=
答案:(类型)
A:2 B:3 C:5 D:4
A:输入数据4和3,则输入3和4 B:输入数据4和3,则输出4和4 C:输入数据3和4,则输入4和5 D:语法错误,不能通过编译
A:7和4 B:6和4 C:7和5 D:6和3
A:**** B:%%%% C:%%%%c D:有错,执行不正确
A:缩排位置相同的if B:其之后最近的if C:同一行上的if D:其之前最近的if
A:只能为常量或常量表达式 B:可为任何量或表达式 C:可为常量或表达式或有确定值的变量及表达式 D:只能为常量
A:1,0 B:1,1 C:2,1 D:2,2
A:4 B:编译时有错,无结果 C:3 D:2
A:6 B:1 C:3 D:2