目录

一、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]

}

  1. if语句的每个分支,又可以看做一个顺序执行程序,其中可以在添加分支。
  2. else语句会与距离它最近的if语句配对,除非有{}。
  3. 在没有熟悉掌握嵌套语句使用前,建议都添加{}。

二、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
}

注意:

  1. 表达式的值为整数、字符、枚举类型。
  2. 常量表达式的值必须互不相同,否则会出现分支矛盾。
  3. case后面的常量表达式只起标号作用。一般情况下需用break语句跳出switch语句。
  4. 语句块可以是一条语句,或复合语句,可以不用{}。
  5. case和default出现的先后次序并不影响执行结果。
  6. 多个case标号可共用一组执行语句。

三、if语句与switch语句的区别

1、if语句应用广泛并且实用。

2、switch语句效率更高,更精简。

3、用switch语句能做到的,用if语句都能做,反过来则不可以。


总结

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语句 二.switch语句 总结 前言 如果条件满足才能做某件事情,如果条件不满足就做另外一件事情,或者什么也不做.分支语句又被称为"判断语句",正因为有了 ...

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

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

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

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

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

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

最新文章

  1. 值得深思的问题——分库分表就能无限扩容吗?
  2. 阿里云数据库产品HybridDB简介——OLAP数据库,支持行列混合存储,基于数据库Greenplum的开源版本,并且吸收PostgreSQL精髓...
  3. 完美的单例实现(The Perfect Singleton)
  4. 核心组件:IRule
  5. 我的世界服务器设置op显示,我的世界设置op权限 | 手游网游页游攻略大全
  6. 使用while和FOR循环分布打印字符串S='asdfer' 中的每一个元素
  7. 如何阻止表单的默认提交事件
  8. java字段偏移量什么意思_求结构体的字段的偏移量
  9. 开源无人机如何实现空对地框选撞击?
  10. 11111111111111111111
  11. PLC与7种常见输入输出设备的连接方式
  12. Excel实现数据项校验的功能---VBA的编写以及数据有效性的设置
  13. 买房的疯了-开发商笑不起来了(本文仅供新浪)
  14. echarts报错 Unkown series surface
  15. php 游戏开发swoole,Swoole+websocket多人在线游戏示例
  16. 阿联酋亚洲杯 伊朗2:0轻取越南 携手伊拉克、沙特提前出线
  17. 杰里之Linein api 数据结构【篇】
  18. thunderbird 日历
  19. 视频文件打不开怎么办?
  20. 机器视觉毕业设计 深度学习疲劳驾驶人脸检测系统 - python opencv

热门文章

  1. [bugku]-秋名山车神详解
  2. 关于计算机的网络作文,关于网络的作文:网络_450字
  3. 阅文集团面试题回答不完善的总结
  4. 重庆新地标佛罗伦萨小镇将开业;雅高宣布2021年开业新酒店计划;阅文集团出售懒人听书股权​ | 美通企业周刊...
  5. Python矩阵计算类:计算矩阵加和、矩阵乘积、矩阵转置、矩阵行列式值、伴随矩阵和逆矩阵
  6. 【Android】网页广告植入规避方案
  7. 情人节!原来程序员也可以那么浪漫!
  8. python slice start比end小_Python入门
  9. Shelve Silently - 静默搁置 (Git 功能)
  10. Micro(三)[服务创建]