文章目录

  • 前言
  • 文章重点
  • 1.什么是语句?
  • 2.选择语句
  • ==2.1 if语句==
    • if语句的语法结构
  • ==2.1.1悬空else==
  • ==2.1.2if书写形式的对比==
  • 2.switch语句
    • 2.1break在switch中的应用
    • 2.2default子语句
  • 总结

✨✨✨每个人都有着自己的旅程,慢慢走着自己的路,你总会有所发现.

编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。


前言

  • 本篇文章为读友总结了关于if语句,switch语句和break语句在switch中的使用,希望自己所总结的内容能帮到,正在困惑的你,如有错误希望在评论区指正,让我们一起交流进步!


本文开始

文章重点

  • 了解什么是语句
  • if的使用
  • switch的使用

C语言被称为是结构化的程序设计语言,它的分支都来源于生活,比如一条路我们一直顺利的走下去这属于 顺序结构;在走的过程中有了岔路我们可能会选择走那条路这就是 选择结构;如果迷路了一直绕圈走,这就是 循环结构;
为了解决生活中的问题, C语言就有了对应的顺序、选择、循环结构的实现,接下来让我们了解一下吧!

1.什么是语句?

  • 表达式语句
    函数调用语句
    控制语句
    复合语句
    空语句

为了更好的表达,我将以代码形式向大家讲解语句的书写.

#include<stdio.h>
int main()
{//表达式语句,就是写一个表达式即可2 + 3;//记住每个语句后面必须要有;冒号才算完整语句//函数调用语句,一般在函数调用时会用到add(2, 3);//空语句:一个冒号即可不需要带内容;return 0;
}

[说明]:本篇主要介绍控制语句
控制语句:用于控制程序的执行流程,以实现程序的各种结构方式.
c语言有9种控制语句分为三类:

  • 分支语句(条件判断语句):if语句、switch语句;
  • 循环语句:do while语句、while语句、for语句;
  • 转向语句:break语句、goto语句、continue语句、return语句;

循环会在下篇详细讲解,请大家不要担心.

2.选择语句

选择好比学习,我们要好好学习,校招拿到好的offer,如果躺平不努力学习,毕业可能失业,回家卖红薯.
这就是生活中的选择!

  • 面对生活中的岔口,你也该选择你的道路了!决定权在你的手中.

2.1 if语句

if语句的语法结构

使用 if 需要判断表达式是否为真
非0为真,0为假
为真选择语句执行,否者不执行该语句

  • if(表达式)
       语句;
  • if(表达式)
       语句1;
    else
       语句2;
  • 多分支if语句
    if(表达式1)
      语句2;
    else if(表达式2)
      语句2;
    else
      语句3;

代码演示if语句的使用 :

#include<stdio.h>
int main()
{//根据判断年龄判断是否成年/*int age = 16;if (age < 18){printf("未成年\n");}else{printf("成年\n");}*///多分支int age = 0;scanf("%d", &age);if (age < 18){printf("少年\n");}else if(age>=18&&age<=30){printf("青年");}else if (age >= 31 && age <= 55){printf("壮年");}else if (age >= 56 && age <= 90){printf("老年");}else{printf("老寿星");}return 0;
}

if 语句大括号使用规则
在只有一条语句时,使用if语句可以不带 { };
当语句大于等于两条时必须使用 { },不然if与默认只读取一条语句
这里的 { }又叫代码块,可以存放多条语句

2.1.1悬空else

  • 何为悬空呢?是不是有很大疑问?让我看一段代码来思考一下吧!
#include <stdio.h>
int main()
{int a = 0;int b = 2;if (a == 1)if (b == 2)printf("hehe\n");elseprintf("haha\n");return 0;
}

上述代码什么也不打印,看看有你有没有错呢?
这是为什么呢?我们来分析一下!

else的匹配规则:与最近的 if 相匹配,这里的else与if(b=2)相匹配,不能以为else与那个if对齐就跟谁匹配,这是错误的思想.

这里我们就可以意识到 好的代码风格 有多重要,正确的代码风格能使你的代码逻辑更清晰.让我们看一段改进过的代码,来体验一下!

#include <stdio.h>
int main()
{int a = 0;int b = 2;if (a == 1){if (b == 2)printf("hehe\n");}else{printf("haha\n");}return 0;
}
  • 是不是有很明显的区别,自己的思路是不是更清晰了呢?所以从现在做起保持自己的代码风格,让自己有一手优秀的代码风格!!!

