第四篇选择结构程序设计.ppt
《第四篇选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《第四篇选择结构程序设计.ppt(50页珍藏版)》请在课桌文档上搜索。
1、第四章 选择结构程序设计,本章要点,内容要点提示:什么是算法?算法是如何描述的?程序的三种基本控制结构是什么?执行流程怎样?如何用关系表达式和逻辑表达式表示简单条件、复杂条件?if语句有几种形式?条件如何判断?switch语句一般形式如何?执行过程怎样?,本章内容,4.1 算法及其描述方法 4.2 关系运算与逻辑运算4.3 if语句4.4 条件运算符与条件表达式4.5 switch语句4.6 选择结构程序举例*4.7 if语句嵌套,4.1 算法及其描述方法,算法:把为解决一个问题而采取的方法和步骤称为“算法”。有三种控制结构:顺序结构、选择结构和循环结构。顺序结构:计算机自动按照语句编写的顺序
2、一句一句执行语句。选择结构:也称分支结构。根据输入的数据或中间结果的情况,选择一组语句执行。循环结构:又称重复结构,即当给定条件满足时,反复执行某一部分语句。,4.1 算法及其描述方法,算法的表示方法1.自然语言与伪代码表示方法(1)自然语言表示法将解决问题的步骤用自然语言表示。【例4.1】计算火车行李托运费。输入行李重量,计算并输出托运费。收费标准:(1)不超过50公斤,每公斤0.35元;(2)超过50公斤,其中50公斤同(1),超过部分每公斤0.50元。,4.1 算法及其描述方法,算法:步骤1:输入行李的重量步骤2:根据行李的重量计算费用若重量=50 则 费用=weight*0.35 否则
3、 费用=50*0.35+(weight-50)*0.5步骤3:输出费用的值,4.1 算法及其描述方法,(2)伪代码表示法 伪代码:是不能由计算机执行的,但可以很容易地转化为高级语言的程序。例4.1的伪代码算法:begin input weight if weight is less than or equal to 50 set pay to weight*0.35 else set pay to 50*0.35+(weight-50)*0.5 output payend,4.1 算法及其描述方法,2 传统的流程图表示方法流程图是用称为“流线”的箭头将具有专门含义的表示各种操作的符号连接而成的
4、。流程图常用的符号:,4.1 算法及其描述方法,用流程图表示的程序的三种基本控制结构(1)顺序结构。(2)选择结构。,4.1 算法及其描述方法,(3)循环结构。包括两类循环结构。当(while)型循环:直到(until)型循环:,4.1 算法及其描述方法,用流程图表示例4.1的算法,4.1 算法及其描述方法,3 N-S流程图表示方法(1)顺序结构(2)选择结构(3)循环结构 当型循环 直到型循环,4.1 算法及其描述方法,用N-S流程图表示例4.1的算法,4.2 关系运算与逻辑运算,关系运算1.关系运算符(大于)=(大于或等于)=(等于)!=(不等于)优先级:高 低,4.2 关系运算与逻辑运算
5、,2.关系表达式一般形式为:表达式关系运算符表达式合法的关系表达式:ab a+b=b(ab)=(bc)关系表达式的值:逻辑值“真”“1”表示“假”“0”表示,4.2 关系运算与逻辑运算,例如:假设num1=3,num2=4,num3=5,则:(1)num1num2的值=0。(2)(num1num2)!=num3的值=1。思考:改变num1或num2的值,会影响整个表达式的值吗?注意:关系表达式的值,还可以参与其它种类的运算(为什么?)(4)(num1num2)+num3的值=6。,4.2 关系运算与逻辑运算,逻辑运算1.逻辑运算符&逻辑与(相当于“并且”)|逻辑或(相当于“或者”)!逻辑非(相
6、当于“不是”)运算规则:1)a&b:当且仅当a和 b的值都为真时,结果为真,否则为假。2)a|b:当且仅当a和 b的值都为假时,结果为假,否则为真。3)!a:当a的值为真时,结果为假;当a的值为假时,结果为真。优先级:1)!&|2)!算术运算符 关系运算符&|赋值运算符,4.2 关系运算与逻辑运算,2.逻辑表达式用逻辑运算符将运算对象连接起来的式子。合法的逻辑表达式:(x=0)&(x5)!(x=0)(year%4=0&year%100!=0)|(year%400=0)逻辑表达式的值:例如:num=12,则:!num的值为 0;num=1 num31的值为 1。,注意:55 else y=y+1
7、,4.关系表达式和逻辑表达式的运算结果得到一个逻辑值:真或者假。C语言中没有专门的逻辑值,也没有专门的逻辑变量用零表示假,用非零值表示真-非零即为真!,4.3 if语句,例4.1的程序清单void main()float weight,pay;printf(weight=);scanf(%f,if语句,4.3 if语句,简单if语句1.if语句 语句的一般形式为:if(表达式)语句,思考:若score的值是95,输出时什么?若score的值是85,输出怎样?,例如:if(score=90)printf(“Good!”);printf(“Your score is%d.n”,score);,if
8、语句的执行过程是:,4.3 if语句,2.if-else语句语句的一般形式为:if(表达式)语句1else 语句2,假设x的值是5,y的值是7,这段程序执行后会输出:?,例如:if(xy)min=x;else min=y;printf(“min=%dn”,min);,语句执行的过程:,4.3 if语句,说明:(1)if语句中,括号内的表达式用来表示条件,一般为关系表达式或逻辑表达式。(2)当if语句以某表达式的值不等于0作为条件时,可直接简写成表达式作为条件。例如,语句:if(x!=0)printf(“x!=0”);可以简写成:if(x)printf(“x!=0”);以某表达式的值等于0作为条
9、件时可写成对该表达式取反的形式。例如,语句:if(x=0)printf(“x=0”);可以简写成:if(!x)printf(“x=0”);,4.3 if语句,说明:(3)无论是if语句中的语句还是if-else语句中的语句1、语句2,都可以是任何语句。当它们中的某一个是有多条语句组成时,必须写成复合语句的形式。例如,语句:if(i!=j)i+=1;j+=2;else i-=j;,4.3 if语句,【例4.2】求三个数中的最大者。(1)问题分析及变量设置:从键盘读入三个数分别存入变量n1,n2,n3中,求出最大数存入变量max中,float型。,(2)算法设计:,4.3 if语句,(3)程序清单
10、void main()float n1,n2,n3,max;printf(n1,n2,n3=);scanf(%f%f%f,改为:max=n1;if(n2max)max=n2;if(n3max)max=n3;,这种方法即擂台法,对从3个以上的数中找最大数的处理,非常有效。,例题:输入一个数,判断它是否能被整除,若能被整除,打印;不能被整除,打印#include void main()int n;printf(“input n:”);scanf(“%d”,程序有错吗??,4.3 if语句,多分支if语句当if-else语句中的语句2是另一条if语句时,就构成了多分支if语句。语句的一般形式为:if
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 选择 结构 程序设计
链接地址:https://www.desk33.com/p-259776.html