选择是指:根据所指定的条件是否满足,决定从给定的几组操作中选择其一。 这里的条件有两种,分别为关系运算符和逻辑运算符。关系运算符具体分为:>,>=,<,<=,==,!=。关系运算比较简单,运算时考虑优先级与结合性即可,要注意关系运算的结果是一个逻辑值(真1,假0)。逻辑运算符具体分为:&&,||,!。&&在运算时遵循一假则假的规则,有短路特性(在前表达式为假时停止运算),并且规定必须先算前面的表达式,||在运算时遵循一真则真的规则,也有短路特性,并且也规定必须先算前面的表达式,!在运算时遵循真假相对的规则(真变假,假变真)。
C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?C语言中规定:非0即为真,0为假。
接下来讨论C语言中的分支语句,如下:
1.if语句,有三种形式:
(1)单分支语句
语法:
......
if (表达式)
{
语句;
}
......
语义:如果表达式为真,则执行语句;如果表达式为假,则 if 语句结束,程序继续执行 if 后面的语句 。
(2)双分支语句
语法:
if (表达式)
{
语句1;
}
else
{
语句2;
}
语义:如果表达式为真,则执行语句1;如果表达式为假,则执行语句2;if执行结束,程序继续往下执行代码 。
(3)多分支语句
语法:
if (表达式1)
{
语句1;
}
else if (表达式2)
{
语句2;
}
else
{
语句3;
}
语义:求解表达式1,如果为真执行语句1 ,如果为假判断表达式2,如果为真执行语句2,如果为假判断表达式3 ,if 语句结束,程序继续往下执行。
2.switch:
(1)switch (表达式)
{
case 常量表达式1: 语句1 break;
case 常量表达式2: 语句2 break;
case 常量表达式3: 语句3 break;
....
default: 语句n break;
}
语义:
求解表达式 --> 得到结果
匹配下面的case后的值
匹配到之后,执行对应case后的语句
直到,遇到break 或者遇到 switch 的 } 结束
(2)注意:
a. switch (表达式):表达式类型必须是整型,不能是浮点型
b. case 常量表达式:case 必须是个常量表达式