第4章 分支结构程序设计

本文详细介绍了C语言中的分支结构,包括关系运算符、逻辑运算符、条件运算符的使用,以及如何通过if-else和switch实现分支结构。通过实例解析了if-else语句的嵌套和多分支结构,并探讨了switch语句的工作原理和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

4.1 引例

4.2 关系运算符,逻辑运算符,条件运算符

4.2.1 关系运算符和关系表达式

4.2.2 逻辑运算符和逻辑表达式

4.2.3 条件运算符和条件表达式

4.3 使用if-else实现分支结构

4.3.1 if-else语句

4.3.2 if语句的嵌套

4.3.3 多分支if语句

4.4 使用switch语句实现分支结构

4.5 分支结构程序设计示例 


4.1 引例

例4.1

 

 

说明:程序运行时,首先输入三角形的三条边,分别保存在三个整型变量a,b,c中,然后根据三角形构成条件,判断任意两边之和是否大于第三边。若不满足此条件,则这三条边就不能构成一个三角形,若满足此条件就可以构成三角形,则根据相应公式计算出三角形的面积。

例4.2

 

 

说明:程序中用到了逻辑运算符“!”,含义是“非”。

4.2 关系运算符,逻辑运算符,条件运算符

4.2.1 关系运算符和关系表达式

1.关系运算符

关系运算符用于判断两个操作数的大小关系。

                 表4.1  关系运算符

运算符 含义
> 大于
>= 大于等于
< 小于
<= 小于等于
== 等于
!= 不等于

 注意:

(1)关系运算符都是双目运算符,其结合方向是左结合。

(2)关系运算符的优先级低于算术运算符,但是高于赋值运算符。

(3)关系运算符中,>,<,>=,<=的优先级相同,==,!=的优先级相同,前者的优先级高于后者,即“>=”的优先级高于“==”。

2.关系表达式

用关系运算符将两个表达式连接起来的式子称为关系表达式。

                     一般形式   表达式1  关系运算符  表达式2

功能:比较两个表达式的大小,返回一个逻辑值。

注意:

(1)注意区分运算符“=”和“==”。“=”是赋值运算符,“==”是关系运算符。

(2)对实数进行相等判断可能得不到正确的结果,例如“1.0/3*3.0==1.0”的结果为0.

(3)关系表达式中可以出现赋值运算符,如“a>(b=0)”,但是不能写成“a>b=0”的形式。因为关系运算符的优先级高于赋值运算符,表达式“a>b=0”相当于“(a>b)=0”,赋值运算符左边不是变量,会出现编译错误。

关系表达式主要用于分支结构中的条件判断。关系表达式的结果是一个逻辑值“真”或“假”,由于C语言中没有逻辑类型的数据,因此用“1”表示“真”,“0”表示“假”。

例4.3

 

 

4.2.2 逻辑运算符和逻辑表达式

1.逻辑运算符

 关系表达式只能描述单一的条件。对于较复杂的复合条件,例如“x小于 10 且x大于4”,如果用关系表达式“4<x<10”来描述,则当 ×=2 时,由于关系运算符是左结合的,因此先计算“4<x”,其值为 0;然后再计算“0<10”,其值为 1:即说明当x=2时满足关系“K<x<10”,很显然是错误的。此时需要用到逻辑运算符将若干个关系表达式连接起来才能正确捕述上述关系。

                               表4.2  逻辑运算符

运算符 && ||
名称 逻辑非 逻辑与 逻辑或
结合性 右结合 左结合 左结合
优先级

注意:与运算符&&和或运算符||都是双目运算符,非运算符!为单目运算符。

2.逻辑表达式

用逻辑运算符将两个表达式连接起来的式子称为逻辑表达式。

                               一般形式:表达式1  逻辑运算符  表达式2

                                                或逻辑运算符  表达式1

                                           表4.3   逻辑运算的真值表

x y !x x&&y x||y
0 0 1 0 0
0 1 1 0 1
1 0 0 0 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值