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說話前提語句的同窗可以參考下。