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

C語言中的switch語句基本用法

 更新時(shí)間:2023年03月29日 11:56:07   作者:鐘愛陳奕迅  
這篇文章主要介紹了C語言中switch語句的基本用法,switch語句是一個(gè)多分支選擇語句,并且可以支持嵌套,感興趣的同學(xué)可以參考閱讀

switch語句:

實(shí)際生活中,需要做出很多選擇,大家都知道做選擇可以使用if語句,但是如果選擇太多,if語句使用起來就會(huì)很繁瑣,這個(gè)時(shí)候就需要一個(gè)能將代碼簡化的語句,也就是我們今天的主角switch語句。

switch語句是一個(gè)多分支選擇語句,并且可以支持嵌套。

switch語句的基本格式

switch(表達(dá)式)
{
case 常量1:語句1
case 常量2:語句2
default:語句n   
    break;
}

switch語句通過將表達(dá)式的值與常量值進(jìn)行比對,如果相等則執(zhí)行后面的語句,如果不相等則跳到下一個(gè)case語句,當(dāng)表達(dá)式和常量值相等,switch語句會(huì)將當(dāng)前case語句以及后面所有的case語句全部輸出。假如我們要實(shí)現(xiàn)用戶輸入一個(gè)數(shù)字來判斷今天是星期幾,那么就可以用下面的代碼實(shí)現(xiàn)。

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
    int day = 0;				  //定義一個(gè)整型變量day,并對其賦值為0
	printf("請輸入一個(gè)數(shù)字\n");   //讓用戶輸入一個(gè)數(shù)字
	scanf("%d", &day);				//接收用戶輸入的數(shù)字
	switch (day)
	{
	case 1:printf("星期一\n");    //如果day的值為1,則輸出星期一
	case 2:printf("星期二\n");	//以下同上
	case 3:printf("星期三\n");
	case 4:printf("星期四\n");
	case 5:printf("星期五\n");
	case 6:printf("星期六\n");
	case 7:printf("星期天\n");
	default:
		break;
	}
    return 0;
}

運(yùn)行結(jié)果如下圖所示,可以看到當(dāng)我輸入2時(shí),switch語句將我2以及下面所有語句都執(zhí)行,這顯然不是我想要的結(jié)果,那么怎么解決這個(gè)問題呢,很簡單,只需要在每一個(gè)case語句后面加上一個(gè)break語句

break語句:當(dāng)switch語句運(yùn)行時(shí)遇到break關(guān)鍵字時(shí)會(huì)跳出,意思就是當(dāng)語句運(yùn)行到break時(shí)就不再運(yùn)行了,接下來剩下的case語句也不會(huì)再執(zhí)行,switch語句結(jié)束。

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
    int day = 0;				  //定義一個(gè)整型變量day,并對其賦值為0
	printf("請輸入一個(gè)數(shù)字\n");   //讓用戶輸入一個(gè)數(shù)字
	scanf("%d", &day);				//接收用戶輸入的數(shù)字
	switch (day)
	{
	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;
}

可以看到當(dāng)我再次輸入2時(shí),只輸出一個(gè)星期二,這顯然break語句已經(jīng)生效,也達(dá)到了我想要的結(jié)果,還有一個(gè)值得注意的是,語句是可以為空語句的,那么我們將break和空語句結(jié)合起來就可以實(shí)現(xiàn)下面的代碼。

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
    //實(shí)現(xiàn)1-5都為工作日,6,7為休息日,可以看出當(dāng)case語句后沒有執(zhí)行語句且沒有break時(shí)代碼會(huì)從條件判斷成立進(jìn)入,直到遇到break
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:printf("工作日\n");
	break;
	case 6:printf("休息日\n");
    break
	case 7:printf("休息日\n");
	break;
	}
 
	return 0;
}

那么問題來了,如果用戶輸入時(shí)不小心輸入了一個(gè)switch語句中沒有的常量值怎么辦呢,這個(gè)也很簡單,只需要一個(gè)小小的default,請看

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
    //實(shí)現(xiàn)1-5都為工作日,6,7為休息日,可以看出當(dāng)case語句后沒有執(zhí)行語句且沒有break時(shí)代碼會(huì)從條件判斷成立進(jìn)入,直到遇到break
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:printf("工作日\n");
	break;
	case 6:printf("休息日\n");
    break
	case 7:printf("休息日\n");
	break;
    default:printf("請重新輸入\n");
    break;
	}
 
	return 0;
}

default的作用就是當(dāng)表達(dá)式的值和常量值全部對比過之后,如果沒有匹配的就會(huì)輸出default后的語句。

