第4章-选择结构.ppt

上传人:b****2 文档编号:2580128 上传时间:2022-11-02 格式:PPT 页数:48 大小:957.50KB
下载 相关 举报
第4章-选择结构.ppt_第1页
第1页 / 共48页
第4章-选择结构.ppt_第2页
第2页 / 共48页
第4章-选择结构.ppt_第3页
第3页 / 共48页
第4章-选择结构.ppt_第4页
第4页 / 共48页
第4章-选择结构.ppt_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

第4章-选择结构.ppt

《第4章-选择结构.ppt》由会员分享,可在线阅读,更多相关《第4章-选择结构.ppt(48页珍藏版)》请在冰豆网上搜索。

第4章-选择结构.ppt

高职学院高职学院计算机专业计算机专业程序设计基础程序设计基础第四章第四章选择结构高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础本章目标q掌握关系运算涉及的运算符和表达式q掌握标准if-else语句的结构,书写规范q熟练使用多重if结构q熟练使用嵌套if结构q熟练使用switch结构2高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础条件判断q现实生活中我们经常要做判断,根据不同的情况去做不同的事情:

举例q1、如果外面阴天,出门就把雨伞带上q2、如果周末天气好,我们就去郊游,否则就去看电影q3、如果明天不下雨,我们就去爬山,如果下小雨,我们就去体育馆打球,如果下大雨,就呆在屋子里。

q4、如果你有空,并且天气好,我们就去打篮球q5、如求x的绝对值,若x0,则x即为所求;若x0,则-x为x的绝对值。

q同样,程序设计里,也经常需要根据某种条件的成立与否而采用不同的程序段。

通常选择结构有两个分支,条件为真,执行甲程序段,否则执行乙程序段。

有时,两个分支还不能完全描述实际问题。

例如,判断学生成绩属于哪个等级(A:

90-100,B:

80-89,C:

60-79,D:

0-59)根据学生的成绩的条件,分成4个分支,分别处理各等级分情况。

例如,A级分的学生可获奖学金等。

3高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础条件的表示-关系运算q要做判断,就需要一种比较机制,现实生活中我们经常用到的比较词汇包括“大于”、“小于”、“等于”、“大于等于”等等,判断的结果则通常用“真”和“假”来形容。

如“3比5大”这个描述的结果就是“假”,“一米等于100厘米”这个描述的结果是“真”。

qC语言语法里也相应规定了用于判断的关系运算符,以及多个条件组合的逻辑运算符。

q1.关系运算符及其优先次序(小于)(大于)=(大于或等于)=(等于)!

=(不等于)q关系运算符的优先级低于算术运算符,但高于赋值运算符。

优先级相同(高)优先级相同(高)优先级相同(低)优先级相同(低)4高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础条件的表示-关系表达式q用关系运算符将两个表达式连接起来的式子称为关系表达式。

例如:

qa+b3*c两个算术表达式的值作比较q(a=b)(b=10%c)两个赋值表达式的值作比较q(ac)两个关系表达式的值作比较qA!

=a两个字符表达式的值作比较q对于关系表达式的结果,C语言采用int类型的0和1表示,若比较结果为“真”,则表达式值为1,否则值为0。

有些语言支持布尔型的true和false来表示比较的结果。

q例如:

q表达式“35”的运算结果为int型的数值0;q表达式“5!

=4+2”的运算结果为int型的数值1;q任何非零的数值被认作“真”(1、100、-1、0.2)5高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础逻辑运算符-多个条件的判断q通过前面的关系运算符我们可以对原子条件(不能再分解)进行判断,实际应用中经常会遇到需要通过几个条件综合判断一个操作是否被执行q例如“如果你有空,并且天气好,我们就去打篮球”,此例中,只有同时满足“你有空”和“天气好”两个条件,“去打篮球”这个动作才会发生。

q再如,要表示数学中常用的区间取值,要求检查int型变量x的取值是否在1,20区间,初等数学中通过判断表达式“1=x=1”且“x=20”,这两个表达式同时成立,才表示x的取值落在了1,20区间。