2.1.2if书写形式的对比

代码风格能影响人观看的舒适度,我们来通过一段代码看看,他们会有多大区别!

 //代码示范1if (condition) {return x;}return y;//代码示范2if (condition){return x;}else{return y;}//代码示范3int num = 1;if (num == 5){printf("hehe\n");}//当变量与常量相等时,我们建议这样放置//代码4int num = 1;if (5 == num){printf("hehe\n");}//代码5(错误示范)
if (condition)
{return x;
}
else
{return y;
}

通过观察,显然代码2,代码4更清晰表达自己的逻辑,让人能够更快的阅读,还能避免一些问题BUG等等.如果写出代码5的样子,与前几个代码相比,好代码更加重要,所以小伙伴们更加要注重自己的代码风格.

2.switch语句

switch语句是一种分支语句,常用于多分.
比如:

输入1,输出星期一
输入2,输出星期二
输入3,输出星期三
输入4,输出星期四
输入5,输出星期五
输入6,输出星期六
输入7,输出星期日

  • 实现多分支也可以用if…else if … else形式,但是形式很复杂,我们怎么能够更简洁的表示,这里就要用到switch语句.让我们来看看吧!!!

语句结构

switch(整型表达式)
{
 case 整型常量表达式:
     语句;
}

2.1break在switch中的应用

  • 在switch语句中,我们没办法直接实现分支语句, 搭配break才能真正的实现分支.
  • break:在switch语句中遇见break时,会直接跳出switch语句

例如:

#include<stdio.h>
int main()
{int day = 0;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");break;}return 0;
}

进入 switch语句根据()中的表达式判断,表达式有特殊要求必须是 常量表达式或者枚举类型 ,从表达式进入那个语句项(如:表达式是6,就会进入case 6语句项),而 case 后面必须是 整型常量表达式 ,才可以使用.

有时候我们的需求会改变:

  • 要求输入1-5,输出是工作日
  • 输入6-7,输出休息日

我们可以在每个case 后面都重复一遍工作日,然后再跳出,但是这样我们会重复大量的工作,怎样才能更简洁一些呢?

