標籤:
一、 流程式控制制
l 順序結構:預設的流程結構。按照書寫順序執行每一條語句。
l 選擇結構:對給定的條件進行判斷,再根據判斷結果來決定執行哪一段代碼。
l 迴圈結構:在給定條件成立的情況下,反覆執行某一段代碼。
二、 選擇結構-if1. 簡單使用
l if (運算式) 語句1;
u if(count>50) 開班; 上課;
l if(運算式) 語句1; else 語句2;
u f(count>50) 開班; else 不開班;
l if(運算式) { }
u if(count>50) {開班; 布置課室;} else {}
u { }的範圍
l if -else if-else
u if(a==0) else if (a>0) else
u 特點:只有一個括弧會被執行
l 複合條件
u 上課時間的取值範圍(9~12 || 14 ~17)
l 陷阱
u if(a!=0) { a不是0;} else {a是0;}
u if (a); { }
u if (a=0)
u a == 0;
u if (10) int a = 9;
2. 習題
1> 輸入一個整數day代表星期幾,根據day的值輸出對應的星期幾,比如day==1,就輸出“星期一”
2> 輸入一個整數month代表月份,根據月份輸出對應的季節。
春季:3、4、5
夏季:6、7、8
秋季:9、10、11
冬季:12、1、2
3> 輸入一個整數score代表分數,根據分數輸出等級(A-E)(用兩種方式)
A:90~100
B:80~89
C:70~79
D:60~69
E:0~60
三、 選擇結構-switch1. 簡單使用
l switch(運算式) { case 數值1: break; … default: break;}
l 舉例
int a = 10;
switch (a) {
case 0:
printf("這是一個0");
break;
case 5:
printf("這是一個5");
break;
case 10:
printf("這是一個10");
break;
default:
printf("什麼也不是");
break;
}
l 簡述break的作用
l 在case中定義變數
2. if和switch的對比
l 很多情況可以互換
l if用得比較多,比較靈活,switch只能某個單值
3. 習題
用switch替代if實現if中的習題
四、 迴圈結構-while1. 簡單使用
l 連續printf(“伏地挺身”)20次;
l while(運算式) { }
l continue:輸出5次休息一下
l break的使用:某次的時候停止迴圈
2. 特點
只有條件成立才會執行迴圈體
3. 習題
1> 提示使用者輸入一個正整數n,計算1+2+3+…+n的和
2> 提示使用者輸入一個正整數n,計算1-2+3-4+5-6+…+n的和
4. 陷阱
while(條件);
五、 迴圈結構-do while
l 特點:一定會執行一次迴圈體
l while和do while迴圈對比
int i=0;
while(i<0){
i++;
}
int i=0;
do{
i++;
} while(i<0);
六、 迴圈結構-for1. 簡單實用
l 運行過程
l 初始化語句等可以是多句(把printf放到for的括弧中)
2. for迴圈嵌套
好友名單1
好友1
好友2
好友名單2
好友1
好友2
好友名單3
好友1
好友2
3. 陷阱
1> 死迴圈 for(;;);
2> for迴圈體內部變數的範圍
3> 範圍混淆
for (int i = 0; i<5; i++) int a = 10;
4. while迴圈和for迴圈的比較
l 可以互換
l for迴圈的變數可以及時回收
5. 習題
1> 提示使用者輸入一個正整數n,如果n5,就輸出下列圖形,其他n值以此類推
2> 輸出九九乘法表
七、 break和continue1. break
l 使用場合:switch\迴圈結構
l 迴圈嵌套下的break
2. continue
l 使用場合:迴圈結構
l 迴圈嵌套下的continue
C中的流程式控制制