零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门
在 C
语言中,switch
语句和 if
/ else
类似,都可以作为条件分支判断,当分支判断较少的适合推荐使用 if
/ else
;当分支判断比较多的时候推荐使用 switch
语句,具体使用请看下文;
一.switch
语句简介
switch
语法如下:
switch (表达式)
{
case 常量表达式1:
语句块1;
break;
case 常量表达式2:
语句块2;
break;
……
case 常量表达式m:
语句块m;
break;
default:
语句块n;
break;
}
使用说明如下:
- 1.程序执行时,首先计算表达式的值,与
case
后面的常量表达式值比较,若相等就执行对应部分的语句块,执行完后利用break
语句跳出switch
分支语句。若表达式的值与所有的case
后的常量表达式均不匹配,则执行default
项对应的语句n
,执行后跳出switch
分支语句。
- 2.
case
后面的常量表达式只能是整型、字符型或枚举型常量的一种;各case
语句表达式的值各不相同,只起到一个标号作用,用于引导程序找到对应入口。
- 3.这里的语句块可以是一条语句,或其它复合语句。语句块可以不用花括号
{}
- 4.各个
case
语句并不是程序执行的终点,通常需要执行break
语句来跳出switch
分支语句;若某case
语句的语句块被执行后,若其后没有break
语句,则顺序执行其它case
语句,直到遇到break
语句或后面所有case
语句全部执行完,再跳出switch
分支语句。
- 5. 多个
case
可以共用一组执行语句块。
- 6.各个
case
和default
出现的先后次序,并不影响执行结果。
- 7.
default
语句不是必须的,但建议加上作为默认情况处理项。
- 8.
switch
语句仅做相等性检测,不能像if
语句那样做关系表达式或逻辑表达式计算,进行逻辑真假判断。
二.switch
语句实战
举个例子:根据数字判断今天星期几?
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - switch 语句
//@Time:2021/05/31 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/
#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
int _tmain(int argc, _TCHAR* argv[])
{
int i = 1;
switch (i)
{
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;
}
system("pause");
return 0;
}
/*
输出结果:
星期一
*/
当然你也可以写8
个 if
/ else
完成这个功能,不过这中多分支更加推荐使用通过 switch
完成;
三.猜你喜欢
- 安装 Visual Studio
- 安装 Visual Studio 插件 Visual Assist
- Visual Studio 2008 卸载
- Visual Studio 2003/2015 卸载
- 设置 Visual Studio 字体/背景/行号
- C语言格式控制符/占位符
- C语言逻辑运算符
- C语言三目运算符
- C语言逗号表达式
- C语言自加自减运算符(++i / i++)
- C语言 for 循环
- C语言 break 和 continue
- C语言 while 循环
- C语言 do while 和 while 循环
- C语言 switch 语句
ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容