习题4C语言(第五章).docx

上传人:夺命阿水 文档编号:955801 上传时间:2024-01-29 格式:DOCX 页数:25 大小:82.49KB
返回 下载 相关 举报
习题4C语言(第五章).docx_第1页
第1页 / 共25页
习题4C语言(第五章).docx_第2页
第2页 / 共25页
习题4C语言(第五章).docx_第3页
第3页 / 共25页
习题4C语言(第五章).docx_第4页
第4页 / 共25页
习题4C语言(第五章).docx_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《习题4C语言(第五章).docx》由会员分享,可在线阅读,更多相关《习题4C语言(第五章).docx(25页珍藏版)》请在课桌文档上搜索。

1、第五章选择结构程序设计5.1选择题【题5.1】逻辑运算符两侧运算对象的数据类型oA)只能是。或1B)只能是。或非。正数C)只能是整型或字符型数据D)可以是任何类型的数据【题5.2以下关于运算符优先顺序的描述中正确的是OA)关系运算符算术运算符赋值运算符逻辑与运算符B)逻辑与运算符关系运算符算术运算符赋值运算符O赋值运算符逻辑与运算符关系运算符算术运算符D)算术运算符关系运算符赋值运算符逻辑与运算符【题5.3】下列运算符中优先级最高的是OA) B)+C)&D)!=【题5.4能正确表示“当X的取值在1,10和200,210范围内为真,否则为假”的表达式是OA)(x=l)&(x=200)&(x=l)

2、II(x=200)I(x=l)&(x=200)&(x=l)II(x=200)(x=210)【题5.5表示图中坐标轴上阴影部分的正确表达式是.XabcA)(x=b)&(x=c)B)(x=a)II(b=x=c)C)(x=b)ft(x=c)D)(x=a)M(b=x=c)【题5.6判断char型变量ch是否为大写字母的正确表达式是。A)A=ch=A)(ch=A)&(ch=tli)D)(A=ch)【题5.7设x、y和Z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是.A)x&yB) x=yC) xIy+z&y-zD) !(x=y&chb)&(n=cd)后n的值为A)1B)2C)3D)4

3、【题5.11】判断char型变量cl是否为小写字母的正确表达式是。A)ia,=cl=a)&(cl=cl)|(izf=匕)&(Clotz,)【题5.12】以下程序的运行结果是ottinclude“stdio.hmain()(inta,b,d=241;a=d100%9;b=(-l)&(-l);printf(%d,%dw,a,b);)A)6,1B)2,1C)6,0D)2,0【题5.13执行以下语句后a的值为I,b的值为20inta,b,c;a=b=c=l;+aII+b&+c;1 A)错误B)0C)2D)12 A)1B)2C)错误D)0【题5.14】执行以下语句后a的值为1,b的值为20inta=5,

4、b=6,w=l,x=2,y=3,z=4;(a=wx)&(b=yz);+aII+b&+c;1 A)5B)0C)2D)12 A)6B)0C)1D)4【题5.15】以下不正确的if语句形式是。A) if(xy&x!=y);B) if(x=y)x+=y;C) if(x!=y)scanf(w%dw,&x)elsescanf(ii%dn,&y);D) if(xy)z=x;x=y;y=z;A)x=10,y=20,z=30B)x=20,y=30,z=30C)x=20ty=30,z=10D)x=20,y=30,z=20【题5.18以下if语句语法正确的是OA)if(xO)printf(ii%fn,x)elsep

5、rintf(u%fw,-);B) if(xO)x=xy;printf(rt%fn,x);elseprintf(w%fw,-);C)if(xO)x=x+y;printf(tt%f,f,x););elseprintf(w%f,-);D)if(xO)x=x+y;printf(w%fw,x)elseprintf(u%fw,-);【题5.19】请阅读以下程序:main()(inta=5,b=0tc=0;if(a=b+c)printf(w*nw);elsePrintf($n”);)以下程序OA)有语法错不能通过编译B)可以通过编译但不能通过连接C)输出*D)输出$【题5.20】以下程序的运行结果是。mai

