最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言示例講解switch分支語(yǔ)句的用法

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

1、了解switch分支語(yǔ)句

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

比如:

輸入1,就會(huì)輸出星期一

輸入2,就會(huì)輸出星期二

輸入7,就會(huì)輸出星期七

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

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

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

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

代碼實(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("星期日\(chéng)n");
	}
	return 0;
}

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

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

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

修改程序:在每個(gè)case后面加上break,以此來(lái)跳出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("工作日\(chéng)n");
		break;
	case 6:
	case 7:
		printf("休息日\(chéng)n");
		break;
	}
	return 0;
}

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

5
工作日

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

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

3、default子句

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

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

int main()
{
	int day = 0;
	scanf("%d",&day);
	switch (day)
	{
	default:
		printf("輸入錯(cuò)誤\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("星期日\(chéng)n");
		break;
	}
	return 0;
}

測(cè)試結(jié)果:

9
輸入錯(cuò)誤

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語(yǔ)言示例講解switch分支語(yǔ)句的用法的文章就介紹到這了,更多相關(guān)C語(yǔ)言switch分支內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • LintCode 堆化詳解及實(shí)例代碼

    LintCode 堆化詳解及實(shí)例代碼

    這篇文章主要介紹了LintCode 堆化詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Qt顯示QImage圖像在label上,并保持自適應(yīng)大小問(wèn)題

    Qt顯示QImage圖像在label上,并保持自適應(yīng)大小問(wèn)題

    這篇文章主要介紹了Qt顯示QImage圖像在label上,并保持自適應(yīng)大小問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語(yǔ)言編程數(shù)據(jù)在內(nèi)存中的存儲(chǔ)詳解

    C語(yǔ)言編程數(shù)據(jù)在內(nèi)存中的存儲(chǔ)詳解

    本篇文章是C語(yǔ)言編程篇,主要為大家介紹C語(yǔ)言編程中數(shù)據(jù)在內(nèi)存中存儲(chǔ)解析,有需要的朋友可以借鑒參考下,希望可以有所幫助
    2021-09-09
  • C++中十種內(nèi)部排序算法的比較分析

    C++中十種內(nèi)部排序算法的比較分析

    本文給大家分享的是個(gè)人寫的一段對(duì)C++中十種內(nèi)部排序算法的比較分析的代碼,主要在于測(cè)試10種排序方法的性能,給大家參考下吧。
    2015-03-03
  • C++ 中try finally關(guān)鍵字詳解

    C++ 中try finally關(guān)鍵字詳解

    本文給大家介紹C++ 中try finally關(guān)鍵字的相關(guān)知識(shí),非常不錯(cuò),本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • C語(yǔ)言實(shí)現(xiàn)24位彩色圖像二值化

    C語(yǔ)言實(shí)現(xiàn)24位彩色圖像二值化

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)24位彩色圖像二值化,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C++之CWnd窗口框架實(shí)例

    C++之CWnd窗口框架實(shí)例

    這篇文章主要介紹了C++之CWnd窗口框架,實(shí)例分析了CWnd窗口框架的結(jié)構(gòu),如構(gòu)造函數(shù)、析構(gòu)函數(shù)、消息映射函數(shù)等,需要的朋友可以參考下
    2014-10-10
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易通訊錄實(shí)例

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易通訊錄實(shí)例

    大家好,本篇文章主要講的是C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易通訊錄實(shí)例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • 詳談C++何時(shí)需要定義賦值/復(fù)制構(gòu)造函數(shù)

    詳談C++何時(shí)需要定義賦值/復(fù)制構(gòu)造函數(shù)

    下面小編就為大家?guī)?lái)一篇詳談C++何時(shí)需要定義賦值/復(fù)制構(gòu)造函數(shù)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • C語(yǔ)言素?cái)?shù)(質(zhì)數(shù))判斷的3種方法舉例

    C語(yǔ)言素?cái)?shù)(質(zhì)數(shù))判斷的3種方法舉例

    這篇文章主要給大家介紹了關(guān)于C語(yǔ)言素?cái)?shù)(質(zhì)數(shù))判斷的3種方法,質(zhì)數(shù)是只能被1或者自身整除的自然數(shù)(不包括1),稱為質(zhì)數(shù),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11

最新評(píng)論

福建省| 建宁县| 文安县| 富宁县| 安平县| 温州市| 南郑县| 临洮县| 长白| 平乡县| 明溪县| 哈尔滨市| 临湘市| 长宁县| 上思县| 随州市| 大安市| 涞水县| 嵩明县| 凤阳县| 贵德县| 德安县| 青州市| 大安市| 水城县| 涿鹿县| 改则县| 长垣县| 大洼县| 若尔盖县| 罗田县| 嘉峪关市| 彭山县| 丽水市| 且末县| 巩义市| 泸水县| 屏东县| 佛山市| 雷波县| 武威市|