欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > PPT文档下载  

    第4章选择结构程序设计.ppt

    • 资源ID:259583       资源大小:1.17MB        全文页数:38页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章选择结构程序设计.ppt

    1,第 4章选择结构程序设计,4.1 关系运算符与关系表达式 4.2 逻辑运算符与逻辑表达式 4.3 选择结构控制语句 4.4 条件去处符和条件表达表 4.5 选择结构程序综合举例,2,4.1 关系运算符与关系表达式,关系运算也称为比较运算,也就是对两个运算数的大小关系进行比较,判定两个数值之间的关系是否符合关系运算符的要求的运算。关系运算的结果只有真和假两种,由于C语言没有设置逻辑类型数据,因此使用整数1表示真,整数0表示假,即如果关系表达式的运算结果只能是1或0。,3,例如:(1)比较整型变量k大于0,表达式为:k0(2)比较考试成绩score大于等于60,表达式为:score=60(3)比较整型变量k模2等于0,即判断k是否是偶数:k%2=0(4)比较字符变量ch的值等于A,表达式为:ch!=A由于关系运算符经常与算术运算符和赋值运算符等组成复杂的表达式,因此进行运算时,需要考虑它们之间的优先级关系,关系运算符的优先级低于算术运算符,但是高于赋值运算符。例如:(1)表达式k%2=0等价于(k%2)=0,是判断k%2的结果是否与0相等,这是一个关系表达式。(2)表达式a=53等价于a=(53),是把53的结果1赋值给a,这是一个赋值表达式。,例4-1:阅读程序#include int main()int k=3,score=75;char ch=B;printf(k0的运算结果:%dn,k0);printf(score=60的运算结果:%dn,score=60);printf(k%2=0的运算结果:%dn,k%2=0);printf(ch!=A的运算结果:%dn,ch!=A);return 0;,k0的运算结果:1score=60的运算结果:1k%2=0的运算结果:0ch!=A的运算结果:1,5,4.2 逻辑运算符与逻辑表达式,有时程序中需要判断的条件比较复杂,是由多个简单条件组成的复合条件。C语言使用逻辑运算符和逻辑表达式解决复杂条件的表示。,6,逻辑运算符连接运算数构成的式子称为逻辑表达式。与关系运算相同,逻辑表达式的运算结果也只有真(1)和假(0)两种,但是逻辑表达式要求其运算数也必须是表示真和假的逻辑值。C语言中,判断运算数的真假时,任何非0数值被判定为真,只有0才被判定为假。,7,例如:(1)判断整型变量k的值是否在0,100之间,表达式为:k=0&k=A&c0&k%2=1(4)判断年份y是否为闰年,表达式为:y%4=0&y%100!=0|y%400=0逻辑表达式计算过程中,为了提高程序运行效率,C语言在逻辑运算中使用了“短路运算”规则。即除了要考虑表达式中各个运算符的运算规则、优先级和结合性外,还需要遵循以下两条规则:(1)逻辑表达式从左向右依次计算各个运算数的值。(2)在上述从左向右计算过程中,任何时候只要能够确定最终逻辑表达式的值,则计算过程结束。,8,4.3 选择结构控制语句,程序设计中选择结构程序对应的常见问题分为三种情况:(1)决定某个操作做还是不做,称为单分支选择结构,对某个问题的处理经常是根据某个条件进行判断,如果条件成立,则执行特定的语句来处理问题,否则什么都不做。(2)决定在两个相关的操作中选择哪一个来做,称为双分支选择结构,需要处理的两个操作往往和同一个条件相关,当条件成立时做一个操作,当条件不成立时做另外一个操作。(3)确定在多个相关的操作中选择哪一个来做,称为多分支选择结构,该类问题相比前两种问题要复杂的多,它通常涉及多个条件的组合运用,通常的做法是将多个条件合理安排,把多分支结构处理成多个双分支的结构处理。C语言提供if和switch两种选择结构控制语句,通过使用这两种语句或语句组合解决上述三种情况的选择结构程序设计。,1.if语句的最简单形式:,说明:1.条件表达式的值为1或0,必须用()括住 2.若有多条语句(复合语句)时,用 括住。3.(条件表达式)后不要加;,例4-2:从键盘输入一个整数,计算并输出其绝对值。,#include int main()int x;printf(Input an integer:);scanf(%d,Input an integer:-10|x|=10,Input an integer:100|x|=100,例4-3:从键盘输入两个整数a和b,要求程序按数值从大到小的顺序输出这个整数。思路分析:求解本题有多种方法,这里使用交换变量值的思路,(1)输入整数a和b的值。(2)判断条件ab是否成立,如果成立,则交换变量a和b的值,否则直接执行下一步。(3)按照先a后b的顺序输出两个变量的值。,#include int main()int a,b,c;printf(Input 2 integers(a b):);scanf(%d%d,Input 2 integers(a b):100 10100,10,Input 2 integers(a b):10 100100,10,2.双分支if语句,if(表达式)语句1else 语句2,首先先判断表达式的值,若为非0则执行语句1,若为0则执行语句2,执行过程:,if语句的双分支形式,在语法上视为一条语句。,例4-4:判断整数的奇偶性。从键盘输入一个整数x,根据其奇偶性输出x是奇数或x是偶数。,#include int main()int x;printf(Input an integer:);scanf(%d,Input an integer:1212 is odd number.,Input an integer:55 is even number.,例4-5:修改例3-6使用海伦公式计算三角形面积程序的要求,当输入的三个边长能够构成三角形时,计算面积;否则,输出不能构成三角形。思路分析:三角形面积的计算过程与原例题相同,新要求是在“三个边长能构成三角形”这一条件成立时才进行计算面积,否则直接输出提示信息。根据数学知识,这一条件可以描述为“任意两个边长之和大于第三个边长”,输入三个边长a、b、c后,条件可以使用如下的逻辑表达式描述:a+bc&a+cb&b+ca,#include#include int main()double a,b,c,s,area;printf(Input a b c:);scanf(%lf%lf%lf,Input a b c:3.5 4.5 5.5area=7.85,Input a b c:3.0 4.0 10.0Not a triangle.,3.使用嵌套if语句实现多分支结构 if语句的语句1和语句2又称为if的执行语句。if的执行语句在语法上是一条语句,可以是任何类型的语句,简单语句、复合语句、空语句、流程控制语句都可以作为if的执行语句。,下面我们通过一个例子分别介绍用不同的语句作为if的执行语句的情形:,例:计算分段函数:,方法一:用简单语句,#includemain()float x,y;scanf(“%f”,方法二:用if语句做语句2,#includemain()float x,y;scanf(“%f”,这种用if语句作为上一层if语句的语句2的结构,称为if语句的多分支选择结构。,if(表达式)语句1 else if(表达式)语句2 else,先判断表达式1的值,非0就执行下面的语句,为0就执行下一个判断,一直这样做下去,表达式1,真,语句1,假,表达式2,表达式3,语句4,语句3,语句2,真,真,假,假,直到得出最后结果,流程图如左:,方法三:语句1与语句2都为if语句,#includemain()float x,y;scanf(“%f”,这种用if语句作为上一层if语句的语句1和语句2的结构,称为if语句的嵌套。,if 语句的二层嵌套结构如下:,if(表达式1)if(表达式1_2)语句1_1 else 语句1_2else if(表达式2_1)语句2_1 else 语句2_2,表达式1_2,表达式1,表达式1_2,语句1_1,语句1_2,语句2_1,语句2_2,非0,0,0,非0,0,非0,if语句嵌套,if else 配对原则:,C语言规定,else总是与前面离它最近的同一语句块(复合语句)中的尚未匹配过的if进行匹配。,实现if else 正确配对方法,例:if(a=b)if(b=c)printf(“a=b=c”);else printf(“a!=b”);,修改:if(a=b)if(b=c)printf(“a=b=c”);else printf(“a!=b”);,实现if else 正确配对方法:加,3.switch语句,使用if语句嵌套解决实际问题中的多分支选择时,如果分支数目非常多,那么if语句的嵌套层数也会很多,使得程序代码变得冗长而且可读性会下降。C语言提供了switch语句来处理多分支选择。switch语句的语法形式如下:switch(表达式)case 常量1:语句或语句组1;case 常量2:语句或语句组2;case 常量n:语句或语句组n;default:语句或语句组n+1;,例4-7:从键盘上输入一个字符,判断并输出它是数字、空格还是其他字符,如果是数字,思路分析:从题目可知,需要判断分支比较多,包括10个数字字符、1个空格字符和其他字符共12个分支,使用switch语句解决该问题比较方便,同时仔细分析可以发现10个数字字符的处理方式是相同的,因此这10个分支可以共用同一组语句,程序流程如图4-10所示。同时输出是哪一个数字。,#include int main()char ch;printf(Input a character:);ch=getchar();switch(ch)case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:printf(digit:%cn,ch);break;case:printf(spacen);break;default:printf(othern);return 0;,Input a character:5digit:5,Input a character:space,Input a character:Aother,使用switch语句的注意事项,(1)switch后面表达式的值的类型必须是整型、字符型或枚举类型。每一个case常量的类型必须与表达式值的类型相同,而且每个case常量的值必须是互不相同的。(2)default分支是可选的,当一个switch语句中没有default分支时,如果没有与switch表达式的值相同的case常量,则不执行任何语句,程序转移到switch语句的下一条语句执行。(3)各个case分支及default分支的出现次序可以交换,无论如果排列各个分支的次序,总是按照switch表达式的值来选择某个分支执行。(4)一个case块内的代码执行完毕,如果没有遇到break,后面还有case块,则继续执行该case块内的代码。,4.条件运算符和条件表达式,条件运算符是C语言中唯一的一个三元运算符,使用条件运算符构成的表达式称为条件表达式,其一般形式如下:表达式1?表达式2:表达式3条件表达式的计算过程是:首先计算表达式1的值;如果值为真(非0),则计算表达式2的值作为条件表达式的值;否则,计算计算表达式3的值作为条件表达式的值。,例4-8:使用条件运算实现从键盘输入两个整数,输出其较大的值。#include int main()int max,a,b;printf(Input two integers:);scanf(%d%d,Input two integers:5 10max=10,Input two integers:15 10max=15,5.选择结构程序综合举例,例4-9 求一元二次方程ax2+bx+c=0的所有根。例4-10 从键盘输入代表年份和月份的两个整数,输出该月共有多少天。如果输入的月份不正确输出错误提示信息。例4-11 编程一个加法训练的小程序,程序每次运行时,首先随机产生并显示2个小于100的正整数,然后要求用户输入它们的和,判断输入是否正确并给出提示。提示:根据课时情况选择讲解,本章结束,

    注意事项

    本文(第4章选择结构程序设计.ppt)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开