




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
选择结构程序设计,关系运算符和关系表达式逻辑运算符和逻辑表达式If语句Switch语句程序举例,关系运算符和表达式关系运算符种类:=!=结合方向:自左向右优先级别:,例ca+b/c(a+b)ab!=c/(ab)!=ca=bc/a=(bc),关系表达式:用关系运算符将两个表达式连接起来;以下都是合法的关系表达式:43,ab,a+bb+c,(a=3)(b=5),ab)(bc)3.44,a54.4,a63关系表达式的值:是逻辑值“真”或“假”,用1和0表示,例inta=3,b=2,c=1,d,f;ab(ab)=cb+cbf=abc,/表达式值1,/表达式值1,/表达式值0,/d=1,表达式值1,/f=0,表达式值0,关系运算注意:,例若a=0;b=0.5;x=0.3;则a78在C中是允许的,值为,0,例inti=1,j=7,a;a=i+(j%4!=0);则a=,2,例a0结果为A100结果为,1,0,关系运算注意:,例注意区分“=”与“=”inta=0,b=1;if(a=b)/*if(a=b)*/printf(“aequaltob”);elseprintf(“anotequaltob”);,例应避免对实数作相等或不等的判断如1.0/3.0*3.0=1.0结果为可改写为:fabs(1.0/3.0*3.0-1.0)y)max=x;elsemax=y;,形式三:格式:,if(expr1)statement1elseif(expr2)statement2elseif(expr3)statement3.elsestatementn,执行过程:,例:if(salary1000)index=0.4;elseif(salary800)index=0.3;elseif(salary600)index=0.2;elseif(salary400)index=0.1;elseindex=0;,如:if(a=b,说明:if后面的表达式类型任意,语句可以是复合语句if(x)if(x!=0)if(!x)if(x=0),例考虑下面程序的输出结果:#include/c1.cmain()intx,y;scanf(“%d,%d”,CompileError!,/*ch4_1.c*/#includemain()intx,y;printf(Enteraninteger:);scanf(%d,例1求一个数的绝对值,运行:Enteraninteger:-12integer:-12-absolutevalue:12,#includemain()floata,b,t;scanf(“%f,%f”,例2输入两个实数,按代数值由小到大的次序输出这两个数。,运行:3.6,-3.2-3.20,3.60,#includemain()charc;printf(Enteracharacter:);c=getchar();if(c=0,例3判断输入字符种类,运行:Enteracharacter:Thecharacterisacontrolcharacter,运行:Enteracharacter:8Thecharacterisadigit,运行:Enteracharacter:DThecharacterisacapitalletter,运行:Enteracharacter:hThecharacterisalowerletter,运行:Enteracharacter:F1Thecharacterisothercharacter,if语句嵌套:一般形式:,当内嵌if语句不包含else语句时,容易出错。,若if与else数目不一样时,为实现程序设计者本来的意图,可以加花括号来确定匹配关系,例:if(a=b)if(b=c)printf(“a=b=c”);elseprintf(“a!=b”);,修改:if(a=b)if(b=c)printf(“a=b=c”);elseprintf(“a!=b”);,实现ifelse正确配对方法:加,例考虑下面程序输出结果:main()intx=100,a=10,b=20;intv1=5,v2=0;if(a0?a+b:a-b);,例(a=b)?Y:N(x%2=1)?1:0(x=0)?x:-x(c=ax0,表达式值为axy?1:1.5/xy,值为1.0;x60n”);break;.,例switch(score)case5:printf(“Verygood!”);case4:printf(“Good!”);case3:printf(“Pass!”);case2:printf(“Fail!”);default:printf(“dataerror!”);,运行结果:score为5时,输出:Verygood!Good!Pass!Fail!dataerror!,例voidmain()intx=1,y=0,a=0,b=0;switch(x)case1:switch(y)case0:a+;break;case1:b+;break;case2:a+;b+;break;case3:a+;b+;printf(“na=%d,b=%d”,a,b);,运行结果:a=2,b=1,#includemain()intc;printf(Entermornorhorother:);c=getchar();switch(c)casem:printf(nGoodmorning!n);break;casen:printf(nGoodnight!n);break;caseh:printf(nHello!n);break;default:printf(n?n);break;,例根据输入字母输出字符串,程序举例,例题5.5c5_5.c例题5.6c5_6.c例题5.7c5_7.c,5.5例题:判断是否为润年,If(year%4=0,练习题,单项选择题1、if语句的控制条件a.只能用关系表达式b.只能用关系表达式或逻辑表达式c.只能用逻辑表达式d.可以用任何表达式2、以下程序的输出结果是main()floatx=2,y;if(x0)y=0;elseif(x5a.0.000000b.0.250000c.0.500000d.10.000000,练习题,3、执行以下程序段后,a,b,c的值分别是inta,b=100,c,x=10,y=9;a=(-x=y+)?-x:+y;if(x9)b=x+;c=y;a.9,9,9b.8,8,10c.9,10,9d.1,11,104、执行下列程序段后,x、y和z的值分别是intx=10,y=20,z=30;if(xy)z=x;x=y;y=z;a.10,20,30b.20,30,30c.20,30,10d.20,30,20,练习题,5、若a和b均是整型变量,以下正确的switch语句是。a.switch(a/b)case1:case3.2:y=a+b;break;case0;case5:y=a-b;b.switch(a*a+b*b);case3:case1:y=a+b;break;case0:y=b-a;break;c.switchadefault:x=a+b;case10:y=a-b;break;case11:y=a*d;break;d.switch(a+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通讯系统安装施工方案(3篇)
- 温棚棉被施工方案(3篇)
- 能源环保施工方案(3篇)
- 芜湖节日活动策划拍摄方案(3篇)
- 物业水工考试题库及答案
- 北京市门头沟区2023-2024学年八年级上学期期末质量监测数学考题及答案
- 北京市朝阳区2023-2024学年七年级上学期期末考试英语试卷及答案
- 安徽省铜陵市枞阳县2024-2025学年高三下学期高考第一模拟考试(一模)语文试题及答案
- 智慧之果香蕉700字15篇
- 仙人掌作文400字14篇
- 民族文化宫2024年度面向应届毕业生和社会人员公开招聘笔试模拟试题及参考答案详解一套
- 水饺加盟合同协议
- 加强师德师风建设学校师德师风警示教育讲座培训课件
- 企业内部控制基本规范与配套指引
- 建筑施工危险作业管理制度
- 《网络综合布线技术》教学教案
- 广告效果测评整本书课件完整版电子教案全套课件最全教学教程ppt(最新)
- 《全球贸易安全与便利标准框架》中文版
- 受限空间安全作业票填写模板(2022年更新)
- 被动关节运动
- 妇科急腹症ppt课件
评论
0/150
提交评论