第5章 选择结构程序设计

时间: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字,全部文档内容请下载后查看。喜欢就下载吧 ……

第5章 选择结构程序设计.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219