欢迎来到天天文库
浏览记录
ID:49602334
大小:143.00 KB
页数:21页
时间:2020-02-28
《C语言学习课件PPT第04章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章选择结构程序设计目前我们已经讲了顺序结构程序设计:记住顺序结构是任何程序都存在的.(因为一个程序总要从开始到结束)。今天要讲的选择结构只是某些程序中的一个步骤。要设计选择结构程序,要考虑两个方面的问题:一、是在C语言中如何来表示选择的条件;二、是在C语言中实现选择结构用什么语句。在C语言中表示条件,一般用关系表达式或逻辑表达式,实现选择结构用if语句或switch语句。面对上述两个问题我们今天要讲的主要内容如下:4.1关系运算及其表达式4.2逻辑运算及其表达式4.3if语句4.4switch语句4.1关系运算及其表达式所谓“关系运算”实际上就是“比较运算”,即将两个数据进行比较,判定
2、两个数据是否符合给定的关系。4.1.1关系运算符及其优先次序1.关系运算符C语言提供6种关系运算符:<(小于),<=(小于或等于),>(大于),>=(大于或等于),==(等于),!=(不等于)注意:在C语言中,“等于”关系运算符是双等号“==”,而不是单等号“=”(赋值运算符)。注:由于C语言没有逻辑型数据,所以用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。关系表达式的值是逻辑值。2.优先级(1)在关系运算符中,前4个优先级相同(<、<=、>、>=),后2个也相同(==、!=),且前4个高于后2个。(2)与其它种类运算符的优先级关系关系运算符的优先级,低于算术运算符,但高于赋值运
3、算符。例如,下面的关系表达式都是合法的:a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)==(b>c)4.1.2关系表达式1.关系表达式的概念所谓关系表达式是指,用关系运算符将两个表达式连接起来,进行关系运算的式子。再次强调:C语言用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。所以,关系表达式的值,还可以参与其它种类的运算,例如算术运算、逻辑运算等。例如,假设num1=3,num2=4,num3=5,则:(1)num1>num2的值=0(2)(num1>num2)!=num3的值=1(3)num14、num2的值,会影响整个表达式的值吗?(4)(num1=0”。如果需要描述“x>=0”、同时“x<10”,该这么办呢?!逻辑非(相当于“否定”)这就要借助于逻辑表达式了。4.2.1逻辑运算及其优先次序1.逻辑运算符及其运算规则(1)C语言提供三种逻辑运算符:&&逻辑与(相当于“同时”)5、6、逻辑或(相当于“或者”)例如,假定x=5,则(x>=0)&&(x<10)的值为“真”,(x<-1)7、8、(x>5)的值为“假”,!x的值为“假”。(2)运算9、规则1)&&:当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。2)10、11、:当且仅当两个运算量的值都为“假”时,运算结果为“假”,否则为“真”。3)!:当运算量的值为“真”时,运算结果为“假”;当运算量的值为“假”时,运算结果为“真”。例如,下面的表达式都是逻辑表达式:(x>=0)&&(x<=10)、(x<1)12、13、(x>5)、!(x==0)、a+b>c&&b==c2.逻辑运算符的运算优先级(1)逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!(非)→&&(与)→14、15、(或)(2)与其它种类运算符的优先关系!→算术运算→关系运算→&&→16、17、→赋值运算4.2.2逻辑表达式1.逻18、辑表达式的概念所谓逻辑表达式是指,用逻辑运算符将1个或多个表达式连接起来,进行逻辑运算的式子。。?上述表达式中也用到了关系运算符why不叫关系表达式呢?对于一个表达式它最后一步进行的是什么运算就叫什么表达式。2.逻辑量的真假判定──0和非0C语言用整数“1”表示“逻辑真”、用“0”表示“逻辑假”。但在判断一个数据的“真”或“假”时,却以0和非0为根据:如果为0,则判定为“逻辑假”;如果为非0,则判定为“逻辑真”。逻辑表达式的值也是一个逻辑值(非“真”即“假”)。例如,假设num=12,则:!num的值=0,num>=1&&num<=31的值=1,num19、20、num>31的值=1。3.说明:21、逻辑运算符两侧的操作数,除可以是0和非0的整数外,也可以是其它任何类型的数据,如实型、字符型等。如:‘a’&&3.5的值=1;(2)在计算逻辑表达式时,只有在必须执行下一个表达式才能求解时,才求解该表达式(即并不是所有的表达式都被求解)。换句话说:1)对于逻辑与运算,如果第一个操作数被判定为“假”,系统不再判定或求解第二操作数。2)对于逻辑或运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数。[Retur
4、num2的值,会影响整个表达式的值吗?(4)(num1=0”。如果需要描述“x>=0”、同时“x<10”,该这么办呢?!逻辑非(相当于“否定”)这就要借助于逻辑表达式了。4.2.1逻辑运算及其优先次序1.逻辑运算符及其运算规则(1)C语言提供三种逻辑运算符:&&逻辑与(相当于“同时”)
5、
6、逻辑或(相当于“或者”)例如,假定x=5,则(x>=0)&&(x<10)的值为“真”,(x<-1)
7、
8、(x>5)的值为“假”,!x的值为“假”。(2)运算
9、规则1)&&:当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。2)
10、
11、:当且仅当两个运算量的值都为“假”时,运算结果为“假”,否则为“真”。3)!:当运算量的值为“真”时,运算结果为“假”;当运算量的值为“假”时,运算结果为“真”。例如,下面的表达式都是逻辑表达式:(x>=0)&&(x<=10)、(x<1)
12、
13、(x>5)、!(x==0)、a+b>c&&b==c2.逻辑运算符的运算优先级(1)逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!(非)→&&(与)→
14、
15、(或)(2)与其它种类运算符的优先关系!→算术运算→关系运算→&&→
16、
17、→赋值运算4.2.2逻辑表达式1.逻
18、辑表达式的概念所谓逻辑表达式是指,用逻辑运算符将1个或多个表达式连接起来,进行逻辑运算的式子。。?上述表达式中也用到了关系运算符why不叫关系表达式呢?对于一个表达式它最后一步进行的是什么运算就叫什么表达式。2.逻辑量的真假判定──0和非0C语言用整数“1”表示“逻辑真”、用“0”表示“逻辑假”。但在判断一个数据的“真”或“假”时,却以0和非0为根据:如果为0,则判定为“逻辑假”;如果为非0,则判定为“逻辑真”。逻辑表达式的值也是一个逻辑值(非“真”即“假”)。例如,假设num=12,则:!num的值=0,num>=1&&num<=31的值=1,num
19、
20、num>31的值=1。3.说明:
21、逻辑运算符两侧的操作数,除可以是0和非0的整数外,也可以是其它任何类型的数据,如实型、字符型等。如:‘a’&&3.5的值=1;(2)在计算逻辑表达式时,只有在必须执行下一个表达式才能求解时,才求解该表达式(即并不是所有的表达式都被求解)。换句话说:1)对于逻辑与运算,如果第一个操作数被判定为“假”,系统不再判定或求解第二操作数。2)对于逻辑或运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数。[Retur
此文档下载收益归作者所有