一.switch語句
switch語句也是一種分支語句,常常用於多分支的情況。
比如
輸入1:輸出星期一
輸入2:輸出星期二
輸入3:輸出星期三
輸入4:輸出星期四
輸入5:輸出星期五
輸入6:輸出星期六
輸入7:輸出星期日
輸入一個數字,根據這個數字決定輸出星期幾。此問題的代碼如下:
#include<stdio.h>
#include<stdlib.h>
int main(){
printf("輸入一個表示星期的數字(1-7):");
int num=0;
scanf("%d",&num);
switch(num){
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期日\n");
break;
default:
//如果前面所有的 case 都沒有命中,於是就走到 default 分支中
//如果使用了 switch 語句,必須要寫 default 分支
printf("非法輸入\n");
break;
}
system("pause");
return 0;
}
當然,任何語句都有其缺點,比如switch case語句侷限性:
1.本質上這個和else if相比也沒有簡單到哪裏去
2.如果忘記寫break,代碼的執行過程就會不大一樣,會嘗試着繼續執行
3.case語句中無法定義變量
4.case語句判定的條件必須是int long short char 等類型的變量
二.while語句中的break和continue
1.有關break的代碼介紹爲
#include<stdio.h>
#include<stdlib.h>
int main(){
//從1循環到10,如果一旦發現 數字5就結束循環
int i=1;
while(i<=10){
printf("%d\n",i);
if(i==5){
//跳出循環
break;
}
i+=1;
}
system("pause");
return 0;
}
2.有關continue的代碼介紹爲
#include<stdio.h>
#include<stdlib.h>
int main(){
//for語句也是用來表示循環.
//while語句容易遺漏循環變量的更新操作
//for循環就是爲了解決 while 循環的這個缺點
//從1循環到10,如果發現數字5,就跳過5,繼續循環後面的數字
int i=1;
while(i<=10){
if(i==5){
i+=1;
continue;
}
printf("%d\n",i);
i+=1;
}
system("pause");
return 0;
}
三.for循環
for循環語句格式:
for(表達式1;表達式2;表達式3)
循環語句;
舉個例子:
#include<stdio.h>
#include<stdlib.h>
int main(){
//從 1 打印到 10,不打印5
//for循環的執行過程
//1.執行表達式1(初始化部分)
//2.執行表達式2,判斷循環體是否要執行
//3.執行循環體代碼
//4.執行表達式3,更新循環變量
//5.執行表達式2,判定循環體是否要執行
//6.如果循環體中帶有break,直接跳出循環
//7.如果循環體中帶有continue,跳過本次循環的循環體代碼,執行表達式3,再執行表達式2
//後邊重複 2 3 4 過程....
//如果省略了表達式1,只要對變量進行過初始化的話,不影響
//如果省略了表達式2,循環成了死循環
//如果省略了表達式3,循環變量就沒法更新了,其實
//並不是沒法更新,可以把更新語句放到循環體中
//for( ;i<=10; ){
// if(i==5){
// ++i;
// continue;
// }
//從 1 打印到 10,不打印 5
int i=1;
for(i=1;i<=10;++i){
if(i==5){
continue;
}
printf("%d\n",i);
}
//while語句
//int i=1;
//while(i<=10){
// if(i==5){
// ++i;
// continue;
// }
// printf("%d\n",i);
// ++i;
//}
system("pause");
return 0;
}