【學習筆記】【C語言】選擇結構-switch,學習筆記-switch

來源:互聯網
上載者:User

【學習筆記】【C語言】選擇結構-switch,學習筆記-switch

1.用法

switch(整型運算式)
{
    case 數值1:
        語句1;
        break;
    case 數值2:
        語句2;
        break;
    ... ...
    case 數值n:
        語句n;
        break;
    default :
        語句n+1;
        break;
}

當整型運算式的值等於“數值1”時,就會執行“語句1”,後面的break表示退出整個switch語句,也就是直接跳到第16行代碼;

當整形運算式的值等於“數值2”時,就會執行“語句2”;後面的以此類推。如果在數值1~數值n中,沒有一個值等於整型運算式的值,那麼就會執行default中的語句n+1。

由於所有的case後面都有個break,因此執行完任意一個case中的語句後,都會直接退出switch語句

 

2.break的作用

break關鍵字的作用是退出整個switch語句。預設的格式中,每個case後面都有個break,因此執行完case中的語句後,就會退出switch語句。

1> 如果某個case後面沒有break,意味著執行完這個case中的語句後,會按順序執行後面所有case和default中的語句,直到遇到break為止。

 

3.代碼

 1 #include <stdio.h> 2  3 /* 4  if (條件) 5  { 6   7  } 8   9  10  switch (數值)11  {12     case 數值1:13         語句1;14         break;15  16     case 數值2:17         語句2;18         break;19  20     default :21         語句3;22         break;23  }24  */25 26 int main()27 {28     //int a = 10;29     // break:退出整個switch語句30     // 如果case後面沒有break,就會執行後面所有case中的語句,直到遇到break為止31     /*32     int b = 10;33     34     switch (a)35     {36         case 10:37             printf("A\n");38             b++;39         case 5:40             printf("B\n");41             b++;42         case 0:43             printf("C\n");44             b++;45             break;46         default:47             printf("D\n");48             break;49     }50     51     printf("b的值是%d\n", b);*/52     53     char c = '+';54     int a = 10;55     int b = 20;56     // 如果要在case後面定義新的變數,必須用大括弧{}包住57     switch (c) {58         case '+':59         {60             int sum = a + b;61             printf("和是%d\n", sum);62             break;63         }64             65         case '-':66         {67             int minus = a - b;68             printf("差是%d\n", minus);69             break;70         }71     }72     73     return 0;74 }

4.練習

 1 /* 2  輸入一個整數score代表分數,根據分數輸出等級(A-E)(用兩種方式) 3  A:90~100 score/10 == 9、10 4  B:80~89  score/10 == 8 5  C:70~79  score/10 == 7 6  D:60~69  score/10 == 6 7  E:0~60    8  */ 9 10 #include <stdio.h>11 12 int main()13 {14     int score = 100;15     16     switch (score/10) {17         case 10: // 10018         case 9: // 90+19             printf("A\n");20             break;21         case 8: // 80+22             printf("B\n");23             break;24         case 7: // 70+25             printf("C\n");26             break;27         case 6: // 60+28             printf("D\n");29             break;30         default:31             printf("E\n");32             break;33     }34     35     36     37     /*38      if和switch39      1> if語句能完成的功能,switch並不一定能完成40      int a = 10;41      if (a>100)42      {43      44      }45      46      2> 在有些情況下,if語句和switch語句可以互換47      48      3> switch能完成的功能,if語句都能完成49      */50     51     return 0;52 }

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.