C++中的分支语句

if语句

单一语句:在任何一个表达式后面加上分号(;);
如: c = a+b;
复合语句:用一对花括号{}括起来 的语句块,在语法上等效于一个单一语句。

if语句
if语句是最常用的一种分支语句,也称为条件语句。

if(p!=NULL){
    
    
	cout << *p <<endl;
}else{
    
    
	;
}

注意:比较好的编程规范是if的花括号{}不允许不写,即使只是一个单一语句;
单分支语句

Created with Raphaël 2.2.0 开始 表达式? 语句 结束 yes no

双分支语句

Created with Raphaël 2.2.0 开始 表达式? 语句1 结束 语句2 yes no

多分支语句

Created with Raphaël 2.2.0 开始 表达式1? 语句1 结束 表达式2? 语句2 语句3 yes no yes no

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;
...
}
//... 

使用场景

  1. switch只支持常量值固定相等的分支判断;
  2. if还可以判断区间范围;
  3. 用switch能做的,有if都能做,但反过来则不行。

性能比较

  1. 分支少时,差别不是很大;分支多时,switch性能较高;
  2. if开始处几个分支效果高,之后效率递减;
  3. switch所有case的速度几乎一样;

猜你喜欢

转载自blog.csdn.net/yasuofenglei/article/details/108517554