C语言学习笔记[22]:分支语句switch

switch语句

switch语句也是一种分支语句,常用于多分支的情况

switch语句的语法形式是:

switch(整型表达式)
{语句项;
}

而语句项是什么呢?

case 整型常量表达式:语句;

switch语句中的break

对于case 语句来说,我们day输入的多少就从case几进入,然后打印,但是由于没有break阻止其停止,所以才会全部打印出来

我们在每个case语句后加上break,效果就不一样了

#include <stdio.h>int main()
{int day = 0;scanf("%d", &day);switch(day){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;}return 0;
}

其实每个case后的break不加也是没错的,只要复合自己的逻辑即可。

int main()
{int day = 0;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;}return 0;
}

default选项

对于所有case不能匹配的选项,我们用default

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

default的位置无所谓,只要在switch语句中即可

并且switch语句允许嵌套使用

试问下面的代码输出什么呢?

#include <stdio.h>int main()
{int n = 1;int m = 2;switch (n){case 1:m++;case 2:n++;case 3:switch (n){ // switch允许嵌套使用case 1:n++;case 2:m++;n++;break;}case 4:m++;break;default:break;}printf("m = %d, n = %d\n", m, n);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/42834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于大数据技术Hadoop的气象分析可视化大屏设计和实现

博主介绍&#xff1a;硕士研究生&#xff0c;专注于信息化技术领域开发与管理&#xff0c;会使用java、标准c/c等开发语言&#xff0c;以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年&#xff0c;拥有近12年的管理工作经验&#xff0c;拥有较丰富的技术架…

如何处理 PostgreSQL 中由于表锁定导致的并发访问问题?

文章目录 一、表锁定的类型二、表锁定导致的并发访问问题三、解决方案&#xff08;一&#xff09;使用合适的锁定模式&#xff08;二&#xff09;优化事务处理&#xff08;三&#xff09;避免不必要的锁定&#xff08;四&#xff09;使用索引&#xff08;五&#xff09;监控和分…

使用GZip对npm run build打包的vendor.js文件进行压缩

vue-cli项目 安装npm i compression-webpack-plugin -D npm i compression-webpack-plugin -D使用&#xff1a;在vue.config.js文件中 const CompressionPlugin require(compression-webpack-plugin) module.exports {configureWebpack: {plugins: [new CompressionPlugin…

使用umi的history为url路由添加一个query参数,保留原本的querystring追加新参数

import { history } from umi;// 假设你想添加一个名为"newParam"的query参数&#xff0c;值为"newValue" function addQueryParamToUrl(paramName, paramValue) {const { search, pathname } history.location;const newSearchParams new URLSearchPara…

标准版视频检测终端功能有哪些? 捷顺高清视频车位引导系统怎么样?

随着城市化进程的加速&#xff0c;城市交通压力日益增大&#xff0c;停车难问题成为了许多城市居民的共同困扰。在这样的背景下&#xff0c;车位引导系统的出现&#xff0c;无疑为解决这一难题提供了一种有效的解决方案。车位引导系统利用先进的信息技术&#xff0c;通过实时监…

java限制并发

1.创建限制并发工具类 import lombok.extern.slf4j.Slf4j;/*** author: wangsheng* date: 2024/2/28 10:53*/ Slf4j public class LimitUtil {private int num 0;private int max 10;private static LimitUtil instance;private LimitUtil() {}public static LimitUtil inst…

新浪API系列:微博API探索社交数据价值(1)

微博API为创作者和开发者提供了一个探索社交数据价值的宝贵机会&#xff0c;助力他们在创新发展中取得成功。通过微博API&#xff0c;用户可以轻松访问和获取微博平台上丰富的社交数据。这些数据包括用户信息、关注列表、粉丝互动等&#xff0c;为创作者和开发者提供了深入了解…

基于three.js的数字孪生项目,慢如老牛,7条优化技术。

基于three.js的数字孪生项目慢如老牛可能有以下几个地方可以提升&#xff1a; 优化模型加载&#xff1a; 数字孪生项目通常涉及复杂的3D模型&#xff0c;加载大型模型可能会导致性能下降。可以尝试使用压缩模型、使用LOD&#xff08;Level of Detail&#xff09;技术根据距离…

以软件定义推动智算中心建设

2024 年 6 月 27 日&#xff0c;由益企研究院和 CDCC 主办、OCTC 开放计算委员会协办、隆高展览承办的"2024 中国智算中心全栈技术大会、第 5 届中国数据中心绿色能源大会暨第 10 届中国&#xff08;上海&#xff09;国际数据中心产业展览会”在上海圆满结束。本次大会以&…

Vue3中的Composables组合式函数,Vue3实现minxins

Vue3中的Composables是什么 Vue3中的Composables 简单理解其实就是类React Hooks式的组合式函数封装方法。 Vue官方称为Composables 组合式函数。 1.抽离复用逻辑时 Vue2写法 &#xff08;1&#xff09;Vue2 中的mixins混入器写法缺点 (Vue3 optionsApi写法同理) 新建minxins…

【DataSophon】DataSophon1.2.1 ranger usersync整合

目录 一、简介 二、实现步骤 2.1 ranger-usersync包下载编译 2.2 构建压缩包 2.3 编辑元数据文件 2.4 修改源码 三、重新安装 一、简介 如下是DDP1.2.1默认有的rangerAdmin&#xff0c; 我们需要将rangerusersync整合进来 ,实现将Linux机器上的用户和组信息同步到Ranger…

Font Awesome 表单图标

Font Awesome 表单图标 Font Awesome 是一个广泛使用的图标库,它提供了大量的图标,可以轻松地用于网页设计和开发。在表单设计中,使用 Font Awesome 图标可以增强用户体验,使表单更加直观和易于理解。本文将介绍如何在表单中使用 Font Awesome 图标,并提供一些最佳实践。…

Java锁升级:无锁 → 偏向锁 → 轻量级锁 → 重量级锁

说明 JDK1.6为了减少获得锁和释放锁所带来的性能消耗&#xff0c;引入了“偏向锁”和“轻量级锁”&#xff0c;所以在JDK1.6里锁一共有四种状态&#xff0c;无锁状态&#xff0c;偏向锁状态&#xff0c;轻量级锁状态和重量级锁状态&#xff0c;它会随着竞争情况逐渐升级。锁可以…

资源分享—2021版三调符号库

汇总整理平台软件支持过程中客户项目提供的各类资源&#xff08;包括但不限于符号库、地图模板等&#xff09;&#xff0c;在客户允许情况下进行集团内分享。 本次分享新版国土空间规划【三调符号库&#xff08;2021版&#xff09;】&#xff0c;提供SuperMap格式符号库下载。 …

都2024年了,你的网站还敢用http访问?

在科技日新月异的今天&#xff0c;互联网已经成为我们生活中不可或缺的一部分。然而&#xff0c;在这个数据安全和隐私保护越来越受到重视的时代&#xff0c;我们不得不重新审视那些看似熟悉的技术标准&#xff0c;比如HTTP&#xff08;超文本传输协议&#xff09;。2024年&…

Redis 中的跳跃表是什么

Redis 中的跳跃表&#xff08;Skiplist&#xff09;是一种可以替代平衡树的数据结构&#xff0c;它主要用于实现有序集合&#xff08;Sorted Set&#xff09;功能。跳跃表通过在多个层级的链表上增加索引来提高查询效率&#xff0c;其效率可以与平衡树相媲美&#xff0c;但实现…

【大顶堆】个人练习-Leetcode-2170. Minimum Operations to Make the Array Alternating

题目链接&#xff1a;https://leetcode.cn/problems/minimum-operations-to-make-the-array-alternating/description/ 题目大意&#xff1a;给一个数组nums[]&#xff0c;要求将其变为alternating数组&#xff0c;即其所有奇数下标的元素相等&#xff0c;所有偶数下标的元素相…

【c++】C++ IO流

本专栏内容为&#xff1a;C学习专栏&#xff0c;分为初阶和进阶两部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握C。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&…

加密与安全_ 解读非对称密钥解决密钥配送问题的四个方案

文章目录 Pre对称密钥的死穴 - 经典的密钥配送问题什么是非对称密钥非对称密钥解决密钥配送问题的四个方案共享密钥密钥分配中心&#xff08;KDC&#xff09;Diffie-Hellman 密钥交换体系公钥密码体系RSA算法 Pre 对称密钥的死穴 - 经典的密钥配送问题 假设 Alice 和 Bob 两个人…

python开发基础——day11 函数作用域与名称空间

一、初识函数对象 函数非常重要&#xff0c;但是不要过于害怕&#xff0c;搞清楚本质 函数&#xff1a;更高级的容器&#xff0c;里面存的不是数据&#xff0c;而是代码 一个容器能干嘛&#xff0c;函数也可以干嘛 函数对象--把函数当成一个普通数据容器来使用 1.函…