23. 以下程序的输出结果是( )
main()
{int a= -1,b=1;
if((++a < 0)&& ! (b-- < =0))
printf("%d %d\n",a,b);
else
printf("%d %d\n",b,a);
}
20. 在执行以下程序时,为了使输出结果为t=4,
则给a和b输入的值应满足的条件是
main( )
{ int s,t,a,b;
scanf("%d,%d",&a,&b);
s=1;
t=1;
if(a < 0)s=s+1;
if(a > b)t=s+1;
else if(a= =b)t=5;
else t=2*s;
printf("t=%d\n",t);
}
A、0 > a > b B、a=0 < b
C、a=b < 0 D、a < b < 0
19. 与 y=(x > 0?1:x < 0?-1:0);的功能相同的if语句是( )
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;
18. 有如下程序
main()
{ int a=2,b=-1,c=2;
if(a < b)
if(b<0) c=0;
else c++
printf("%d\n",c);
} 该程序的输出结果是 ( )
17. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是____
main()
{
int x;
scanf("%d",&x);
if (x++> 5)printf("%d",x)
else printf("%d\n",x--);
16. 以下程序的输出结果是
main()
{int a=100,x=10,y=20,ok1=5,ok2=0;
if(x < y)
if(y!=10)
if(!ok1)
a=1;
else
if(ok2) a=10;
a=-1;
printf("%d\n",a);
14. 请读程序:
main()
{ float x,y;
scanf("%f",&x);
if(x < 0.0) y=0.0
else if((x < 5.0)&&(x!=2.0))
y=1.0/(x+2.0);
else if( x < 10.0) y=1.0/x;
else y=10.0;
printf("%f\n",y);
}
若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是
15. 阅读以下程序:
main()
{ int x;
scanf("%d",&x);
if(x--<5) printf("%d"'x);
else printf("%d"'x++);
}
程序运行后,如果从键盘上输人5,则输出结果是( )
12. 若有定义: float w; int a, b; 则合法的switch语句是( )
A、switch(w)
{ case1.0: printf("*\n");
case2.0: printf("**\n");
}
B、switch(a);
{ case 1 printf("*\n");
case 2 printf("*\n");
}
C、switch(b)
{ case 1: printf("*\n");
case 2: printf("*\n");
}
D、switch(a+b);
{ case 1: printf("*\n");
default: printf("\n");
case 2
}
10. 以下程序的输出结果是
main()
{int x=2,y=-1,z=2;
if(x < y)
if(y < 0) z=0;
else z+=1;
printf("%d\n",z);
}
11. 在C语言中的if语句中,用作判断的表达式为()
A、关系表达式
B、逻辑表达式
C、算数表达式
D、任意表达式
8. 为避免嵌套的条件分支语句if…else的二义性,C语言规定,C程序中的
else总是与____组成配对关系。
A、其上面距它最近的,并且没有其他else与其配对的if相配对
B、在同一行上的if
C、缩排位置相同的if
D、在其之前未配对的if
9. 判断两个字符串S1 和 S2 相等的正确语句是____
A、if (S1=S2)
B、if (S1==S2)
C、if (strcpy(S1,S2))
D、if (strcmp(S1,S2)==0)