C語言switch語句用法總結

2020-12-15 C語言知識傳播者
請看下文

C語言中選擇結構分為if語句和switch語句兩種,兩種語句均可以依據條件不同而選擇執行不同的語句塊,但switch語句更多地應用於多分支結構。對於switch語句你都學會使用了嗎?本文將總結switch語句基本用法及使用技巧,希望能給大家提供參考。

1、 switch語句基本用法

C語言中,switch語句是一種多分支選擇語句,在實際應用中,要在多種情況中選擇一種情況,執行某一部分語句。

其使用一般形式如下:

switch(表達式)

{

case 常量表達式1:

語句塊1;

break;

case 常量表達式2:

語句塊2;

break;

……

case 常量表達式m:

語句塊m;

break;

default:

語句塊n;

break;

}

使用說明如下:

1) 程序執行時,首先計算表達式的值,與case後面的常量表達式值比較,若相等就執行對應部分的語句塊,執行完後利用break語句跳出switch分支語句。若表達式的值與所有的case後的常量表達式均不匹配,則執行default項對應的語句n,執行後跳出switch分支語句。

2) case後面的常量表達式只能是整型、字符型或枚舉型常量的一種;各case語句表達式的值各不相同,只起到一個標號作用,用於引導程序找到對應入口。

3) 這裡的語句塊可以是一條語句,或其它複合語句。語句塊可以不用花括號「{}」。

4) 各個case語句並不是程序執行的終點,通常需要執行break語句來跳出switch分支語句;若某case語句的語句塊被執行後,若其後沒有break語句,則順序執行其它case語句,直到遇到break語句或後面所有case語句全部執行完,再跳出switch分支語句。

5) 多個case可以共用一組執行語句塊。

6) 各個case和default出現的先後次序,並不影響執行結果。

7) default語句不是必須的,但建議加上作為默認情況處理項。

8) switch語句僅做相等性檢測,不能像if語句那樣做關係表達式或邏輯表達式計算,進行邏輯真假判斷。

2、 switch語句使用技巧

1) 儘量減少case語句數量

C語言C89標準指出,一個switch語句至少應支持257個case語句;而在C99標準中分支個數要求提升至1023個。在實際編程開發應用中,為了提高程序可讀性與執行效率,應儘量減少case語句的數量。儘量將長的switch語句轉換為嵌套的switch語句,即可以將高頻執行的語句放在一個case語句中,作為嵌套switch語句的最外層;把執行頻率較低的case語句放在另一個switch語句中,放置於嵌套switch語句的內層。

2) case語句結尾勿忘加break語句

在switch語句中,每個case語句的結尾不要忘記添加break語句,否則將導致多個分支重疊,除非有意而為之。

3) 注意case語句的排序

通常按照字母或數字順序來排序;若switch語句存在多個情況正常和異常的語句,應儘量將情況正常的語句排在前面;另外也可以根據執行頻率來排序,如果能預測出每條case語句的大概執行頻率,可以將頻率最高的語句排在前面。

好了,關於switch語句的用法今天就總結到這,如果大家有任何疑問請留言探討。我是「C語言知識傳播者」,志在瞄準C語言,挖掘和總結C語言的難點和痛點,給C語言編程愛好者和本領域從業人員提供參考,我會用心總結C語言知識的點點滴滴,您的關注是我持續創作的動力,請收藏本文、轉發並點讚,希望得到您的持續關注,謝謝!