6、n()intm=5;if(m+5)printf(w%dnw,m);elsePrintf(%dn”,In-);)A)4B)5C)6D)7【题5.21】当a=l,b=3,c=5,d=4时,执行完下面一段程序后x的值是if(ab)if(cd)x=l;elseif(ac)if(bd)x=2;elsex=3;elsex=6;elsex=7;A) 1B)2C)3D)6【题5.22】有一函数关系见下表:Xy=x0x+1下面程序段中能正确表示上面关系的是A) y=x+l;if(x=O)if(x=0) y=x;else y=x-l;C) if(x=O)if(x0) y=x+l;else y=x;D) y=x;i

7、f(x=O)if(x0) y=x-l;else y=x+l;【题5.23】以下程序的输出结果是omain()inta=100,x=10,y=20,ok1=5,ok2=0;if(xy)if(y!=10)if(!okl)a=l;elseif(ok2)a=10;a=-l;printf(%dn,a);)A)1B)OC)-1D)值不确定【题5.24】以下程序的输出结果是Omain()(intx=2,y=-l,z=2;if(xy)if(yy);B) if(x=y)M(x!=0)x+=y;C) if(x!=y)scanf(rt%dw,&x);elsescanf(w%dw,&y);D) if(xy)x+;y+

8、;【题5.27】请阅读以下程序:ttincludemain()(floata,b;scanf(rt%fw,&a);if(a0.0)b=0.0;elseif(a0.5)M(a!=2.0)b=1.0(a+2.0);elseif(a,则上面程序的输出结果是oA)0.000000B)0.500000C)1.000000D)0.250000【题5.28若有条件表达式(exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是OA)(exp=O)B)(exp!=O)C)(exp=l)D)(exp!=O)【题5.29若运行时给变量X输入12,则以下程序的运行结果是.main()intx,y;sca

9、nf(“%d”,&x);y=x12?x+10:x-12;printf(%dn”,y);)A)0B)22C)12D)10【题5.30】以下程序的运行结果是omain()(intk=4,a=3,b=2,c=l;printf(rtn%dnw,ka?k:cb?c:a);)A)4B)3C)2D)1【题5.31】执行以下程序段后,变量a,b,c的值分别是.intx=10,y=9;inta,b,c;a=(-=y+)?-X:+y;b=x+;c=y;A)a=9,b=9,c=9B)a=8,b=8,C=IOC)a=9,b=10,c=9D)a=l,b=ll,C=IO【题5.32若w、x、y、z、In均为int型变量,

10、则执行下面语句后的In值是w=l;x=2;y=3;z=4;m=(wx)?w:x;m=(my)?m:y;m=(mz)?m:z;A) 1B) 2 C) 3 D) 4【题5.33若W=1、x=2、y=3、z=4,则条件表达式*x?w:y10?x+100:x-10);printf(rt%dnw,w+1z+);printf(w%dnw,!wz);Printf(%dn”,w&z);A)0B)1O0D)01111110011105.2填空题【题5.35】当a=3,b=2,c=l时,表达式f=abc的值是【题5.36】当a=5,b=4,c=2时,表达式ab!=c的值是)【题5.37】以下程序的运行结果是oSi

11、ncludevoidmain(void)(intx=l,y,z;x*=3+2;Printf(%dt,x);x*=y=z=5;printf(%dt”,x);x=y=z;printf(w%dnw,x);)【题5.38在C语言中,表示逻辑“真值用【0【题5.39设y为int型变量,请写出描述“y是奇数”的表达式【L【题5.40】C语言提供的三种逻辑运算符是【1】、【2】、【3】。【题5.41】设X,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式【】。【题5.42】设X,y,Z均为int型变量,请写出描述“x,y和Z中有两个为负数”的表达式【题5.43已知A=7.5,B=2,C=3

12、.6,表达式AB&CA|AB&!CB的值是【L【题5.44若a=6,b=4,c=2,则表达式!(a-b)+cTMb+c2的值是L【题5.45若a=2,b=4,则表达式!(x=a)(y=b)&0的值是【题5.46若a=l,b=4,c=3,则表达式!(ab)!c&1的值是则表达式a-bcib=c的值是【题5.49若a=3,b=4,c=5,则表达式ab+c&b=C的值是【题5.50】条件2x3或xc)后;n的值是【1】,In的值是2L【题5.52】以下程序的运行结果是。main()intX,y,z;x=l;y=2;z=3;x=y一=xIx+y!=z;printf(w%d,%dw,x,y);)【题5.

