C 语言中的 switch 语句和 while 循环详解
C 语言中的 switch 语句
替代多重 if..else 语句,可以使用 switch 语句。switch 语句用于选择多个代码块中的一个来执行
switch(表达式) {
case x:
// 代码块
break;
case y:
// 代码块
break;
default:
// 代码块
工作原理
switch表达式只会被计算一次- 表达式的值与每个
case的值进行比较 - 如果找到匹配,则执行相应的代码块
break语句用于跳出switch块并停止执行default语句是可选的,如果找不到匹配的case,则执行它指定的代码
下面的示例使用星期几的数字来计算星期几的名称:
int day = 4;
switch (day) {
case 1:
printf("星期一");
break;
case 2:
printf("星期二");
break;
case 3:
printf("星期三");
break;
case 4:
printf("星期四");
break;
case 5:
printf("星期五");
break;
case 6:
printf("星期六");
break;
case 7:
printf("星期日");
break;
}
// 输出 "星期四" (星期 4)
break 关键字:
- 当 C 遇到
break关键字时,它会跳出switch块。 - 这将停止执行更多代码和块内部的
case测试。 - 当找到匹配项并完成任务时,就该休息了。没有必要进行更多测试。
break可以节省大量的执行时间,因为它“忽略”了switch块中所有其他代码的执行。
default 关键字:
default关键字用于指定在找不到case匹配时要运行的代码:
int day = 4;
switch (day) {
case 6:
printf("今天是星期六");
break;
case 7:
printf("今天是星期日");
break;
default:
printf("期待周末");
}
// 输出 "期待周末"
C 语言中的 while 循环
循环
循环可以执行一段代码,只要满足指定的条件。循环非常方便,因为它们可以节省时间、减少错误并使代码更易于阅读。
while 循环
只要指定的条件为真,while 循环就会一直循环执行一段代码块:
语法:
while (条件) {
// 要执行的代码块
}
在下面的示例中,只要一个变量 (i) 小于 5,循环中的代码就会一遍又一遍地运行:
示例
int i = 0;
while (i < 5) {
printf("%d\n", i);
i++;
}
注意: 不要忘记增加用于条件的变量 (i++),否则循环将永远不会结束!
do/while 循环
do/while 循环是 while 循环的一个变体。这个循环会在检查条件是否为真之前先执行一次代码块,然后只要条件为真,就会重复该循环。
语法:
do {
// 要执行的代码块
}
while (条件);
下面的示例使用了一个 do/while 循环。即使条件为假,循环也至少会执行一次,因为代码块是在测试条件之前执行的:
示例
int i = 0;
do {
printf("%d\n", i);
i++;
}
while (i < 5);
不要忘记增加用于条件的变量,否则循环将永远不会结束!
现实生活中的例子
为了展示 while 循环的实际例子,我们可以创建一个简单的“倒计时”程序:
示例
int countdown = 3;
while (countdown > 0) {
printf("%d\n", countdown);
countdown--;
}
printf("新年快乐!\n");
为了展示 while 循环结合 if else 语句的实际例子,假设我们玩一个 Yahtzee 游戏!
示例
如果骰子数字为 6,则打印“Yahtzee!”:
int dice = 1;
while (dice <= 6) {
if (dice < 6) {
printf("没有 Yahtzee\n");
} else {
printf("Yahtzee!\n");
}
dice = dice + 1;
}
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
C 语言中的 switch 语句和 while 循环详解的更多相关文章
- C 语言中的 switch 语句 case 后面是否需要加大括号
事件原由为编辑器的自动缩进,当 case 换行后不自动缩进. 于是在在想可以可否在 case 后面再大括号,让其自动缩进. 查了资料,发现 case 是可以加大括号的,相当于代码块. 而且还有另外一个 ...
- C语言中嵌入式SQL语句
原文:[转载]C语言中嵌入式SQL语句 http://blog.csdn.net/cnlht/archive/2007/12/12/1930960.aspx原文地址 实验内容: 掌握SQL Serve ...
- Java中的switch语句后面的控制表达式的数据类型
Java中的switch语句后面的控制表达式的数据类型 1.byte 2.char 3.short 4.int 5.枚举类型 6.Java 7允许java.lang.String类型
- 退出循环break,在while、for、do...while、循环中使用break语句退出当前循环,直接执行后面的代码。
在while.for.do...while循环中使用break语句退出当前循环,直接执行后面的代码. 格式如下: for(初始条件;判断条件;循环后条件值更新) { if(特殊情况) {break;} ...
- JS流程控制语句 退出循环break 在while、for、do...while、while循环中使用break语句退出当前循环,直接执行后面的代码。
退出循环break 在while.for.do...while.while循环中使用break语句退出当前循环,直接执行后面的代码. 格式如下: for(初始条件;判断条件;循环后条件值更新) { i ...
- 常用经典SQL语句大全完整版--详解+实例 (存)
常用经典SQL语句大全完整版--详解+实例 转 傻豆儿的博客 http://blog.sina.com.cn/shadou2012 http://blog.sina.com.cn/s/blog_84 ...
- 常用经典SQL语句大全完整版--详解+实例 《来自网络,很全没整理,寄存与此》
常用经典SQL语句大全完整版--详解+实例 下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML ...
- Day09:switch——case结构的使用详解
switch--case结构的使用详解 什么是switch--case结构 他也是一种多选择结构 switch--case结构是类于if--else的语法,通过比较而输出对应的内容: 通俗的讲,好比我 ...
- CSS中伪类及伪元素用法详解
CSS中伪类及伪元素用法详解 伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的 ...
- mysqldump的常用语句及各参数详解
mysqldump的常用语句及各参数详解 分类: MySQL 2011-01-11 17:55 1368人阅读 评论(0) 收藏 举报 数据库mysql服务器tableinsertdatabase m ...
随机推荐
- 使用go module导入本地包
go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具. 前提 假设我们有learngo和mypackage两个 ...
- ubuntu 中 docker 每次都输入 sudo 命令
查看用户组及成员 sudo cat /etc/group | grep docker 可以添加docker组 sudo groupadd docker 添加用户到docker组 sudo gpassw ...
- 【LeetCode回溯算法#02】组合总和III
组合总和III 力扣题目链接(opens new window) 找出所有相加之和为 n 的 k 个数的组合.组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字. 说明: 所有数字 ...
- Gitlab 16.9.0 用Access Token注册Gitlab Runner
升级到当前最新版Gitlab之后 在"管理中心"的"CI/CD"--"Runners"下,提示以前的那种注册令牌的方式已经过时了. 点击右上 ...
- 在.Net中使用Java代码?
前言 你没有看错,我确实在.Net6的项目中在编写java,我都using java了,算不算在写java那? using com.microsoft.sqlserver.jdbc; using ja ...
- Java 常用类 String的常用方法(2)
1 /** 2 * String 常用方法(2) 3 * boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束 4 * boolean startsWith ...
- 关于Java并发多线程的一点思考
写在开头 在过去的2023年双11活动中,天猫的累计访问人次达到了8亿,京东超60个品牌销售破10亿,直播观看人数3.0亿人次,订单支付频率1分钟之内可达百万级峰值,这样的瞬间高并发活动,给服务端带来 ...
- mysql中where条件查询
#进阶2:条件查询 /* 语法: SELECT 查询列表 FROM 表名 WHERE 筛选条件: 分类: 一.按条件表达式筛选 条件运算符:> < = <> >= < ...
- 解密prompt系列26. 人类思考vs模型思考:抽象和发散思维
在Chain of Thought出来后,出现过许多的优化方案例如Tree of thought, Graph of Thought, Algorithm of Thought等等,不过这些优化的出发 ...
- 代码片段管理软件 - 发现 utools 这个工具还行 windows软件
代码片段管理软件 - 发现 utools 这个工具还行 windows软件 介绍 这个软件不是专业的代码片段工具 好在还能凑合用 最完美的还是苹果那个软件,但是用的win没办法了 这个可以粘贴到vsc ...