选择结构要解决的问题:根据某个条件是否满足来决定是否执行指定的操作任务,或者从给定的两种或多种操作选择其一。
C 语言中有两种选择语句:
if 语句的一般形式如下:
if (表达式) 语句 1
[else 语句 2]
if 语句最常用的有以下 3 种形式:
if (表达式)
语句 1
if (表达式)
语句 1
else
语句 2
if (表达式 1)
语句 1
else if (表达式 2)
语句 2
...
else
语句 n
在 C 语言中,比较符(或称比较运算符)成为关系运算符。
C 语言提供 6 中关系运算符:
关于优先次序:
用关系运算符将两个数值或数值表达式连接起来的式子,称为关系表达式。
关系表达式的值是一个逻辑值,即“真”或“假”。
在 C 的逻辑运算中,以“1”代表“真”,以“0”代表“假”。
用逻辑运算符将关系表达式或其他逻辑量连接起来的式子就是逻辑表达式。
有 3 种逻辑运算符,与(&&),或(||),非(!)。
表 4.1 C 逻辑运算符及其含义
运算符 | 含义 | 举例 | 说明 |
---|---|---|---|
&& | 逻辑与 | a&&b | 如果 a 和 b 都为真,则结果为真,否则为假 |
|| | 逻辑或 | a||b | 如果 a 和 b 有一个以上为真,则结果为真,二者都为假时,结果为假 |
! | 逻辑非 | !a | 如果 a 为假,则 !a 为真,如果 a 为真,则 !a 为假 |
在一个逻辑表达式中如果包含多个逻辑运算符,按以下的优先次序:
逻辑表达式的值是一个逻辑值“真”或“假”。
C 语言在表示逻辑运算结果时,用 1 代表“真”,用 0 代表“假”。
C 语言在判断一个量是否为“真”时,以 0 代表“假”,以非 0 代表“真”。
由系统给出的逻辑运算结果不是 0 就是 1。而在逻辑表达式中作为参加逻辑运算的运算对象可以是 0 或任何其他非 0 的数值。
实际上,逻辑运算符两侧的运算对象不但可以是 0 和 1,或者时 0 和非 0 的整数,也可以时字符型、浮点型、枚举型或指针型的纯量数据,最终以 0 和非 0 来判断它们属于“真”或“假”。
在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。
条件运算符由两个符号(? 和 :)组成,要求有 3 个操作对象,称为三目(元)运算符。它是 C 语言中唯一的一个三目运算符。
条件表达式的一般形式为:
表达式 1 ? 表达式 2 : 表达式 3
条件表达式相当于一个不带关键字 if 的 if 语句,可以处理简单的选择结构。
在 if 语句中又包含一个或多个 if 语句称为 if 语句的嵌套。其一般形式如下:
if ()
if ()
语句 1
else
语句 2
else
if ()
语句 3
else
语句 4
注意 if 与 else 的配对关系,else 总是与它上面的最近的未配对的 if 配对。
如果 if 与 else 的数目不一样,可以加花括号来确定配对关系。例如:
if ()
{
if ()
语句 1
}
else
语句 2
C 语言提供 switch 语句直接处理多分支选择,也可以用嵌套的 if 语句来处理。
switch 是多分支选择语句。switch 语句的作用是根据表达式的值,使流程跳转到不同的语句。switch 语句的一般形式如下:
switch (表达式)
{
case 常量 1 :
语句 1
case 常量 2 :
语句 2
...
case 常量 n :
语句 n
default :
语句 n + 1
}
原文:https://www.cnblogs.com/peabits/p/15207382.html