C语言选择结构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020/7/25
C语言程序设计教程
第五章 选择结构程序设计
6
5.2 逻辑运算及其表达式
关系表达式只能描述单一条件,例如“x>=0”。 如果需要描述“x>=0”、同时“x<10”,就要借助于 逻辑表达式了。
一、 逻辑运算符及其优先次序
1.逻辑运算符及其运算规则
(1)C语言提供三种逻辑运算符:
&& 逻辑与(相当于“同时”)
C语言程序设计教程
第五章 选择结构程序设计
8
2.逻辑运算符的运算优先级
(1)逻辑非的优先级最高,逻辑与次之,逻辑或最低, 即: !(非) → &&(与) → ||(或)
(2)与其它种类运算符的优先关系
!→ 算术运算 → 关系运算 → &&→ || → 赋值运算 5 > 3 && 2 || 8 < 4 - !5
1)对于逻辑与运算,如果第一个操作数被判定为“假”, 系统不再判定或求解第二操作数。
例:a = 0; b = 1; c = a++ && ( b = 3 ); 结果: a为1,b为1,c为0。
2)对于逻辑或运算,如果第一个操作数被判定为“真”, 系统不再判定或求解第二操作数。
例:a = 1; b = 1; c=0;
4
练习,假设num1=3,num2=4,num3=5,则: (1)num1>num2的值=?。 (2)(num1>num2)!=num3的值=?。 (3)num1<num2<num3的值=?。
思考题:任意改变num1或num2的值,会影响整个表达 式的值吗?为什么?
(4)(num1<num2)+num3的值=? 再次强调:C语言用整数“1”表示“逻辑真”,用整数
一、 关系运算符及其优先关系
1.关系运算符
C语言提供6种关系运算符:
< <= >= > == !=
注意:在C语言中,“等于”关系运算符是双等号 “= =”,而不是单等号“= ”(赋值运算符)。
2.优先级
关系运算符的优先级,低于算术运算符,但高于赋值 运算符。
a+b > b+c 等效于 (a+b)>(b+c)。
a=b>c 等效于a =( b>c)。
2020/7/25
C语言程序设计教程
第五章 选择结构程序设计
3
3.结合性:自左至右;
二、 关系表达式
1.关系表达式的概念
所谓关系表达式是指,用关系运算符将两个表达式连接起 来,进行关系运算的式子。
例如,下面的关系表达式都是合法的: a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)= =(b>c)
第五章 选择结构程序设计
1
第五章 选择结构程序设计
5.1 关系运算符与关系表达式 5.2 逻辑运算符与逻辑表达式 5.3 if语句 5.4 switch语句 5.5 选择结构程序设计举例
2020/7/25
C语言程序设计教程
第五章 选择结构程序设计
2
5.1 关系运算及其表达式
所谓“关系运算”实际上就是“比较运算”,即将两 个数据进行比较,判定两个数据是否符合给定的关系。
1 && 2
4- 0
1
8< 4
0
1
3.逻辑运算符的结合律 C语言逻辑运算符采用左结合律。表达式中出现优先级别 为同一级别的运算符时, 按从左到右的结合方向处理。例如:
a && b && c 计算顺序为:(a&& b)&& c。
2020/7/25
C语言程序设计教程
第五章 选择结构程序设计
9
二、逻辑表达式
逻辑假,值为0。 例如,假设num=12,则: !num的值=0 , num>=1 &&num<=31的值=1 ,num || num>31的值=1。
2020/7/25
C语言程序设计教程
第五章 选择结构程序设计
10
3.说明
在计算逻辑表达式时,只有在必须执行下一个表达式才能求 解时,才求解该表达式(即并不是所有的表达式都被求解)。 换句话说:
求解表达式1
条件表达式的值
假(0),求解表达式3
例如: int max,a=5,b=3;
max=a>b?a:b max及赋值表达式的值均为5;
a<b?a:b+1
条件表达式的值为4。
总结:1、除单目运算符、赋值运算符和条件运算符是右结合性 外,其它运算符都是左结合性。
2、逗号运算符的优先级最低,赋值运算符次之。
d = --a || b-- ||(c = b+3 );
|| 逻辑或(相当于“或者”)
!
逻辑非(相当于“否定”)
2020/7/25
C语言程序设计教程
第五章 选择结构程序设计
7
(2)运算规则
1)&&:全真为真。当且仅当两个运算量的值 都为“真”时,运算结果为“真”,否则为“假”。
2) || :全假为假。当且仅当两个运算量的值都 为“假”时,运算结果为“假”,否则为“真”。
2.关系表达式的值:条件成立为真,整数“1”表示“逻辑
真;
假”。
条件不成立为假,用整数“0”表示“逻辑
例如: int a=2,b=3,c=1;
a<b<c 先计算a<b,值是1 , 再计算 1<c,值是0
6>3<2 先计202算0/76/2>5 3 ,值C是语1言,程序再设计计算教程1<2,值为 1
第五章 选择结构程序设计
1.逻辑表达式的概念 所谓逻辑表达式是指,用逻辑运算符将1个或多个表达式 连接起来,进行逻辑运算的式子。在C语言中,用逻辑表达式 表示多个条件的组合。 例如,a>=’a’ && a<=‘z’ 就是一个判断一个字符是否是小 写字母的逻辑表达式。 逻辑表达式的值也是一个逻辑值(非 “真”即“假”)。
2.逻辑量的真假判定──0和非0 只有数值0才是逻辑“0”,只要是非零的数值均是逻辑“1”。 逻辑运算值的表示:逻辑真,值为1,
3) ! :非真即假,非假即真。当运算量的值为 “真”时,运算结果为“假”;当运算量的值为“假” 时,运算结果为“真”。
例 如 , 假 定 x=5 , 则 (x>=0) && (x<10) 的 值 为 “真”,(x<-1) || (x>5)的值为“假”,!(x>5)的 值为“真”。
2020/7/25
“0”表示“逻辑假”。所以,关系表达式的值,还可以参与 其它种类的运算,例如算术运算等。
2020/7/25
C语言程序设计教程
第五章 选择结构程序设计
5
Fra Baidu bibliotek
三、条件运算符
?和: ,它们与三个操作数组组成三元运算。
形式为: <表达式1> ? <表达式2>:<表达式3>
求值规则和表达式的值:
真(非0),求解表达式2
相关文档
最新文档