選擇結構為依條件讓程式分流執行,如下圖

條件 (condition) 為真,程式執行分流 A ,條件為假,程式執行分流 B ,這便是典型的選擇結構之例。
Objective-C 中提供的選擇結構如下表
| 選擇結構 | 簡述 |
|---|---|
| if | 如果條件為真才執行 |
| if-else | 如果條件為真執行某某,否則執行某某 |
| switch | 多重條件選擇,並可設定預設執行選項 |
最簡單的為 if 陳述 (statement) ,如下例
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int a = 22;
int b = 34;
if (a > b) {
NSLog(@"Good luck!");
}
if (a != b) {
NSLog(@"Have a nice day!");
}
[pool drain];
return 0;
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:conif.m
功能:Objective-c 程式範例
作者:張凱慶
時間:西元 2013 年 4 月 */編譯執行,結果如下

if 陳述在出現在第 9 行及第 13 行。 if 為 Objective-C 的關鍵字 (keyword) 之一,緊接在 if 後頭的小括弧即為條件運算式,若運算式的結果為 true 的值,條件即為真,隨後大括弧內的程式區塊就會被執行,反之,若運算式的結果為 false ,條件則為假,程式就會跳過大括弧的程式區塊,尋找區塊後的程式繼續執行。
此例中,第 9 行
if (a > b) {由於 a > b 的條件為假,所以 Good luck! 的英文字串不會被列印出來,而第 13 行
if (a != b) {a != b 的條件為真,所以程式會印出 Have a nice day! 的英文字串。
重複結構是讓程式重複執行某些工作,如下圖

當有工作需要重複執行時,重複的條件為真,此工作就重複執行一次,執行完畢再行測試條件,條件為真,繼續重複執行此工作,直到條件為假時,結束工作的執行。依此執行的方式為重複結構,也被稱為迴圈 (loop) 。
因此,具有重複結構的程式通常需要下列三項基本任務
| 1. 控制變數初始設定 |
| 2. 迴圈結束條件測試 |
| 3. 調整控制變數的值 |
Objective-C 中提供的重複結構如下表
| 重複結構 | 簡述 |
|---|---|
| for | 通常用於有明確重複數的迴圈 |
| while | 前測試迴圈 |
| do-while | 後測試迴圈 |
常見的 for 迴圈,如下例
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int i;
for (i = 0; i < 10; i++) {
NSLog(@"%d\n", i);
}
[pool drain];
return 0;
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:confor.m
功能:Objective-c 程式範例
作者:張凱慶
時間:西元 2013 年 4 月 */編譯執行,結果如下

for 迴圈在 8 到 10 行
for (i = 0; i < 10; i++) {
NSLog(@"%d\n", i);
}for 為 Objective-C 的關鍵字之一。第 8 行在關鍵字 for 之後緊接著的小括弧為 for 迴圈的控制項目,用分號分隔的三個項目,分別是
| 控制變數初始設定; | 迴圈條件測試; | 調整控制變數的值 |
此例中, i 為迴圈的控制變數 (control variable) ,初始值設為 0 ,而迴圈結束條件為 i < 10 ,每執行完一次迴圈, i 就遞增 1 。因此,此程式重複印出 i 的值,恰巧從 0 印到 9 為止。
| 中英文術語對照 | |
|---|---|
| 控制結構 | control structure |
| 循序 | sequence |
| 選擇 | selection |
| 重複 | repetition |
| 程式語言 | programming language |
| 程式 | program |
| 條件 | condition |
| 陳述 | statement |
| 關鍵字 | keyword |
| 迴圈 | loop |
| 控制變數 | control variable |
您可以繼續參考
控制結構
型態轉換
相關目錄
Objective-C 快速導覽
Objective-C 教材
首頁
參考資料
Programming with Objective-C: About Objective-C
Programming with Objective-C: Working with Objects
沒有留言:
張貼留言