Declaración de rama
si declaración
Declaración única : agregue un punto y coma (;) después de cualquier expresión;
como: c = a + b;
declaración compuesta : un bloque de instrucciones encerrado por un par de llaves {} es sintácticamente equivalente a una sola declaración .
instrucción if : instrucción
if es la instrucción de rama más utilizada, también llamada instrucción condicional.
if(p!=NULL){
cout << *p <<endl;
}else{
;
}
Nota : Una mejor programación especificación es que si no se permite que las llaves {} para ser escrito, incluso si es sólo una única instrucción;
declaración única rama
Declaración de doble rama
Declaración de varias ramas
declaración de cambio
La forma general de
switch : switch (expresión)
{ caso constante 1: instrucción 1; romper; caso constante 2: instrucción 2; romper; … caso constante n: instrucción n; romper; predeterminado: instrucción n + 1; }
Comparación de interruptor y si
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;
...
}
//...
escenas que se utilizarán
- Switch solo admite juicios de rama con valores constantes fijos e iguales;
- si también puede determinar el rango del intervalo;
- Lo que se puede hacer con un interruptor se puede hacer con if, pero no al revés.
Comparación de rendimiento
- Cuando hay pocas ramas, la diferencia no es muy grande, cuando hay muchas ramas, el rendimiento del cambio es mayor;
- Varias ramas al comienzo de si son efectivas, y luego la eficiencia disminuye;
- La velocidad de todas las cajas de interruptores es casi la misma;