if语句练习题.docx

上传人:b****7 文档编号:9632479 上传时间:2023-02-05 格式:DOCX 页数:18 大小:19.62KB
下载 相关 举报
if语句练习题.docx_第1页
第1页 / 共18页
if语句练习题.docx_第2页
第2页 / 共18页
if语句练习题.docx_第3页
第3页 / 共18页
if语句练习题.docx_第4页
第4页 / 共18页
if语句练习题.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

if语句练习题.docx

《if语句练习题.docx》由会员分享,可在线阅读,更多相关《if语句练习题.docx(18页珍藏版)》请在冰豆网上搜索。

if语句练习题.docx

if语句练习题

第五章if语句练习题

1.以下不正确的if语句形式是______

A)if(x>y&&x!

=y);

B)if(x==y)x+=y;

C)if(x!

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

D)if(x

2.以下运算符中优先级最低的是

(1),优先级最高的是

(2)

A)?

:

B)&&C)+D)!

=

3.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是_____

if(x>y)

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

A)x=10,y=20,z=30B)x=20,y=30,z=30

C)x=20,y=30,z=10D)x=20,y=30,z=20

4.以下if语句语法正确的是_____

A)if(x>0)

printf(“%f”,x)

elseprintf(“%f”,-x);

B)if(x>0)

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

elseprintf(“%f”,-x);

C)if(x>0)

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

elseprintf(“%f”,-x);

D)if(x>0)

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

elseprintf(“%f”,-x);

5.请阅读以下程序:

main()

{inta=5,b=0,c=0;

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

elseprintf(“$$$\n”);}

以上程序______

A)有语法错不能通过编译B)可以通过编译但不能通过连接

C)输出***D)输出$$$

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

main()

{intm=5;

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

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

A)4B)5C)6D)7

7.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是______

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

A)1b)2c)3d)6

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

x

y=

x<0

x-1

x=0

x

x>0

x+1

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

A)y=x+1;

if(x>=0)

if(x==0)y=x;

elsey=x-1;

b)y=x-1;

if(x!

=0)

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

elsey=x;

c)if(x<=0)

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

elsey=x;

elsey=x+1;

d)y=x;

if(x<=0)

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

elsey=x+1;

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

main()

{inta=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);}

A1B0C-1D值不确定

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

main()

