if else与if elseif的区别
单路(if)和多路(if else)中多个If条件语句会全部执行一遍再将结果显示(影响效率)
int a=4;
if (a == 4)
{
printf("a=4"); //尽管此时已经满足条件,但是之后的if还会进行判断
}
if (a==1)
{
printf("a=1");
}
if (a == 2)
{
printf("a=2");
}
if (a == 3)
{
printf("a=3");
}
多路分支(if elseif) 相当于if嵌套在else中,满足其中一个条件便不再执行之后的判断(提高效率节省时间)
int a=4;
if (a == 4)
{
printf("a=4");
}
else if (a == 3)
{
printf("a=3");
}
else if (a == 2)
{
printf("a=2");
}
else if (a == 1)
{
printf("a=1");
}
else
{
printf("找不到符合条件");
}
switch结构
int choice;
printf("请输入中奖号码:");
scanf("%d", &choice);
switch (choice) //choice 只能是整型或者字符型
{
case 5: //优化处理 将概率高的情况放在判断的顶端
printf("谢谢惠顾\n");
break;
case 4: // case后接常量或者常量表达式(如1 + 9) 但是case之间不能重复
printf("恭喜你获得纪念品\n");
break;
case 3:
printf("恭喜你获得三等奖\n");
break;
case 2:
printf("恭喜你获得二等奖\n");
break;
case 1:
printf("恭喜你获得一等奖\n");
break;
default:
printf("空白\n");
break;
}
小节:
1.break 只出现在循环和switch中
2.如果没有break switch不再匹配,直接往下执行,直到遇到break default
3.if else if 常常用来表达范围的选择 switch常常用来表达点的选择
4.优化:
无论 if else if还是switch 用的都是长方形版本(非梯形版本),所有的条件处于水平状态
最常用的条件选择放到最前,就是所谓的优化
2.如果没有break switch不再匹配,直接往下执行,直到遇到break default
3.if else if 常常用来表达范围的选择 switch常常用来表达点的选择
4.优化:
无论 if else if还是switch 用的都是长方形版本(非梯形版本),所有的条件处于水平状态
最常用的条件选择放到最前,就是所谓的优化