欢迎来到天天文库
浏览记录
ID:48743787
大小:646.50 KB
页数:59页
时间:2020-01-21
《第5章选择结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5章选择结构程序设计河北化工医药职业技术学院C语言程序设计2选择结构的引入用C语言实现图示的分段函数。3用C语言描述if(x>0)y=1;elsey=-1;说明:x>0是一个关系表达式,“>”是一个关系运算符。x>0关系表达式成立,也就是说由关系表达式x>0构成的逻辑运算为真时,y<=1,否则y<=-1。4本章主要内容5.1if语句5.1.1if语句的一般形式5.1.2if语句的嵌套5.2switch语句5.2.1switch语句的一般形式5.2.2break语句5.3选择结构程序设计举例55.
2、1关系运算符和关系表达式关系运算是逻辑运算中比较简单的一种,“关系运算”就是“比较运算”。即,将两个值进行比较,判断是否符合或满足给定的条件。如果符合或满足给定的条件,则称关系运算的结果为“真”;如果不符合或不满足给定的条件,则称关系运算的结果为“假”。6C语言提供6种关系运算符7关系运算符优先次序(1)前4种关系运算符的优先级别相同,后两种也相同。前4种高于后两种。(2)关系运算符的优先级低于算术运算符。(3)关系运算符的优先级高于赋值运算符。例:c>a+b等效于c>(a+b)a==b3、a==(bc等效于a=(b>c)8关系表达式用关系运算符将两个表达式(算术、关系、逻辑、赋值表达式等)连接起来所构成的表达式,称为关系表达式。关系表达式的值是一个逻辑值,即“真”或“假”。C语言没有逻辑型数据,以1代表“真”,以0代表“假”。注:任意非0值也作为真9关系表达式举例例5-3:假如a=3,b=2,c=1,则:a>b:表达式的值为1。b+cb>c:表达式的值为0。105.2逻辑运算符和逻辑表达式(1)&&逻辑与(相当日常生活中:而且,并且,只在4、两条件同时成立时为“真”)(2)5、6、逻辑或(相当日常生活中:或,两个条件只要有一个成立时即为“真”)(3)!逻辑非(条件为真,运算后为假,条件为假,运算后为真)11逻辑运算举例a&&b若a、b为真,则a&&b为真。a7、8、b若a、b之一为真,则a9、10、b为真。!a若a为真,则!a为假,反之若a为假,则!a为真。运算符优先级:非---算术---关系---与---或---赋值---逗号12逻辑表达式逻辑表达式:用逻辑运算符(逻辑与、逻辑或、逻辑非)将关系表达式或逻辑量连接起来构成逻辑表达式。逻辑表达式的值11、是一个逻辑量“真”或“假”。C语言编译系统在给出逻辑运算结果时,以1代表“真”,以0代表“假”,但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”(即认为一个非0的数值是“真”)。13逻辑表达式举例例5-5:非0值作为逻辑值参与运算=“真”(此时与1的作用一样)若a=4,则!a=0(假)。若a=4,b=5,则a&b=1(真),a12、13、b=1(真),!a14、15、b=1(真)4&&016、17、2=1(真)‘c’(真)&&’d’(真)=114逻辑表达式举例例5-6:计算:5>3&&218、19、8<4-!0(注20、意运算符优先级、数值所起作用-是逻辑值,原值)15练习1、inta=1,b=1,c=1;则以下值为0的是()A、b>=aB、A&&CC、!a21、22、bD、!a==b2、printf(“%d”,(a!=0)&&(b=-2));输出结果是()特殊:a&&b&&ca23、24、b25、26、c闰年的条件:1、能被4整除,但不能被100整除。2、能被4整除,又能被400整除。(year%4==0&&year%100!=0)27、28、year%400==0165.3if语句if语句用来判定所给定的条件是否满足,根据判定的结果(真或假29、)决定执行给出的两种操作之一。17if语句的形式一1if(表达式)语句例如:if(x>y)printf(“%d”,x);18算法:例如:⑴if(x>0)m++;⑵按从小到大的顺序输出两个数if(a>b){c=a;a=b;b=c;}表达式非0TF语句N-S结构图语句流程图NY表达式非0?19if语句应用举例例5-1、输入两个实数,按数值由小到大的次序输出这两个数。20if语句的形式二语句一般格式if(表达式)语句1else语句2功能:计算表达式的值,如果它的值是一个非0值(逻辑真),就执行内嵌语句130、,之后跳过内嵌语句2,执行后续语句;否则跳过内嵌语句1,执行内嵌语句2,之后执行后续语句。例如:if(x>y)printf(“%d”,x);elseprintf(“%d”,y);21双重分支语句的算法:例如:⑴if(x>0)m++;elsem--;⑵把输入的字符转换为大写字符if(ch>='a'&&ch<='z'){ch=ch-32;printf("%c",ch);}elseprintf("%c",ch);表达式非0TF语句1语句2N-S结构图语句1语句2流程图NY表达式非
3、a==(bc等效于a=(b>c)8关系表达式用关系运算符将两个表达式(算术、关系、逻辑、赋值表达式等)连接起来所构成的表达式,称为关系表达式。关系表达式的值是一个逻辑值,即“真”或“假”。C语言没有逻辑型数据,以1代表“真”,以0代表“假”。注:任意非0值也作为真9关系表达式举例例5-3:假如a=3,b=2,c=1,则:a>b:表达式的值为1。b+cb>c:表达式的值为0。105.2逻辑运算符和逻辑表达式(1)&&逻辑与(相当日常生活中:而且,并且,只在
4、两条件同时成立时为“真”)(2)
5、
6、逻辑或(相当日常生活中:或,两个条件只要有一个成立时即为“真”)(3)!逻辑非(条件为真,运算后为假,条件为假,运算后为真)11逻辑运算举例a&&b若a、b为真,则a&&b为真。a
7、
8、b若a、b之一为真,则a
9、
10、b为真。!a若a为真,则!a为假,反之若a为假,则!a为真。运算符优先级:非---算术---关系---与---或---赋值---逗号12逻辑表达式逻辑表达式:用逻辑运算符(逻辑与、逻辑或、逻辑非)将关系表达式或逻辑量连接起来构成逻辑表达式。逻辑表达式的值
11、是一个逻辑量“真”或“假”。C语言编译系统在给出逻辑运算结果时,以1代表“真”,以0代表“假”,但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”(即认为一个非0的数值是“真”)。13逻辑表达式举例例5-5:非0值作为逻辑值参与运算=“真”(此时与1的作用一样)若a=4,则!a=0(假)。若a=4,b=5,则a&b=1(真),a
12、
13、b=1(真),!a
14、
15、b=1(真)4&&0
16、
17、2=1(真)‘c’(真)&&’d’(真)=114逻辑表达式举例例5-6:计算:5>3&&2
18、
19、8<4-!0(注
20、意运算符优先级、数值所起作用-是逻辑值,原值)15练习1、inta=1,b=1,c=1;则以下值为0的是()A、b>=aB、A&&CC、!a
21、
22、bD、!a==b2、printf(“%d”,(a!=0)&&(b=-2));输出结果是()特殊:a&&b&&ca
23、
24、b
25、
26、c闰年的条件:1、能被4整除,但不能被100整除。2、能被4整除,又能被400整除。(year%4==0&&year%100!=0)
27、
28、year%400==0165.3if语句if语句用来判定所给定的条件是否满足,根据判定的结果(真或假
29、)决定执行给出的两种操作之一。17if语句的形式一1if(表达式)语句例如:if(x>y)printf(“%d”,x);18算法:例如:⑴if(x>0)m++;⑵按从小到大的顺序输出两个数if(a>b){c=a;a=b;b=c;}表达式非0TF语句N-S结构图语句流程图NY表达式非0?19if语句应用举例例5-1、输入两个实数,按数值由小到大的次序输出这两个数。20if语句的形式二语句一般格式if(表达式)语句1else语句2功能:计算表达式的值,如果它的值是一个非0值(逻辑真),就执行内嵌语句1
30、,之后跳过内嵌语句2,执行后续语句;否则跳过内嵌语句1,执行内嵌语句2,之后执行后续语句。例如:if(x>y)printf(“%d”,x);elseprintf(“%d”,y);21双重分支语句的算法:例如:⑴if(x>0)m++;elsem--;⑵把输入的字符转换为大写字符if(ch>='a'&&ch<='z'){ch=ch-32;printf("%c",ch);}elseprintf("%c",ch);表达式非0TF语句1语句2N-S结构图语句1语句2流程图NY表达式非
此文档下载收益归作者所有