q同理,要想表示x的取值不在上述区间,则可表示为“x20”,这两个表达式只要有一个为真,即表示x的取值不在1,20区间。

6高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础逻辑运算符-多个条件的判断q要想表示这样的条件组合,即表达出“与”和“或”这种条件组合,需要使用逻辑运算符,C语言支持的逻辑运算符为:

q!

-逻辑非(对一个关系运算取反,即如果后面的操作结果为false,则值为true)q&-逻辑与(只有在两个关系操作结果均为true,值才为true)q|-逻辑或(只要其中一个操作结果为true,值即为true)7高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础逻辑运算符!

表达式把表达式的值看做逻辑值,以该值的否定作为结果:

如果表达式的结果非0则结果为0;如果表达式的值为0则结果为1表达式1&表达式2只有两个表达式都非只有两个表达式都非0时结果为时结果为1,否则为,否则为0计算方式:

先求表达式1;如果得到0则不计算表达式2,直接以0作为整个表达式的值;否则(表达式1非0)就计算表达式2,如果它为0则整个表达式的值为0,否则为1表达式1|表达式2只有两个表达式都为只有两个表达式都为0时结果为时结果为0,否则为,否则为1计算方式:

先求表达式1;如果得到1则不计算表达式2,直接以1作为整个表达式的值;否则(表达式1为0)就计算表达式2,如果它为0则整个表达式的值为0,否则为18高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础逻辑运算符和逻辑表达式q否定是一元运算符,其优先级与其他一元运算符相同;二元逻辑运算符的优先级低于关系运算符,而且“&”的优先级高于“|”q优先次序:

q!

(非)-&(与)-|(或)q!

(非)-算术运算符-&(与)-|(或)q假设x=3.0,y=4.0,z=2.0则有如下列表内容自然语言表达式逻辑表达式求值x和y都大于zXz&yz1&等于X等于1.0或3.0X=1.0|x=3.00|1等于1X介于z和y之间,包含z和yX=z&xx|yx0|0等于09高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础逻辑运算实例q根据输入的年份数值,判断其是否为闰年。

假设int型变量y里面保存了此年份数据。

q分析:

根据历法,闰年的年份值是4的倍数但又不是100的倍数,或者是400的倍数。

采用自顶向下的分析方法,分析如下qa)从整体上看,构成闰年的条件是满足上面描述的两个条件之一即可,属于逻辑或关系。

如果用条件1表示“是4的倍数但又不是100的倍数”,条件2表示“是400的倍数”,判断闰年的表达式可表示为(条件1)|(条件2),当此条件表达式取值为真时,即表示当前年份为闰年。

qb)对于条件1,满足“是4的倍数但又不是100的倍数”,这里面又蕴含了两个条件:

,“是4的倍数”(条件1.1)、“不是100的倍数”(条件1.2);而且要求这两个条件必须同时成立,是逻辑与的关系。

条件1可细化为:

(条件1.1)&(条件1.2)。

qc)对于条件2,“是400的倍数”,这是单一条件,可直接表示qd)整理得出判断是否为闰年的表达式模式为:

(条件1.1)&(条件1.2)|(条件2)10高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础逻辑运算实例q依据分析过程,可以绘制如下示意图y是闰年y是400的倍数y是4的倍数但又不是100的倍数|y是4的倍数y不是100的倍数&y%4=0y%100!

=0&y%400=011高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础逻辑运算实例q综合得出:

判断闰年的完整表达式为(y%4=0)&(y%100!

=0)|(y%400=0)q即当该表达式为结果为真时,表示y是闰年,否则y不是闰年。

相应的判断某一年份是否为非闰年的表达式即为判断闰年对应的表达式取反:

(y%4=0)&(y%100!

=0)|(y%400=0)q注意:

当逻辑表达式比较复杂,出现多个条件的连接时,建议采用“()”来明确层次关系。

12高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础运算符优先级q到目前为止,我们已经学习了算术运算符,赋值运算符,关系运算符,逻辑运算符,也接触了同类运算符间的优先级关系,当多种运算混合时,这种优先级关系更为复杂,现总结如下:

