文章目录

  • 前言
  • 一、if语句
  • 二、switch语句
  • 三、if语句与switch语句的相同点与不同点
  • 总结

前言

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

一、if语句

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

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

语法结构:

① if(表达式)

语句;

②if(表达式)

语句1;

else

语句2;

③if(表达式1)

语句1;

else if(表达式2)

语句2;

else

语句3;

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

例:

#include"stdafx.h"
int main()
{int age;printf("请输入年龄\n");scanf("%d",&age);if(18>age)printf("未成年\n");else if(18<=age && 45>=age)printf("青年\n");else if(46<=age && 69>=age)printf("中年\n");elseprintf("老年年\n");return 0;
}

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

例如:

#include"stdafx.h"
int main()
{int age;printf("请输入年龄\n");scanf("%d",&age);if(18>age)printf("未成年\n");else{if(18<=age && 45>=age)printf("青年\n");else if(46<=age && 69>=age)printf("中年\n");elseprintf("老年年\n");}return 0;
}

注意: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:

#include"stdafx.h"
int main()
{int day;printf("请输入一个数字\n");scanf("%d",&day);switch(day){case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf("星期三\n");break;case 4:printf("星期四\n");break;case 5:printf("星期五\n");break;case 6:printf("星期六\n");break;case 7:printf("星期天\n");}return 0;
}

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

例2:

#include"stdafx.h"
int main()
{int n=1;
int m=2;
switch(n)
{case 1:m++;
case 2:n++;
case 3:switch(n){case 1:n++;case 2:m++,n++;break;}
case 4:m++;
default:break;
}
printf("m=%d,n=%d\n",m,n);
return 0;
}

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

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

例3:

#include"stdafx.h"
int main()
{int day;printf("请输入一个数字\n");scanf("%d",&day);switch(day){case 1:printf("工作日\n");case 2:printf("工作日\n");case 3:printf("工作日\n");case 4:printf("工作日\n");case 5:printf("工作日\n");break;case 6:printf("休息日\n");case 7:printf("休息日\n");break;default:printf("输入错误\n");break;}return 0;
}

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

#include"stdafx.h"
int main()
{int day;printf("请输入一个数字\n");scanf("%d",&day);switch(day){case 1:case 2:case 3:case 4:case 5:printf("工作日\n");break;case 6:case 7:printf("休息日\n");break;default:printf("输入错误\n");break;}return 0;
}

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

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

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

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

个以内使用更具可读性

switch语句 条件语句

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

套多个语句


总结

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

if语句与switch语句相关推荐

  1. java中if结构用图表示_Java语法基础之选择结构的if语句、switch语句详解

    [前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...

  2. matlab if语句多个执行举例,初学Matlab,有两个语句,if语句和switch语句,有两个例子哪位大神能帮我讲讲...

    问题描述: 初学Matlab,有两个语句,if语句和switch语句,有两个例子哪位大神能帮我讲讲 if logical_expression statements elseif logical_ex ...

  3. if break语句_8、嵌套if语句、switch语句

    1.嵌套if语句 嵌套if语句是指在 if...else分支中还存在if...else 语句. 不大难,题目后期当练习再补. 2.switch语句 示例3.20: 看起来不难,先判断是否是2种情况,不 ...

  4. c语言switch中用ifelse,初学者求问:用if单分支选择语句替换switch语句?if.else呢...

    菜鸟求问:用if单分支选择语句替换switch语句?if...else呢? 主要是关于default情况的处理,代码如下: /* Fig. 4.7: fig04_07.c Counting lette ...

  5. java对比swith和if的不同,浅谈选择结构if语句和switch语句的区别

    1.选择结构if语句格式及其使用 A:if语句的格式: if(比较表达式1) { 语句体1; }else if(比较表达式2) { 语句体2; }else if(比较表达式3) { 语句体3; } . ...

  6. if 语句与switch语句

    目录 一.if语句 1.if语句-单分支结构 2.if-else语句-双分支结构 3.if-else if-else语句-多分支结构 4.if语句的嵌套 二.switch语句 三.if语句与switc ...

  7. if语句和switch语句

    文章目录 前言 一.if语句 二.switch语句 总结 前言 如果条件满足才能做某件事情,如果条件不满足就做另外一件事情,或者什么也不做.分支语句又被称为"判断语句",正因为有了 ...

  8. 《C语言实战教学》:if语句和switch语句

    前情提要 你好哇! 大家久等了,新的一期来了!怎么样?刚入门的有没有去看上一期的内容呢?是不是深深地感受到了C语言的魅力?还是感到恐惧呢?哈哈. 如果感觉到恐惧的话大可不必,跟着我学,我保证你能写出比 ...

  9. c语言入门----详解分支语句(switch语句)

    目录标题 前言 一.为什么会有switch语句 二.switch语句的基本形式 三.switch语句中的break 1.为什么会有break语句 2.break语句的使用 四.switch语句中的de ...

  10. 流程控制(内含scanner、if语句、switch语句、while和for循环)

    流程控制(内含scanner.if语句.switch语句.while和for循环) 用户交互Scanner 通过引用scanner类获取用户的输入,下面代码可以直接背着用 Scanner scanne ...

最新文章

  1. Developer Express 之 XtraReport如何显示设计窗体,打开已设计过的报表
  2. mybatis-通用Mapper
  3. 【转】Python-面向对象进阶
  4. spring5高级编程_Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新
  5. java虚拟机规范 51cto_java虚拟机
  6. Vue3---vue组件库
  7. android联系人添加公司,android添加联系人(直接添加到联系人数据库)
  8. 揭开《钢铁侠》AI管家贾维斯神秘面纱的扛鼎之作!
  9. 吉吉影音官网版 v2.7.2.8_p2p播放器​
  10. 《无敌大冒险》技术支持
  11. 【Scratch】青少年蓝桥杯_每日一题_12.01_角色装扮
  12. 自制BSL编程MSP430单片机
  13. 【Unity】如何使用MD5加密方式传递资料
  14. 容性耦合等离子体(CCP)和电感耦合等离子体(ICP)
  15. 根本不赚钱,你为何还坚持写博客?
  16. S32K系列S32K144学习笔记——ADC
  17. 基于对比学习的目标检测预训练方法
  18. tcpdump 详细解读
  19. 服务机器人有关的计算机技术,《服务机器人科技发展“十二五”专项规划》解读...
  20. 瑞典品牌Happy Plugs推出专为3至15岁少年设计的新耳机

热门文章

  1. 新茶饮的尽头是瓶装水?
  2. angular使用高德地图
  3. python seo 采集内容_SEO如何处理采集内容(4)–转自{GoGo闯}
  4. Bert源代码(二)模型
  5. python将一句话重复n次输出_在Python中创建单项重复n次的列表
  6. 大学计算机考试59分,大学期末考59分,你会找老师理论吗?很多人都猜错
  7. 计算机学院主管学生日常工作的是,学生会的年度计划书(网络版)doc(完整版)...
  8. Clouda开发随笔之block标签
  9. 【年薪百万之IT界大神成长之路零】年薪百万之IT界大神成长之路
  10. Ckeditor富文本编辑器的使用Smartupload文件上传