13、53】以下程序的运行结果是。main()(intal,a2,bl,b2;inti=5,j=7,k=0;al=!k;a2=i!=j;printf(al=%dta2=%dnM,al,a2);bl=k&j;b2=kIIj;printf(ubl=%dtb2=%dnw,bl,b2);)【题5.54】以下程序的运行结果是。main()intX,y,z;x=l;y=l;z=0;x=xIIy&z;Printf(%d,%d”,x,x&!yz);)【题5.55】有intx,y,z;且x=3,y=-4,z=5,则表达式(x&y)=(xIZ)的值为【题5.56有intx,y,z;且x=3,y=-4,z=5,则以下表达

14、式的值为!(xy)+(y!=z)(x+y)&(y-z)【题5.57】有intX,y,z;且x=3,y=-4,z=5,则表达式x+-y+(+z)的值为【题5.58有inta=3,b=4,c=5;,则表达式ab+c&ftb=C的值为【题5.59】有inta=3,b=4,c=5,X,y;,则以下表达式的值为】。!(x=a)&(y=b)&0【题5.60有inta=3,b=4,c=5;,则以下表达式的值为】。!(a+b)+c-l&b+c/2【题5.61若运行时输入:16,则以下程序的运行结果是Ottincludevoidmain(void)(intyear;printf(iiInputyouyear:w

15、);SCanf(%d”,&year);if(year=18)printf(wyou$4.5yuanxiaoshiw);elsePrintf(you$3.0yuanxiaoshi,);)【题5.62若运行时输入:2回车,则以下程序的运行结果是。ttincludevoidmain(void)(charClass;printf(mEnter1for1stclasspostor2for2ndpost);scanf(w%cw,Class);if(Class=41,)printf(ii1stclasspostageis19p);elseprintf(“2ndclasspostageis14p);)【题5.

16、63若运行时输入:4.4回车,则以下程序的运行结果是。#includevoidmain(void)floatCostPrice,SellingPrice;printf(wEnterCostPrice$:);scanf(rt%fw,&CostPrice);if(CostPrice=5)(SellingPrice=CostPrice+CostPrice*0.25;Printf(SellingPrice(O.25)$%6.2f,f,SellingPrice);)else(Sel1ingPrice=CostPrice+CostPrice*0.30;Printf(SellingPrice(O.30)$%

17、6.2f,Sel1ingPrice);)【题5.64】以下程序的运行结果是omain()(if(2*2=52*2=4)Print(T”);elsePrintf(“F”);)【题5.65请阅读以下程序:main()(intt,h,m;scanf(%d”,&t);h=(t100)%12;if(h=O)h=12;printf(ii%dn,h);m=t%100;if(m10)printf(iiQf);printf(%d,m);if(t1200It=2400)printf(AM);elseprintf(“PM”);)若运行时输入:1605时,程序的运行结果是O【题5.66】以下程序实现:输入圆的半径r和

18、运算标志m,按照运算标志进行指定计算。请在【】内填入正确内容。标志运算a面积c周长b二者均计算#definepi3.14159main()(charm;floatr,c,a;printf(iiinputmarkacorb&rn);scanf(%c,&m,&r);if(1)a=pi*r*r;printf(wareais%f,a);if(2)c=2*pi*r;printf(circleis%fw,c);if(3)a=pi*r*r;c=2*pi*r;printf(wareaftfecircleare%f%f”,a,c);)【题5.67若运行时输入:5999回车,则以下程序的运行结果(保留小数点后一位