相關焦點

  • 關於C語言Switch語句,先學這些技巧夠不夠?
    一.C語言中switch的用法1、switch後面括弧內的【表達式】,ANSI標準允許它為任何類型;2、當表達式的值與某一個case後面的常量表達式的值相等時,就執行此case後面的語句,否則,就執行default後面的語句。
  • 淺談C語言中if語句
    選擇結構分為if語句和switch語句兩種。本文僅談一談if語句基本用法與使用技巧。1、 if語句基本用法if語句基本用法有如下四種形式,我們分別來看。4) if語句嵌套形式所謂的if語句嵌套形式是指if語句某一分支裡又是一個if語句。通俗的理解是,前三種用法形式裡的語句塊,又是一個if語句,而且可以是前三種用法形式的任一種。
  • 如何學好C語言判斷語句?攻略if語句是第一步
    C語言,是全球使用最多的程式語言。上次我們談到了switch語句,但在C語言中,if條件構成的選擇結構程序很重要。在實際問題中,往往需要對不同變量進行比較,然後分別執行不同的語句。如何使用if語句呢?小編在這裡談一談if語句基本用法與使用技巧。
  • C語言switch語句
    1.執行流程首先計算表達式的值,當表達式的值與某個常量的值相等,則以該常量後邊的語句作為入口開始執行下邊的語句,如果沒有常量值與表達式的值相等,則執行default後的語句.註:1.switch關鍵字後的表達式通常是整型的或者字符型的2.可以在每個case後的執行語句的結尾使用break語句,break語句的作用是跳出switch結構3.如果某個case後的執行語句有多餘,可以不用加{}括起來if語句和switch
  • 物聯網開發筆記——嵌入式開發之Linux系統中C語言分支判斷語句
    if-score.c例子4、Switch語句1)C 語言中switch語句的語法:switch(表達式3)branch/switch.c例子switch.c例子4)branch/switch2.c例子switch2.c例子5)branch/switch-score.c例子
  • C語言|switch語句的使用
    switch根據其中break語句的使用方法,一般分為三種情況。1. 在switch語句的每個語句段中都使用break語句。有default時,如果表達式的值與任何一個常量表達式的值都不想等,則執行default後面的語句段。如果省略了default,那麼當表達式的值與任何一個常量表達式的值都不相等時,就什麼都不執行。2. 在switch語句中不使用break語句。
  • switch語句的使用方法
    使用if語句嵌套解決實際問題中的多分支選擇時,如果分支數目非常多,那麼if語句的嵌套層數也會很多,使得程序代碼變得冗長而且可讀性會下降。C語言提供了switch語句來處理多分支選擇。switch語句的語法形式如下:switch(表達式){case 常量1: 語句或語句組1;case 常量2: 語句或語句組2;……case 常量n: 語句或語句組
  • C語言編程規範 clean code
    參考該規範之前,希望您具有相應的C語言基礎能力,而不是通過該文檔來學習C語言。了解C語言的ISO標準;熟知C語言的基本語言特性;了解C語言的標準庫;總體原則代碼需要在保證功能正確的前提下,滿足可讀、可維護、安全、可靠、可測試、高效、可移植的特徵要求。
  • switch和if else語句到底用誰
    大家都知道在Java中一共有兩種選擇語句分別是switch與if語句,但究竟什麼時候用?用哪一種好呢?這一直是大家心中的一個小疑慮。現在簡單的回顧switch與if語句的基本構造,再深入了解它們的使用區別。
  • 教你輕鬆學會C語言系列之——一種更簡潔、更經典的選擇結構
    因此,C語言又提供了一個專門用於處理多分支結構的條件選擇語句。稱為switch語句,又稱開關語句。控制機制其語句控制機制是:首先,計算switch小括號內表達式的值;然後,與case的值相比較;匹配成功則執行case內的語言;當所有case都匹配不上,則執行default內的語句。
  • 高級語言中的語句在彙編中是如何實現的
    我們都知道對於c語言來說,它是需要先轉換成彙編語言,然後再生成機器語言的。那麼在c語言中,各種條件語句,各種表達式的計算,在彙編中是何如實現的呢?今天我們就來講解一下。彙編語言彙編語言是由包含用助記符如 ADD、MOV、SUB 和 CALL 書寫的語句。彙編語言與機器語言是一對一(one-to-one)的關係:每一條彙編語言指令對應一條機器語言指令。
  • 第三篇:JavaScript語句流程控制
    結構switch結構也屬於條件結構,switch結構的語法同if-else結構的語法不太相同,所以單獨列出說明。JavaScript語言提供了二種不同形式的循環結構,分別是for循環結構和while循環結構。for循環結構for循環不僅可以用於循環次數已經確定的情況,而且可以用於循環次數不確定而只給出循環條件的情況。
  • Java小白入門教程(6)——循環語句
    {}裡的內容,然後再來判斷條件 如果是false,表示循環條件不成立,那麼循環結束*//*注意事項: 1、學會循環過程推理,避免死循環 2、如果出現死循環,ctrl+c 終止程序*///while循環的特點:先判斷條件,再執行代碼。
  • C語言中typedef用法總結,看完就能像編程老手一樣熟練運用
    請看下文C語言中typedef關鍵字應用比較常見,許多C語言初學者對它的用法不甚了解。1) 使數據類型名稱簡潔新類型名字定義代碼如下所示:typedef unsigned int UINT;新類型名UINT定義之後就可以使用它來定義變量,定義代碼如下:UINT a,b,c;
  • 3.1.5 JavaScript中switch語句的使用
    在JavaScript中使用if-else-if語句可以實現多路選擇功能,但其結構使程序看起來很不清晰,也不容易維護。而switch語句是典型的多路分支(多路選擇)語句,其作用與if-else-if語句基本相同,但switch語句比if-else-if語句更具有可讀性,它可以根據一個表達式的值在給定的多個選擇中選擇一個符合條件的分支來執行。而且switch語句允許在找不到一個匹配條件的情況下能執行默認的一個分支。
  • C語言程序設計試題及答案
    A) 程序行 B) 語句 C) 函數 D) 字符2、C語言規定,在一個源程序中main函數的位置( )。=4; a++);A) 是無限循環   B) 循環4次  C) 循環次數不定   D) 循環3次11、請選出合法的C語言賦值語句( )。
  • 2020銀行招聘科技崗考試知識點資料:switch語句
    2020銀行招聘科技崗考試知識點資料:switch語句 2020銀行校園招聘正在進行中,山東中公教育為大家整理了銀行招聘科技崗的相關資料,供各位考生複習備考,一分耕耘一分收穫,取得好成績的關鍵在於一點一滴的積累,大家一定要更加努力哦,快來跟著小編的步伐來學習吧
  • 用C語言編寫屬於自己的程式語言,大一學完C語言即可做!
    首先,明確一點,咱這個項目只是做一個簡單的腳本語言而不是編譯型語言!!!其次,本文不需要太多專業知識,所以不慌。最後,本文只是簡單實現腳本語言,雖然不牛X......實驗環境 : linux2.知識點 : 大一所學 C語言 知識二 要做功能:1.實現語法分析列印 hello-world
  • C語言項目中.h和.c文件的關係和概念
    在編譯器只認識.c(.cpp))文件,而不知道.h是何物的年代,那時的人們寫了很多的.c(.cpp)文件,漸漸地,人們發現在很多.c(.cpp)文件中的聲明語句就是相同的。
  • 在ASP.NET Web應用程式中使用C#的選擇語句if和switch
    在程序當中,也存在選擇語句,C#中共有2個選擇語句:if和switch,if是單分支選擇語句,switch是多分支選擇語句。而C#中的分支語句分為:單分支、雙分支和多分支。If為單分支,if…else為雙分支,if…else if…else和switch為多分支。