if 语句与switch语句
目录
一、if语句
1.if语句-单分支结构
2.if…else语句-双分支结构
3.if…else if…else语句-多分支结构
4、if语句的嵌套
二、switch语句
三、if语句与switch语句的区别
总结
一、if语句
if语句是指编程语言(包括c语言、C#、VB、java、汇编语言等)中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。
if语句的三种形式
-if语句 单分支结构
-if…else 双分支结构
-if…else if…else 多分支结构
1.if语句-单分支结构
语法格式:
if(表达式)
{
语句块
}
例如:判断一个数为正数
#include<stdio.h>
int main()
{int a;scanf("%d",&a);if(a>0){printf("%d是正数.\n",a);}return 0;
}
2.if…else语句-双分支结构
语法格式:
if(表达式)
{
语句块1
}
else
{
语句块2
}
例如:判断一个数是奇数还是偶数
#include<stdio.h>
int main()
{int a;pfintf(“请输入一个整数:”);scanf("%d",&a);if(a%2==0)printf(“%d为偶数!”,a);elseprintf(“%d为奇数!”)return 0;
}
3.if…else if…else语句-多分支结构
语法格式:
if(表达式1) {语句块1}
else if(表达式2){语句块2}
else if(表达式3){语句块3}
……
else if(表达式n){语句块n}
else{语句块m}
#include<stdio.h>
int main()
{char c;printf("Input a character:");scanf("%c",&c);if(c>=‘a’ && c<='z'|| c>='A' && c<='Z')printf("It is an English character.\n");else if(c>='0' && c<='9')printf("It is a digital character.\n");elseprintf("It is other character.\n");return 0
}
多分支语句中的else if中间是有空格的。
单双分支语句的集中书写格式同样适用于多分支语句。
多分支语句中的判断条件一旦被满足,便终止往下判断。
4、if语句的嵌套
if(表达式1)
{
if(表达式2)语句1
[eise 语句2
}
if(表达式1)
{
if(表达式2)语句1
[else 语句2]
}
else 语句3
if(表达式1){语句1}
else
{
if(表达式2)语句2
[else 语句3】
}
if(表达式1)
{
if(表达式2)语句1
[else 语句2]
}
else
{ if(表达式3)语句3
[else 语句4]
}
- if语句的每个分支,又可以看做一个顺序执行程序,其中可以在添加分支。
- else语句会与距离它最近的if语句配对,除非有{}。
- 在没有熟悉掌握嵌套语句使用前,建议都添加{}。
二、switch语句
switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以C语言来说,switch(开关语句)常和case break default一起使用。
switch语句,即“切换”语句;case即“情况”。
switch语句的语法如下(switch,case,break和default是关键字):
switch ( 变量表达式 )
{
case 常量1 :语句;break;
case 常量2 :语句;break;
case 常量3 :语句;break;
...
case 常量n:语句;break;
default :语句;break;
}
当变量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果变量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句
#include<stdio.h>
int main()
{int a;printf("Input integer number:");scanf("%d",&a);switch(a){case 1: printf("Monday\n");break;case 2: printf("Tuesday\n");break;case 3: printf("Wednesday\n");break;case 4: printf("Thursday\n");break;case 5: printf("Friday\n");break;case 6: printf("Saturday\n");break;case 7: printf("Sunday\n");break;default: printf("error\n");}return 0
}
注意:
- 表达式的值为整数、字符、枚举类型。
- 常量表达式的值必须互不相同,否则会出现分支矛盾。
- case后面的常量表达式只起标号作用。一般情况下需用break语句跳出switch语句。
- 语句块可以是一条语句,或复合语句,可以不用{}。
- case和default出现的先后次序并不影响执行结果。
- 多个case标号可共用一组执行语句。
三、if语句与switch语句的区别
1、if语句应用广泛并且实用。
2、switch语句效率更高,更精简。
3、用switch语句能做到的,用if语句都能做,反过来则不可以。
总结
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语句 二.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 ...
最新文章
- 值得深思的问题——分库分表就能无限扩容吗?
- 阿里云数据库产品HybridDB简介——OLAP数据库,支持行列混合存储,基于数据库Greenplum的开源版本,并且吸收PostgreSQL精髓...
- 完美的单例实现(The Perfect Singleton)
- 核心组件:IRule
- 我的世界服务器设置op显示,我的世界设置op权限 | 手游网游页游攻略大全
- 使用while和FOR循环分布打印字符串S='asdfer' 中的每一个元素
- 如何阻止表单的默认提交事件
- java字段偏移量什么意思_求结构体的字段的偏移量
- 开源无人机如何实现空对地框选撞击?
- 11111111111111111111
- PLC与7种常见输入输出设备的连接方式
- Excel实现数据项校验的功能---VBA的编写以及数据有效性的设置
- 买房的疯了-开发商笑不起来了(本文仅供新浪)
- echarts报错 Unkown series surface
- php 游戏开发swoole,Swoole+websocket多人在线游戏示例
- 阿联酋亚洲杯 伊朗2:0轻取越南 携手伊拉克、沙特提前出线
- 杰里之Linein api 数据结构【篇】
- thunderbird 日历
- 视频文件打不开怎么办?
- 机器视觉毕业设计 深度学习疲劳驾驶人脸检测系统 - python opencv
热门文章
- [bugku]-秋名山车神详解
- 关于计算机的网络作文,关于网络的作文:网络_450字
- 阅文集团面试题回答不完善的总结
- 重庆新地标佛罗伦萨小镇将开业;雅高宣布2021年开业新酒店计划;阅文集团出售懒人听书股权​ | 美通企业周刊...
- Python矩阵计算类:计算矩阵加和、矩阵乘积、矩阵转置、矩阵行列式值、伴随矩阵和逆矩阵
- 【Android】网页广告植入规避方案
- 情人节!原来程序员也可以那么浪漫!
- python slice start比end小_Python入门
- Shelve Silently - 静默搁置 (Git 功能)
- Micro(三)[服务创建]