当前位置:   article > 正文

if语句与switch语句_switch和if

switch和if

文章目录


前言

在写程序的时候我们经常会对数据进行一些处理,比如我们要对某个数据进行判断的时候,那么我们就要使用if语句和switch语句。

一、if语句

概述:if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的操作。

if语句有三种表达结构,如下:

语法结构:

① if(表达式)

          语句;

②if(表达式)

         语句1;

    else

          语句2;

③if(表达式1)

         语句1;

    else if(表达式2)

          语句2;

    else

            语句3;

(执行多条语句时要记住用代码块) 

例:

  1. #include"stdafx.h"
  2. int main()
  3. {
  4. int age;
  5. printf("请输入年龄\n");
  6. scanf("%d",&age);
  7. if(18>age)
  8. printf("未成年\n");
  9. else if(18<=age && 45>=age)
  10. printf("青年\n");
  11. else if(46<=age && 69>=age)
  12. printf("中年\n");
  13. else
  14. printf("老年年\n");
  15. return 0;
  16. }

同时在else后面还可以嵌套if语句

例如:

  1. #include"stdafx.h"
  2. int main()
  3. {
  4. int age;
  5. printf("请输入年龄\n");
  6. scanf("%d",&age);
  7. if(18>age)
  8. printf("未成年\n");
  9. else
  10. {
  11. if(18<=age && 45>=age)
  12. printf("青年\n");
  13. else if(46<=age && 69>=age)
  14. printf("中年\n");
  15. else
  16. printf("老年年\n");
  17. }
  18. return 0;
  19. }

注意:else自动与距离最近且未匹配的if匹配

二、switch语句

概述:switch 是多分支选择语句(用法与if语句相似),但整形表达式结果为多少,就从第几个case进入,然后进行判断

switch语句的表达结构:

switch(整形表达式)

{

case 1 :

                语句1;//整形常量表达式​​​​​​​

                break;//可省略(为终止语句)

case 2 :

                语句2;//整形常量表达式​​​​​​​

                ​​​​​​​break;//可省略(为终止语句)

case 3 :

                语句3;//整形常量表达式​​​​​​​

                ​​​​​​​break;//可省略(为终止语句)

case n :

                语句n;//整形常量表达式​​​​​​​

                ​​​​​​​break;//可省略(为终止语句)

default :                      //默认情况

                语句n+1;

}

switch语句:

                     ①‘ case ’进‘ break ’出 

例1:

  1. #include"stdafx.h"
  2. int main()
  3. {
  4. int day;
  5. printf("请输入一个数字\n");
  6. scanf("%d",&day);
  7. switch(day)
  8. {
  9. case 1:
  10. printf("星期一\n");
  11. break;
  12. case 2:
  13. printf("星期二\n");
  14. break;
  15. case 3:
  16. printf("星期三\n");
  17. break;
  18. case 4:
  19. printf("星期四\n");
  20. break;
  21. case 5:
  22. printf("星期五\n");
  23. break;
  24. case 6:
  25. printf("星期六\n");
  26. break;
  27. case 7:
  28. printf("星期天\n");
  29. }
  30. return 0;
  31. }

 

                     ②允许嵌套使用,也可以掺杂if语句

例2:

  1. #include"stdafx.h"
  2. int main()
  3. {int n=1;
  4. int m=2;
  5. switch(n)
  6. {case 1:
  7. m++;
  8. case 2:
  9. n++;
  10. case 3:
  11. switch(n)
  12. {
  13. case 1:
  14. n++;
  15. case 2:
  16. m++,n++;
  17. break;
  18. }
  19. case 4:
  20. m++;
  21. default:
  22. break;
  23. }
  24. printf("m=%d,n=%d\n",m,n);
  25. return 0;
  26. }

                     

                     ③如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个

                        case 句后面加上break,跳出switch语句(根据要求自行决定)

例3:

  1. #include"stdafx.h"
  2. int main()
  3. {
  4. int day;
  5. printf("请输入一个数字\n");
  6. scanf("%d",&day);
  7. switch(day)
  8. {
  9. case 1:
  10. printf("工作日\n");
  11. case 2:
  12. printf("工作日\n");
  13. case 3:
  14. printf("工作日\n");
  15. case 4:
  16. printf("工作日\n");
  17. case 5:
  18. printf("工作日\n");
  19. break;
  20. case 6:
  21. printf("休息日\n");
  22. case 7:
  23. printf("休息日\n");
  24. break;
  25. default:
  26. printf("输入错误\n");
  27. break;
  28. }
  29. return 0;
  30. }

 但这种形式比较冗长,可读性较差,所以一般采用下面这种形式

  1. #include"stdafx.h"
  2. int main()
  3. {
  4. int day;
  5. printf("请输入一个数字\n");
  6. scanf("%d",&day);
  7. switch(day)
  8. {
  9. case 1:
  10. case 2:
  11. case 3:
  12. case 4:
  13. case 5:
  14. printf("工作日\n");
  15. break;
  16. case 6:
  17. case 7:
  18. printf("休息日\n");
  19. break;
  20. default:
  21. printf("输入错误\n");
  22. break;
  23. }
  24. return 0;
  25. }

注意:case后面必须为整形且为常量表达式

三、if语句与switch语句的相同点与不同点

相同点不同点
if语句条件语句

适用于任意语句,但嵌套的if要在3

个以内使用更具可读性

switch语句条件语句

仅适用于整数类型表达式,但可嵌

套多个语句


总结

通过学习条件语句,当我们面对选择时,可以有if和switch两种选择。要灵活运用if和switch语句,这样可以让我们的代码拥有更佳的可读性,并在编写代码时有更高的效率。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/142172
推荐阅读
相关标签
  

闽ICP备14008679号