




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第五章选择机构程序设计,主要内容,5.1关系运算符和关系表达式5.2逻辑运算符和逻辑表达式5.3if语句5.4switch语句5.5程序举例,5.1关系运算符和关系表达式,(一).关系运算符及其优先次序(大于)=(大于或等于)=(等于)!=(不等于),说明:关系运算符的优先级低于算术运算符关系运算符的优先级高于赋值运算符,5.1关系运算符和关系表达式,(二).关系表达式用关系运算符将两个表达式(可以是算术表达式或关系表达式,逻辑表达式,赋值表达式,字符表达式)接起来的式子,称关系表达式例:ab,a+bb+c,(a=3)(b=5),ab)(bb”的值为“真”,表达式的值为1。,1.有三个,5.3if语句,(2)if(表达式)语句1else语句2例:if(xy)printf(“%d”,x);elseprintf(“%d”,y);,5.3if语句,(3)if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3elseif(表达式m)语句melse语句n,5.3if语句,例:if(number500)cost=0.15;elseif(number300)cost=0.10;elseif(number100)cost=0.075;elseif(number50)cost=0.05;elsecost=0;,说明:(1)3种形式的if语句中在if后面都有表达式,一般为逻辑表达式或关系表达式。(2)第二,第三种形式的if语句中,在每个else前面有一个分号,整个语句结束处有一个分号。(3)在if和else后面可以只含有一个内嵌的操作语句,也可以由多个操作语句,此时用花括号将几个语句括起来成为一个复合语句。,5.3if语句,例5.1输入两个实数,按代数值由小到大的顺序输出这两个数。#includevoidmain()floata,b,t;scanf(“%f,%f”,格式一,5.3if语句,例5.2输入三个数a,b,c,要求按由小到大的顺序输出。,Ifab将a和b对换Ifac将a和c对换Ifbc将b和c对换,5.3if语句,#includevoidmain()floata,b,c,t;scanf(“%f,%f,%f”,程序如下:,5.3if语句,二.If语句的嵌套,格式:if(表达式)if(表达式1)语句1else语句2elseif(表达式2)语句3else语句4,判断表达式的值,若为非0,再判断表达式1的值,非0执行语句1,否则执行语句2。若表达式的值为0,再判断表达式2的值,非0执行语句3,否则执行语句4。,5.3if语句,在一个if结构中,包含一个或多个if结构,5.3if语句,匹配规则:Else总是与它上面的,最近的,统一复合语句中的,未配对的if语句配对。,例:If()if()语句1elseif()语句2else语句3,例:If()if()语句1elseif()语句2else语句3,当if和else数目不同时,可以加花括号来确定配对关系。,5.3if语句,-1(x0)算法1:算法1:输入x输入x若x0,则y=1若x=0,则y=0输出y若x0,则y=1输出y,5.3if语句,程序:#includevoidmain()intx,y;scanf(“%d”,5.3if语句,1、条件运算符?和:,它们与三个操作数组组成三元运算。2、形式为:?:3、求值规则和表达式的值:真(非0),求解表达式2求解表达式1条件表达式的值假(0),求解表达式3例如:intmax,a=5;b=3;max=ab?a:bmax及赋值表达式的值均为5;ab时将a的值赋给max,当ab时将b的值赋给max,可以看到无论ab是否满足,都是向同一个变量赋值。可以用下面的条件运算符来处理:()?;,5.3if语句,例5.4输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。#includevoidmain()charch;scanf(%c,如果字符变量ch的值为大写字母,则条件表达式的值为(),即相应的小写字母。如果ch的值不是大写字母,则条件表达式的值为,即不进行转换。,5.4switch语句,格式:switch(表达式)case常量表达式1:语句1case常量表达式2:语句2.case常量表达式n:语句ndefault:语句n+1,先计算表达式的值,判断此值是否与某个常量表达式的值匹配,如果有,控制转向其后相应的语句,若无,检查default。,多重分支的条件语句switch,补充:后面括弧内的“表达式”,标准允许它为任何类型。(2)当表达式的值与某一个后面的常量表达式的值相等时,就执行此后面的语句,若所有的中的常量表达式的值都没有与表达式的值匹配的,就执行后面的语句。(3)每一个的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。,5.4switch语句,5.4switch语句,(4)各个和的出现次序不影响执行结果。(5)执行完一个后面的语句后,流程控制转移到下一个继续执行。在执行语句时,根据后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。应该在执行一个分支后,可以用一个语句来终止switch语句的执行。(6)多个可以共用一组执行语句。,5.5程序举例,例56求方程的解。基本的算法:,不是二次方程。,有两个相等实根。,有两个不等实根。,有两个共轭复根。,5.5程序举例,程序如下:#include#includevoidmain()floata,b,c,disc,x1,x2,realpart,imagpart;scanf(%f,%f,%f,5.5程序举例,elseif(disc1e-6)x1=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(disc)/(2*a);printf(“hasdistinctrealroots:%8.4fand%8.4fn”,x1,x2);elserealpart=-b/(2*a);imagpar
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (康德卷) 重庆市2026届高三9月开学考联考数学试卷(含答案解析)
- 重庆朝天门码头课件
- 精准操作与安全护理:除颤仪临床使用与维护全指南
- 人教版八年级英语上册词汇(背诵版)
- 人教版2025-2026学年六年级数学开学考质量监测卷(含解答)
- 老年人防摔倒课件
- 《外贸函电与写作》课程介绍与教学大纲
- 企业员工办公室礼仪培训
- 完形填空-2023年中考英语专练(江苏宿迁市)
- 老年人常见病知识课件
- 2025年度房屋拆迁补偿安置房买卖协议
- 2025西电考试题及答案
- 南昌市小学二年级 2025-2026 学年数学秋季开学摸底测试卷(人教版)含解读答案
- 2025年先兆流产的护理查房
- 电子竞技赛事策划与组织运营管理方案设计
- 2025年部编版新教材语文九年级上册教学计划(含进度表)
- 食堂工作人员食品安全培训
- (高清版)DB11∕T 2440-2025 学校食堂病媒生物防制规范
- 战场急救知识
- 延期缴纳税款申请报告申请延期缴纳税款报告2p.doc
- 箱梁施工质量通病及预防措施
评论
0/150
提交评论