{intx=2,y=-1,z=2;

if(x

if(y<0)z=0;

elsez+=1;

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

A.3B.2C.1D.0

11.为避免在嵌套的条件语句if-else中产生二义性,C语言规定:

else子句总是与___配对.

A.缩排位置相同的ifB.其之前最近的if

C.其之后最近的ifD.同一行上的if

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

A.if(x>y);

B.if(x=y)&&(x!

=0)x+=y;

C,if(x!

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

D.if(x

12.阅读以下程序

#include

main()

{floata,b;

scanf(“%f”,&a);

if(a<0.0)b=0.0;

elseif((a<0.5)&&(a!

=2.0))b=1.0/(a+2.0);

elseif(a<10.0)b=1.0/a;

elseb=10.0;

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

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

A)0.000000B)0.500000C)1.000000D)0.250000

13.若运行时输入:

16<回车>,则以下程序的运行结果是()

#include

main()

{intyear;

printf(“Inputyouyear:

”);

scanf(“%d”,&year);

if(year>=18)

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

elseprintf(“your$3.0yuan/xiaoshi”);}

14.若运行时输入:

2<回车>,则以下程序的运行结果是()

#include

main()

{charclass;

printf(“enter1for1stclasspostor2for2ndpost”);

scanf(“%c”,&class);

if(class==’1’)printf(“1stclasspostageis19p”);

elseprintf(“2ndclasspostageis14p”);}

15.若运行时输入:

4.4<回车>,则以下程序的运行结果是(  )

#include

main()

{floatcostprice,sellingprice;

printf(“entercostprice$:

”);

scanf(“%f”,&costprice);

if(costprice>=5)

{sellingprice=costprice+costprice*0.25;

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

else

{sellingprice=costprice+costprice*0.30;

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

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

main()

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

elseprintf(“F”);}

17.请阅读以下程序:

main()

{intt,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”);

elseprintf(“PM”);}

若运行时输入:

1605<回车>时,程序的运行结果是()

18.以下程序实现:

输入圆的半径r和运行标志m,按照运行标志进行指定计算.请在()内填入正确的内容.

标志运算

a面积

c周长

b二者均计算

#definepi3.14159

main()

{charm;

floatr,c,a;

printf(“inputmarkacorb&&r\n”);

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

if

(1)

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

if

(2)

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

if(3)

{a=pi*r*r;c=2*pi*r;printf(“area&&circleare%f%f”,a,c);}}

19.若运行时输入:

5999<回车>,则以下程序的运行结果(保留小数后一位)是()

main()

{intx;

floaty;

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);}

20.以下程序实现输出x,y,z三个数中的最大者.请在()添入正确内容.

main()

{intx=4,y=6,z=7;

int

(1)

if

(2)u=x;

elseu=y;

if(3)v=u;

elsev=z;

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

21.以下程序实现:

输入三个整数,按从大到小的顺序进行输出.请在()内填入正确内容

main()

{intx,y,z,c;

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

if

(1)

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

if

(2)

{c=x;x=z;z=c;}

if(3)

{c=x;x=y;y=c;}

printf(“%d,%d,%d”,x,y,z);}

22.以下程序对输入的两个整数,按从大到小顺序输出.请在()内填正确内容.

main()

{intx,y,z;

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

if

(1)

{z=x;

(2)}

printf(“%d,%d”,x,y);}

23.以下程序对输入的一个小写字母,将字母循环后移5个位置后输出.如’a’变成’f’,’w’变成’b’.请在()填入正确内容

#include“stdio.h”

main()

{charc;

c=getchar();

if(c>=’a’&&c<=’u’)

(1)

elseif(c>=’v’&&c<=’z’)

(2)

putchar(c);}

24.输入一个字符,如果它是一个大写字母,则把它变成小写,如果是小写,则变成大写,其他字符不变,请在()填正确内容

main()

{charch;

scanf(“%c”,&ch);

if

(1)ch=ch+32;

elseif(ch>=’a’&&ch<=’z’)

(2)

printf(“%c”,ch);}

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

main()

{inta,b,c;

ints,w,t;

s=w=t=0;

a=-1,b=3,c=3;

if(c>0)s=a+b;

if(a<=0)

{if(b>0)

if(c<=0)w=a-b;}

elseif(c>0)w=a-b;

elset=c;

printf(“%d%d%d”,s,w,t);}

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

main()

{inta,b,c,d,x;

a=c=0;

b=1;

d=20;

if(a)d=d-10;

elseif(!

b)

if(!

c)x=15;

elsex=25;

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

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

#include

main()

{intx,y=1,z;

if(y!

=0)x=5;

printf(“\t%d\n”,x);

if(y==0)x=4;

elsex=5;

printf(“\t%d\n”,x);

x=1;

if(y<0)

if(y>0)x=4;

elsex=5;

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

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

#include

main()

{intx,y=-2,z=0;

if((z=y)<0)x=4;

elseif(y==0)x=5;

elsex=6;

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

if(z=(y==0))

x=5;

x=4;

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

if(x=z=y)x=4;

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

29.阅读下面程序:

main()

{ints,t,a,b;

scanf(“%d,%d”,&a,&b);

s=1;

t=1;

if(a>0)s=s+1;

if(a>b)t=s+t;

elseif(a==b)t=5;

elset=2*s;

printf(“s=%d,t=%d”,s,t);}

为使输出结果t=4,输入量a和b应满足的条件是()

30.请阅读下面程序:

main()

{ints,t,a,b;

scanf(“%d,%d”,&a,&b);

s=1;

t=1;

if(a>0)s=s+1;

if(a>b)t=s+t;

elseif(a==b)t=5;

elset=2*s;

printf(“s=%d,t=%d”,s,t);}

为使输出结果s=1,t=5,输入量a和b应满足条件是()

31.下面程序根据以下函数关系,对输入的每个x值,计算出y值,在()填正确内容

x

Y

2

x(x+2)

-1

2x

x<=-1

x-1

main()

{intx,y;

scanf(“%d,&x);

if

(1)y=x*(x+2);

elseif

(2)y=2*x;

elseif(x<=-1)y=x-1;

else(3);

if(y!

=-1)printf(“%d”,y);

elseprintf(“error”);}

32.下面程序根据以下函数关系,对输入的每个x值,计算出相应的y值.在()

填正确内容

x

y

x=a或x=-a

0

-a

sqrt(a*a-x*x)

x<-a或x>a

x

#include“math.h”

main()

{intx,a;

floaty;

scanf(“%d%d”,&x,&a);

if

(1)y=0;

elseif

(2)y=sqrt(a*a-x*x);

elsey=x;

printf(“%f”,y);}

33.以下程序的功能是计算一元二次方程ax2+bx+c=0的根,在()填正确内容

#include“math.h”

main()

{floata,b,c,t,disc,twoa,term1,term2;

printf(“entera,b,c:

”);

scanf(“%f%f%f”,&a,&b,&c);

if

(1)

if

(2)printf(“noanswerduetoinputerror\n”);

elseprintf(“thesinglerootis%f\n”,-c/b);

else{disc=b*b-4*a*c;

twoa=2*a;

terml=-b/twoa;

t=abs(disc);

term2=sqrt(t)/twoa;

if(3)

printf(“complexroot\nrealpart=%fimagpart=%f\n”,terml,term2);

elseprintf(“realroots\nrootl=%froot2=%f\n”,terml+term2,term1-term2);}}

34.以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型.在()填正确内容.

#include“math.h”

main()

{floata,b,c;

floats,area;

scanf(“%f%f%f”,&a,&b,&c);

if([1])

{s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(“%f”,area);

if([2])

printf(“等边三角形”);

elseif([3])

printf(“等腰三角形”);

elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))

printf(“直角三角形”);

elseprintf(“一般三角形”);}

elseprintf(“不能组成三角形”);}

35.某邮局对邮寄包裹有如下规定:

若包裹的长宽高任一尺寸超过1米或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费0.2元,再加上根据下表按重量wei计算的资料:

重量(千克)收费标准(元/公斤)

wei<=100.80

10

20

请在程序的[]内填入正确的内容.

main()

{floatlen,wei,hei,wid,mon,r;

scanf(“%f%f%f%f”,&len,&wid,&hei,&wei);

if(len>1||wid>1||hei>1||wei>30)[1];

elseif(wei<10)r=0.8;

elseif(wei<=20)r=0.75;

elseif(wei<=30)[2];

if(r==-1)printf(“error\n”):

else{[3];printf(“%f”,mon);}}

36.以下程序的功能是判断输入的年份是否是闰年.请在[]内填入正确的内容.

main()

{inty,f;

scanf(“%d”,&y);

if(y%400==0)f=1;

elseif([1])f=1;

else[2];

if(f)printf(“%dis”,y);

elseprintf(“%disnot”,y);

printf(“aleapyear\n”);}

37.有四个数a,b,c,d,要求按从大到小的顺序输出.请在[]内填入正确内容

main()

{inta,b,c,d,t;

scanf(“%d%d%d%d”,&a,&b,&c,&d);

if(a

if([1]){t=c;c=d;d=t;}

if(a

if([2]){t=b;b=c;c=t;}

if(b

if(c

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

38.以下程序的运行结果是__

main()

{inta=2,b=3,c;

c=a;

if(a>b)c=1;

elseif(a==b)c=0;

elsec=-1;

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

39.编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上数字,否则输出两数之和.

40.试编程判断输入的正整数是否既是5又是7的整倍数.若是,则输出yes,否则输出no

41.编程序:

根据以下函数关系,对输入的每个x值,计算出相应的y值

x

Y

x<=0

0

0

X

10

10

20

-0.5x+20

42.编程实现:

输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一

(1)能同时被3,5,7整除

(2)能被其中两个数整除(要指出那两个数)

(3)能被其中一个数整除(指出那一个)

(4)不能被3,5,7任一个整除

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1