日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

选择语句

發布時間:2025/4/5 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 选择语句 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1 選擇語句
      • 1.1 選擇語句語法圖
      • 1.2 選擇語句的特點
    • 2 if選擇語句
      • 2.1 if語句的執行效果
      • 2.2 子語句一般使用復合語句
      • 2.3 else if語句的出處
      • 2.4 if語句的多重嵌套
      • 2.5 if語句中零值比較的注意點
    • 3 switch語句
      • 3.1 case標號語句
      • 3.2 default標號語句
      • 3.3 break跳轉語句
      • 3.4 switch語句

1 選擇語句

1.1 選擇語句語法圖

1.2 選擇語句的特點

通過語法圖,可以看到選擇語句分為2種:if語句、switch語句。選擇語句中的表達式,我們又稱之為控制表達式。因為,選擇語句的執行效果是由它的值來決定的。

每個選擇語句及其子語句各自形成一個塊。


2 if選擇語句

2.1 if語句的執行效果

控制表達式的值 != 0 : 執行第1個子語句,然后跳轉到if語句的后面,繼續向下執行。

int main (void) {int a = 0;if(3) a = a + 100; else a = a + 100; a = a + 100; }

控制表達式的值 = 0:

  • 沒有else分支:跳轉到if語句的后面,繼續向下執行。
  • int main (void) {int a = 0;if(0) a = a + 100; //為了使程序更加易讀,子語句一般放至下一行并縮進a = a + 100; }
  • 有else分支:執行第2個子語句,然后跳轉到if語句的后面,繼續向下執行。
  • int main (void) {int a = 0;if(0) a = a + 100; elsea = a + 50; }

    2.2 子語句一般使用復合語句

    子語句使用復合語句的原因:

    • 程序更加易讀。
    • 避免了子語句是一條語句的尷尬。
    int main (void) {int a = 0;if(0) {a = a + 100;a = a + 100;}else{a = a + 50;a = a - 50;}}

    2.3 else if語句的出處

    當if語句中子語句也是if語句(if語句的嵌套)時:

    int main (void) {if(0){a = a + 100; a = a - 100;}else { if(0){a = a + 100; a = a - 100;}} }

    此時由于嵌套的if也是語句,我們可以把它變成如下的形式:

    int main (void) {if(0){a = a + 100; a = a - 100;}else if(0){a = a + 100; a = a - 100;} }

    然后整理一下格式,就得到else if:

    int main (void) {if(0){a = a + 100; a = a - 100;}else if(0){a = a + 100; a = a - 100;} }

    2.4 if語句的多重嵌套

    else分支與離它最近的if是配對的。

    int main (void) {if(0){a = a + 100; a = a - 100;}else if(0){a = a + 100; a = a - 100;}else if(0){a = a + 100; a = a - 100;}else{a = a + 100; a = a - 100;} }

    2.5 if語句中零值比較的注意點

    if語句中零值比較有如下幾點需要注意:

    • bool型變量應該直接出現于條件中,不要進行比較。
    • 變量和0值比較時,0值應該出現在比較符號左邊。
    • float型變量不能直接進行0值比較,需要定義精度。

    3 switch語句

    3.1 case標號語句


    case 常量表達式 : 語句;

    // 只有前兩句是case標號語句 case 20 :a = a + 20; a = a + 20;

    3.2 default標號語句

    default : 語句;

    // 只有前兩句是default標號語句 default :a = a + 100;a = a + 100;

    3.3 break跳轉語句


    break;

    3.4 switch語句

    switch語句的常用用法及其執行效果:

  • 控制表達式的值 = 某個(case)標號語句的表達式的值,跳轉到該(case)標號語句處執行,然后繼續向下執行。
  • int main (void) {int a = 20;switch(a+20){case 20 :a = a + 20;case 40 :a = a + 40;case 60 :a = a + 60;default :a = a + 100;}a = a + 200; }
  • 控制表達式的值 != 所有(case)標號語句中表達式的值:
    • 沒有(default)標號語句,跳轉到switch語句的后面,繼續向下執行。
    • 有(default)標號語句,跳轉到該(default)標號語句處開始執行,然后繼續向下執行。
    int main (void) {int a = 20;switch(a+20){case 20 :a = a + 20;default :a = a + 100;case 40 :a = a + 40;case 60 :a = a + 60;}a = a + 200; }
  • 在switch語句中,(break)跳轉語句的執行效果,跳轉到switch語句的后面,繼續向下執行。
  • int main (void) {int a = 20;switch(a+20){case 20 :a = a + 20;break;case 40 :a = a + 40;break;case 60 :a = a + 60;break;default :a = a + 100;}a = a + 200; }

    switch語句的細節:

    • 控制表達式的值必須是整數類型(整型或者字符型)。
    • (case)標號語句中的表達式,必須是整型常量表達式。
    • 不允許2個及其以上的(case)標號語句的表達式的值相等。
    • (case)標號語句和(default)標號語句只能出現在switch語句中。
    • (case)標號語句和(default)標號語句在switch語句中的出現順序沒有要求:
      • 標號語句本身并不會影響代碼的執行效果。
      • 它僅僅用于標識一個跳轉目標。
    • 只能有一個(default)標號語句(default語句有必要加上,以處理特殊情況,并且只用來處理真正的默認情況)。
    • case語句的排列順序盡量遵守如下規則:
      • 按字母或數字順序排列各條語句。
      • 正常情況放在前面,異常情況放在后面。

    if語句和switch語句的對比:

    • if語句和switch語句在功能上可以相互替換。
    • if語句適用于復雜邏輯進行判斷的情形中,if語句對于按片分支判斷的情形更加簡潔。
    • switch語句適用于對離散值進行判斷的情形中,switch語句對于多分支判斷的情形更加簡潔。

    參考資料:

  • 深度學習:C/C++、計算機體系
  • C語言進階剖析教程
  • 總結

    以上是生活随笔為你收集整理的选择语句的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。