程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 寫給新手 選擇結構程序設計總結

寫給新手 選擇結構程序設計總結

編輯:關於C語言

一:C語言有兩種選擇結構:

   (1):if語句,用來實現兩個分支的選擇結構;
   (2):switch語句,用來實現多分支的選擇結構;


二:if語句:

   if語句的一般形式如下:

   if(表達式)
     語句1;
  
   或者是:

   if(表達式){
     語句1;
   }

   說明:

  【1】:if語句中的表達式可以是關系表達式,邏輯表達式,甚至是數值表達式,返回的是一個邏輯值,即真或假!
 

三:所有形式如下:

(1):單判斷語句

  if(表達式1)
     語句1;
 
  或者是:

  if(表達式1){
     語句1;
  }

(2):雙分支語句

  if(表達式1)
     語句1;
  else
     語句2;

  或者是:

  if(表達式1){
     語句1;
  }else{
     語句2;
  }

(3):多分支語句

  if(表達式1)
     語句1;
  else if(表達式2)
     語句2;
  ......
 
  else if(表達式n)
     語句n;
  else
     語句n+1;

  說明:
  【1】:整個語句可以寫在多行上,也可以寫在一行上;
   例子:
       if(x>0) y=1;else y=0;

  【2】:if語句寫在多行上,都是一個整體,屬於一個語句。不要誤認為if部分是一個語句,else部分是另一個語句。在系統中對if語句編譯的時候,還要檢查是
否有else語句,如果有else語句,會把它當做if語句的部分;如果沒有else語句,則認為if語句已經結束!還要注意else語句不能作為單獨語句來結束,它必須和
if語句配對使用,而且是和最近的if語句配對,采用就近原則!

  【3】:if語句不加大括號,只對第一句代碼有約束作用,後面的代碼不在約束,會按照順序往下執行;如果加上大括號會對括號裡面的所有代碼都有約束作用。

四:選擇結構語句的嵌套

    if語句的嵌套:在if語句中又包含一個或多個if語句稱為if語句的嵌套。

    形式如下:
  
   (1):在if語句中再嵌套if語句

    if(表達式1){
       if(表達式2){
          語句1;
    }
    }

   (2):在if語句中再嵌套雙分支語句

    if(表達式1){
       if(表達式2){
          語句1;
       }else{
          語句2;
       }
    }

    (3):在if語句中嵌套多分支語句

     if(表達式1){
         if(表達式2){
            語句1;
         }else if(表達式3){
            語句2;
         }else if(表達式4){
            語句3;
         }else{
            語句4;
         }
     }

 

五:用switch語句實現多分支語句

    switch語句是多分支選擇語句
    switch語句作用:根據表達式的值來使流程跳轉到不同的語句。

六:一般的形式如下:

   (1):無break語句形式

    switch(表達式){

      case 常量1:
         語句1;

      case 常量2:
         語句2;
     
      case 常量3:
         語句3;
       
      default:
         語句4;

    }
    (2):有break語句形式

    switch(表達式){

      case 常量1:
         語句1;
         break;

      case 常量2:
         語句2;
         break;
     
      case 常量3:
         語句3;
         break;

      default:
         語句4;
         break;
    }

    說明:

    【1】:switch語句後面的“表達式”,其值的類型應為整數型(包括字符型)【字符型也屬於整數形式,按照ASCII碼來存儲到計算機當中】
   
    【2】:switch語句下面的大括號是一個復合語句,一定要打上,不打則會報錯!裡面是case關鍵字和default組合的若干語句。case後面的必須跟一個常量,
或是常量表達式。被當做標號作用,用來標識一個位置。

    【3】:沒有break語句,是按照順序依次往下執行;有break語句,符合哪一種情況就執行哪一種情況下的語句,之後馬上退出整個switch語句。

    【4】:switch語句的運行原理:在執行switch語句時,先計算switch後面的表達式的值,然後將它與各個case標號比較,如果與某一個case標號中的常量相同
,流程就轉到此case標號的後面的語句。如果沒有switch表達式相匹配的case常量。再檢查有沒有default語句,若有就執行default標號後面的語句,若沒有則退
出整個switch語句。

    【5】:各個case標號出現的次序不影響結果,可以先出現default語句,其他case語句可以打亂。

    【6】:每一個case常量必須互不相同,否則會出現矛盾現象,重復定義系統報錯!

    【7】:在case語句下不需要加大括號,會自動執行case標號語句後面的所有語句!

    【8】:多個case標號可以共用一組執行語句。如下:

     case A:
     case B:
     case C:
     printf("及格了! ");break;


七:多分支選擇語句嵌套:

    (1):可以在switch中嵌套switch語句
    
     switch(表達式1){
          case 常量1:
             switch(表達式2){
                case 常量1:
                     語句1;
                  break;
                case 常量2:
                     語句2;
                  break;
             }
  &nbs

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved