首頁 後端開發 C#.Net教程 c語言中switch的用法是什麼?

c語言中switch的用法是什麼?

Jul 27, 2020 pm 01:08 PM
c switch

c語言中switch的用法是:1、switch後面括弧內的【表達式】,ANSI標準允許它為任何類型;2、當表達式的值與某一個case後面的常數表達式的值相等時,就執行此case後面的語句,否則,就執行default後面的語句。

c語言中switch的用法是什麼?

c語言中switch的用法是:

功能:switch語句是多分支選擇語句.用來實現多分支選擇結構.if語句只有兩個分支可供選擇,而實際問題中常常要用到多分支的選擇.例如,學生成績分類(90為"A"等,80-89分為'B'等,70-90分為'C'等......).當然這些都可以用嵌套的if語句來外理,但如果分支較多,則嵌套的if語句層數多,程序沉餘長且可讀性降低.C語言提供switch語句直接外理多分支選擇,它相當於PASCAL語言中的CASE語句.

形式:switch(表達式)

{
case 常量表达式 1:语句 1
case 常量表达式 2:语句 2
.
.
.
case 常量表达式 n:语句 n
default:语句 n+1
}
登入後複製

例如,要求依照考試成績的等級列印出百分制分數段,可以用switch語句實現:

switch(grade)
{
case 'A':printf("85-100\n");
case 'B':printf("70-84\n");
case 'C':printf("60-69\n");
case &#39;D&#39;:printf("<60\n");
default:printf("error\n");
}
登入後複製

說明:

(1) switch後面括弧內的"表達式",ANSI標準允許它為任何類型.

(2) 當表達式的值與某一個case後面的常數表達式的值相等時,就執行此case後面的語句,若所有的case中的常數表達式的值都沒有與表達式的匹配的,就執行default後面的語句.

(3) 每一個case的常數表達式的值必須互不相同,否則就會出現互相矛盾的現象(對表達式的同一個值,有兩種或多種執行方案).

(4) 各個case各default的出現次序不影響執行結果。例如,可以先出現"default: ...",再出現"case 'D': ...",然後"case 'A': ...".

(5) 執行完一個case後面的語句後,流程控制轉移到下一個case繼續執行."case常數表達式"只是起語句標號作用,並不是在該處進行條件判斷.在執行swith語句時,根據switch後面表達式的值找到匹配的入口標號,就從此標號開始執行下去,不再進行判斷.例如,上面的例子中,若grade的值等於'A',則將連續輸出:

85-100
70-84
60-69
<60
error
登入後複製

因此,應該在執行一個case分支後,使流程跳出switch結構,即終止switch語句的執行.

可以用一個break語句來達到此目的.將上面的switch結構改寫如下:

switch(grade)
{
case &#39;A&#39;:printf("85-100\n"); break;
case &#39;B&#39;:printf("70-84\n"); break;
case &#39;C&#39;:printf("60-69\n"); break;
case &#39;D&#39;:printf("<60\n"); break;
default:printf("error\n");
}
登入後複製

最後一個分支(default)可以不加break語句.如果grade的值為'B',則只輸出"70-84".

在case後面雖然包含一個以上執行語句,但可以不必用花括弧括起來,會自動順序執行本case後面所有的執行語句.當然加上花括弧也可以.

(6) 多個case可以共用一組執行語句,例如:

case &#39;A&#39;:
case &#39;B&#39;:
case &#39;C&#39;: printf(">60\n");break;
.
.
登入後複製

grade的值為'A','B'或'C'時都執行同一組語句.

相關學習推薦:C影片教學

以上是c語言中switch的用法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1250
24
艾爾登法環switch能玩麼 艾爾登法環switch能玩麼 Mar 11, 2024 am 11:31 AM

艾爾登法環能在switch上游玩嗎?艾爾登法環作為一款極具魅力的動作RPG遊戲,不少朋友可能還不明白它能否在switch平台上進行暢快遊玩,答案是暫時無法實現。艾爾登法環switch能玩麼答:不能在switch遊玩。此款備受矚目的魂系列角色扮演動作遊戲已正式發布,玩家可前往PC、ps4/5以及XboxSerieseX|S/XboxOne購買並立即體驗。許多擁有switch的朋友們可能仍熱切期待在ns上暢享這款遊戲,但遺憾的說,該遊戲並無switch版本。據官網配置要求顯示,遊戲配置較高,而sw

VSCode和VS C++IntelliSense無法運作或拾取函式庫 VSCode和VS C++IntelliSense無法運作或拾取函式庫 Feb 29, 2024 pm 01:28 PM

