问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

if-else如何改写为switch语句?

创作时间:
作者:
@小白创作中心

if-else如何改写为switch语句?

引用
CSDN
1.
https://blog.csdn.net/2301_79875248/article/details/137738884

本文将介绍C语言中if-else语句如何改写为switch语句。通过具体的代码示例和练习,帮助读者理解if-else和switch语句的使用场景和区别。

一. if-else的使用和代码示例

1. 语法形式

if(表达式)
   语句1;
  else
    语句2;  

2. 代码示例

//判断输入的数是否大于5
#include<stdio.h>
int main()
{
    int a = 0;
    scanf("%d", &a);
    if (a > 5)
        printf("%d大于5", a);
    else
        printf("%d小于5", a);
    return 0;
}  

3. 学习外加练习

练习:
输⼊⼀个⼈的年龄 如果年龄18岁,打印"少年"
如果年龄在18岁⾄44岁打印"⻘年"
如果年龄在45岁⾄59岁打印"
中⽼年" 如果年龄在60岁⾄89岁打印"⽼年"

#include<stdio.h>
int main()
{
    int age = 0;
    printf("请输入你的年龄:");
    scanf("%d", &age);
    if (age < 18)
        printf("少年");
    else if (age < 44)
        printf("青年");
    else if (age < 59)
        printf("中老年");
    else
        printf("老年");
    return 0;
}  

二. switch的使用和代码示例

除了if 语句外C语⾔还提供了 switch 语句来实现分⽀结构。switch 语句是⼀种特殊形式的if-else 结构,⽤于判断条件有多个结果的情况。它把多重 的 else if 改成更易⽤、可读性更好的形式。

1. 语法形式

switch(表达式)
   {
    case 整数:
printf();
    case 整数:
printf();
    default:
printf();
    }
  • switch()的括号中必须是整数表达式;
  • case后必须是整数;
  • default是找不到对应的值时,执行default

2. 代码示例

//判断输入的数余3的余数为多少
#include<stdio.h>
int main()
{
    int a = 0;
    scanf("%d", &a);
    switch (a % 3) {
    case 0:
        printf("整除,余数为0");
    case 1:
        printf("余数为1");
    case 2:
        printf("余数为2");
    }
    return 0;
}  

3. 学习外加练习

练习:输入数判断是星期几

#include<stdio.h>
int main()
{
    int week = 0;
    scanf("%d", &week);
    switch (week) {
    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;
    default :
        printf("输入不合法,请重新输入");
        break;
    }
    return 0;
}  

三. if-else改为switch语句

输⼊任意⼀个整数值,计算除3之后的余数

#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的简单方便。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号