第5章 选择结构程序设计
时间:2025-04-05
时间:2025-04-05
C语言课件
第五章 选择结构程序设计
C语言课件
本章主要内容
5.1 关系运算符和关系表达式
5.2 逻辑运算符和逻辑表达式5.3 if语句
5.4 switch语句5.5 程序举例
C语言课件
§5.1 关系运算符和关系表达式
关系运算:对两个量进行“比较运算”
一、关系运算符及其优先次序关系运算符 优先级 运算对象个数< 小于 <= 小于等于 > 大于 >= 大于等于 == 等于 6
结合性
2(双目运算符) 左结合性 (自左至右)
7
!= 不等于
C语言课件
算术运算符、赋值运算符、逗号运算符、关系运 算符的优先级由高到低的次序为: 例如:c>a+b a<b>c a==b<c a=b<c c>(a+b) (a<b)>c a==(b<c) a=(b<c)
算术运算符>关系运算符>赋值运算符>逗号运算符
注意区分“=”和“==”!
C语言课件
二、关系表达式
算术表达式、关系表达式、 逻辑表达式、赋值表达式、 逗号表达式
1. 关系表达式:用关系运算符将两个操作对象( 常量、变量或表达式)连接起来的式子。
例: a>b 'a'<'b'
a+b>b+c(a>b)>(b<c)
(a=3)>(b=5)
说明:数值量比较是比较数字的大小; 字符量比较是比较ASCII码大小。
2. 关系表达式的值:成立(真)——1 不成立(假)——0南理工紫金学院 5
C语言课件
例如:已知变量a的值为3,b的值为2,c的值为1
1 ; 则:a>b的值为____1 ; a>b==c的值为____ 0 ; b+c<a的值为____ 0 ; f=a>b>c的值为____
C语言课件
§5.2 逻辑运算符和逻辑表达式1. 逻辑运算符及其优先次序逻辑运算符&& 逻辑与
优先级11
运算对象个数2(双目运算符) 1(单目运算符)
结合性左结合性 右结合性
|| 逻辑或 ! 逻辑非
12 2
优先级次序:!>算术运算符>关系运算符>&&>||>赋值运算符>逗号运算符
C语言课件
形式:常量、变量、表达式(算 2. 逻辑量: 非0—— 真, 0—— 假
3. 逻辑表达式
术表达式、关系表达式、逻辑表 达式、赋值表达式等)
用逻辑运算符将逻辑量连接起来的式子。
4. 逻辑运算的结果(真/假) ① &&:参与运算的两个量都为
真时,结果才为真,否则为假。② ||:参与运算的两个量只要 有一个为真,结果就为真。 两 个量都为假时,结果为假。
&& 真 真 真 假 假 || 真 假 真 真真
假 假假
假 真假
C语言课件
真 假 假;参与运算量为假时,结果为真。 ! 假 真 ③ !:参与运算量为真时,结果为
逻辑表达式的值: 真——1 或 假——0例如:若a的值为4,则① !a的值为____ 0 。
② a&&-5的值为____ 1 。③ a&&0||2的值为____ 1 。
C语言课件
在求解过程中,并不是所有的逻辑运算符都要被 执行。当前面的表达式可以得出整个表达式的结 果时,编译程序不再求后面的表达式。 (1)a&&b&&c:只有a为真时,才需要判断b的值,只 有a和b都为真时,才需要判断c的值。 (2)a||b||c:只要a为真,就不必判断b和c的
值,只 有a为假,才判断b。a和b都为假才判断c。 int x, y, i; x=4; y=5; i= ++x==5 || ++y==6 ; printf("x=%d,y=%d,i=%d\n", x, y, i );
C语言课件
例如:若a=3,b=2,c=1,则 0 。 ( a<b) &&( b>c)的值为____ 0 0 。 (a!=b) && (c==0 )的值为____ 0 1 1 。 a || ( a>b)的值为____ 1 ( 5>3)&&(8< (4- !0 ))的值为____ 0 。 1 1 3 0
C语言课件
例:用逻辑表达式来表示某年year是闰年的条件
闰年的条件:能被4整除,但不能被100整除或 者能被400整除。 year%4==0&&year%100!=0 ||year%400==0 表达式值为1(真)是闰年,否则为非闰年。
C语言课件
可以是任意类型的 § 5.3 if语句表达式,一般为逻 辑或关系表达式
单一语句或 复合语句 一、if语句的3种形式
(1) if(表达式) 语句例:if(a) printf("%d", a); 例:if(x>y) { z=y; y=x; x=z; }
表达式 假 (0)
真(非0)
语句
将变量x和y的值互换
C语言课件
(2) if(表达式) 语句1 else 语句2 例:if (x>y) printf("%d",x); else printf("%d",y); (3) if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 …… else if(表达式m) 语句m else 语句n
真 语句1
表达式
假 语句2
注意:一般else与离其最近的if配对!
C语言课件
例: if (number>500) cost=0.15; else if(number>300) cost=0.10; else if(number>100) cost=0.075; else if(number>50) cost=0.05; else cost=0; 0.15,number>500 0.10,300<number≤500 cost= 0.075,100<number≤300 0.05,50<number≤100 0,number≤50
C语言课件
说明:
语句可以用是空语句。//可以是空语句
例:if (x>=0) ; else
printf("%d",x);
C语言课件
例5.1 输入两个实数,按代数值由小到大的顺序输出 这两个数。#i …… 此处隐藏:815字,全部文档内容请下载后查看。喜欢就下载吧 ……
下一篇:合同的写作教案