if语句与switch语句
文章目录
- 前言
- 一、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语句相关推荐
- java中if结构用图表示_Java语法基础之选择结构的if语句、switch语句详解
[前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过 ...
- matlab if语句多个执行举例,初学Matlab,有两个语句,if语句和switch语句,有两个例子哪位大神能帮我讲讲...
问题描述: 初学Matlab,有两个语句,if语句和switch语句,有两个例子哪位大神能帮我讲讲 if logical_expression statements elseif logical_ex ...
- if break语句_8、嵌套if语句、switch语句
1.嵌套if语句 嵌套if语句是指在 if...else分支中还存在if...else 语句. 不大难,题目后期当练习再补. 2.switch语句 示例3.20: 看起来不难,先判断是否是2种情况,不 ...
- c语言switch中用ifelse,初学者求问:用if单分支选择语句替换switch语句?if.else呢...
菜鸟求问:用if单分支选择语句替换switch语句?if...else呢? 主要是关于default情况的处理,代码如下: /* Fig. 4.7: fig04_07.c Counting lette ...
- java对比swith和if的不同,浅谈选择结构if语句和switch语句的区别
1.选择结构if语句格式及其使用 A:if语句的格式: if(比较表达式1) { 语句体1; }else if(比较表达式2) { 语句体2; }else if(比较表达式3) { 语句体3; } . ...
- if 语句与switch语句
目录 一.if语句 1.if语句-单分支结构 2.if-else语句-双分支结构 3.if-else if-else语句-多分支结构 4.if语句的嵌套 二.switch语句 三.if语句与switc ...
- if语句和switch语句
文章目录 前言 一.if语句 二.switch语句 总结 前言 如果条件满足才能做某件事情,如果条件不满足就做另外一件事情,或者什么也不做.分支语句又被称为"判断语句",正因为有了 ...
- 《C语言实战教学》:if语句和switch语句
前情提要 你好哇! 大家久等了,新的一期来了!怎么样?刚入门的有没有去看上一期的内容呢?是不是深深地感受到了C语言的魅力?还是感到恐惧呢?哈哈. 如果感觉到恐惧的话大可不必,跟着我学,我保证你能写出比 ...
- c语言入门----详解分支语句(switch语句)
目录标题 前言 一.为什么会有switch语句 二.switch语句的基本形式 三.switch语句中的break 1.为什么会有break语句 2.break语句的使用 四.switch语句中的de ...
- 流程控制(内含scanner、if语句、switch语句、while和for循环)
流程控制(内含scanner.if语句.switch语句.while和for循环) 用户交互Scanner 通过引用scanner类获取用户的输入,下面代码可以直接背着用 Scanner scanne ...
最新文章
- Developer Express 之 XtraReport如何显示设计窗体,打开已设计过的报表
- mybatis-通用Mapper
- 【转】Python-面向对象进阶
- spring5高级编程_Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新
- java虚拟机规范 51cto_java虚拟机
- Vue3---vue组件库
- android联系人添加公司,android添加联系人(直接添加到联系人数据库)
- 揭开《钢铁侠》AI管家贾维斯神秘面纱的扛鼎之作!
- 吉吉影音官网版 v2.7.2.8_p2p播放器​
- 《无敌大冒险》技术支持
- 【Scratch】青少年蓝桥杯_每日一题_12.01_角色装扮
- 自制BSL编程MSP430单片机
- 【Unity】如何使用MD5加密方式传递资料
- 容性耦合等离子体(CCP)和电感耦合等离子体(ICP)
- 根本不赚钱,你为何还坚持写博客?
- S32K系列S32K144学习笔记——ADC
- 基于对比学习的目标检测预训练方法
- tcpdump 详细解读
- 服务机器人有关的计算机技术,《服务机器人科技发展“十二五”专项规划》解读...
- 瑞典品牌Happy Plugs推出专为3至15岁少年设计的新耳机
热门文章
- 新茶饮的尽头是瓶装水?
- angular使用高德地图
- python seo 采集内容_SEO如何处理采集内容(4)–转自{GoGo闯}
- Bert源代码(二)模型
- python将一句话重复n次输出_在Python中创建单项重复n次的列表
- 大学计算机考试59分,大学期末考59分,你会找老师理论吗?很多人都猜错
- 计算机学院主管学生日常工作的是,学生会的年度计划书(网络版)doc(完整版)...
- Clouda开发随笔之block标签
- 【年薪百万之IT界大神成长之路零】年薪百万之IT界大神成长之路
- Ckeditor富文本编辑器的使用Smartupload文件上传