C语言 switch 语句

ChatGPT 3.5 国内中文镜像站免费使用啦

零基础 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.各个 casedefault 出现的先后次序,并不影响执行结果。
  • 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;
}
/*
输出结果:

星期一
*/

       当然你也可以写8if / else 完成这个功能,不过这中多分支更加推荐使用通过 switch 完成;


三.猜你喜欢

  1. 安装 Visual Studio
  2. 安装 Visual Studio 插件 Visual Assist
  3. Visual Studio 2008 卸载
  4. Visual Studio 2003/2015 卸载
  5. 设置 Visual Studio 字体/背景/行号
  6. C语言格式控制符/占位符
  7. C语言逻辑运算符
  8. C语言三目运算符
  9. C语言逗号表达式
  10. C语言自加自减运算符(++i / i++)
  11. C语言 for 循环
  12. C语言 break 和 continue
  13. C语言 while 循环
  14. C语言 do while 和 while 循环
  15. C语言 switch 语句

ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
THE END
喜欢就支持一下吧
点赞3 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容