那么我們前面講過switch語句可以實(shí)現(xiàn)嵌套,請看下面的代碼

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
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;
		default:
			break;
		}
	case 4:m++;
		break;
	default:
		break;
	}
	printf("m=%d,n=%d\n", m, n);
	return 0;
}

 那么這個(gè)代碼的運(yùn)行結(jié)果就交給你們自己來進(jìn)行體驗(yàn)了,以上就是這次對于switch語句的簡單講解,謝謝大家。

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

相關(guān)文章

  • c++中關(guān)于max_element()函數(shù)解讀

    c++中關(guān)于max_element()函數(shù)解讀

    這篇文章主要介紹了c++中關(guān)于max_element()函數(shù)解讀,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C語言結(jié)構(gòu)體指針案例解析

    C語言結(jié)構(gòu)體指針案例解析

    這篇文章主要介紹了C語言結(jié)構(gòu)體指針案例解析,本文通過例子來解釋說明了C語言的結(jié)構(gòu)體概念和如何用指針去操作結(jié)構(gòu)體,文章標(biāo)明了詳細(xì)的代碼,需要的朋友可以參考下
    2021-07-07
  • C++ 使用CRC32檢測內(nèi)存映像完整性的實(shí)現(xiàn)步驟

    C++ 使用CRC32檢測內(nèi)存映像完整性的實(shí)現(xiàn)步驟

    當(dāng)我們使用動(dòng)態(tài)補(bǔ)丁的時(shí)候,那么內(nèi)存中同樣不存在校驗(yàn)效果,也就無法抵御對方動(dòng)態(tài)修改機(jī)器碼了,為了防止解密者直接對內(nèi)存打補(bǔ)丁,我們需要在硬盤校驗(yàn)的基礎(chǔ)上,增加內(nèi)存校驗(yàn),防止動(dòng)態(tài)補(bǔ)丁的運(yùn)用。
    2021-06-06
  • 詳解C++虛函數(shù)的工作原理

    詳解C++虛函數(shù)的工作原理

    這篇文章主要介紹了C++虛函數(shù)的工作原理的的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • Easyx實(shí)現(xiàn)掃雷游戲

    Easyx實(shí)現(xiàn)掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了Easyx實(shí)現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 詳解c語言中的 strcpy和strncpy字符串函數(shù)使用

    詳解c語言中的 strcpy和strncpy字符串函數(shù)使用

    strcpy 和strcnpy函數(shù)是字符串復(fù)制函數(shù)。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數(shù)使用,感興趣的朋友跟隨小編要求看看吧
    2018-10-10
  • C語言實(shí)現(xiàn)鏈表與文件存取的示例代碼

    C語言實(shí)現(xiàn)鏈表與文件存取的示例代碼

    這篇文章主要和大家分享C語言實(shí)現(xiàn)鏈表與文件存取的示例代碼,可以實(shí)現(xiàn)建立鏈表,然后把鏈表數(shù)據(jù)存儲(chǔ)到文件中,然后把文件數(shù)據(jù)存儲(chǔ)到數(shù)組中并輸出,感興趣的可以學(xué)習(xí)一下
    2022-04-04
  • 基于C++實(shí)現(xiàn)簡單日期計(jì)算器

    基于C++實(shí)現(xiàn)簡單日期計(jì)算器

    這篇文章主要介紹了基于C++實(shí)現(xiàn)簡單日期計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • OpenGL繪制貝塞爾曲線

    OpenGL繪制貝塞爾曲線

    這篇文章主要為大家詳細(xì)介紹了OpenGL繪制貝塞爾曲線,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C/C++隨機(jī)數(shù)生成的五種方法

    C/C++隨機(jī)數(shù)生成的五種方法

    C++作為一種古老的編程語言,其隨機(jī)數(shù)生成的方法已經(jīng)經(jīng)歷了多次的變革,早期的C++版本使用的是rand()函數(shù)和RAND_MAX常量,這種方法雖然簡單,但并不總是提供高質(zhì)量的隨機(jī)數(shù),本文給大家介紹了C/C++隨機(jī)數(shù)生成的五種方法,需要的朋友可以參考下
    2025-03-03

最新評論

宽城| 鹤峰县| 红桥区| 巴彦县| 平度市| 广南县| 车险| 车险| 正阳县| 永川市| 美姑县| 罗山县| 瓦房店市| 开封市| 顺昌县| 镇赉县| 麦盖提县| 崇信县| 金溪县| 永定县| 淮北市| 富川| 宁国市| 抚顺市| 道真| 遵义县| 固阳县| 民县| 麦盖提县| 堆龙德庆县| 靖宇县| 阳山县| 东乡族自治县| 孟津县| 秦皇岛市| 饶平县| 乌海市| 渝北区| 呼伦贝尔市| 芜湖县| 钟山县|