19、)是Omain()(intx;floaty;scanf(%d,&x);if(x=0&x&=3000&x=6000&x=*a,&c=*v,&c=a&chO)s=a+b;if(aO)if(c0)w=a-b;elset=c;printf(ii%d%d%d”,s,w,t);)【题5.74】以下程序的运行结果是。main()(inta,b,c,d,x;a=c=0;b=l;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;printf(rt%dnw,d);)【题5.75】以下程序的运行结果是ottincludevoidmain(void)(intx,y=l,z;

20、if(y!=0)x=5;printf(t%dnw,x);if(y=O)x=4;elsex=5;printf(wt%dnw,x);x=l;if(yO)x=4;elsex=5;printf(rtt%dnw,x);)【题5.76】以下程序的运行结果是ottincludevoidmain(void)(intx,y=-2,z;if(z=y)0)s=s+l;if(ab)t=s+t;elseif(a=b)t=5;elset=2*s;printf(rts=%d,t=%dw,s,t);)为了使输出结果t=4,输入量a和b应满足的条件是【L【题5.78】请阅读以下程序:main()ints,t,a,b;scanf

21、(,&a,&b);s=l;t=l;if(a0)s=s+l;if(ab)t=s+t;elseif(a=b)t=5;elset=2*s;printf(s=%d,t=,s,t);)为了使输出结果s=l,t=5,输入量a和b应满足的条件是【Jo【题5.79】下面程序根据以下函数关系,对输入的每个X值,计算出y值。请在内填入正确内容。Xy2x=10x(x+2)-lx=22xx=-l-lmain()intx,y;scanf(rt%dw,&x);if(C11)y=x*(x+2);elseif(2)y=2*x;elseif(x=-l)y=x-l;else3;if(y!=-l)Printf(%d”,y);els

22、ePrintf(error);)【题5.80】下面程序根据以下函数关系,对输入的每个X值,计算出相应的y值。请在【】内填入正确内容。Xyx=a或x=aO-axasqrt(a*a-x*x)xaXinclude“math,hmain()intx,a;floaty;scanf(rt%d%dw,&x,&a);if(1)y=0;elseif(2)y=sqrt(a*ax*x);elsey=x;printf(%fw,y);)【题5.81】以下程序的功能是计算一元二次方程2+C=O的根。请在】内填入正确内容。include“math,h”main()floata,b,c,t,disc,twoatterml,t

23、erm2;printf(wentera,b,c:,);scanf(rt%f%f%fw,&a,&b,&c);if(1)if(【2】)printf(noanswerduetoinputerrornw);elseprintf(rtthesinglerootis%fnw,-cb);else(disc=b*b-4*a*c;twoa=2*a;terml=-btwoa;t=abs(disc);term2=sqrt(t)/twoa;if()printf(mcomplexrootnrealpart=%fimagpart=%fn,terml,term2);elseprintf(wrealrootsnrootl=%

24、froot2=%fnw,terml+term2,terml-term2);)【题5.82以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型。请在【】内填入正确内容。includemath,h”main()(floata,b,c;floats,area;scanf(rt%f%f%fw,&a,&b,&c);if(1)s=(a+b+c)2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(ii%fn,area);if(2)Printf(等边三角形”);elseif(3)Printf(“等腰三角形”);elseif(a*a+b*b=c*c)(

25、a*a+c*c=b*b)(b*b+c*c=a*a)Printf(直角三角形);elsePrintf(一般三角形”);)elsePrintf(不能组成三角形”);)【题5.83某邮局对邮寄包裹有如下规定:若包裹的长宽高任一尺寸超过1米或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费02元,再加上根据下表按重量WCi计算的邮资:重量(千克)收费标准(元)wei100.8010wei=200.7520weilwidlheilwei30)1;elseif(wei10)r=0.8;elseif(wei=20)r=0.75;elseif(wei=50)m=c*80;elsem=c*90;else

26、if(2)if(t=50)m=t*80+(c-t)*60;elsem=t*90+(c-t)*60;elseif(3)m=c*80+(t-c)*45;elsem=c*90+(t-c)*45;printf(w%dw,m);)【题5.85】以下程序的功能是判断输入的年份是否是闰年。请在【】内填入正确内容。main()(inty,f;scanf(“%d”,&y);if(y%400=0)f=l;elseif(1)f=l;else2;if(f)printf(w%dis”,y);elseprintf(w%disnot,y);printf(iialeapyearnw);)【题5.86】以下程序段针对输入的截止

