首页 > 其他分享 >C语言分支与循环(二)

C语言分支与循环(二)

时间:2024-03-17 16:58:23浏览次数:29  
标签:case 语句 ... default C语言 break switch 循环 分支

前言

通过上一篇文章了解完条件分支语句中的if语句相关知识后,其实除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。接下来我将介绍switch语句,废话不多说,我们直接开始吧!

switch语句的基本形式

switch (表达式)
{
	case 情况1:
		语句块1;
	case 情况2:
		语句块2;
	...
	case 情况n:
		语句块n;
	default
		默认情况语句块;
}

例如

#include<stdio.h>
int main()
{
	int season = 0;
	scanf("%d", &season);
	switch (season)
	{
		case 1:
			printf("spring\n");
			break;
		case 2:
			printf("summer\n");
			break;
		case 3:
			printf("autumn\n");
			break;
		case 4:
			printf("winter\n");
			break;
		default:
			printf("input error!\n");
			break;
		
	}
	return 0;
}

例子中season为要进行判断的条件,case语句检验season值的不同情况。每个case或default语句后都有一个break关键字,break语句用于跳出switch结构,不再执行switch下面的代码。假设season的值为1,那么执行case为1的情况,如果season的值不是case中列出的情况,则执行default中的语句。

多路开关模式的switch语句

switch (表达式)
{
	case 1:
		语句1
		break;
	case 2:
	case 3:
		语句2
		break;
	...
	default:
		默认语句
		break;
}

举个栗子:

输⼊1-5,输出的是“⼯作⽇”, 输⼊6-7,输出“休息⽇”。

#include<stdio.h>
int main()
{
	int day = 0;
	scanf("%d", &day);

	switch (day)
	{
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
			printf("工作日\n");
			break;
		case 6:
		case 7:
			printf("休息日\n");
			break;
	}

	return 0;
}

 

 if语句和switch语句的对比

1.语法的比较
if...else语句中、if是配合else关键字进行使用的,而switch是配合case使用的;if语句先对条件进行判断,而switch语句后进行判断。
2.效率的比较
if...else结构对开始少量的检验判断速度比较快,但是随着检验的增长会逐渐变慢,其中的默认情况是最慢的。使用if...else结构可以判断表达式,但是也不能减少选择深度的增加使得检验速度变慢的趋势,并且也不容易进行后续的添加扩充。
switch结构中,对其中每一项case检验的速度都是相同的,而default默认情况比其他情况都快。
当判定的情况占少数时,if...else结构比switch结构检验速度快。也就是说,如果分支在3个或者4个以下,用if...else结构比较好,否则选择switch结构。

注意事项:

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

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

3.在case语句表示的条件后有一个冒号“:”,在编写程序时不要忘记。

4.在使用switch语句时,如果没有一个case语句后面的值能匹配switch语句的条件,就执行 default语句后面的代码。其中任意两个case语句都不能使用相同的常量值;并且每一个switch结构只能有一个default语句,而且default可以省略。

标签:case,语句,...,default,C语言,break,switch,循环,分支
From: https://blog.csdn.net/he_jia_min/article/details/135901613

相关文章

  • # c语言程序设计——实验报告
    实验项目名称:实验一熟悉C语言运行环境实验项目类型:验证性实验日期:2023年3月14日一、实验目的下载安装Devc6.0程序。了解在该系统上如何进行编辑、编译、连接和运行一个C程序。通过运行简单的C程序了解C程序的特点。二、实验硬、软件环境Windows计算机、Devc6.0三、......
  • c语言程序设计--实验报告一
    实验项目名称:实验一熟悉C语言运行环境实验项目类型:验证性实验日期:2023年3月14日一、实验目的下载安装Devc6.0程序。了解在该系统上如何进行编辑、编译、连接和运行一个C程序。通过运行简单的C程序了解C程序的特点。二、实验硬、软件环境Windows计算机、Devc6.0三、......
  • C语言指针与数组(不适合初学者版):一篇文章带你深入了解指针与数组!
    ......
  • C语言指针(适合C语言进阶者):一道题带你深入理解数组与指针的关系
    ......
  • 实验1 C语言开发环境使用和数据类型、运算符、表达式
    ......
  • 实验1 C语言输入输出和简单程序编写
    实验任务1_1#include<stdio.h>intmain(){ printf("O\n"); printf("<H>\n"); printf("II\n"); printf("O\n"); printf("<H>\n"); printf("II\n"); return0;} 实验......
  • C语言 02 安装
    C语言的编译器有很多,其中最常用的是GCC,这里以安装GCC为例。Windows这里以Windows11为例官方下载地址:https://www.mingw-w64.org/选择Downloads选择Windows的GCC环境MingW-W64-builds选择GitHub根据操作系统位数进行选择(现在大多数电脑都是64......
  • c语言程序设计--实验报告一
    实验项目名称:实验一熟悉C语言运行环境实验项目类型:验证性实验日期:2023年3月14日一、实验目的下载安装Devc6.0程序。了解在该系统上如何进行编辑、编译、连接和运行一个C程序。通过运行简单的C程序了解C程序的特点。二、实验硬、软件环境Windows计算机、Devc6.0三、......
  • 【c语言练习之二分查找】
    二分查找二分查找的前提二分查找必须是在一个整形的有序数组中实现二分查找的思想对于一个整形的有序数组,输入一个你想要查找的数key,将key与数组的中间元素mid作比较,使得数组被分成2部分,要查找的数key肯定在某一部分,这样就可以舍弃另一部分,在另一部分中继续用这种思......
  • C语言中的置0和置1操作
    C语言中的置0和置1操作置0如果要将一个数的6位和10位置0,生成一个第6位和第10位都为0的数,拿这个数与要操作的数做(&)操作即可。生成一个第6位和第10位都为0的数可以使用1左移6位或者10位取反得到。//test=0b0000010001000000unsignedshorttest=1<<6|1<<10;/......