欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第三章程序的流程控制PPT讲稿.ppt

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

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

    第三章程序的流程控制PPT讲稿.ppt

    第三章程序的流程控制第三章程序的流程控制第1页,共190页,编辑于2022年,星期二3.1 程序的概念程序的概念 程序是可以被计算机处理的指令序程序是可以被计算机处理的指令序列。通常,程序是为完成一项任务、由汇列。通常,程序是为完成一项任务、由汇编语言或高级语言编写的代码的集合。程编语言或高级语言编写的代码的集合。程序设计是根据所提出的任务,用某种程序序设计是根据所提出的任务,用某种程序设计语言编制一个能正确完成该任务的计设计语言编制一个能正确完成该任务的计算机程序。算机程序。第2页,共190页,编辑于2022年,星期二3.1.1 程序的特性程序的特性 著名的计算机科学家沃思著名的计算机科学家沃思(Nikiklaus Wirth)提出一个公式:)提出一个公式:程序程序=数据结构数据结构+算法。算法。现在又有很多专家对这个公式加以现在又有很多专家对这个公式加以扩充:程序扩充:程序=算法算法+数据结构数据结构+程序设计程序设计方法方法+语言工具和环境。语言工具和环境。第3页,共190页,编辑于2022年,星期二所有程序(包括计算机程序)都有一些共同所有程序(包括计算机程序)都有一些共同的性质,这些性质主要包括:的性质,这些性质主要包括:l l(1 1)指令是顺序执行的。)指令是顺序执行的。)指令是顺序执行的。)指令是顺序执行的。l l(2 2)程序的执行都有一个结果。)程序的执行都有一个结果。)程序的执行都有一个结果。)程序的执行都有一个结果。l l(3 3)程序总是要对某些对象进行操作。)程序总是要对某些对象进行操作。)程序总是要对某些对象进行操作。)程序总是要对某些对象进行操作。l l(4 4)有的程序要加入对操作对象的说明。)有的程序要加入对操作对象的说明。)有的程序要加入对操作对象的说明。)有的程序要加入对操作对象的说明。l l(5 5)有时指令要求执行者做出判断。)有时指令要求执行者做出判断。)有时指令要求执行者做出判断。)有时指令要求执行者做出判断。l l(6 6)一条或一组指令可能需要执行多次。)一条或一组指令可能需要执行多次。)一条或一组指令可能需要执行多次。)一条或一组指令可能需要执行多次。第4页,共190页,编辑于2022年,星期二程序设计离不开算法,算法指导程序设程序设计离不开算法,算法指导程序设计,算法是程序的灵魂。因此程序设计计,算法是程序的灵魂。因此程序设计的大致步骤如下。的大致步骤如下。l l(1 1)问题定义)问题定义)问题定义)问题定义l l(2 2)算法设计)算法设计)算法设计)算法设计l l(3 3)算法表示)算法表示)算法表示)算法表示l l(4 4)程序编制)程序编制)程序编制)程序编制l l(5 5)程序调试、测试及资料编制)程序调试、测试及资料编制)程序调试、测试及资料编制)程序调试、测试及资料编制3.2 算算 法法第5页,共190页,编辑于2022年,星期二精确地讲,精确地讲,算法是被精确定义的一系列规算法是被精确定义的一系列规则则,这些规则规定了解决特定问题的一系,这些规则规定了解决特定问题的一系列操作顺序,以便在有限步骤内产生出所列操作顺序,以便在有限步骤内产生出所求问题的解答。求问题的解答。3.2.1 算法的特点算法的特点第6页,共190页,编辑于2022年,星期二 算法特性:算法特性:l l(1 1 1 1)有效性。)有效性。)有效性。)有效性。l l(2 2)确定性。)确定性。l l(3 3)有穷性。)有穷性。l l(4 4 4 4)有零个或多个输入。)有零个或多个输入。)有零个或多个输入。)有零个或多个输入。l l(5 5)有一个或多个输出。)有一个或多个输出。有效性指算法所规定的操作都应当有效性指算法所规定的操作都应当是能够有效执行的。是能够有效执行的。确定性一是确定性一是:所描述的操作应当具有明确的所描述的操作应当具有明确的意义,不应当有歧义性。意义,不应当有歧义性。二是二是:操作作序列只有一个初始动作,序列操作作序列只有一个初始动作,序列中每一动作仅有一个后继动作;中每一动作仅有一个后继动作;有穷性指算法所规定的操作序列必须在有穷性指算法所规定的操作序列必须在允许的时间内结束。允许的时间内结束。第7页,共190页,编辑于2022年,星期二【例【例3-1】从键盘输入三个数,找出其中最大的那个数。】从键盘输入三个数,找出其中最大的那个数。分分分分析析析析:从从从从键键键键盘盘盘盘输输输输入入入入的的的的三三三三个个个个数数数数值值值值必必必必须须须须用用用用三三三三个个个个变变变变量量量量来来来来保保保保存存存存,假假假假定定定定这这这这三三三三个个个个变变变变量量量量分分分分别别别别为为为为a a、b b、c c,另另另另外外外外,还还还还需需需需要要要要一一一一个个个个变变变变量量量量maxmax来来来来装装装装最最最最大大大大的那个数。的那个数。的那个数。的那个数。先先先先比比比比较较较较a a和和和和b b的的的的值值值值,把把把把数数数数值值值值大大大大的的的的放放放放入入入入maxmax中中中中,再再再再将将将将maxmax与与与与c c比比比比较较较较,又把数值大的放入又把数值大的放入又把数值大的放入又把数值大的放入maxmax中。中。中。中。经经经经过过过过两两两两次次次次比比比比较较较较,maxmax中中中中已已已已存存存存放放放放的的的的是是是是a a,b b,c c三三三三个个个个数数数数中中中中最最最最大大大大的的的的数,把数,把数,把数,把maxmax的值输出就是所需结果。的值输出就是所需结果。的值输出就是所需结果。的值输出就是所需结果。第8页,共190页,编辑于2022年,星期二算法步骤:算法步骤:算法步骤:算法步骤:1 1输入三个数,其值分别赋给三个变量输入三个数,其值分别赋给三个变量输入三个数,其值分别赋给三个变量输入三个数,其值分别赋给三个变量a a,b b,c c。2 2把把把把a a与与与与b b中较大的那个数放入变量中较大的那个数放入变量中较大的那个数放入变量中较大的那个数放入变量maxmax中。中。中。中。3 3把把把把c c与与与与maxmax中较大的那个数放入变量中较大的那个数放入变量中较大的那个数放入变量中较大的那个数放入变量maxmax中。中。中。中。4 4输出最后结果输出最后结果输出最后结果输出最后结果maxmax的值。的值。的值。的值。第9页,共190页,编辑于2022年,星期二三个数比较大小三个数比较大小#include void main()int a,b,c,max;printf(请输入三个数的值:请输入三个数的值:);scanf(%d%d%d,&a,&b,&c);if(ab)max=a;elsemax=b;if(cmax)max=c;printf(最大的值是:最大的值是:%dn,max);第10页,共190页,编辑于2022年,星期二1流程图表示法流程图表示法流程图表示法常用图例流程图表示法常用图例 3.2.2 算法的表示算法的表示第11页,共190页,编辑于2022年,星期二 求三个数最大值问题的流程图表示求三个数最大值问题的流程图表示第12页,共190页,编辑于2022年,星期二2.N-S图描述图描述灵活的流线是程序中隐藏错误的祸根。针对灵活的流线是程序中隐藏错误的祸根。针对这一弊病,这一弊病,1973年美国学者年美国学者I.Nassi和和B.Shneiderman提出了提出了一种无流线的流程图一种无流线的流程图,称为称为N-S图。图。第13页,共190页,编辑于2022年,星期二N-S图表图表示法示法 求三个数中最大值问题的求三个数中最大值问题的N-SN-S图表示图表示 第14页,共190页,编辑于2022年,星期二常用的流程图符号常用的流程图符号一顺序结构一顺序结构一顺序结构一顺序结构顺序结构是一种顺序结构是一种顺序结构是一种顺序结构是一种简单的线性结构简单的线性结构简单的线性结构简单的线性结构,根据流程线所示的方向,各矩形,根据流程线所示的方向,各矩形,根据流程线所示的方向,各矩形,根据流程线所示的方向,各矩形框按顺序执行。框按顺序执行。框按顺序执行。框按顺序执行。如:右图如:右图如:右图如:右图 语句的执行顺序为:语句的执行顺序为:语句的执行顺序为:语句的执行顺序为:A AB BC C NS图表示的顺序结构图表示的顺序结构顺序结构流程图顺序结构流程图第15页,共190页,编辑于2022年,星期二二选择结构二选择结构二选择结构二选择结构 选择结构是对给定的条件进行判断,根据判断结果的真假而分选择结构是对给定的条件进行判断,根据判断结果的真假而分选择结构是对给定的条件进行判断,根据判断结果的真假而分选择结构是对给定的条件进行判断,根据判断结果的真假而分别执行不同的框的内容。别执行不同的框的内容。别执行不同的框的内容。别执行不同的框的内容。有两种选择(分支)结构的流程图:有两种选择(分支)结构的流程图:有两种选择(分支)结构的流程图:有两种选择(分支)结构的流程图:第16页,共190页,编辑于2022年,星期二(a)(a)的执行顺序为:先判断条件,当条件为真时,执行的执行顺序为:先判断条件,当条件为真时,执行的执行顺序为:先判断条件,当条件为真时,执行的执行顺序为:先判断条件,当条件为真时,执行A A,否则执行,否则执行,否则执行,否则执行B B。(b)(b)的执行顺序为:先判断条件,当条件为真时,执行的执行顺序为:先判断条件,当条件为真时,执行的执行顺序为:先判断条件,当条件为真时,执行的执行顺序为:先判断条件,当条件为真时,执行A A,否则什么也,否则什么也,否则什么也,否则什么也不执行。不执行。不执行。不执行。第17页,共190页,编辑于2022年,星期二三循环结构三循环结构三循环结构三循环结构 循循循循环环环环结结结结构构构构是是是是在在在在某某某某个个个个条条条条件件件件为为为为真真真真的的的的情情情情况况况况下下下下,重重重重复复复复执执执执行行行行某某某某个个个个框框框框中中中中的的的的内内内内容容容容。循循循循环结构有两种基本形态:环结构有两种基本形态:环结构有两种基本形态:环结构有两种基本形态:whilewhile型循环和型循环和型循环和型循环和do_whiledo_while型循环。型循环。型循环。型循环。whilewhile型(当型)循环的流程图型(当型)循环的流程图型(当型)循环的流程图型(当型)循环的流程图 whilewhile型型型型循循循循环环环环的的的的执执执执行行行行顺顺顺顺序序序序为为为为:重重重重复复复复判判判判断断断断条条条条件件件件、如如如如果果果果条条条条件件件件为为为为真真真真则则则则执执执执行行行行A A,一但条件为假,则跳出循环。,一但条件为假,则跳出循环。,一但条件为假,则跳出循环。,一但条件为假,则跳出循环。do-whiledo-while(直到型)型循环的流程图(直到型)型循环的流程图(直到型)型循环的流程图(直到型)型循环的流程图 do_while do_while型循环的执行顺序为:先执行型循环的执行顺序为:先执行型循环的执行顺序为:先执行型循环的执行顺序为:先执行A A,再判断条件,若条件,再判断条件,若条件,再判断条件,若条件,再判断条件,若条件为真则重复执行为真则重复执行为真则重复执行为真则重复执行A A,一但条件为假,则跳出循环。,一但条件为假,则跳出循环。,一但条件为假,则跳出循环。,一但条件为假,则跳出循环。A被称为被称为循环体循环体,条件被称为,条件被称为循环控制条件循环控制条件。while型循环的型循环的NS图图 A被称为被称为循环体循环体,条件被称为,条件被称为循环控制条件循环控制条件。do-while型循环的型循环的N-S图图 第18页,共190页,编辑于2022年,星期二循环结构注意:循环结构注意:循环结构注意:循环结构注意:1 1、在循环体中,必须对条件要烦判断的值进行修改,使得经过、在循环体中,必须对条件要烦判断的值进行修改,使得经过、在循环体中,必须对条件要烦判断的值进行修改,使得经过、在循环体中,必须对条件要烦判断的值进行修改,使得经过有限次循环后,循环一定能结束。有限次循环后,循环一定能结束。有限次循环后,循环一定能结束。有限次循环后,循环一定能结束。2 2、whilewhile型循环中循环体可能一次都不执行,而型循环中循环体可能一次都不执行,而型循环中循环体可能一次都不执行,而型循环中循环体可能一次都不执行,而do_whiledo_while型循环型循环型循环型循环则至少执行一次循体。则至少执行一次循体。则至少执行一次循体。则至少执行一次循体。3 3、do_whiledo_while型循环可以很方便地转化为型循环可以很方便地转化为型循环可以很方便地转化为型循环可以很方便地转化为whilewhile型循环,而型循环,而型循环,而型循环,而whilewhile型型型型循环不一定能转化为循环不一定能转化为循环不一定能转化为循环不一定能转化为do_whiledo_while型循环。型循环。型循环。型循环。第19页,共190页,编辑于2022年,星期二 伪码是用介于自然语言和计算机伪码是用介于自然语言和计算机语言之间的文字和符号来描述算语言之间的文字和符号来描述算法,类似一篇短文,它把算法的法,类似一篇短文,它把算法的思想表达清楚。思想表达清楚。3伪码表示法伪码表示法第20页,共190页,编辑于2022年,星期二 关关 系系 运运 算算关系运算是指对两个运算量之间的关系运算是指对两个运算量之间的关系运算是指对两个运算量之间的关系运算是指对两个运算量之间的大小大小大小大小比较。比较。C C语言中提供的关系运算符有:语言中提供的关系运算符有:语言中提供的关系运算符有:语言中提供的关系运算符有:(大于)(大于)=(大于或等于)(大于或等于)(小于)(小于)=(小于或等于)(小于或等于)(小于或等于)(小于或等于)=(等于)(等于)!=(不等于)(不等于)说明说明:(:(1)关系运算符的)关系运算符的优先级优先级优先级优先级低于低于低于低于纯算术类,纯算术类,纯算术类,纯算术类,高于高于高于高于赋值类赋值类赋值类赋值类。(2 2)关系运算符的结合方式为)关系运算符的结合方式为)关系运算符的结合方式为)关系运算符的结合方式为自左至右自左至右自左至右自左至右。每个。每个。每个。每个 关系运算的操作数可以是任一表达式。关系运算的操作数可以是任一表达式。例如:例如:a+bc+d应理解为应理解为应理解为应理解为(a+b)(c+d)(a+b)(c+d)第21页,共190页,编辑于2022年,星期二 关关 系系 运运 算算(3 3)关系表达式的值只有两个:)关系表达式的值只有两个:)关系表达式的值只有两个:)关系表达式的值只有两个:关系表达式成立,即为关系表达式成立,即为关系表达式成立,即为关系表达式成立,即为“真真真真”,C C语言中以语言中以语言中以语言中以“1”“1”表示;表示;表示;表示;关系表达式不成立,即为关系表达式不成立,即为关系表达式不成立,即为关系表达式不成立,即为“假假”,C C语言中以语言中以语言中以语言中以“0”“0”表示。表示。表示。表示。例如:对于声明语句:例如:对于声明语句:例如:对于声明语句:例如:对于声明语句:int x=2,y=3;int x=2,y=3;表达式表达式表达式表达式 x=y x=y 的值为的值为的值为的值为0 0;表达式;表达式;表达式;表达式 xy x=x+1=x+1=3=3=5“算术算术算术算术”优先优先优先优先z=0=5z=0=5“关系关系关系关系”优先优先优先优先z=1z z的值为的值为的值为的值为1 1“赋值赋值赋值赋值”第23页,共190页,编辑于2022年,星期二 关关 系系 运运 算算注意:注意:注意:注意:1.1.要说明要说明要说明要说明x x在区间在区间在区间在区间a,ba,b中,数学中使用表达式中,数学中使用表达式中,数学中使用表达式中,数学中使用表达式 axb axb。但但但但C C语言中的表达式语言中的表达式语言中的表达式语言中的表达式“a=x=b”“a=x=b”的含义与之不同。的含义与之不同。假设假设a=0;b=0.5。若。若x=0.3,则执行,则执行a=x=b时时先求出先求出先求出先求出“a=x”“a=x”的值得的值得的值得的值得1 1,再进行,再进行,再进行,再进行“1=b”“1=b”得得得得0 0(假)。(假)。(假)。(假)。因此,为了判断因此,为了判断因此,为了判断因此,为了判断x x是否在是否在是否在是否在a,ba,b范围内,应写成:范围内,应写成:范围内,应写成:范围内,应写成:a=x&x=ba=x&x=b那么那么那么那么a=xa=x的值为的值为的值为的值为1 1(真)且(真)且(真)且(真)且x=bx2785278在数学上是不允许的,而在在数学上是不允许的,而在在数学上是不允许的,而在在数学上是不允许的,而在C C中是中是中是中是 允许的。允许的。允许的。允许的。3.3.由于关系表达式的值是整型数由于关系表达式的值是整型数由于关系表达式的值是整型数由于关系表达式的值是整型数0 0或或或或1 1,故也可以将,故也可以将,故也可以将,故也可以将 其看成是一种整型表达式。其看成是一种整型表达式。第25页,共190页,编辑于2022年,星期二 关关 系系 运运 算算例如:对于声明语句:例如:对于声明语句:例如:对于声明语句:例如:对于声明语句:int x=2,y=3;int x=2,y=3;表达式表达式表达式表达式 x=y x=y 的值为的值为的值为的值为0 0;表达式;表达式;表达式;表达式 xy x=x+1=x+1=3=3=5“算术算术算术算术”优先优先优先优先z=0=5z=00 a0 的值为的值为的值为的值为1 1(真);(真);(真);(真);A100A100的值为的值为的值为的值为0 0(假)。(假)。(假)。(假)。5.5.在判定两个浮点数是否相等时,由于存储上的误差,在判定两个浮点数是否相等时,由于存储上的误差,在判定两个浮点数是否相等时,由于存储上的误差,在判定两个浮点数是否相等时,由于存储上的误差,会得出错误的结果。会得出错误的结果。会得出错误的结果。会得出错误的结果。例如:例如:例如:例如:1.0/3.0*3.0=1.0 1.0/3.0*3.0=1.0 的值为的值为的值为的值为0 0(假)(假)(假)(假)注:应避免对两个注:应避免对两个实数实数实数实数表达式作表达式作“相等相等”或或“不相等不相等”的的判别。因此上式可改写为:判别。因此上式可改写为:fabs(1.0/3.0*3.0-1.0)1 4=3&61 4=3&6y)if(xy)printf(“%d”,x);printf(“%d”,x);第31页,共190页,编辑于2022年,星期二#include#include int main()int main()int x,y;int x,y;printf(Enter an integer:);printf(Enter an integer:);scanf(%d,&x);scanf(%d,&x);y=x;y=x;if(y0)if(yabsolute value:%dn,x,y);printf(ninteger:%d-absolute value:%dn,x,y);return 0;return 0;例例 求一个数的绝对值求一个数的绝对值数的绝对值数的绝对值第32页,共190页,编辑于2022年,星期二【例】【例】【例】【例】从键盘任意输入两个实数,然后按其代数值从小到从键盘任意输入两个实数,然后按其代数值从小到从键盘任意输入两个实数,然后按其代数值从小到从键盘任意输入两个实数,然后按其代数值从小到大输出这两个数。大输出这两个数。大输出这两个数。大输出这两个数。先制定算法的流程图,如图先制定算法的流程图,如图所示,虚线框为所示,虚线框为if结构。结构。根据流程图写出解决这个问题根据流程图写出解决这个问题的程序。的程序。第33页,共190页,编辑于2022年,星期二/*按升序输出两个数按升序输出两个数*/#include main()float a,b,t;scanf(%f%f,&a,&b);if(ab)t=a;a=b;b=t;printf(%5.2f,%5.2fn,a,b);升序输出两个数升序输出两个数第34页,共190页,编辑于2022年,星期二选择型程序设计选择型程序设计l lifif语句语句语句语句(条件选择语句)(条件选择语句)(条件选择语句)(条件选择语句)exprstatement1statement2非0=0l l形式二形式二形式二形式二:u u格式格式格式格式:if(expression)if(expression)statement1 statement1 else statement2u u执行过程:执行过程:执行过程:执行过程:例:例:例:例:if(xy)max=x;if(xy)max=x;else max=y;else max=y;第35页,共190页,编辑于2022年,星期二#include#include int main()int main()int a,b;int a,b;printf(Enter integer a:);printf(Enter integer a:);scanf(%d,&a);scanf(%d,&a);printf(Enter integer b:);printf(Enter integer b:);scanf(%d,&b);if(a=b)if(a=b)printf(a=bn);printf(a=bn);elseelse printf(a!=bn);return 0;return 0;例例例例 输入两输入两输入两输入两个数并判个数并判个数并判个数并判断两数是断两数是断两数是断两数是否相等否相等否相等否相等判断相等判断相等第36页,共190页,编辑于2022年,星期二l l形式三:形式三:形式三:形式三:格式:格式:格式:格式:if(expr1)statement1if(expr1)statement1else if(expr2)statement2else if(expr2)statement2else if(expr3)statement3else if(expr3)statement3.else statementn else statementn 第37页,共190页,编辑于2022年,星期二expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0u执行过程:例:例:例:例:if(salary1000)index=0.4;if(salary1000)index=0.4;else if(salary800)index=0.3;else if(salary800)index=0.3;else if(salary600)index=0.2;else if(salary600)index=0.2;else if(salary400)index=0.1;else if(salary400)index=0.1;else index=0;else index=0;第38页,共190页,编辑于2022年,星期二#include int main()char c;printf(Enter a character:);c=getchar();if(c=0&c=A&c=a&c=z)printf(The character is a lower lettern);else printf(The character is other charactern);例例 判断输入字符种类判断输入字符种类判断输入字符种类判断输入字符种类第39页,共190页,编辑于2022年,星期二【例】【例】【例】【例】从键盘输入从键盘输入从键盘输入从键盘输入+、-、*、/中的任一个,输出对应的英文单中的任一个,输出对应的英文单中的任一个,输出对应的英文单中的任一个,输出对应的英文单词:词:词:词:plus plus、minusminus、mutiplymutiply、dividedivide,若输入的不是这四个字符中,若输入的不是这四个字符中,若输入的不是这四个字符中,若输入的不是这四个字符中的任一个,则输出的任一个,则输出的任一个,则输出的任一个,则输出“error”“error”。算法的流程图如图所示,虚线框所示为算法的流程图如图所示,虚线框所示为算法的流程图如图所示,虚线框所示为算法的流程图如图所示,虚线框所示为if_elseif_else的规则嵌套:的规则嵌套:的规则嵌套:的规则嵌套:第40页,共190页,编辑于2022年,星期二#includeincludeint main()int main()char ch;char ch;ch=getchar();ch=getchar();if(ch=+)if(ch=+)printf(plusn);printf(plusn);else if(ch=-)else if(ch=-)printf(minusn);printf(minusn);else if(ch=*)else if(ch=*)printf(multiplyn);printf(multiplyn);else if(ch=/)else if(ch=/)printf(dividen);printf(dividen);else else printf(errorn);return 0;printf(errorn);return 0;运算符号判断运算符号判断第41页,共190页,编辑于2022年,星期二例例 根据百分制分数决定成绩的等级:根据百分制分数决定成绩的等级:80分以上为分以上为A级;级;70分及以上,分及以上,80分以下,分以下,B级;级;60分及以上,分及以上,70分以下,分以下,C级;级;60分以下,分以下,D级。级。第42页,共190页,编辑于2022年,星期二真真假假score=80score=80score=70score=70等级等级A A真真假假输入输入scorescorescore=60score=60等级等级B B等级等级D D等级等级C C下次实验下次实验第43页,共190页,编辑于2022年,星期二if if语句嵌套语句嵌套语句嵌套语句嵌套:l l一般形式:一般形式:一般形式:一般形式:if(expr1)if(expr1)if(expr2)if(expr2)statement1 statement1 else else statement2 statement2内嵌内嵌内嵌内嵌if ifif(expr1)if(expr1)if(expr2)if(expr2)statement1 statement1elseelse statement3 statement3 内嵌内嵌内嵌内嵌if if/*/*输入两数并判断其大小关系输入两数并判断其大小关系输入两数并判断其大小关系输入两数并判断其大小关系*/*/#include#include main()main()int x,y;printf(Enter integer x,y:);printf(Enter integer x,y:);scanf(%d,%d,&x,&y);if(x!=y)if(x!=y)if(xy)printf(XYn);else printf(XYn);else printf(XYn);else printf(X=Yn);printf(X=Yn);第44页,共190页,编辑于2022年,星期二if(expr1)if(expr1)if(expr2)statement1 if(expr2)statement1 else statement2 else statement2elseelse if(expr3)statement3 if(expr3)statement3 else statement4 else statement4内嵌内嵌内嵌内嵌if if内嵌内嵌内嵌内嵌if ifif(expr1)if(expr1)statement1 statement1elseelse if(expr3)if(expr3)statement3 statement3 else else statement4 statement4内嵌内嵌内嵌内嵌if if第45页,共190页,编辑于2022年,星期二【例】【例】计算阶跃函数计算阶跃函数y的值:的值:第46页,共190页,编辑于2022年,星期二/*/*计算阶跃函数计算阶跃函数计算阶跃函数计算阶跃函数y y的值的值的值的值*/*/#includeincludemain()main()float x,y;float x,y;printf(input x:n);printf(input x:n);scanf(%f,&x);scanf(%f,&x);if(x=0)if(x=0)if(x0)if(x0)y=1;y=1;elseelsey=0;y=0;elseelsey=-1;y=-1;printf(y=%-4.0fn,y);printf(y=%-4.0fn,y);对多重对多重if,最容易犯的错误,最容易犯的错误是是if与与else配对错误,配对错误,elseelse总是与离它最近的上一个总是与离它最近的上一个总是与离它最近的上一个总是与离它最近的上一个if if配对配对配对配对。阶跃函数阶跃函数第47页,共190页,编辑于2022年,星期二l lif else if else 配对原则:配对原则:配对原则:配对原则:缺省缺省缺省缺省 时,时,时,时,elseelse总是和它上面离它总是和它上面离它总是和它上面离它总是和它上面离它最近的未配对的最近的未配对的最近的未配对的最近的未配对的ifif配对配对配对配对if()if()if()else.else.else.第48页,共190页,编辑于2022年,星期二例: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 正确配对方法:加 第49页,共190页,编辑于2022年,星期二例例例例 考虑下面程序输出结果考虑下面程序输出结果考虑下面程序输出结果考虑下面程序输出结果:int main()int main()int x=100,a=10,b=20;int x=100,a=10,b=20;int v1=5,v2=0;int v1=5,v2=0;if(ab)if(ab)if(b!=15)if(b!=15)if(!v1)if(!v1)x=1;x=1;else else if(v2)x=10;if(v2)x=10;x=-1;printf(%dn,x);return 0;printf(%dn,x);return 0;结果:结果:结果:结果:-1-1If_else配对配对第50页,共190页,编辑于2022年,星期二ifif语句适合两种分支情况进行选择。语句适合两种分支情况进行选择。语句适合两种分支情况进行选择。语句适合两种分支情况进行选择。如果多种分支的情况,可采用嵌套的如果多种分支的情况,可采用嵌套的如果多种分支的情况,可采用嵌套的如果多种分支的情况,可采用嵌套的ifif语句结构。语句结构。语句结构。语句结构。存在的问题:存在的问题:存在的问题:存在的问题:当嵌套的分支较多时,程序的效率和可读性降当嵌套的分支较多时,程序的效率和可读性降当嵌套的分支较多时,程序的效率和可读性降当嵌套的分支较多时,程序的效率和可读性降低。低。低。低。解决方案:解决方案:解决方案:解决方案:用用用用switchswitch结构处理多路分支的情形。结构处理多路分支的情形。结构处理多路分支的情形。结构处理多路分支的情形。第51页,共190页,编辑于2022年,星期二 Switch结构结构 当嵌套当嵌套if分支较多时,程序变得复杂冗长,可读性降低。分支较多时,程序变得复杂冗长,可读性降低。C语言提供语言提供了了switch开关语句专门处理多路分支的情形,使程序变得简洁。开关语句专门处理多路分支的情形,使程序变得简洁。switch语句的语句的一般形式一般形式为:为:switch()case:语句序列:语句序列1;case case2:语句序列:语句序列:语句序列:语句序列2 2;case casen:语句序列:语句序列:语句序列:语句序列n n;default:default:语句序列语句序列语句序列语句序列(n+1)(n+1);第52页,共190页,编辑于2022年,星期二 switch switch语句语句语句语句一般形式一般形式一般形式一般形式的流程图的流程图的流程图的流程图:先计算先计算先计算先计算 的值,再从的值,再从的值,再从的值,再从上到下地判断与哪一个上到下地判断与哪一个上到下地判断与哪一个上到下地判断与哪一个 的值相等,如果的值相等,如果的值相等,如果的值相等,如果 的值等于的值等于的值等于的值等于 i的值,的值,的值,的值,则从语句序列则从语句序列则从语句序列则从语句序列i i开始执行,直到语句序列开始执行,直到语句序列开始执行,直到语句序列开始执行,直到语句序列(n+1)(n+1)为止;为止;为止;为止;若若若若 的的的的值不等于任何一个值不等于任何一个值不等于任何一个值不等于任何一个 的值,是执行的值,是执行的值,是执行的值,是执行defaultdefault后面的语句序列后面的语句序列后面的语句序列后面的语句序列(n+1)(n+1)。第53页,共190页,编辑于2022年,星期二常量表达式常量表达式常量表达式常量表达式:值必须是值必须是值必须是值必须是整型、字符型或者枚举类型整型、字符型或者枚举类型整型、字符型或者枚举类型整型、字符型或者枚举类型语句序列语句序列语句序列语句序列:允许有多条语句允许有多条语句允许有多条语句允许有多条语句:case:case表达式应当是表达式应当是表达式应当是表达式应当是整型常数整型常数整型常数整型常数表达式,表达式,表达式,表达式,不能含有变量不能含有变量不能含有变量不能含有变量与函数的常数表达式。与函数的常数表达式。与函数的常数表达式。与函数的常数表达式。第54页,共190页,编辑于2022年,星期二例:例:例:例:某班级准备周末举行一个班级活动,但活动内容要根据表中所某班级准备周末举行一个班级活动,但活动内容要根据表中所某班级准备周末举行一个班级活动,但活动内容要根据表中所某班级准备周末举行一个班级活动,但活动内容要根据表中所示的天气情况来决定:示的天气情况来决定:示的天气情况来决定:示的天气情况来决定:天天 气气活活 动动 内内 容容晴晴 天天登登 山山有风无雨有风无雨郊郊 游游下下 雪雪堆堆 雪雪 人人下下 雨雨不举行班级活动不举行班级活动其他天气其他天气参观博物馆参观博物馆分析:分析:分析:分析:分别用整数分别用整数分别用整数分别用整数1 1、2 2、3 3、4 4代表晴天、有风无雨、下雪和下雨这代表晴天、有风无雨、下雪和下雨这代表晴天、有风无雨、下雪和下雨这代表晴天、有风无雨、下雪和下雨这4 4种天气情况。种天气情况。种天气情况。种天气情况。通过输入天气情况通过输入天气情况通过输入天气情况通过输入天气情况weatherweather的值,来确定活动场所。的值,来确定活动场所。的值,来确定活动场所。的值,来确定活动场所。第55页,共190页,编辑于2022年,星期二/*/*根据天气情况决定活动场所根据天气情况决定活动场所根据天气情况决定活动场所根据天气情况决定活动场所*/*/#include include main()main()int weather;int weather;scanf(%d,&we

    注意事项

    本文(第三章程序的流程控制PPT讲稿.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开