分支结构if、else、switch的使用
- if语句
- if...else语句
- if...else嵌套
- if...else 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结构的表达式必须为常量表达式。


![[架构之路-172]-《软考-系统分析师》-5-数据库系统-5- 数据库设计与建模(逻辑设计-实体关系图ER图-关系图、物理设计)](https://img-blog.csdnimg.cn/3138b7d64ef74fdc845a992a3b21a107.png)










![[CoderChef复盘] START86 div4 20230419】](https://img-blog.csdnimg.cn/41bbc5270d064091a2ea16d1bae11ed0.png)





