亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言示例講解switch分支語句的用法

 更新時間:2022年06月13日 16:20:02   作者:要努力丫!  
這篇文章主要為大家介紹了switch語句,switch語句是我們常見會用到的結(jié)構(gòu),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1、了解switch分支語句

switch語句也是一種分支語句,常常用于多分支的情況。

比如:

輸入1,就會輸出星期一

輸入2,就會輸出星期二

輸入7,就會輸出星期七

對于這樣的代碼需求,如果用if 、else if、else的形式就會顯得太復(fù)雜。如何用switch語句實(shí)現(xiàn)該功能呢?switch語句的結(jié)構(gòu)又是怎樣的呢?

switch(整型表達(dá)式)
{
    語句項(xiàng);
}

其中,整型表達(dá)式必須為整型,且為常量(字符也可以,因?yàn)樽址矊儆谑钦偷囊环N,因?yàn)樽址鎯Φ臅r候用的是字符的ASCII碼值);語句項(xiàng)是一些case語句。

case 整型常量表達(dá)式;
    語句;

代碼實(shí)現(xiàn):

int main()
{
	int day = 0;
	scanf("%d",&day);
	switch (day)
	{
	case 1:
		printf("星期一\n");
	case 2:
		printf("星期二\n");
	case 3:
		printf("星期三\n");
	case 4:
		printf("星期四\n");
	case 5:
		printf("星期五\n");
	case 6:
		printf("星期六\n");
	case 7:
		printf("星期日\n");
	}
	return 0;
}

運(yùn)行該代碼,發(fā)現(xiàn)運(yùn)行之后得到的結(jié)果如下:

1
星期一
星期二
星期三
星期四
星期五
星期六
星期日

顯然,這樣的結(jié)果是不對的。因?yàn)閳?zhí)行完case 1 之后,沒有東西阻止它,它就會一直case 2、case 3…地執(zhí)行下去。若在程序運(yùn)行的時候,輸入的是6,就會輸出 星期六星期日。switch后面的表達(dá)式(day)是幾,它就會從case 幾進(jìn)去,決定入口的是表達(dá)式day的值以及case后面的值。

修改程序:在每個case后面加上break,以此來跳出case。

case決定的是入口,而break決定的是出口,這才實(shí)現(xiàn)了真正的分支。

2、示例

輸入1-5就輸出工作日,輸入6-7就輸出休息日。

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;
}

測試運(yùn)行結(jié)果如下:

5
工作日

break語句的實(shí)際效果是把語句列表劃分為不同的部分。

有一個編程好習(xí)慣:在最后一個case語句的后面也加上一條break語句。萬一之后要在原先程序的基礎(chǔ)上再加上一些其它c(diǎn)ase語句,不至于出現(xiàn)上面的輸入1,一下子星期一到星期天全部打印出來的情況。

3、default子句

如果表達(dá)的值與所有的case標(biāo)簽的值都不匹配怎么辦?其實(shí)也沒什么,結(jié)果就是所有的語句都被跳過而已,程序并不會終止,也不會報錯。因?yàn)檫@種情況在C語言中并不認(rèn)為是錯誤,但是,如果并不想忽略不匹配所有標(biāo)簽的表達(dá)式怎么辦?這時候就可以在語句列表中增加一句default子句,將其寫在任何一個case標(biāo)簽可以出現(xiàn)的位置。

當(dāng)switch表達(dá)式的值并不匹配所有case標(biāo)簽的值時,這個default子句后面的語句就會執(zhí)行。注意:每個switch語句中只能出現(xiàn)一條default子句。

int main()
{
	int day = 0;
	scanf("%d",&day);
	switch (day)
	{
	default:
		printf("輸入錯誤\n");
		break;
	case 1:
		printf("星期一\n");
		break;
	case 2:
		printf("星期二\n");
		break;
	case 3:
		printf("星期三\n");
		break;
	case 4:
		printf("星期四\n");
		break;
	case 5:
		printf("星期五\n");
		break;
	case 6:
		printf("星期六\n");
		break;
	case 7:
		printf("星期日\n");
		break;
	}
	return 0;
}

測試結(jié)果:

9
輸入錯誤

