C語言switch語句用法總結

2020-12-09 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後面的語句。
  • Linux C語言: switch語句的範圍判斷!
    在C語言中,除了循環結構,還有的就是分支結構,分支結構中有if分支與switch分支,一般地,需要判斷的條件情況少時,就使用if分支;當判斷的情況複雜時
  • C語言switch語句
    1.執行流程首先計算表達式的值,當表達式的值與某個常量的值相等,則以該常量後邊的語句作為入口開始執行下邊的語句,如果沒有常量值與表達式的值相等,則執行default後的語句.註:1.switch關鍵字後的表達式通常是整型的或者字符型的2.可以在每個case後的執行語句的結尾使用break語句,break語句的作用是跳出switch結構3.如果某個case後的執行語句有多餘,可以不用加{}括起來if語句和switch
  • [GO語言基礎] 五.順序控制語句和條件控制語句(if、else、switch)
    後續會結合網絡安全進行GO語言實戰深入,加油~這些年我學過各種程式語言,從最早的C語言到C++,再到C#、PHP、JAVA,再到IOS開發、Python,到最新的GO語言,學得是真的雜。有時候覺得程式語言恰恰是最簡單的,而通過一門程式語言能夠解決實際問題或深入底層才是其價值所在,並且當我們學好一門程式語言後,其他程式語言都非常類似,殊途同歸,學起來也很迅速。
  • 【C語言】天哪!break居然有這麼多用法
    本期分享的乾貨主要是c語言的break知識點。在分享break知識點之前,我想說最近對c語言的學習有了一些新思考,實際上也是對學好每一門程式語言的個人拙見。每當我們信心滿滿準備在鍵盤上行雲流水敲代碼時,我們總會發現,理想很美好,現實很骨感,真到要動手敲的時候,真的好難。
  • C++總結 | 11 開關語句switch-case
    第一種用法是,當表達式的不同的值執行的語句一樣時,我們只在最後一個case後面寫執行的語句和break。#include<iostream>using namespace std;int main(){  int score;  cin>>score;  switch
  • C語言|switch語句的使用
    switch根據其中break語句的使用方法,一般分為三種情況。1. 在switch語句的每個語句段中都使用break語句。有default時,如果表達式的值與任何一個常量表達式的值都不想等,則執行default後面的語句段。如果省略了default,那麼當表達式的值與任何一個常量表達式的值都不相等時,就什麼都不執行。2. 在switch語句中不使用break語句。
  • C語言——選擇結構設計(switch語句和關係運算符及關係表達式)
    在此之前我們介紹了if選擇結構,當然了if並不能解決所有的選擇問題,例如,將學生的成績分等,按優,,良,一般這樣分的話,顯然if語句就顯得力不從心了,那麼在這時候我們就應該使用switch語句去進行操作。switch語句是多分支選擇語句,用來實現分等等問題。
  • 淺談C語言中if語句
    選擇結構分為if語句和switch語句兩種。本文僅談一談if語句基本用法與使用技巧。1、 if語句基本用法if語句基本用法有如下四種形式,我們分別來看。4) if語句嵌套形式所謂的if語句嵌套形式是指if語句某一分支裡又是一個if語句。通俗的理解是,前三種用法形式裡的語句塊,又是一個if語句,而且可以是前三種用法形式的任一種。
  • C語言程序控制語句——switch
    ANSI C基礎知識內容:switch語句申明:該系列文檔僅供個人學習使用,轉載請註明出處©switch語句用來實現多分枝選擇程序控制,根據表達式的值,決定case後面操作是否執行。switch(表達式){case 常量表達式1:語句1case 常量表達式2:語句2┇case 常量表達式n:語句ndefault: 語句n+1}說明:switch後面括號內的表達式,可以是任何類型。
  • 高效的C編程之:Switch語句
    編譯器通常將C語言中的Switch語句編譯一個查找表(TableLookup)以便跳轉到合適的入口處。本文引用地址:http://www.eepw.com.cn/article/257019.htm下面的例子顯示了編譯器如何處理程序中的Switch語言的。
  • 如何學好C語言判斷語句?攻略if語句是第一步
    C語言,是全球使用最多的程式語言。上次我們談到了switch語句,但在C語言中,if條件構成的選擇結構程序很重要。在實際問題中,往往需要對不同變量進行比較,然後分別執行不同的語句。如何使用if語句呢?小編在這裡談一談if語句基本用法與使用技巧。
  • C語言-switch
    介紹Switch在一些計算機語言中是保留字,其作用大多情況下是進行判斷選擇。
  • 語句介紹之switch語句
    結構化程序設計有三種結構:順序結構,選擇結構和循環結構if語句和switch語句可以構成選擇結構。
  • C語言中Switch語句在單片機編程中的使用
    C語言還提供了另一種用於多分支選擇的switch語句, 其一般形式為:switch(表達式){     case 常量表達式1:
  • 物聯網開發筆記——嵌入式開發之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語言教程-基礎語句
    c語言提供了多種語句來實現這些程序結構。本文將介紹這些基本語句及其應用,使讀者對c程序有一個初步的認識,為以後的學習打下基矗  c程序的語句  c程序的執行部分是由語句組成的。程序的功能也是由執行語句實現的。
  • switch語句的使用方法
    使用if語句嵌套解決實際問題中的多分支選擇時,如果分支數目非常多,那麼if語句的嵌套層數也會很多,使得程序代碼變得冗長而且可讀性會下降。C語言提供了switch語句來處理多分支選擇。switch語句的語法形式如下:switch(表達式){case 常量1: 語句或語句組1;case 常量2: 語句或語句組2;……case 常量n: 語句或語句組
  • C語言中的分支語句,就是這麼簡單
    語句一個 switch 語句允許測試一個變量等於多個值時的情況。在一個 switch 中可以有任意數量的 case 語句。每個 case 後跟一個要比較的值和一個冒號。case 的 constant-expression 必須與 switch 中的變量具有相同的數據類型,且必須是一個常量或字面量。
  • 編程入門第六課,交換語句(switch,case)
    交換語句交換語句適合於在處理一個變量或者表達式的值為不同內容的情況下分別進行不同的操作的情況2.1 c/c++在c/c++裡面使用交換語句的變量只能是整型或枚舉類型int age;age = 35;switch (age) {case 12: cout << "你猜錯了,福哥沒有這麼小哦!"