1. 选择结构和条件判断
C语言有两种选择语句:
a、if语句,用来实现两个分支的选择结构,if语句内又包含好几种形式;
b、switch语句,用来实现多分支的选择结构。
条件判断:包含关系表达式和逻辑表达式,是它属于选择结构的一部分,用于判断啥情况选择哪一条支路。
2. if语句的一般形式
if语句可以写成不同的形式,最常用的有以下三种
if (表达式) 语句 1 //没有else部分
if (表达式) //有else子句部分
语句 1
else
语句 2
if (表达式1) 语句 1
else if (表达式2) 语句2
else if(表达式3) 语句3
... ...
else if (表达式m) 语句m
else 语句 m+1
三种样式可以先记住,可以配合后边链接中的习题和答案一步一步去练习。
3. 关系运算符和逻辑表达式
3.1 关系运算符及优先次序
所谓“关系运算”就是“比较运算”,将两个数值进行比较,判断其比较结果是否符合给定条件。
C语言提供6种关系运算符:
<(等于),<=(小于等于),>(大于),>=(大于等于),==(等于),!=(不等于)
关于优先次序:
- 前4种优先级相同,后2种也相同。前4种大于后2种。
- 关系运算符优先级低于算术运算符。
- 关系运算符优先级高于赋值运算符。
3.2 关系表达式
用关系运算符将两个数值或数值表达式连接起来的式子,称为关系表达式。记住,关系表达式的值是一个逻辑值,即“真”或“假”。在C的逻辑运算中,以“1”代表“真”,以“0”代表“假”。
4. 逻辑运算符和逻辑表达式
4.1 逻辑运算符及其优先次序
C语言中有3种逻辑运算符:与(&&)或(||)非(!),与、或是双目运算符,即要两个运算对象;非是单目运算符,即要求有一个运算对象。
运算符 | 含义 | 举例 | 说明 |
&& | 逻辑与 | a && b | a和b都为真值才为真 |
|| | 逻辑或 | a || b | 有一个为真即为真 |
! | 逻辑非 | !a | 与a的真值相反 |
三种逻辑运算符的优先次序为:!(非) > &&(与)>||(或)
4.2 逻辑表达式
逻辑表达式的值应该是一个逻辑量“真”或“假”。C语言编译系统在表示逻辑运算结果时,用数值1代表“真”,用0代表“假”,在判断数值是否为真时,只看数值的量是否为0,数值为0即是假,否则均为真。
5. 条件运算符和条件表达式
“?”是一个条件运算符,而条件表达式的一般形式为:表达式 1 ? 表达式 2:表达式 3;当表达式1为真时,条件表达式等于表达式2,当表达式1为假时,条件表达式等于表达式3。
条件表达式示意图如下所示:
6. 选择结构嵌套
在if语句中又包含一个或多个if语句称为if语句的嵌套。其一般形式如下:
if(){
if() 语句1 //内嵌if
else 语句2
}
else{
if() 语句3 //内嵌if
else() 语句4
}
7. 用switch语句实现多分支选择结构
多分支语句switch,它的一般形式如下:
switch(表达式)
{
case 常量1: 语句 1
case 常量2: 语句 2
... ... ...
case 常量n: 语句 n
default: 语句n+1
}