入门C语言Day16——switch 语句

前面说过了 if 语句,C语言中还有 switch 语句来表示分支结构。

switch 语句是一种特殊形式的 if...else 结构,区别在于它可以判断多个结果的情况。

举个例子:

switch (expression) {
 case value1: statement
 case value2: statement
 default: statement
}

程序会根据 expresstion 的不同值来执行对应 case 的分支。如果找不到对应的值就执行 default 分支。

但还要注意一下:

switch 后的 expression 必须是整型表达式 

case 后的值,必须是整形常量表达式

下面来举个例子,讲一下 if 语句与 switch 语句的区别。

eg.写一段代码,要求可以输入任意一个整数值,计算除3之后的余数。

if 语句:

#include <stdio.h>

int main()
{
    int n = 0;
    scanf("%d", &n);
    if(n%3 == 0)
          printf("整除,余数为0\n");
    else if(n%3 == 1)
          printf("余数是1\n");
    else
          printf("余数是2\n");
    return 0;
}

switch语句:

#include <stdio.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    switch(n%3)
    {
    case 0:
        printf("整除,余数为0\n");
        break;
    case 1:
        printf("余数是1\n");
        break;
    case 2:
        printf("余数是2\n");
        break;
    }
    return 0;
}

根据以上代码,我们就可以看到 switch 语句与 if else 的相似之处

也还是有一点点注意的点需要提一下:

case 和后边的数字之间必须有空格。

每一个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句。

那下面就来具体说一下switch语句中的break的作用。

switch 语句也是分支效果的,只有在 switch 语句中使用 break 才能在跳出 switch 语 句,如果某一个 case 语句的后边没有 break 语句,代码会继续往下执行,有可能执行其他 case 语句中的代码,直到遇到 break 语句或者 switch 语句结束。

假如我在上面例子中输入的是3

按理来说只会输出余数为0,但如果全部去掉 break 后,还会多输出“余数是1”和“余数是2”,就是因为没有了 break ,代码继续往下执行了。

当然,前面的代码中也有提到default ,现在就来说一下default

在使用 switch 语句的时候,我们经常可能遇到一种情况,比如 switch 后的表达式中的值无法匹配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加入 default 子句。

在第一个例子中,switch 后边的 expression 的结果不是 value1 ,也不是 value2 的时候,就会执行 default 子句。

至于case和default的顺序问题:

在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满⾜实 际需求的就可以。

不过我们通常是把 default 子句放在最后处理的。

今天的内容就这么多啦~下次再见

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值