0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

switch括号里可以有几个变量

科技绿洲 来源:网络整理 作者:网络整理 2023-11-30 14:31 次阅读

C语言中,switch语句用于根据表达式的值选择不同的代码块来执行。在switch语句的括号内,可以有一个整型或字符型的表达式。

switch语句的语法如下:

switch (expression)
{
case constant1:
// 代码块1
break;
case constant2:
// 代码块2
break;
...
default:
// 默认代码块
break;
}

在expression处,可以是一个整型或字符型的变量、常量、表达式,或者返回整型或字符型的函数调用。

在case行后面的constant处,可以是整型或字符型的常量、枚举变量。每个case都对应一个代码块,根据expression的值,选择相应的代码块执行。

除了使用常量来进行比较,也可以使用枚举变量。枚举变量是一种特殊的整型变量,可以用来表示一组具有相同属性的常量,例如表示一周的天数等。

一个switch语句中可以有多个case,每个case对应一个代码块,当expression的值与某个case的constant匹配时,执行对应的代码块。如果没有匹配的case,那么将执行default代码块(如果有的话),或者直接跳过switch语句。

需要注意的是,每个case后面需要使用break语句来结束当前代码块,否则即使匹配到了某个case,也会继续执行下面的代码块。如果不希望匹配到的case后面的代码执行,可以省略break语句。

以下是一个简单的例子,演示了switch语句的使用:

#include

int main() {
int day = 3;

switch (day) {
case 1:
printf("Mondayn");
break;
case 2:
printf("Tuesdayn");
break;
case 3:
printf("Wednesdayn");
break;
case 4:
printf("Thursdayn");
break;
case 5:
printf("Fridayn");
break;
case 6:
printf("Saturdayn");
break;
case 7:
printf("Sundayn");
break;
default:
printf("Invalid dayn");
}

return 0;
}

在上面的例子中,根据变量day的值,选择相应的输出信息。因为day的值是3,所以输出结果为"Wednesday"。

综上所述,switch语句可以包含一个变量作为表达式,用于选择不同的代码块来执行。根据实际情况,可以有多个case、default代码块,以及省略break语句。通过合理使用switch语句,可以使代码更加清晰和易于理解。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Switch
    +关注

    关注

    1

    文章

    514

    浏览量

    57540
  • 函数
    +关注

    关注

    3

    文章

    3868

    浏览量

    61309
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66771
  • 字符型
    +关注

    关注

    0

    文章

    9

    浏览量

    6699
  • 变量
    +关注

    关注

    0

    文章

    595

    浏览量

    28112
收藏 人收藏

    评论

    相关推荐

    shell中的各种括号的使用方法 linux基础学习

    替换,等同于反引号``$(( )):整数运算{ }:对括号内的一组字符进行操作${ }:变量的引用[ ]:条件测试[[ ]]:支持正则表达式的条件测试$[ ]:整数运算以上是对Linux中各种括号的具体解释,对于经常分不清的人来
    发表于 01-16 14:21

    Linux内核编码大括号和空格的放置

    语言这样的小括号不是必需的,就像“struct fileinfo info”声明过后的“sizeof info”) 所以在这些关键字之后放一个空格:if,switch, case, for, do
    发表于 05-10 05:39

    请问括号的参数是怎么确定的?

    PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);括号的参数是怎么确定的呀
    发表于 06-11 08:58

    LWIP例程udp_bind函数少一个大括号但没有报错

    为什么LWIP例程udp_bind函数怎么少一个大括号?767行这个括号并没有找到另一个与它对应的括号,但是编译也没有报错,怎么回事?
    发表于 07-08 04:35

    Linux中括号什么用

    “,”对多个表达式进行分割: 2)$((exp)) 和expr exp效果相同,计算数学表达式exp的数值;计算逻辑运算(常用于算术运算比较,双括号中的变量可以不使用$,支持多个表达式用 ”,“ 来隔开); 3)支持跨进制运
    发表于 07-11 07:40

    影响无线信号传输范围几个关键变量

    影响无线信号传输范围几个关键变量?分别是哪些?
    发表于 09-24 14:46

    Switch的配置主要包含哪几个方面? Switch的配置流程是怎样的?

    Switch的配置主要包含哪几个方面?Switch的配置流程是怎样的?DSP与Switch的硬件如何连接?
    发表于 10-22 09:33

    在SpinalHDLswitch方法何用处呢

    在RTL设计,case是一个常用的综合语法,用于根据变量值来选择适当的逻辑电路,语法很简单:想象一个场景,在标准的AXI4-Stream接口中,tkeep信号每一个bit表示一个字节的数据是否有效
    发表于 06-22 14:25

    Serial.read()函数括号可以加接口序号吗?

    Serial.read()函数括号可以加接口序号么,假如我要读取数字接口5,写成Serial.read(5);
    发表于 11-07 07:12

    51单片机实战教程之C语言基础(九 switch语句)

    ; ....... default: 语句或语句块 break;} 执行到switch语句时,先将switch后面圆括号中表达式的值与花括号中cas
    发表于 11-20 20:51 11次下载
    51单片机实战教程之C语言基础(九 <b class='flag-5'>switch</b>语句)

    C语言switch多分支注意事项

    switch后面括号内的“表达式”,其值的类型应为整数类型,包括字符型。 * switch下面的花括号内是一个复合语句。
    的头像 发表于 03-09 11:07 469次阅读

    c语言switch后面括号怎么写

    块 } switch语句的括号中,expression表示需要进行比较的表达式,可以是常数、变量或者表达式。 在括号内的expression
    的头像 发表于 11-30 14:24 1157次阅读

    switch()括号中能放什么类型

    switch()语句是一种用于多分支选择的控制结构,括号可以放置整数型(int)、字符型(char)以及枚举类型(enum)。在C++语言中,还可以放置整数型常量表达式,例如0, 1
    的头像 发表于 11-30 14:26 4681次阅读

    switch括号可以写哪些条件

    switch括号中,可以写以下类型的条件: 整数类型:可以写整数常量、整数变量或整数表达式作为条件。例如:
    的头像 发表于 11-30 14:28 1550次阅读

    java switch case怎么判断范围

    范围判断。 要在switch语句中实现范围判断,可以通过一些技巧来实现。下面将详细介绍几种实现范围判断的方法。 方法一:使用if语句嵌套 最简单的方法是使用if语句嵌套来实现范围判断。在switch语句中,
    的头像 发表于 11-30 15:57 1526次阅读