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

    文章

    533

    浏览量

    58232
  • 函数
    +关注

    关注

    3

    文章

    4331

    浏览量

    62604
  • 代码
    +关注

    关注

    30

    文章

    4788

    浏览量

    68600
  • 字符型
    +关注

    关注

    0

    文章

    9

    浏览量

    6730
  • 变量
    +关注

    关注

    0

    文章

    613

    浏览量

    28368
收藏 人收藏

    评论

    相关推荐

    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

    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语言函数的定义、子函数的使用及变量的作用域

    这篇介绍C语言函数的定义、子函数的使用。接着介绍变量的作用域,定义全局变量、静态变量、只读变量变量
    的头像 发表于 04-28 11:23 6893次阅读

    如何让变量在系统掉电时都保存到EEPROM

    (1)问:我需要把我所有的运行时状态变量在系统掉电时都保存到EEPROM,我该怎么做? 答:这是不是要告诉编译器来建立一个连续的存储器块? 两种方法你可以用来处理这个问题;我们假设
    的头像 发表于 01-22 16:18 1388次阅读

    C语言switch多分支注意事项

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

    for循环变量是局部变量

    的作用是重复执行一段代码,循环变量则是在每次迭代中改变其值,以便控制循环的次数或迭代的范围。循环变量的作用域通常被限制在循环的花括号内部,这意味着它只在该循环中可见并且它的值在每次迭代结束后被丢弃。 循环
    的头像 发表于 11-23 14:50 2760次阅读

    c语言switch后面括号怎么写

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

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

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

    switch括号可以写哪些条件

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