分支语句
if语句
单一语句:在任何一个表达式后面加上分号(;);
如: c = a+b;
复合语句:用一对花括号{}括起来 的语句块,在语法上等效于一个单一语句。
if语句:
if语句是最常用的一种分支语句,也称为条件语句。
if(p!=NULL){
cout << *p <<endl;
}else{
;
}
注意:比较好的编程规范是if的花括号{}不允许不写,即使只是一个单一语句;
单分支语句
双分支语句
多分支语句
switch 语句
switch的一般形式:
switch(表达式)
{
case 常数1:语句1;break;
case 常数2:语句2;break;
…
case 常数n:语句n;break;
default:语句n+1;
}
switch和if对比
typedef enum _COLOR
{
RED,
GREEN,
BLUE,
UNKNOW
} COLOR;
COLOR color0;
color0=BLUE;
//if语句
int c0=0
if(color0==RED){
c0+=1;
}
else if(color0==GREEN){
c0+=2;
}
else if(color0==BLUE){
//...
}
//switch语句
switch(color0)
{
case RED:
c0+=1;
break;
case GREEN:
c0+=2;
break;
...
}
//...
使用场景
- switch只支持常量值固定相等的分支判断;
- if还可以判断区间范围;
- 用switch能做的,有if都能做,但反过来则不行。
性能比较
- 分支少时,差别不是很大;分支多时,switch性能较高;
- if开始处几个分支效果高,之后效率递减;
- switch所有case的速度几乎一样;