c語言中case是什麼意思

青灯夜游
發布: 2022-11-23 17:35:05
原創
40567 人瀏覽過

在c語言中,case的意思為“情況”、“案例”,是用於switch語句的關鍵字。 「switch case」語句是一種選擇結構的語句,允許測試變數與值列表的相等性,每個值稱之為案例或case;程式會檢查switch後面的值並且與case後面的值比對,如果相等則執行後面的程式碼或程式碼區塊。

c語言中case是什麼意思

本教學操作環境:windows7系統、c99、Dell G3電腦。

case中文是什麼意思

作名詞意思是例子;情況;案例;(辯論或訴訟)論點;箱。

作動詞意思是裝箱;踩點;仔細檢查。

c語言中的case

在c語言中,case的意思是「情況」、「案例」。 case是用於switch語句的關鍵字。

switch case語句是一種選擇結構的語句,用來取代簡單的、擁有多個分枝的 if else 語句。

switch語句允許測試變數與值列表的相等性,每個值稱之為案例或case,程式會檢查switch後面的值並且與case後面的值比對,如果相等則執行後面的程式碼或程式碼區塊

switch..case在C語言中的語法如下

switch(表达式){ case 整型数值1: 语句 1;[break;] case 整型数值2: 语句 2;[break;] ...... case 整型数值n: 语句 n;[break;] default: 语句 n+1;[break;] }
登入後複製

它的執行過程是:

  • 1) 先計算「表達式」的值,假設為m。

  • 2) 從第一個case 開始,比較“整數數值1”和m,如果它們相等,就執行冒號後面的所有語句,也就是從“語句1”一直執行到“語句n 1”,而不管後面的case 是否匹配成功。

  • 3) 如果“整數數值1”和m 不相等,就跳過冒號後面的“語句1”,繼續比較第二個case、第三個case…一旦發現和某個整數數值相等了,就會執行後面所有的語句。假設 m 和「整數數值5」相等,那麼就會從「語句5」一直執行到「語句n 1」。

  • 4) 如果直到最後一個「整數數值n」都沒有找到相等的值,那麼就執行 default 後的「語句 n 1」。

注意:

  • switch語句中使用的表達式必須有int或enum類型,否則如float等其他資料型別是無法通過的編譯的,因為編譯器需要switch後面的語句和case後面的值精確匹配,而計算機無法精確表達一個float數據類型

  • switch可以任意個case語句(包括沒有), 值和語句之間使用:分隔

  • case後面的值必須是int常數值,或者返回結果為int類型的表達式,以下程式碼無法編譯通過

switch (1) { case 1.1: break; }
登入後複製
int a; scanf("%d", &a); switch (a) { case a + 1: break; }
登入後複製
  • 當switch後面的變數值和case後面的常數值匹配相等後,case後面的程式碼將會被執行,直到break語句被執行後跳出switch程式碼區塊

  • break不是必須的,如果沒有break,執行完目前case的程式碼區塊後會繼續執行後面case程式碼區塊的內容,直到執行break才可以退出

  • switch有一個預設的情況,我們用default關鍵字表示,當switch後面的變數和所有case後面的常數都不匹配的情況下,預設執行default後面的語句

c語言中case是什麼意思

範例1:

#include  int main () { /* local variable definition */ char grade; scanf("%d", &grade); switch(grade) { case 'A' : printf("Excellent!\n" ); break; case 'B' : case 'C' : printf("Well done\n" ); break; case 'D' : printf("You passed\n" ); break; case 'F' : printf("Better try again\n" ); break; default : printf("Invalid grade\n" ); } printf("Your grade is %d\n", grade ); return 0; }
登入後複製

c語言中case是什麼意思

#範例2:

#include  int main() { printf("Please input your grade(1-100):"); int grade; scanf("%d", &grade); switch (grade / 10) { case 10: case 9: printf("A\n"); break; case 8: case 7: printf("B\n"); break; case 6: case 5: printf("C\n"); break; default: break; } return 0; }
登入後複製

c語言中case是什麼意思

相關推薦:《C影片教學

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!