资源描述:
《第四章 逻辑运算和判断选取控制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第四章逻辑运算和判断选取控制上一章介绍了最简单的C程序设计,实际上是由输入语句、赋值语句、输出语句等组成的顺序结构程序。本章介绍选择结构程序设计,下章介绍循环程序设计。ξ4.1关系运算符和关系表达式ξ4.2逻辑运算符和逻辑表达式ξ4.3if语句ξ4.4switch语句ξ4.5程序举例ξ4.1关系运算符和关系表达式关系运算实际上是“比较运算”,即将两个值进行比较,判断比较的结果是否符合给定的条件。如:a>3关系表达式的值为“真”(即“条件满足”)或为“假”(即“条件不满足”)下面先介绍C语言中的6种关系运算符及其优先顺序,然后介绍C语言的关系表达式。ξ4.
2、1关系运算符和关系表达式一、6种关系运算符及其优先顺序①<(小于)②<=(小于或等于)③>(大于)④>=(大于或等于)⑤==(等于)⑥!=(不等于)注意:6种关系运算符中前4种优先级别相同,后两种优先级别相同,且前4种高于后两种。ξ4.1关系运算符和关系表达式一、6种关系运算符及其优先顺序至此,我们已经学习过算术运算符、关系运算符、赋值运算符,如果它们在同一个表达式中出现,其优先顺序为:算术运算符优先级最高,其次是关系运算符,赋值运算符优先级最低。下面介绍关系表达式。ξ4.1关系运算符和关系表达式二、关系表达式用关系运算符将两个表达式连接起来构成
3、的式子叫做关系表达式。其中,表达式可以是算术表达式、赋值表达式、字符表达式,也可以就是关系表达式,,还可以是下节要介绍的逻辑表达式。如:a>b,a+b>b+c,(a=3)>(b=5),’a’<’b’,(a>b)<(bb)==c的值为1b+cb的值为1f=a>b>c的值为0ξ4.2逻辑运算符和逻辑表达式一、逻辑运算符及其优先次序C语言提
4、供三种逻辑运算符:(1)&&逻辑与(相当于其它语言的AND)(2)
5、
6、逻辑或(相当于其它语言的OR)(3)!逻辑非(相当于其它语言的NOT)下面用“真值表”来说明逻辑运算的规则ξ4.2逻辑运算符和逻辑表达式一、逻辑运算符及其优先次序下面逻辑运算的“真值表”ab!a!ba&&ba
7、
8、b真真假假真真真假假真假真假真真假假真假假真真假假ξ4.2逻辑运算符和逻辑表达式一、逻辑运算符及其优先次序下面是表达式中运算符优先顺序的图示!(高)算术运算符关系运算符&&和
9、
10、赋值运算符(低)ξ4.2逻辑运算符和逻辑表达式二、逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起
11、来就构成逻辑表达式。如:(a>b)&&(x>y)又如:(!a)
12、
13、(a>b)逻辑表达式的值为逻辑量“真”或“假”。C语言编译系统在给出逻辑运算结果时,以数值1代表“真”,0代表“假”。但在判断一个表达式中的量是否为“真”时,以非0代表“真”,以0代表“假”。见下面例子:ξ4.2逻辑运算符和逻辑表达式二、逻辑表达式例子:①若a=4,则!a的值为0②若a=4,b=5,则a&&b的值为1③4&&0
14、
15、2的值为1注意:逻辑运算符两侧的运算对象不但可以是0或1,或者是0或非0的整数,实际上还可以是任何其它数值数据类型(如字符型、实型、指针型等)的数据。系统以其值
16、为非0或0来判断“真”或“假”。如:’c’&&’d’的值为1ξ4.2逻辑运算符和逻辑表达式二、逻辑表达式求解中注意事项特别注意:在逻辑表达式求解中,并不是所有原逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。如:(1)a&&b&&c(2)a
17、
18、b
19、
20、c(3)(m=a>b)&&(n=c>d)ξ4.2逻辑运算符和逻辑表达式二、关系表达式和逻辑表达式的用途熟练掌握C语言的关系运算符和逻辑运算符,可以巧妙地用一个逻辑表达式来表示一个复杂的条件。如:判别某一年year是否闰年。闰年的条件是符合下面二者之一:①能被4整除
21、,但不能被100整除。②能被400整除。可用一个逻辑表达式表示如下:(year%4==0&&year%100!=0)
22、
23、year%400==0ξ4.3if语句if语句先求出给定的条件,然后根据条件是否满足(“真”或“假”)决定给出的两种操作之一。即用来实现选择结构。下面介绍if语句的三种形式。ξ4.3if语句if语句的三种形式之一形式:if(表达式)语句框图:如右。例子:if(x>y)printf(”%d”,x);AP真假ξ4.3if语句if语句的三种形式之二形式:if(表达式)语句1else语句2框图:如右。例子:if(x>y)printf(”%d
24、”,x);elseprintf(”%d”,y);ABP真