分支结构if、else、switch的使用
if语句
语法:
if(表达式){
语句;
}
如果表达式为真,则执行{}
里面的语句。如果为假,则不执行。示例代码:
int main(){
int a;
scanf("%d",&a);
if (a > 5){
printf("I executed it");
}
return 0;
}
if…else语句
语法:
if(表达式){
语句1;
}
else{
语句2;
}
如果表达式为真吗,则执行语句1,如果表达式为假,则执行语句2。示例代码:
int main(){
int a;
scanf("%d",&a);
if (a > 5){
printf("I executed 1");
}
else
printf("I executed 2");
return 0;
}
if…else嵌套
语法:
if(表达式1){
if(表达式2){
printf("语句1")
}
else{
printf("语句2")
}
else{
printf("语句3")
}
}
如果表达式1为真,则再次进行判断,如果表达式2为真则执行语句1;如果表达式2为假,则执行语句2;如果表达式1为假,则执行语句3。示例代码:
int main(){
int a;
scanf("%d",&a);
if (a > 5){
if(a>7)
printf("I executed 1");
else
printf("I executed 2");
}
else
printf("I executed 3");
return 0;
}
if…else if…else语句
语法:
if(表达式1){
语句1;
}
else if(表达式2){
语句2;
}
else if(表达式3){
语句3;
}
…
else{
语句n;
}
如果表达式1为真,则执行语句1;如果为假,则执行语句2;依次进行判断,直到执行到为真的表达式,如果都为假,则执行else中的语句。示例代码:
int main(){
int a;
scanf("%d",&a);
if (a < 5){
printf("I executed 1");
}
else if(a < 10){
printf("I executed 2");
}
else if(a == 15){
printf("I executed 3");
}
else
printf("I executed 4");
return 0;
}
switch语句
语法:
switch(表达式){
case 常量表达式1:语句1;break;
case 常量表达式2:语句2;break;
case 常量表达式3:语句3;break;
…
default:语句n;
}
根据表达式的值,逐个比较常量表达式,如果表达式的值等于常量表达式的值时,则执行相应常量表达式后的语句。如果表达式的值与所有常量表达式的值都不相等,则执行default后面的语句。示例代码:
int main(){
int a;
scanf("%d",&a);
switch (a) {
case 1:
printf("I excuted 1");
break;
case 2:
printf("I excuted 2");
break;
case 3:
printf("I excuted 3");
break;
default:
printf("I excuted default");
}
return 0;
}
switch结构还可以跟if…else if…else语句进行嵌套,这里就不再进行叙述了。需要注意的是switch结构的表达式必须为常量表达式。