4、練習(xí)

看程序運(yùn)行的結(jié)果是多少?

int main()
{
	int n = 1;
	int m = 2;
	switch (n)
	{
	case 1 :
		m++;
	case 2:
		n++;
	case 3:
		switch (n)
			//switch可以嵌套使用
		{
		case 1:
			n++;
		case 2:
			m++;
			n++;
			break;
		}
	case 4:
		m++;
		break;
	default:
		break;
	}
	printf("m=%d,n=%d\n",m,n);
	return 0;
}

主要就是考察switch里面的break的作用。

最終的運(yùn)行結(jié)果如下:

m=5,n=3

到此這篇關(guān)于C語言示例講解switch分支語句的用法的文章就介紹到這了,更多相關(guān)C語言switch分支內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實(shí)現(xiàn)LeetCode(23.合并k個有序鏈表)

    C++實(shí)現(xiàn)LeetCode(23.合并k個有序鏈表)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(23.合并k個有序鏈表),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C/C++中退出線程的四種解決方法

    C/C++中退出線程的四種解決方法

    本篇文章是對C/C++中退出線程的四種解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++深度探索運(yùn)算符重載和返回值優(yōu)化

    C++深度探索運(yùn)算符重載和返回值優(yōu)化

    這篇文章主要介紹了C++運(yùn)算符重載及編譯器返回值優(yōu)化,C++當(dāng)中除了函數(shù)可以重載之外,其實(shí)運(yùn)算符也是可以重載的,下面一起來詳細(xì)了解吧
    2022-04-04
  • C語言平衡二叉樹詳解

    C語言平衡二叉樹詳解

    這篇文章主要介紹了C語言平衡二叉樹的相關(guān)資料,需要的朋友可以參考下,小編覺得這篇文章寫的還不錯,希望能夠給你帶來幫助
    2021-11-11
  • C++中vector容器使用詳細(xì)說明

    C++中vector容器使用詳細(xì)說明

    在c++中,vector是一個十分有用的容器,下面通過本文給大家介紹C++中vector容器使用詳細(xì)說明,需要的朋友可以參考下
    2016-10-10
  • C++ 學(xué)習(xí)之旅 Windows程序內(nèi)部運(yùn)行原理

    C++ 學(xué)習(xí)之旅 Windows程序內(nèi)部運(yùn)行原理

    學(xué)習(xí)C++與.net不同的是,一定要搞清楚Windows程序內(nèi)部運(yùn)行原理,因?yàn)樗婕按蠖鄶?shù)是操作系統(tǒng)的調(diào)用,而.net畢竟是在.netFrameWork上唱戲
    2012-11-11
  • 基礎(chǔ)C語言編程時易犯錯誤有哪些

    基礎(chǔ)C語言編程時易犯錯誤有哪些

    基礎(chǔ)C語言編程時易犯錯誤有哪些?這篇文章主要介紹了C語言編程時常見的錯誤,感興趣的小伙伴們可以參考一下
    2016-11-11
  • C語言double和float 實(shí)例分析

    C語言double和float 實(shí)例分析

    本文主要介紹了C語言中的浮點(diǎn)數(shù)(float,double),并通過實(shí)例代碼進(jìn)行分析比較,希望能幫助學(xué)習(xí)相關(guān)知識的同學(xué)
    2016-07-07
  • 基于Windows C++ 應(yīng)用程序通用日志組件的使用詳解

    基于Windows C++ 應(yīng)用程序通用日志組件的使用詳解

    眾所周知,在調(diào)試、跟蹤和執(zhí)行應(yīng)用程序的過程中,程序的日志能為這些工作提供大量有價值的運(yùn)行信息。因此,程序的日志對應(yīng)用程序的運(yùn)行、維護(hù)至關(guān)重要
    2013-05-05
  • C語言字符串常用處理函數(shù)小結(jié)

    C語言字符串常用處理函數(shù)小結(jié)

    C語言中有很多內(nèi)置的字符串處理函數(shù),這些函數(shù)都在<string.h>頭文件中聲明,本文給大家介紹C語言字符串常用處理函數(shù)小結(jié),感興趣的朋友一起看看吧
    2023-11-11

最新評論