资源描述:
《C语言课件(5-7)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言程序设计第五章选择结构程序设计作用:根据所指定的条件是否满足,决定从给定的两组操作选择其一。在C语言中选择结构是用if语句实现的。if语句最常用的形式是if(关系表达式)语句1else语句2例如:if(x>0)y=1;elsey=–1;其中x>0是一个关系表达式。“>”是一个关系运算符。5.1关系运算符和关系表达式所谓“关系运算”实际上是“比较运算”。将两个值进行比较,判断其比较的结果是否符合给定的条件。例如,a>3是一个关系表达式,如果a的值为5,则满足给定的“a>3”条件,因此关系表达式的值为“真”;如果a的值为2,不满足“a>3”条件,则称关
2、系表达式的值为“假”。5.1.1关系运算符及其优先次序C语言提供6种关系运算符:①<(小于)②<=(小于或等于)③>(大于)④>=(大于或等于)⑤==(等于)⑥!=(不等于)优先级相同(高)优先级相同(低)关于优先次序:(1)前4种关系运算符(<,<=,>,>=)的优先级别相同,后两种也相同。前4种高于后2种。(2)关系运算符的优先级低于算术运算符。(3)关系运算符的优先级高于赋值运算符。例如:c>a+b等效于c>(a+b)a==bc等效于a=(b>c)5.1.2关系表达式用关系运算符将两个表达式连接起来的式子,称为关系
3、表达式。例如:a>b,a+b>b+c,(a=3)>(b=5),‘a’<‘b’,(a>b)>(b=0”的值为“真”。**C语言没有逻辑型数据,以1代表“真”,以0代表“假”。例如,a=3,b=2,c=1,则:关系表达式“a>b”的值为“真”,表达式的值为1。关系表达式“(a>b)==c”的值为“真”,表达式的值为1。关系表达式“b+cbd的值为1f=a>b>cf的值为0**重点理解5.2逻辑运算
4、符和逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。5.2.1逻辑运算符及其优先次序C语言提供三种逻辑运算符:(1)&&逻辑与(相当于其他语言中的AND)(2)
5、
6、逻辑或(相当于其他语言中的OR)(3)!逻辑非(相当于其他语言中的NOT)“&&”和“
7、
8、”是“双目运算符”,“!”是“单目运算符”。逻辑运算举例如下:a&&b若a,b为真,则a&&b为真a
9、
10、b若a,b之一为真,则a
11、
12、b为真!a若a为真,则!a为假表5.1逻辑运算的真值表ab!a!ba&&ba
13、
14、b真真假假真真真假假真假真假真真假假真假假真真假假在一个逻辑表达式中如
15、果包含多个逻辑运算符,如!a&&b
16、
17、x>y&&c按以下的优先次序:(1)!(非)&&(与)
18、
19、(或)(2)逻辑运算符中的“&&”和“
20、
21、”低于关系运算符,“!”高于算术运算符。算术运算符关系运算符赋值运算符高低&&和
22、
23、!(非)例如:(a>b)&&(x>y)可写成a>b&&x>y(a==b)
24、
25、(x==y)可写成a==b
26、
27、x==y(!a)
28、
29、(a>b)可写成!a
30、
31、a>b牢记5.2.2逻辑表达式C语言编译系统在给出逻辑运算结果时,以数值1代表“真”,以0代表“假”,但在判断一个是否为“真”时,以0代表“假”,以非0代表“真”。即将一个非零的数值认作为
32、“真”。例如:(1)若a=4,则!a的值为0。(2)若a=4,b=5,则a&&b的值为1。(3)a,b值同前,a
33、
34、b的值为1。(4)a,b值同前,!a
35、
36、b的值为1。(5)4&&0
37、
38、2的值为1。通过这几个例子可以看出,由系统给出的逻辑运算结果不是0就是1,不可能是其他数值。如果在一个表达式中不同位置上出现数值,应区分哪些是作为数值运算或关系运算的对象,哪些作为逻辑运算的对象。例如:5>3&&2
39、
40、8<4–!0111301在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。——短路例
41、如:(1)a&&b&&c只有a为真(非0)时,才需要判别b的值,只有a和b都为真的情况下才需要判别c的值。(2)a
42、
43、b
44、
45、c只要a为真(非0),就不必判断b和c;只有a为假,才判别b;a和b都为假才判别c。例:(m=a>b)&&(n=c>d)当a=1,b=2,c=3,d=4,m和n的原值为1时,由于“a>b”的值为0,因此m=0,而“n=c>d”不执行,因此n的值不是0而仍保持原值1。可运用逻辑表达式来表示一个复杂的条件。例:判断某一年(用变量year表示)是否为闰年。(year%4==0&&year%100!=0)
46、
47、year%400==05.3if
48、语句if语句是用来判定所给的条件是否满足,根据判定的结果(真或假)决定执行给出的