选择结构习题一

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章if语句练习题

1..已知int x=10,y=20,z=30;以下语句执行

后x,y,z的值是____ ____ _

if(x>y)

z=x;x=y;y=z;

2.以下if语句语法正确的是________

A.if(x>0)

printf(“%f”,x)

else printf(“%f”,-x);

B.if(x>0)

{x=x+y;printf(“%f’,x);}

else printf(“%f”,-x);

C.if(x>0)

{x=x+y;printf(“%f”,x);}

else printf(“%f”,-x);

D.if(x>0)

{x=x+y;printf(“%f,x);}

else printf(“%f”,-x);

3.请阅读以下程序:

main( )

{int a=5,b=0,c=0;

if(a=b+c)printf(“* * *\n”);

else

printf(“$ $ $\n”);}以上程序______

A.有语法错不能通过编译

B.可以通过编译但不能通过连接

C.输出* * *

D.输出$ $ $

4.以下程序的运行结果是______

main( )

{int m=5;

if(m++>5)printf(“%d\n”,m);

else printf(“%d\n”,m--);}

A. 4

B. 5

C. 6

D. 7

5.当a=1,b=3,c=5,d=4时,执行完下面一段程

序后x的值是______

if(a

if(c

else

if(a

if(b

else x=3;

else x=6;

else x=7;

A. 1

B. 2

C. 3

D. 6

6.有一个函数关系见下表:

下面程序段中能正确表示上面关系的是( )

A. y=x+1;

if(x>=0)

if(x==0)y=x;

else y=x-1;

B. y=x-1;

if(x!=0)

if(x>0)y=x+1;

else y=x;

C. if(x<=0)

if(x<0)y=x-1;

else y=x;

else y=x+1;

D.y=x;

if(x<=0)

if(x<0)y=x-1;

else y=x+1;

7.以下程序的输出结果是______

main( )

{int a=100,x=10,y=20,okl=5,ok2=0;

if(x

if(!ok1)

a=1;

else

if(ok2)

a=10;

a=-1;

printf(“%d\n”,a);}

A.1

B.0

C.-1

D.值不确定

8.以下程序输出结果是_______

main( )

{int x=2,y=-1,z=2;

if(x

if(y<0) z=0;

else z+=1;

printf(“%d\n”,z);

A.3

B.2

C.1

D.0

9.以下不正确的语句为______

A.if(x>y);

B.if(x=y)&&(x! =0) x+=y;

C,if(x! =y)scanf(“%d”,&x);

else scanf(“%d”,&y);

D.if(x

10.阅读以下程序

#include

main( )

{float a, b;

scanf(“%f”,&a);

if(a<0.0)b=0.0;

else if((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);

else if(a<10.0)b=1.0/a;

else b=10.0;

printf(“%f\n”,b);}

若运行时输入 2.0<回车>,则上面程序的输出结

果是_____

A.0.000000

B.0.500000

C.1.000000

D.0.250000

11.若运行时输入:16<回车>,则以下程序的运

行结果是( )

#include

main( )

{int year;

printf(“Input you year:”);

scanf(“%d”,&year);

if(year>=18)

printf(“you$4.5yuan/xiaoshi”);

else printf(“your$3.0yuan/xiaoshi”);} 12.若运行时输入:2<回车>,则以下程序的运行

结果是( )

#include

main( )

{char class;

scanf(“%c”,&class);

if(class==’1’)printf(“1st class postage is 19p”);

else

printf(“2nd class postage is 14p”);} 13.若运行时输入:4.4<回车>,则以下程序的运

行结果是( )

#include

main( ) {float costprice,sellingprice;

printf(“enter cost price $:”);

scanf(“%f”,&costprice);

if(costprice>=5)

{sellingprice=costprice+costprice*0.25;

printf(“selling

price(0.25)$%6.2f”,sellingprice);}

else

{sellingprice=costprice+costprice*0.30;

printf(“selling

price(0.30)$%6.2f”,sellingprice);}}

14.以下程序的运行结果是( )

main( )

{ if(2*2= =5<2*2= =4) printf(“T”);

else printf(“F”);}

15.请阅读以下程序:

main( )

{int t,h,m;

scanf(“%d”,&t);

h=(t/100)%12;

if(h= =0)h=12;

printf(“%d:”,h);

m=t%100;

if(m<10)printf(“0”);

printf(“%d”,m);

if(t<1200||t= =2400)

printf(“AM”);

else printf(“PM”);}

若运行时输入:1605<回车>时,程序的运行结果

是( )

16.以下程序实现:输入圆的半径r和运行标志

m,按照运行标志进行指定计算.请在( )内

填入正确的内容.

标志运算

a 面积

c 周长

b 二者均计算

#define pi 3.14159

main( )

{char m;

float r,c,a;

printf(“input mark a c or b&&r\n”);

scanf(“%c%f”,&m,&r);

if( )

{a=pi*r*r;printf(“area is %f”,a);}

if( )

{c=2*pi*r;printf(“circle is %f”,c);}

if( )

{a=pi*r*r;c=2*pi*r;printf(“area&&circle

are%f%f”,a,c);}}

17.若运行时输入:5999<回车>,则以下程序的

运行结果(保留小数后一位)是( )

main( )

{int x;

float y;

scanf(“%d”,&x);

if(x>=0&&x<=2999)y=18+0.12*x;

if(x>=3000&&x<=5999)y=36+0.6*x;

if(x>=6000&&x<=10000)y=54+0.3*x;

printf(“%6.1f”,y);}

18.以下程序实现输出x,y,z三个数中的最大

者.请在( )添入正确内容.

main( )

{int x=4,y=6,z=7;

int ( )

if( )u=x;

else u=y;

if( )v=u;

else v=z;

printf(“v=%d”,v);}

19.以下程序实现:输入三个整数,按从大到小

的顺序进行输出.请在( )内填入正确内容

main( )

{int x,y,z,c;

scanf(“%d%d%d”,&x,&y,&z);

if( )

{c=y;y=z;z=c;}

if( )

相关文档
最新文档