VS程式碼和VisualStudioC++IntelliSense可能無法拾取函式庫,尤其是在處理大型專案時。當我們將滑鼠懸停在#Include&lt;wx/wx.h&gt;上時,我們看到了錯誤訊息「CannotOpen來源檔案'string.h'」(依賴於「wx/wx.h」),有時,自動完成功能無法回應。在這篇文章中,我們將看到如果VSCode和VSC++IntelliSense不能工作或不能提取庫,你可以做些什麼。為什麼我的智能感知不能在C++中運作?處理大型檔案時,IntelliSense有時

修復Xbox錯誤代碼8C230002 修復Xbox錯誤代碼8C230002 Feb 27, 2024 pm 03:55 PM

您是否因為錯誤代碼8C230002而無法在Xbox上購買或觀看內容?一些用戶在嘗試購買或在其控制台上觀看內容時不斷收到此錯誤。抱歉,Xbox服務出現問題。稍後再試。有關此問題的協助,請造訪www.xbox.com/errorhelp。狀態代碼:8C230002這種錯誤代碼通常是由於暫時的伺服器或網路問題引起的。但是,還有可能是由於帳戶的隱私設定或家長控制等其他原因,這些可能會阻止您購買或觀看特定內容。修正Xbox錯誤代碼8C230002如果您嘗試在Xbox控制台上觀看或購買內容時收到錯誤代碼8C

C語言中的void關鍵字的作用 C語言中的void關鍵字的作用 Feb 19, 2024 pm 11:33 PM

C中的void是一個特殊的關鍵字,用來表示空類型,也就是指沒有具體類型的資料。在C語言中,void通常用於以下三個方面。函數傳回類型為void在C語言中,函數可以有不同的回傳類型,例如int、float、char等。然而,如果函數不傳回任何值,則可以將傳回類型設為void。這意味著函數執行完畢後,並不傳回具體的數值。例如:voidhelloWorld()

23 年來首次,C# 獲得了 TIOBE 2023 年度程式語言獎 23 年來首次,C# 獲得了 TIOBE 2023 年度程式語言獎 Jan 11, 2024 pm 04:45 PM

根據TIOBE程式設計社群指數,該指數是衡量程式語言受歡迎程度的標準之一,透過收集來自全球工程師、課程、供應商和搜尋引擎的數據進行評估。 2024年1月TIOBE指數於近日發布,同時官方公佈了2023年程式語言排名,C#榮獲TIOBE2023年度程式語言,這是23年來C#首次拿下這項榮譽。 TIOBE官方新聞稿稱,C#已經穩居前10名長達20多年,如今它正在追趕四大語言,成為一年內漲幅最大的程式語言(+1.43%),當之無愧地獲得了該獎項。排名第二的是Scratch(+0.83%)和Fortran(+0

任天堂上半年度營收成長 21.2%,Switch 銷量達1.32億台 任天堂上半年度營收成長 21.2%,Switch 銷量達1.32億台 Nov 07, 2023 pm 06:29 PM

本站11月7日消息,任天堂今日公佈了截至2023年9月30日的第二財季報告,上半財年銷售額7962億日元(本站備註:當前約386.95億元人民幣),同比成長21.2%;營業利潤2799億日圓(目前約136.03億元),年增27.0%。截至9月底,Switch累計銷售量1億3,246萬台,軟體累計銷售量11億3323萬份。上半財年,Switch全系列銷量較去年同期成長2.4%至684萬台。其中Switch銷量為125萬台,SwitchOLED版本為469萬台,SwitchLite銷量為90萬台。軟體

Switch2能相容於Switch卡帶嗎? Switch2能相容於Switch卡帶嗎? Jan 28, 2024 am 09:06 AM

Switch2是任天堂在2023年科隆遊戲展公佈的新機型,一些玩家擔心新出來的機型與之前版本的機型卡帶會不會存在兼容性問題,下面我們一起來看看吧。 switch2相容於switch卡帶嗎答:switch2不相容switch卡帶。 Switch2卡帶的介紹根據任天堂的生產鏈公司的消息稱,Switch2可能會使用64GB的卡帶。它由於性能更好,支撐更多的3A遊戲大作的原因,需要更大卡帶容量。因為很多的遊戲作品需要閹割和壓縮,才能塞進一張遊戲卡帶裡面。而且Switch的卡帶容易被複製遊戲內容,所以更換新卡帶

深入探討:PHP程式碼如何轉換為C語言 深入探討:PHP程式碼如何轉換為C語言 Mar 12, 2024 pm 01:36 PM

PHP是一種廣泛應用於Web開發的腳本語言,而C語言則是一種底層的程式語言。在一些特定的場景下,可能需要將PHP程式碼轉換為C語言,以提高程式的效能和運作效率。本文將深入探討PHP程式碼如何轉換為C語言,並給出具體的程式碼範例。 PHP程式碼轉換為C語言的原因首先,讓我們先來看看為什麼有時候需要將PHP程式碼轉換為C語言呢? PHP是一種解釋型語言,運行時需要逐行解釋執行代

See all articles