27、日期(年:yend,月:mend,日dond:)和出生日期(yman,mman,dman),计算出实际年龄。请在【】内填入正确内容。设有:intyend,mend,dcnd,yman,mman,dman,age;age=yend-yman;if(mend1mman)age;elseif(mend2mman&dend3dman)age;【题5.87】有四个数a,b,c,d,要求按从大到小的顺序输出。请在内填入正确内容。main()inta,b,c,d;&a, &b, &c, &d);b=t; d=t;)c=t; c=t; scanf(it%d%d%d%dwif(ab)t=a;a=bif(1)(t

28、=c;c=dif(ac)t=a;a=cif(2)t=b;b=cif(bd)(t=b;b=d;d=t;if(cb)c=l;elseif(a=b)c=0;elsec=-l;printf(%dn,c);)【题5.89若a=l,b=2,则表达式ab?a:b+l的值是1o【题5.90若a=l,b=2,c=3,d=4,则表达式ab?a:cd?c:d的值是【题5.91】设有变量定义:inta=10,c=9;则表达式(-a!=c+)?a:+C的值是【题5.92若有说明语句:intx=l,y=O;则表达式句(y+x)?10:12.5y+?a:A的值是【题5.93若有说明语句:inta=l,b=O;则表达式+a*

29、a=b?12%5:x的值是【L【题594若乂=1,丫=2,2=3,则表达式(x(y+x)?5:25y+?T:i2,的值是【题5.96】以下程序的运行结果是o#includemain()(inta=-10,b=-3;printf(w%d,n,-a%b);printf(w%d,w,(a-b,a+b);printf(w%dnw,a-b?a-b:a+b);)【题5.97】以下程序的运行结果是。main()intx=l,y=l,z=l;y=y+z;x=x+y;printf(ii%d,xy?y:x);printf(w%d,n,x=y=x)71:0);printf(w%dnw,z=y&y=x);)【题5.9

30、9若运行时输入:-2回车,则以下程序的输出结果是.main()inta,b;scanf(%d,&a);b=(a=0)?a:-a;printf(b=%d”,b);)【题5.100若运行时输入:100回车,则以下程序的运行结果是.main()inta;scanf(%d,&a);printf(u%sf,(a%2!=0)?“no:“yes”);)【题5.101】如果运行时输入字符为Q,则以下程序的运行结果是main()intch;scanf(%c”,&ch);ch=(ch=A&ch=a&ch=z)?(ch-32):ch;printf(ii%cf,ch);)【题5.102】当运行时输入:1992回车,则

31、以下程序的运行结果是omain()(inty,t;scanf(“%d”,&y);t=(y%4=0fey%100!=0)y%400=0)?1:0;if(t)printf(w%dis,y);elseprintf(rt%disnotw,y);printf(aleapyearw);)【题5.103】以下程序是计算x,y,Z三个数中值最小的。请在【】内填入正确内容。main()intx=4,y=5,z=8;intu,v;u=xy?1;v=u(y+x)?10:12.5y+?A:iV【题5.107设有intx=l,y=0;,则以下表达式的值为Lx+*-!=y?8-4:y【题5.108】若运行时输入:35/,

32、则以下程序的运行结果是omain()(floatxfy;charo;doubler;scanf(w%f%f%cm,&x,&y,&o);switch(o)case+:r=x+y;break;case-:r=-y;break;case*:r=x*y;break;casetf:r=xy;break;)printf(%f,r);)【题5.109根据以下嵌套的if语句所给条件,填写SWitCh语句,使它完成相同的功能。(假设Inark的取值在1100之间,)if语句:if(mark60)k=l;elseif(mark70)k=2;elseif(mark80)k=3;elseif(mark90)k=4;e

33、lseif(mark=100)k=5;switch语句:switch(1)2k=l;break;case6:k=2;break;case7:k=3;break;case8:k=4;break;3k=5;)【题5110】设有程序段:switch(grade)(case*A,:printf(w85-100nw);caseB:Printf(“7084n”);caseC:printf(w60-69nw);caseD:printf(w60nw);default:printf(werror!nw);)若grade的值为P,则输出结果是【题5.111】以下程序段的运行结果是。intx=l,y=0;switch(x)case1:switch(y)(

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号