中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言的switch分支語句怎么使用

發布時間:2022-06-14 09:17:19 來源:億速云 閱讀:154 作者:iii 欄目:開發技術

這篇文章主要介紹了C語言的switch分支語句怎么使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇C語言的switch分支語句怎么使用文章都會有所收獲,下面我們一起來看看吧。

1、了解switch分支語句

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

比如:

輸入1,就會輸出星期一

輸入2,就會輸出星期二

…

輸入7,就會輸出星期七

對于這樣的代碼需求,如果用if 、else if、else的形式就會顯得太復雜。如何用switch語句實現該功能呢?switch語句的結構又是怎樣的呢?

switch(整型表達式)
{
    語句項;
}

其中,整型表達式必須為整型,且為常量(字符也可以,因為字符也屬于是整型的一種,因為字符存儲的時候用的是字符的ASCII碼值);語句項是一些case語句。

case 整型常量表達式;
    語句;

代碼實現:

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

運行該代碼,發現運行之后得到的結果如下:

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

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

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

case決定的是入口,而break決定的是出口,這才實現了真正的分支。

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

測試運行結果如下:

5
工作日

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

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

3、default子句

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

當switch表達式的值并不匹配所有case標簽的值時,這個default子句后面的語句就會執行。注意:每個switch語句中只能出現一條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;
}

測試結果:

9
輸入錯誤

4、練習

看程序運行的結果是多少?

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的作用。

C語言的switch分支語句怎么使用

最終的運行結果如下:

m=5,n=3

關于“C語言的switch分支語句怎么使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“C語言的switch分支語句怎么使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湖北省| 花莲市| 博乐市| 平远县| 潼南县| 江津市| 林州市| 杭州市| 通化市| 沁水县| 泰宁县| 华安县| 洛浦县| 东源县| 滨海县| 阿拉尔市| 泾源县| 自治县| 宁明县| 偏关县| 潢川县| 翁源县| 屯门区| 象山县| 吴旗县| 彭水| 永新县| 如皋市| 佛坪县| 修水县| 黄石市| 榕江县| 台江县| 资源县| 淮北市| 平阳县| 沙雅县| 南川市| 榆社县| 墨竹工卡县| 阜阳市|