C語言學習筆記(5)基礎篇--> switch...case語句;break語句


格式:

  switch(expression){  

    statement-list

    }

  1. expression的結果必須是整型值
  2. 控制一條語句或多條語句,一般用大括號控制多條

  貫穿於語句列表之間的是一個或多個case標簽

    case constant-expression

    //每個case標簽必須具有一個唯一的值

eg1:

  

  //從正確的地方開始,連帶向下繼續執行,這里switch(a)中a在上面定義的的值為1,當switch(a)為1時,找下面的case語句,從上往下找符合case 1的語句,然后做case 1:b++;從這里連帶向下繼續執行,下面case 2:a++;也執行,結果為 2 3

  switch(表達式,變量,常量)  {

         case n:語句;

    case n:語句;

    case n:語句;

    default : 語句;  }

  //表達式變量,常量會得到一個值,與case后面n的值進行比較,找到符合n的值,執行后面的語句,連帶向下繼續執行,直到大括號結束,若沒有符合的n值,執行default后面的語句。default可有可無,case后面的n必須是整型常量或字符常量。還有一點需要注意的,出題的時候有時候會打亂順序,default的位置在case上面,不用管,向下執行

 eg2:

  

  //這里switch(a++)的值為表達式的值,a這里為0,程序往下執行,case語句了沒有0,看到下面有default語句,a在執行default語句前值做了一次自增,此時a為1,然后執行default語句,a再次自增,a的值為2,輸出a+b的值為 3

調試代碼

  上面如果你理解不懂,可以用編譯器帶的調試功能一步步看過程

  1、設斷點

   

  最左側的紅色圓點,鼠標左鍵點一下就可以(我在windows下用的VS2017,不多解釋,VS在這里學習很強大,占用空間大。輕巧一點的可以選擇gcc,VC,Dev-c++等。這里的while(1)是讓程序停住,在vs里運行時控制台會一閃而過,可以使用死循環while(1);  getchar();  system("pause")等停下)

  2、加輸出語句測試

   

  程序走到哪里了顯而易見,當然,用完記得注釋或刪除

注意

  switch語句,執行流將貫穿整個case標簽,而不是停留在單個case標簽

 

break語句

  跳出當前的switch結構,不執行連帶向下。在執行一個case分支后,如果想使流程跳出switch結構,即終止switch語句的執行,可以在相應的語句后加break實現。根據實際情況選擇用不用break        

看題就行了,不難。

 eg3:

  編程題:判斷成績,考試成績滿分為100分,90~100等級為‘A’,80~89為‘B’,70~79為‘C’,60~69為‘D’,60以下為‘E’。

  

  //這里可以利用'/'的規則,只取高位上的數字就能判斷出處於哪個成績段,把三位數的100,強制等於90,取最高位9,或者再加一條case 10的語句。最后的default語句不用加break了。

case嵌套

  

 有趣嗎...,當你學了C語言再去學別的語言,天吶,它們怎么這么簡單                 還有一個好玩的 goto語句,循環再講吧                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM