if条件判断
语法:
if ( 条件 ) {
条件成立,执行的代码
}
注意
- if 之后的是没有表示结束的符号:
;
,除非if条件句为空,此时if语句可以删除。 - if条件只有一行代码最好写大括号
{ if代码区 }
。
if-else条件判断
语法:
if (条件) {
条件成立,执行的代码;
} else {
条件不成立,执行的代码;
}
语义:两分支的判断条件
注意:
-
else
总是和最近的if
进行匹配。if
有大括号后要与大括号if
进行匹配。
嵌套的判断
语法:
if (条件) {
if (条件) {
代码段;
} else {
代码段;
}
} else {
if (条件) {
代码段;
}
}
语义:当if的条件满足或不满足的时候要执行的语句也是一条if或if-else语句。
注意:
- 在
if
或else
后面总是用{}
,即使只有一条语句也要添加{}
级联的if-else
语法:
if (条件1) {
代码1;
} else if (条件2) {
代码2;
}
...
else {
代码n;
}
语义:多分支
注意:
- 嵌套的判断和级联的if-else最好使用单一出口,这样能够提高代码的灵活性。
#include <stdio.h>
int main() {
int a;
if (条件) {
过程1
} else if (条件) {
过程2
} else {
过程n
}
// 单一出口设置
}
多路分支switch-case
语法:
switch(控制表达式) {
case 常量1:
// 代码段
break;
case 常量2:
// 代码段
break;
...
default:
// 代码段
break;
}
语义:switch
语句可以看做是一种基于计算的跳转,计算控制表达式的值后,程序会跳转到相匹配的case
处。case
只是说明switch
内部位置的路标,在执行完分支中的最后一条语句后,如果没有break
,就会顺序执行到下面的case
中去,直到遇到break
或者switch
结束。
注意:
- 控制表达式只能是整数型的结果。
- 常量可以是常数,也可以是常数表达式。
- 当
switch
语句作为条件判断的替换语句时,break
关键字一定不能省略。
if语句中常见的错误
1.忘了大括号
永远在if
和else
后面加上大括号,即使当时后面只有一条语句。
2.if后面的分号
不要在if
括号后加分号。
3.错误使用==
和=
if
只要求()
里面的值是零或非零。
在进行编译时,IDE会提示warning
,因此我们要重视warning
,保证我们的程序经过编译后为0 error, 0 warning
。
4.代码风格
- 在
if
和else
之后必须加上大括号形成语句块。 - 大括号内的语句缩进一个tab的位置。