一、判断
1、if语句
//形式1:单条执行语句
if (判断表达式) //")"后不得有分号
执行语句
//形式2:多条执行语句(复合语句)
if(判断表达式) {
执行语句1
执行语句2
...
} //"}"后也不得出现分号
- 计算两个值之间的关系,称为关系运算符。下表为常见的关系运算符
2、关系运算符
运算符 | 意义 |
---|---|
== | 相等 |
!= | 不相等 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
- 关系运算的结果只有两种:整数1(结果为真)和整数0(结果为假)。
- 所有的关系运算符的优先级都比算术运算符低,但是比赋值运算符高。判断是否相等的==和!=的优先级比其他的低,连续的关系运算从左到右进行运算。
3、if - else 语句
//形式1:单条执行语句
if (判断表达式) 执行语句 else 执行语句
//形式2:多条执行语句(复合语句)
if (判断表达式) {
执行语句1
执行语句2
...
}
else {
执行语句1
执行语句2
...
}
4、if 语句的嵌套
if (判断表达式1) {
执行语句
} if (判断表达式2) {
执行语句
}
else {
执行语句
}
else
和其最近的那个if
匹配;- 缩进格式不能按时
else
的匹配关系;
建议:
- 在
if
和else
后面始终都加上{}
,即便只有一条执行语句的时候。 - 相匹配的
if
和else
位置对齐。
5、if语句的级联
if (判断表达式1)
执行语句
else if (判断表达式2)
执行语句
...
else if (判断表达式)
执行语句
else
执行语句
6、if语句的常见错误
1、复合执行语句时,忘了加大括号
{}
。
- 对策:永远都在
if
和else
后面加上大括号。
2、
if
后面加分号。即:if (判断表达式); 语句 //上下两种代码等价 if (判断表达式) ; 语句
3、错误使用
==
和=
if
只要求()
里的值是零(判断为假)或非零(判断为真)
4、代码风格
- 在
if
和else
之后必须加上大括号{}
形成语句块;- 在大括号
{}
内的语句缩进一个tab的位置。
7、多路分支switch-case
格式:
switch (控制表达式) {
//控制表达式只能是整型值
case 常量表达式 : 语句 //此处的"常量表达式"可以是常数,也可以是常数计算表达式,例如"2"或"1+1"均可
...
case 常量表达式 : 语句
default : 语句
}
举例:
switch(type) {
case 1:
printf("type = 1");
break; //跳出判断
case 2