学期C程序设计(第三版)教材PPT-第5章-讲.ppt
《学期C程序设计(第三版)教材PPT-第5章-讲.ppt》由会员分享,可在线阅读,更多相关《学期C程序设计(第三版)教材PPT-第5章-讲.ppt(41页珍藏版)》请在三一办公上搜索。
1、第五章:选择结构程序设计,5.1 关系运算符和关系表达式5.2 逻辑运算符和逻辑表达式5.3 if语句5.4 switch语句5.5 程序举例,第5章:选择结构,三种基本结 构:,3.循环结构,5:选择结构程序设计,要设计选择结构程序,要考虑两个方面的问题:一.是在C语言中如何来表示条件,二.是在C语言中实现选择结构用什么语句。在C语言中表示条件,一般用关系表达式或逻辑表达式,实现选择结构用if语句或switch语句。,5:选择结构程序设计,if语句的常用形式:,if(关系表达式)语句1 else 语句2,例如:if(x0)y=1;else y=-1;,关系表达式;“”为关系运算符,5.1:关
2、系运算符和关系表达式,关系运算(比较运算):将两个值进行比较,判断其比较的结果是否符合给定的条件。例如:a5-为一个关系表达式如果a=3,则不满足a5这个条件,此关系表达式的值为“假”;如果a=9,则满足a5这个条件,此关系表达式的值为“真”。,5.1:关系运算符和关系表达式,5.1.1 关系运算符及其优先次序,在语言中有以下关系运算符:1)大于4)=大于或等于5)=等于6)!=不等于关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,,=的优先级相同,高于=和!=,=和!=的优先级相同。,优先级相同(高),优先级相同(低),注意
3、:在语言中,“等于”关系运算符是双等号“=”,而不是单等号“=”(赋值运算符)。,5.1:关系运算符和关系表达式,例如:ca+b 等效于c(a+b)ab=c 等效于(ab)=c a=bc 等效于a=(bc),5.1:关系运算符和关系表达式,5.1.2 关系表达式,1关系表达式的概念关系表达式是指用关系运算符将两个表达式连接起来,进行关系运算的式子。例如,合法的关系表达式:ab,a+bc-d,(a=3)=b,(ab)=(bc)2关系表达式的值逻辑值(非“真”即“假”)。由于语言没有逻辑型数据,所以用整数“”表示“逻辑真”,用整数“”表示“逻辑假”。,5.1:关系运算符和关系表达式,例如,假设a=
4、3,b=4,c=5,则:(1)ab的值=0。(2)(ab)!=b的值=1。(3)a 1。(4)(a6,因为a1,1+5=6。强调:C语言用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。所以,关系表达式的值,还可以参与其它种类的运算,例如算术运算、逻辑运算等。,5.2:逻辑运算符和逻辑表达式,关系表达式只能描述单一条件,例如“x=0”。如需描述“x=0”、同时“x10”,就要借助逻辑表达式。用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。5.2.1 逻辑运算及其优先次序逻辑运算符及其运算规则(1)C语言提供三种逻辑运算符:&逻辑与(相当于“同时”)双目|逻辑或(相当于“或者
5、”)双目!逻辑非(相当于“否定”)单目,例如,下面的表达式都是逻辑表达式:(x=0)&(x5),!(x=0),(year%4=0)&(year%100!=0)|(year%400=0)(2)运算规则 1)&:当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。2)|:当且仅当两个运算量的值都为“假”时,运算结果为“假”,否则为“真”。3)!:当运算量的值为“真”时,运算结果为“假”;当运算量的值为“假”时,运算结果为“真”。例如,假定x=5,则(x=0)&(x5)的值为“假”。,5.2:逻辑运算符和逻辑表达式,2逻辑运算符的运算优先级(1)逻辑非的优先级最高,逻辑与次之,逻辑或
6、最低,即:!(非)&(与)|(或)(2)与其它种类运算符的优先关系!算术运算符 关系运算符&|赋值运算符5.2.2 逻辑表达式1逻辑表达式的概念用逻辑运算符将1个或多个表达式连接起来,进行逻辑运算的式子。在C中,用逻辑表达式表示多个条件的组合。例如,(year%4=0)&(year%100!=0)|(year%400=0)就是一个判断一个年份是否是闰年的逻辑表达式。逻辑表达式的值是一个逻辑值(非“真”即“假”)。,5.2:逻辑运算符和逻辑表达式,5.2:逻辑运算符和逻辑表达式,2逻辑量的真假判定和非 编译系统在给出逻辑运算结果时用整数“”表示“逻辑真”、用“”表示“逻辑假”。但在判断一个数据的
7、“真”或“假”时,却以和非为根据:如果为,则判定为“逻辑假”;如果为非,则判定为“逻辑真”。例如,假设num=12,则:!num的值=,num=1 num31的值=1。,5.2:逻辑运算符和逻辑表达式,3说明(1)逻辑运算符两侧的操作数,除可以是和非的整数外,也可以是其它任何类型的数据,如实型、字符型等。例如:c&d 的值为1(关键看,c和d的ASCII码值是否为0)如果在一个表达式中不同位置出现数值,要区分哪些是作为数值运算或关系运算的对象,那些作为逻辑运算的对象?例如:53&84-!0,!算术运算符 关系运算符&|赋值运算符,5.2:逻辑运算符和逻辑表达式,(2)计算逻辑表达式时,并不是所
8、有的逻辑运算符都被执行,只有必须执行下一个逻辑运算符才能求出表达式的解时,才执行该逻辑运算符。1)对于逻辑与(&)运算,如果第一个操作数被判定为“假”,系统不再判定或求解第二操作数。2)对于逻辑或(|)运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数。,例如,假设n1、n2、n3、n4、x、y的值分别为1、2、3、4、1、1,则求解表达式“(x=n1n2)&(y=n3n4)”后,x的值变为,而y的值不变,仍等于1!,5.2:逻辑运算符和逻辑表达式,例如:求闰年问题!表示是闰年的条件可用下列逻辑表达式:(year%4=0)&(year%100!=0)|(year%400=0)表
9、示非闰年的条件可用下列逻辑表达式:!(year%4=0)&(year%100!=0)|(year%400=0)或(year%4!=0)|(year%100=0&yer%400!=0),将C提供的关系运算符和逻辑运算符有效的结合使用,可编写出合适的逻辑表达式来表示一个复杂的条件!,分析:闰年的条件是:(1)能被4整除,但不能被100整除的年份都是闰年,如1996,2004年是闰年;(2)能被100整除,又能被400整除的年份是闰年。如1600,2000年是闰年。不符合这两个条件的年份不是闰年。,5.3.1 if语句的三种形式1if语句的一般格式:if(表达式)语句组1;1)if语句中的“表达式”
10、必须用“(”和“)”括起来。2)else子句(可选)是if语句的一部分,必须与if配对使用,不能单独使用。3)当if和else下面的语句组,仅由一条语句构成时,也可不使用复合语句形式(即去掉花括号)。,5.3:if 语句,if 语句是用来判定所给的条件是真还是假决定执行给出的两种操作之一!,5.3:if 语句,C语句提供了三种形式的if语句:1.if(表达式)语句 if(xy)printf(“%d”,x);2.if(表达式)语句1 else 语句2 if(xy)printf(“%d”,x);else printf(“%d”,y);,5.3:if 语句,3.if(表达式1)语句1 else if
11、(表达式2)语句2 else if(表达式3)语句3 else if(表达式m)语句m else 语句n,例如:if(number500)cost=0.15;else if(number300)cost=0.10;else if(number100)cost=0.075;else if(number50)cost=0.05 else cost=0;,5.3:if 语句,说明:(1)三种形式的if语句在if后都有“表达式”,一般为逻辑表达式或关系表达式,也可为其它类型。例如:if(b3)printf(“Hello”);if(a)printf(“%d”,a);(2)第二种和第三种形式的if语句中,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学期 程序设计 第三 教材 PPT
链接地址:https://www.31ppt.com/p-6564616.html