//示范1:
#include<stdio.h>
int main()
{int day = 0;switch (day){case 1:printf("工作日\n");break;case 2:printf("#include<stdio.h>
int main()
{int day = 0;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");break;}return 0;\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");break;}return 0;

我们该怎么做呢,让我们来操作一下!

//示范2:
#include<stdio.h>
int main()
{int day = 0;switch (day){case 1:case 2:case 3:case 4:case 5:printf("工作日\n");break;case 6:case 7:printf("休息日\n");break;}default :printf("输入错误,请重新输入");break;return 0;
}

由示范2我们可以轻易对比出,break在switch语句中的重要作用,输入1-5如果没有break跳出,将会继续执行下面的语句,直到遇见break才会跳出

2.2default子语句

表达式中的值没有与case匹配的标签,会产生什么效果呢?

其实会跳过全部语句,程序也不会停止报错,这只是情况想的不全面所造成的,我们该怎么解决这个问题呢?

  • default:是通过判断常量表达式,发现没有匹配的case标签,会通过default标签,执行它后面的语句,但是需要注意,每个switch语句中只能有一个default子句,它可以出现在语句列表的任何位置,可以在case语句上面,也可以在case语句下面.

这里也有一个编程好习惯,对于default子句来说,它可以不加break,但是加上一个break可能会更好.

说了怎么多让我通过下面代码练习一下吧!

#include<stdio.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++;break;default :break;}printf("m=%d n=%d\n", m, n);return 0;
}
  • 这里switch语句式支持嵌套使用的,练习上述代码,思考一下,switch语句的用法,你的答案是否正确来对照一下吧!


总结

✨✨✨各位读友,本篇分享到内容是否更好的让你理解了选择与分支,如果对你有一点帮助给个

选择分支语句详解--(if与witch的使用)相关推荐

  1. C语言详解系列——分支语句详解if、switch

    文章目录 什么是语句 if语句 悬空else switch语句 break的使用 default 的使用 在之前的分享中,我们了解到了c语言是结构化的程序设计语言.分为顺序结构,选择结构,循环结构三大 ...

  2. c语言输入循环语句,C语言中输入输出和循环语句详解.ppt

    C语言中输入输出和循环语句详解 C语言的输入输和循环分支语句详解 本章主要向大家介绍下C语言的输入和输出功能以及循环分支语句的使用 第4章 顺序结构程序设计 3.1 C语言语句 3.2 赋值语句 3. ...

  3. 【Linux】shell脚本实战-if多分支条件语句详解

    文章目录 前言 多分支语句的语法 多分支语句举例: 1. 出嫁的条件 2. 管理http服务实战脚本 3. 猜数字游戏v1版本-if版本 总结 前言 前面我们已经学习过单分支语句和双分支语句的使用. ...

  4. es基本语句详解 查询语句详解

    es基本语句详解 查询语句详解 声明 Rest风格 索引的基本操作 1. 创建一个索引 2. 查看索引 我们使用elasticsearch-head 3. 删除索引 其它命令 ==文档的基本操作(重点 ...

  5. mysql的load data_【MySQL】load data语句详解(一)

    作者  罗小波 沃趣科技高级MySQL数据库工程师 load data语句详解 背景 数据库版本:MySQL 5.7.18 服务器信息:本地到处导入在10.10.30.241上演示,local远程导入 ...

  6. 单片机c语言常用的语句有几条,单片机C语言常用语句详解

    <单片机C语言常用语句详解>由会员分享,可在线阅读,更多相关<单片机C语言常用语句详解(22页珍藏版)>请在人人文库网上搜索. 1.C51编程中常见语句的总结.首先,C51定义 ...

  7. 单片机c语言常用语,单片机C语言常用语句详解

    <单片机C语言常用语句详解>由会员分享,可在线阅读,更多相关<单片机C语言常用语句详解(22页珍藏版)>请在人人文库网上搜索. 1.C51编程常用语句总结,一.C51定义SFR ...

  8. mysql explain语句_Mysql explain 语句详解

    explain 语句详解 explain 写在 select 前,如下 mysql> explain select * from user_info where id = 2\G ******* ...

  9. mysql切换用户sql语句,MySQL用户管理及SQL语句详解

    [(none)]>select user,host frommysql.user; #查询用户和主机+---------------+-----------+ | user | host | + ...

最新文章

  1. erlang web socket参考。
  2. codeforces685B
  3. GreenDao高级用法
  4. HDU 2955 Robberies
  5. Qt修炼手册1_溢美之词和Designer设计
  6. TCP 和 UDP,哪个更胜一筹
  7. python代码加密 混淆_Python程序的混淆和加密
  8. 【LeetCode笔记】96. 不同的二叉搜索树(Java、动态规划)
  9. 长江存储发布PCle4.0 固态硬盘致态TiPro7000,顺序读取7400MB/s
  10. UVA 10055(Hashmat the brave warrior )
  11. 修改服务器的AJP监听地址,实习记录(五) - AJP协议文件读取漏洞
  12. 苹果电脑怎么看html5,苹果Mac系统看HTML5视频教程介绍
  13. 21 PagerTabStrip-PagerTitleStrip-viewPager
  14. 烂泥:学习ssh之ssh隧道应用
  15. java google 离线地图开发_如何发布google离线地图及二次开发API
  16. Docker笔记(基础篇)
  17. Python压缩解压zip文件
  18. 如何下载秦皇岛市卫星地图高清版大图
  19. 学生个人html静态网页制作 基于HTML+CSS+JavaScript+jquery仿苏宁易购官网商城模板
  20. 应用交付学习笔记三-BIG-IP LTM健康检查

热门文章

  1. java pattern.quote_Java Pattern quote(String)用法及代码示例
  2. 好佳居窗帘十大品牌 窗帘如何搭配才更有情调
  3. RocketMQ集群部署结构
  4. mysql split 字符串
  5. hdoj 1045 Fire Net 直接枚举 模拟就好了
  6. OSChina 周五乱弹 ——我想对喷子说,别停下你探索的脚步!
  7. ubuntu下跑魔兽世界
  8. 计算机可编程控制系统实际应用,可编程控制器与计算机通讯的应用
  9. Z-ARR-AMC, 90468-18-1, Cbz-Ala-Arg-Arg-AMC
  10. StudyJams-第06课_篮球记分板