16. 与 y=(x > 0?1:x < 0?-1:0);的功能相同的if语句是(3分)
A、if(x > 0) y=1;
else if(x < 0) y=-1;
else y=0;
B、if(x)
if(x > 0) y=1;
else if(x < 0) y=-1;
else y=0;
C、y=-1
if(x) y=1;
else if(x==0) y=0;
else y=-1;
D、y=0
if(x > -0)
if(x > 0) y=1;
else y=-1;
17. 若运行以下程序时,从键盘输入 ADescriptor < CR > ( < CR > 表示回车),则下面程序的运行结果是
#include < stdio.h >
main()
{char c;
int v0=0,v1=0,v2=0;
do{
switch(c=getchar())
{case 'a':case 'A':
case 'e':case 'E':
case 'i':case 'I':
case 'o':case 'O':
case 'u':case 'U':v1+=1;
default:v0+=1;v2+=1;
}
}while(c!='\n');
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);
}
A、v0=7,v1=4,v2=7
B、v0=8,v1=4,v2=8
C、v0=11,v1=4,v2=11
D、v0=12,v1=4,v2=12
18. 下列关于switch语句和break语句的结论中,正确的是( )。(3分)
A、-1 1
B、0 1
C、1 0
D、0 0
19. 有如下程序
main0
{ int x=1,a=0,b=0;
switch(x){
case 0: b++;
case 1: a++
case 2: a++;b++
}
printf("a=%d,b=%d\n",a,b);
}
该程序的输出结果是
A、a=2,b=1
B、a=1,b=1
C、a=1,b=0
D、a=2,b=2
20. 对下述程序,( )是正确的判断。
#include
main()
{
int x,y;
scanf(”%d,%d”,&x,&y);
if(x>y)
x=y;y=x;
else
x++:y++;
printf(”%d,%d”,x,y);
}
A、有语法错误,不能通过编译
B、若输入数据4和3,则输出3和4
C、若输人数据3和4,则输出4和5
D、若输入数据4和3,则输出4和4
21. 当a=1、b=3、c=5、d:5时,执行下面的程序段后,x的值为( )。
if(a
if(c
else
if(a
if(b
else x:3;
else x=6;
else x=7;(3分)
A、2,1
B、3,2
C、4,3
D、2,-1
22. 若执行下面的程序从键盘输入3和4,则输出是_______
main()
{ int a,b,s;
scanf("%d%d",&a,&b);
s=a;
if (a < b) s=b;
s=s*s;
printf("%d\n",s);
}(3分)
A、14
B、16
C、18
D、20
23. 请阅读以下程序:
main( )
{
int a=5,b=0,c=0;
if(a==b+c) printf("***\n");
else printf("$$$\n");
}
以上程序
A、有语法错不能通过编译
B、可以通过编译但不能通过连接
C、输出***
D、输出$$$
24. 为了避免在嵌套的条件语句if…else中产生二义性,C语言规定:else子句总是与( )配对。(3分)
A、关系运算符<算术运算符<赋值运算符<逻辑与运算符
B、逻辑与运算符<关系运算符<算术运算符<赋值运算符
C、赋值运算符<逻辑与运算符<关系运算符<算术运算符
D、算术运算符<关系运算符<赋值运算符<逻辑与运算符
25. 为避免嵌套的条件分支语句if…else的二义性,C语言规定,C程序中的
else总是与____组成配对关系。
A、其上面距它最近的,并且没有其他else与其配对的if相配对
B、在同一行上的if
C、缩排位置相同的if
D、在其之前未配对的if
27. 读下列程序:
#include
main()
{
float a,b,t;
scanf(”%f,%f”,&a,&b);
if(a>b)
{
t=a;
a=b;
b=t;
}
prinff(”%5.2f,%5.2f'’,a,b);
}
运行时从键盘输入3.8和-3.4,则正确的输出结果是(
A、-3.40,-3.80
B、-3.40,3.80
C、-3.4,3.8
D、3.80,-3.40
28.#include
main()
{ int x:
scanf(”%d”,&x);
if(x--<5)prinff(”%d”,x);
else printf(”%d”,x++);
}
程序运行后,如果从键盘输入5,则输出结果是( )
A、3
B、4
C、5
D、6
29.当a=1,b=3,c=5,d=4时,执行完下面一段程序后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、1
B、2
C、3
D、6
35.简答题: 编写程序,从键盘输入年号和月号,计算这一年的这一月共有几天.(3分)
36.简答题: 编写程序,输入一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。