版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章选择结构程序设计
基础练习(A)
一、填空题
1.关系表达式的运算结果是逻辑值。c语言没有逻辑型数据,以1代表“真”,以o
代表“假”。
2.逻辑运算符!是单目运算符,其结合性是由右结合性。
3.C语言提供的三种逻辑运算符是&&、||、!o其中优先级最高的
为!,优先级最低的为||。
4.逻辑运算符两侧的运算对象不仅可以是。和1,或者是0和非0的整数,也可以是任何类
型的数据。系统最终以0和非0来鉴定它们属于“真”或“假,
5、设y为int型变量,请写出描述“y是偶数”的表达式(y%2==0)。
6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式x<z||y<z。
7、条件“2vxv3或xv-10”的C语言表达式是xv・10||x>2&&xv3.
8、判断char型变量ch是否为大写字母的对的表达式是(ch>='A')&&(chv二2)。
9、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。
10、当a=5,b=4,c=2时,表达式a>b!=c的值是1。
11.已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A<B&&!C>B的值是0。
12.若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是1。
13、有intx,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为1。
14、有intx,y,z;且x=3,y=-4,z=5,则以下表达式的值为1。
!(x>y)+(y!=z)||(x+y)&&(y-z)
15.有1川@=34=41=5%”则以下表达式的值为0。
!(x=a)&&(y=b)&&0
16.if(!k)a=3;语句中的!k可以改写为k==0,使其功能不变。
二、选择题
1.逻辑运算符两侧运算对象的数据类型(D)。
A)只能是0或1
B)只能是0或非0正数
C)只能是整型或字符型数据
D)可以是任何类型的数据
2.以下关于运算符优先顺序的描述中对的的是(C)。
A)关系运算符〈算术运算符〈赋值运算符〈逻辑与运算符
B)逻辑与运算符〈关系运算符〈算术运算符〈赋值运算符
C)赋值运算符v逻辑与运算符〈关系运算符〈算术运算符
D)算术运算符〈关系运算符〈赋值运算符〈逻辑与运算符
3.下列运算符中优先级最高的是(B
A)<B)+C)&&D)!=
4.为判断字符变量c的值不是数字也不是字母时,应采用下述表达式(D)。
A)c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122
B)!(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)
C)c>=48&&c<=57||c>=65&&c<=901|c>=97&&c<=122
D)!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)
5.能对的表达“当x的取值在[1,100]和[200,30。]范围内为直.,否则为假”的表达
式是(C)。
A)(x>=1)&&(x<=100)&&<x>=200)&&(x<=300)
B)(x>=1)||(x<=100)||(x>=200)||(x<=300)
C)(x>=1)&&(x<=100)||(x>=200)&&(x<=300)
D)(x>=1)||(x<=100)&&(x>=200)||(x<=300)
6.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(D)。
A)X&&7
B)x<=y
C)x||y+z&&y-z
D)!((x<y)&&!z||1)
7、已知x=43,ch='A',y=0;则表达式(x>=y&&chv'B'&&!y)的值是(C)。
A)0B)语法错C)1D)“假”
8、设有:inta=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>b)&&(n=c>d)后n的值为(B),,
A)1B)2C)3D)4
9、以下不对的的if语句形式是(C)o
A)if(x>y&&x!=y);
B)if(x==y)x+=y;
C)if(x!=y)scanf(M%d",&x)elsescanf(l<%d",&y);
D)if(x<y){x++;y++;}
10、已知屈*・10,丫・207・30;以下语句执行后*,乂7的值是(B)o
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
11.以下if语句语法对的的是(B)o
A)if(x>0)
printf(H%r,x)
elsep「intf(''%r,-x);
B)B)if(x>0)
{x=x+y;printf(u%r,x);}
elseprintf("%7,”);
C)C)if(x>0)
{x=x+y;printf("%F',x);};
elseprintf(M%f,-x);
D)D)if(x>0)
{x=x+y;printf("%F',x)}
elseprintf(,,%f,-x);
12.请阅读以下程序:
main()
{
inta=5,b=5,c=0;
if(a==b+c)printf("***\n");
elseprintf("$$$\n”);
)
以下程序(C)o
A)有语法错不能通过编译B)可以通过编译但不能通过连接
C)输出***D)输出$$$
三、写出下列程序的运营结果
1.若运营时输入:2V回车〉,则以下程序的运营结果是2ndclasspostageis14p
#include<stdio.h>
voidmain(void)
(
charClass;
printf(uEnter1for1stclasspostor2for2ndpost");
scanf("%c”,&Class);
if(Class==T)
printfC'Istclasspostageis19pM):
else
printf(“2ndclasspostageis14pM);
)
2.若运营时输入:4.4<回车>,则以下程序的运营结果是SellingPrice(0.30)$5.72
include<stdio.h>
voidmain(void)
{
floatCostPrice,SellingPrice;
printf(uEnterCostPrice$:*');
scanf(u%r,&CostPrice);
if(CostPrice>=5)
(
SellingPrice=CostPrice+CostPrice*0.25;
printf(uSellingPrice(0.25)$%6.2f.SellingPrice);
}
else
{
SellingPrice=CostPrice+CostPrice*0.30;
printf(ttSellingPrice(0.30)$%6.2f,SellingPrice);
)
)
3.以下程序的运营结果是Fo
main()
{
if(2*2==5<2*2==4)
print(T');
else
printf("F”);
)
能力提高(B)
一、选择题
1.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假"则
以下不能满足规定的表达式是(D)。
A)A%2==1B)»(A%2==0)C)!(A%2)D)A%2
2.下列运算符中优先级最低的(A),优先级最高的是(C
A)?:B)&&C)+D)!=
3.请阅读以下程序:
main()
{
inta=5,b=0,c=0;
if(a=b+c)printf("***\n");
elseprintfC'$$$\n");
)
以下程序(D)o
A)有语法错不能通过编译B)可以通过编译但不能通过连接
C)输出***D)输出$$$
4.以下程序的运营结果是(C)。
main()
{
intm=5;
if(m++>5)printf(M%d\nM,m);
elseprintff'%d\nB,m-);
)
A)4B)5C)6D)7
二、根据程序的功能,将以下程序补充完整
1、以下程序对输入的四个整数,按从小到大的顺序输出。请在内填入对的内容。
main()
(
intt,a,b,c,d;
printfC'mputa.b.c.d:")
scanfr%d,%d,%d,%d",&a,&b,&c,&d):
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(a>d){t=a;a=d;d=t;}
if(b>c){t=b:b=c;c=t;}
if(b>d){t=b;b=d;d=t;}
if(c>d){t=c;c=d;d=t;}
printf("%d,%d,%d,%d”,a,b,c,d);
)
三、编程:
1、试编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes;否则输出no.
2.编制程序规定输入整数x、y和乙若x2+y2+z2大于1000厕输出x2+y2+z2千位以上的
数字,否则输出三数之和。
3.编写程序,输入三角型的三条边长,求其面积。注意:对于不合理的边长输入要输出数据
错误的提醒信息。
1.参考答案
main()
{intx;
if(x%5==0&&x%7==0)
printfCyes0);
else
printf(unon);
)
2.参考答案
main()
{intx,y,z,a,b;
scanf(M%d%d%d”,&x,&y,&z);
a=x*x+y*y*z*z;
if(a>1000)
,,,
{b=a/1000;printfC%dJb);)
elseprintf("%d",x+y+z);
)
3.参考答案
include<math.h>
main()
{floata,b,c,s,area;
scanf("%f,%f,%r,&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
{s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(uarea=%7.2An,,,area);)
else
printf(ubunengzhuchergsanjiaoxing\n");
)
第2讲
基础练习(A)
一、填空题
1.在if语句中又包含一个或多个if语句称为if语句的嵌套。
2、为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与其之前
最近的未配对的if配对。假如if与else数目不同样,为实现设计者的企图,可以加花
括号关系。
3.条件运算符是C语言中唯一的一个三目运算符,其结合性为从右至左。
4.假设条件表达式的格式为:表达式1?表达式2:表达式
若表达式2和表达式3的类型不同,此时条件表达式的值的类型为两者中较高的类型
5.在switch语句中,switch后面括弧内的“表达式”,可认为任何类型。
6、若a=1,b=2,则表达式a>b?a:b+1的值是3。
7、若w=1.x=2、y=3、z=4,则条件表达式w<x?w:y<z?y:z的
值是1。
8、若有以下if语句:if(a<b)min=a;
elsemin=b;
可用条件运算符来解决的等价式子为min=(avb)?a:b;。
9、若x=1,y=2,z=3,贝ij表达式(xvy?x:y)==z++的值是0。
10、设有变量定义:inta=5,c=4;则(--a==++c)?--a:c++H《J值是5,此时c的存储单元
的值为6。
二、判断题
1.在sw血h语句中,每一个的case常量表达式的值可以相同。(错)
2.在switch语句中,各个case和default的出现顺序影响执行结果。(对)
3、在switch语句中,多个case可以共用一组执行语句。(对)
4.条件表达式能取代一般if的语句。(错)
5.case后的常量表达式类型一定与表达式类型匹配。(对)
三、写出以下程序的运营结果
1.main()-1
inta=2,b=3,c;
c=a;
if(a>b)c=1;
elseif(a==b)c=0;
elsec=-1;
printf(u%d\n,,,c);
}
2.main()200
(
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(u%d%d%d,,,s,w,t);
)
3.switch(grade)
(
case'A':printf(“85—100\n");
caseB:prlntf("70—84\n");
case'C':printf(u60—69\nM);
case'D':printf(M<60\n");
defaultprintf(Merror!\nH);
}
若grade的值为‘C',则输出结果是
60-69
<60
error!
能力提高(B)
一、写出下列程序的运营结果
1.include<stdio.h>5
5
1
voidmain(void)
{
intx,y=1,z;
if(y!=O)x=5;
printf("\t%d\n”,x);
if(y==O)x=4;
elsex=5;
printf(H\t%d\n,1,x);
x=1;
if(y<0)
if(y>0)x=4;
elsex=5;
printf(u\t%d\n",x);
)
2.include<stdio.h>4-2
40
4-2
voidmain(void)
(
intx,y=-2,z;
if((z=y)<0)x=4;
elseif(y==O)x=5;
elsex=6;
printf("\t%d\t%d\n,,»x,z);
if(z=(y==O))
x=5;
x=4;
printf(,4\t%d\t%d\n,,,x,z);
if(x=z=y)x=4;
printf("\t%d\t%d\n”,x,z);
)
3.#include<stdio.h>a=2,b=1
main()
{
intx=1.y=0,a=0,b=0;
switch(x)
{
case1:
switch(y)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据资产流通机制研究与定价模型的构建分析
- 基于动态能力视角的企业数字化转型成熟度评估框架研究
- 供应链控制塔架构在实时韧性决策支持中的功能实现
- 月护理查房-脑出血
- 在线收藏服务指南
- 安全阀整定压力可采用在线检测方法
- 新疆莎车 2026 年农副产品加工包装岗入职综合试卷 招聘 47 人
- 在线PDF处理指南
- 2026秋部编版六年级语文上册第4单元第12课《穷人》教学课件
- 2026新教材 统编版九年级语文上册第四单元写作 学写小小说 教学课件
- 2026年加油站加油员考试题库及答案解析完整版
- 银行监管统计与现场检查操作手册
- 黑龙江省道路客运班线客运定制服务实施细则
- 14001培训教学课件
- 2025年度道孚县公开考调公务员备考题库(12人)附答案
- 一达通合同范本
- 2025安徽省数字安徽有限责任公司及所属企业第2批次社会招聘35人备考笔试试题及答案解析
- 工程项目居间合同协议书范本
- 健康教育与健康促进 课件 第八章 场所健康促进与健康教育
- 湖北省水利水电工程水平能力测试试题
- (14)普通高中音乐课程标准日常修订版(2017年版2025年修订)
评论
0/150
提交评论