程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話switch 語句的用法詳解

C說話switch 語句的用法詳解

編輯:關於C++

C說話switch 語句的用法詳解。本站提示廣大學習愛好者:(C說話switch 語句的用法詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話switch 語句的用法詳解正文


C說話固然沒無限制 if else 可以或許處置的分支數目,但當分支過量時,用 if else 處置會不太便利,並且輕易湧現 if else 配對失足的情形。例如,輸出一個整數,輸入該整數對應的禮拜幾的英文表現:

#include <stdio.h>
int main(){
  int a;
  printf("Input integer number:");
  scanf("%d",&a);
  if(a==1){
    printf("Monday\n");
  }else if(a==2){
    printf("Tuesday\n");
  }else if(a==3){
    printf("Wednesday\n");
  }else if(a==4){
    printf("Thursday\n");
  }else if(a==5){
    printf("Friday\n");
  }else if(a==6){
    printf("Saturday\n");
  }else if(a==7){
    printf("Sunday\n");
  }else{
    printf("error\n");
  }
  return 0;
}

運轉成果:

Input integer number:3
Wednesday

C說話還供給了別的一種多分支選擇的語句——switch 語句,它的根本語法格局以下:

switch(表達式){
    case 常量表達式1: 語句 1;
    case 常量表達式2: 語句 2;
    ......
    case 常量表達式n: 語句 n;
    default: 語句 n+1;
}

它的履行進程是:起首盤算“表達式”的值,然後從第一個 case 開端,與“常量表達式x”停止比擬,假如與以後常量表達式的值不相等,那末就不履行冒號後邊的語句 x,一旦發明和某個常量表達式的值相等了,那末它會履行以後一切的語句,假如直到最初一個“常量表達式 n”都沒有找到相等的值,那末就履行 default 後的“語句 n+1”。

須要留意的是,當找到一個相等的 case 分支後,會履行該分支和以後一切分支的語句。例如:

#include <stdio.h>
int main(){
  int a;
  printf("Input integer number:");
  scanf("%d",&a);
  switch(a){
    case 1: printf("Monday\n");
    case 2: printf("Tuesday\n");
    case 3: printf("Wednesday\n");
    case 4: printf("Thursday\n");
    case 5: printf("Friday\n");
    case 6: printf("Saturday\n");
    case 7: printf("Sunday\n");
    default:printf("error\n");
  }
  return 0;
}

運轉成果:

Input integer number:4
Thursday
Friday
Saturday
Sunday
error

 輸出4,發明和第四個分支婚配,因而就履行第四個分支和前面的一切分支。這明顯不是我們想要的成果,我們願望只履行第四個分支,跳事後面的一切分支。

為了不這類情形,C說話還供給了一個症結字 break,專門用於跳出switch語句。

switch 的分支語句一共有 n+1 種,而我們平日願望的都是選擇個中的一個分支來履行,履行完後就停止全部 switch 語句,而持續履行 switch前面的語句,此時便可以經由過程在每一個分支後加上 break 語句來完成了。以下:

switch (表達式){
    case 常量表達式1: 語句1; break;
    case 常量表達式2: 語句2; break;
    ......
    case 常量表達式n: 語句n; break;
    default: 語句n+1; break;
}

加了這個 break 語句後,一旦“常量表達式 x”與“表達式”的值相等了,那末就履行“語句 x”,履行終了後,因為有了 break 則直接跳出 switch 語句,持續履行 switch 語句前面的法式了,如許便可以免履行不用要的語句。

應用switch語句修正下面的代碼:

#include <stdio.h>
int main(){
  int a;
  printf("Input integer number:");
  scanf("%d",&a);
  switch(a){
    case 1: printf("Monday\n"); break;
    case 2: printf("Tuesday\n"); break;
    case 3: printf("Wednesday\n"); break;
    case 4: printf("Thursday\n"); break;
    case 5: printf("Friday\n"); break;
    case 6: printf("Saturday\n"); break;
    case 7: printf("Sunday\n"); break;
    default:printf("error\n"); break;
  }
  return 0;
}

 運轉成果:

Input integer number:4
Thursday

值得一提的是,因為default是最初一個分支,婚配後不會再履行其他分支,所以也能夠不消break;語句。

以上就是對C說話switch語句的材料整頓,進修 C說話前提語句的同窗可以參考下。

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