条件选择语句if else switch

来源:互联网 发布:粒子滤波算法流程图 编辑:程序博客网 时间:2024/05/17 17:17

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 用的都是长方形版本(非梯形版本),所有的条件处于水平状态
    最常用的条件选择放到最前,就是所谓的优化 







原创粉丝点击