内容正文:
专题四:if语句
一、选择题
1.设 a=1,b = 2,c=3,d = 4,则表达式:a<b? a:c<d? a:d的结果为( )
A.1
B.2
C.3
D.4
2.若 a,b,c,d,w 均为 int 类型变量,则执行下面语句后的 w 值是 ( )
a=5;b=6;c=7;d=8;
w=(a<b)? a:b;
w=(w<c)? w:c;
w=(w<d)?w:d;
A.5
B.6
C.7
D.8
3.执行以下程序段后,变量 x,y,z的值分别为( )
int a=1,b=0,x,y,z;
x=(- -a==b++)?- -a:++b;
y=a++;
z=b;
A.x=0,y=0,z=0
B.x=0,y=1,z=0
C.x=-1,y=-1,z=1
D.x=-1,y=-1,z=2
4.有以下程序段,程序段的运行结果是( )
int x=1,y=2,z=3;
if(x>y)
printf("%d",y<x? 1:2);
else
printf("%d",z<x? 2:3);}
A.1
B.2
C.3
D.4
5.若有说明语句:
int w=1, x=2,y=3,z =4;
则表达式 w>x? w:z>y? z:x 的值是( )
A.1
B.2
C.3
D.4
6.在 C 语言中,紧跟在 if 后()括号内的表达式( )
A.只能用逻辑表达式
B.只能用关系表达式
C.只能用逻辑表达式或关系表达式
D.可以是任意表达式
7.不合法的if语句是( )
A.if(表达式)语句1else 语句2
B.if(表达式)语句
C.if(表达式1)语句1else if(表达式2)语句2else 语句3。
D.if 关系表达式 语1else语句2
8.关于if语句说法正确是:( )
A.if语句后面只能跟一条语句
B.if语句中0表示假,1表示真
C.if语句是一种分支语句,可以实现单分支,也可以实现多分支
D.else语句总是和它的对齐的if语句匹配
9.已知int x=5;执行语if(x)x=1;else x=6;后,x的值是( )
A.1
B.5
C.6
D.0
10.执行以下程序段后,输出结果是( )
int x=3,y=10;
if(x=1)y=x;
y=y+1;
printf("%d,%d
",x,y);
A.3,11
B.3,10
C.3,4
D.1,2
11.已知: int x;,语if(x);中的表达式x等价于( )
A.X==0
B.x!=0
C.x==1
D.x!= 1
12.执行以下程序段后,输出结果是( )
int x=-3,y=1;
if (x)y++;
y=y+1;
printf("%d
",y);
A.1
B.2
C.3
D.4
13.执行以下程序段后,输出结果是( )
int a=0;
if(!a)
print("1");
else
printf("0");
A.0
B.1
C.10
D.提示运行错误
14.以下程序段的输出结果是( )
int a=1,b=1;
if (a<1)
if(b<2) b=0;
else b=2;
printf(“%d”,b);
A.0
B.1
C.2
D.3
15.若有定义int x=10,y=20,z=30;,则执行下列语句后 x、y、z 的值是( )
if(x>y) z=x;x=y;y=z;
A.x=10,y=20,z=30
B.x=20,y=30,z=10
C.x=20,y=30,z=30
D.x=20,y=30,z=20
16.以下程序的运行结果是( )
main( )
{int a=5;
if(a++>5) printf ("%d",a) ;
else
printf("%d
",a--);
A.4
B.5
C.6
D.7
17.有以下程序段
int a,b,c;
a=10;b=50;c=30;
if(a>b)a=b;b=c;c=a;
printf("a=%db=%dc=%d
",a,b,c);
程序的输出结果是( )
A. a=10 b=30 c=10
B. a=10 b=50 c=30
C. a=10 b=50 c=10
D. a=50 b=30 c50
18.以下程序的运行结果是( )
main( )
{ if (5<2*2==4)
printf("T");else printf ("F") ;
A.T
B.F
C.1
D.0
19.执行下面程序后,运行结果是( )
#include<stdio.h>
main( )
{int a=10,b=2;
if(a%3==0&&a%5==0)
{b+=a;printf("b= %d
",b);}
else (b=a;printf("b=%