运算符运算符优先级优先级函数调用!

+-(负号)+(正号)&*/%+-(此处为二元运算符)=!

=&|=由由高高到到低低13高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础运算符优先级q从上表可以看出,函数调用是优先级最高的,在混合运算中最先求值。

一元运算符都是只有一个操作数,是优先级次高的。

接下来是二元运算符,其优先级顺序从高到低依次是:

算术运算符、关系运算符和逻辑运算符,具体到每一种运算符内部还有更细的优先级划分。

赋值运算符是优先级最低的,最后求值q当出现多种表达式混合运算时,为了避免优先级混淆造成运算次序错,建议通过为每个原子表达式加括号的方式来降低优先级带来的计算顺序上的困惑。

q例如:

表达式(xy|x5,计算顺序是先将表达式(xy)的结果和表达式(x5)的结果进行与运算。

如果将(xy|xy|x5,根据上面给出的优先级,计算顺序变为:

先进行x5间的与运算,与运算的结果再与xy的结果进行或运算。

14高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础用if语句实现选择结构q在C语言里if语句是最主要的选择控制结构。

根据常见的选择模式,可以简单划分为单选择方案,双选择方案和多选择方案三种选择结构,对应三种if语句的实现方式。

BN如果如果如果如果成绩成绩6060那么那么那么那么通知补考通知补考否则否则否则否则告知你考试成绩告知你考试成绩AY15高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础单选择方案的if语句-语法q单选择方案是指在程序设计时,仅去控制当给定条件成立时需要执行的路径,其他情况不做处理。

q例如,设计程序,接收从终端输入的4个整数,计算其中偶数的和数。

程序设计过程中,需要声明一个变量用于保存最后的结果,初始值为0。

然后,对输入的4个整数分别进行判断,如果其中的某一个整数是偶数,则将其数值累加到结果变量上。

4个整数都判断结束后,结果变量中就保存了偶数的和数。

q单选择方案的if语句是最为常见和普通的一种条件控制结构,其一般形式如下:

if(条件表达式)语句;if(x!

=0)x=x+1;如果,x不等于0成立那么,执行x=x+1操作16高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础单选择方案的if语句-语法q关于单选择方案的if语句,说明如下:

qif为关键字,表示当前语句是一个条件判断结构;q条件表达式必须使用()括起来,其与关键字if间用空格分隔,小括号的后面没有分号。

条件表达式部分可以是单一算术表达式,也可以是多个条件复合的逻辑表达式,整个表达式的结果为逻辑“真”或“假”;q语句部分被称为条件控制结构的语句体。

当条件表达式结果为“真”时,执行对应的语句体,反之,当条件表达式为“假”时,语句体将不会被执行。

当语句体和控制语句没有书写在同一行时,通常语句体要相对于控制语句进行缩进17高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础单选择方案的if语句-语法q执行过程:

首先计算表达式的值,若为真,则执行语句1或语句块,然后执行if语句后的下一条语句;若表达式的值为“假”,将跳过语句1或语句块,直接执行if语句的下一条语句。

表达式?

语句体后续语句真假18高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础单选择方案的if语句-语法q如果if结构的语句体只有一条语句,且较短的情况下,也可直接写在条件表达式的后面,即写成:

if(条件表达式)语句;q如果if结构的语句体为多条语句,则必须使用将其括起来,形成复合语句。

即按照如下书写方式:

q无论if结构的语句体是单条语句,还是多条语句,使用将其括起来,写成带有缩进的复合语句都是一个好的习惯。

if(条件表达式条件表达式)语句语句1;语句语句2;语句语句n;19高高职职学学院院计计算算机机专专业业程序设计基础程序设计基础单选择方案的if语句-示例q例例1:

求给定整数的绝对值。

求给定整数的绝对值。

q求x绝对值的算法很简单,若x0,则x即为所求;若x=0)absX=x;elseabsX=-x;如果,x大于等于0成立那么,将x赋值给absX否则,将-x赋值给absX21高高职职学学院院计计算算机机专专业

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 笔试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1