iOS開發入門 ☞ C語言(分支結構 + 迴圈結構),ios分支
分支結構:if 語句:
if(條件運算式){
語句;
...
}
這裡至少有一個代碼會被執行
if(條件運算式){
語句;
...
}else{
語句;
...
}
if(條件運算式1){
語句;
....
}else if(條件運算式2){
語句;
....
}else if(條件運算式3){
語句;
....
}
....
else{
語句;
....
}
特點:
- 這麼多代碼塊中最多隻有一個代碼塊會被執行
- 當程式執行條件運算式3時候,說明其前面的所有運算式都不成立
- 如果if語句中有else 那麼必有一個代碼塊會被執行到
if語句的特點:
- 都是if開頭
- 可以有任意個else if
- 最多隻能有一個else語句
- 如果if語句後面只有一條語句,那麼if後面的大括弧是可以省略的(通常開發也不這麼幹)
if嵌套:if語句內部可以嵌套其他if語句
總結: if語句也是語句,只要能夠寫語句的地方都可以寫if語句
if(條件表達方式){
語句;
...
if(條件運算式){
語句;
...
}
語句;
....
}
省略大括弧的if語句:當if後面只有一條語句的時候,那麼if後面的大括弧可以省略
switch語句:
1. 運算式
運算式計算的結果一定是整型值(short,int,long,char字元是特殊的整型),不能是浮點型,也不能是字串。
2. case:
1) 必須是常量,不能是變數
2) 一個case只能對象一個常量值
3) 常量值必須是整型
4)case後的值不可以重複(每個case值不能重複)
5)每個case後面可以跟0~n多條語句
3. default
- 可以有,也可以沒有,也可以隨便放
- default並不一定非得放在最後一個分支,也可以放中間或前面。一般情況下,都放在最後。
- 無論default寫到什麼地方, 它都會最後執行(只有前面所有的case都不滿足的情況才會執行)只要某一個case滿足, 那麼後面所有的case和default都會失效。
注意點:
- case 後面的常量不可以重複
- break 作用:結束switch語句
- switch 語句只有遇到break 或者 switch後面大括弧才會結束
- 當switch與某一個case匹配了,那麼後面的所有case都失效了
- case 後面只能一個常量或者常量運算式
- switch 後面的小號中只能是整形運算式
/*
case 1:
int a = 2;
break;
*/
// 如果在case中定義了新的變數,必須用大括弧{}包住
case 0:
{
int a = 2;
break;
}
switch (month) {
case 12:
case 1:
case 2:
printf("冬季\n");
break;
case 3:
case 4:
case 5:
printf("春季\n");
break;
case 6:
case 7:
case 8:
printf("夏季\n");
break;
case 9:
case 10:
case 11:
printf("秋季\n");
break;
default:
printf("不要放棄治療\n");
break;
}
/*
1、當某個變數只有幾個固定的取值時候,使用switch會更加簡潔
2、如果是區間[-無窮,1] [10,+無窮] 就用if if(x <= 1 || x >= 10)
*/
案例:
/** 加減乘除計算機 (提示:錄入1+2輸出1+2=3)*/ int test() { int num1,num2; //定義兩個變數,表示運算元 char operator; //定義一個char類型變數,表示要進行操作 printf("請按照如下格式錄入(1 + 1)\n"); //提示用錄入 scanf("%d %c %d",&num1,&operator,&num2); int result; switch (operator) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': if (num2 == 0) { printf("除數不能為零\n"); return 0; } result = num1 / num2; break; default: printf("你錄入格式錯誤\n"); break; } printf("%d %c %d = %d\n",num1,operator,num2,result); return 0; } |
迴圈結構:
迴圈是一次又一次的執行相同的代碼塊
迴圈:用來處理一些重複執行的操作
寫迴圈的具體步驟:
1、確定需要重複執行的操作
2、確定迴圈終止的條件:
1) 在迴圈開始之前,需要做點事(定義一個迴圈控制變數並將其初始化)
2) 確定迴圈約束條件
3) 在每一次迴圈結束的時候或在迴圈中,要去改變迴圈控制變數的值,讓它不斷接近約束條件
最簡單的死迴圈:
- while (1);
- for(;;); // 即for(;1;); 注意:for迴圈中的條件運算式預設為真
do while和while的區別:
while如果條件運算式一開始就不滿足, 那麼迴圈體永遠不會被執行
do while如果條件運算式一開始就不滿足, 同樣會執行一次迴圈體
也就是說: 無論條件運算式是否滿足, do while始終會執行一次迴圈體