4.2 关系运算符、逻辑运算符、条件运算符
4.2.1 关系运算符和关系表达式
1.关系运算符:用于判断两个操作数的大小关系。
运算符 | 含义 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
2.关系表达式:用关系运算符将两个表达式连接起来的式子称为关系表达式,关系表达式的一般形式为:表达式1 关系运算符 表达式2
4.2.2 逻辑运算符和逻辑表达式
1.
运算符 | ! | && | || |
名称 | 逻辑非 | 逻辑与 | 逻辑或 |
结合性 | 右结合 | 左结合 | 左结合 |
优先级 | 高————————————————————————低 |
注意:与运算符&&和或运算符||都是双目运算符,非运算符!为单目运算符。
2.逻辑表达式:用逻辑运算符将两个表达式连接起来的式子称为逻辑表达式,逻辑表达式的一般形式为:表达式1 逻辑运算符 表达式2。 或 逻辑运算符 表达式1。
x | y | !x | x&&y | x||y |
0 | 0 | 1 | 0 | 0 |
0 | 非0 | 1 | 0 | 1 |
非0 | 0 | 0 | 0 | 1 |
非0 | 非0 | 0 | 1 | 1 |
运算符 | ! | 算术运算符 | 关系运算符 | &&和|| | 赋值运算符 |
结合性 | 右结合 | 左结合 | 右结合 | ||
优先级 | 高————————————————————————低 |
4.2.3 条件运算符和条件表达式
1.条件运算符:条件运算符由"?"和":"两个符号组成,用于条件求值,它是一个三目运算符,需要三个操作数。条件运算符的优先级低于逻辑运算符、高于赋值运算符,它是右结合。
2.条件表达式:由条件运算符将三个表达式连接起来的式子称为条件表达式,其一般形式为:
表达式1?表达式2:表达式3。
4.3 使用if-else实现分支结构
4.3.1 if-else语句
1.双分支if语句:一般形式:if(表达式) 语句1;else 语句2;
2.单分支if语句:一般形式:if(表达式) 语句;
4.3.2 if语句的嵌套:一个if语句中又包含一个或多个if语句的现象称为if语句的嵌套。
对应原则:else总是与它前面最近的一个未匹配的if匹配。
4.3.3 多分支if语句:一般形式:if(表达式) 语句1; else if(表达式2) 语句2; ... else if(表达式n—1) 语句n—1; else 语句n;
4.4 使用switch语句实现分支结构
一般形式:switch(表达式)
{
case常量表达式1:语句1;break;
case常量表达式2:语句2;break;
...
case常量表达式n:语句n;break;
default:语句n+1;break;
}
关于switch语句的几点说明:
(1)switch后的表达式可以是任何表达式,其值只能为整型、字符型、枚举型之一。
(2)每一个case后面的常量表达式的值互不相同,否则就会出现互相矛盾的现象。
(3)各个case和default的出现次序不影响执行结果。
(4)可以让多个case共用一组执行语句。
(5)switch语句允许嵌套使用。
1.在switch语句格式中的每个语句后面都使用break语句
2.在switch语句格式中的部分语句后面使用break语句
3.在switch语句格式中不使用break语句