一起Talk IOS吧(第十二回 OC中程式結構程式碼演示)

talk_8發表於2020-11-07

看官們,我們在第五回中介紹了OC的程式結構,不過沒有提供程式碼演示,本章回中我們將提供具體的程式碼。請大家參考以下示例程式碼:

#import<Foundation/Foundation.h>

int main() {
	int a = 3;
	int b = 5;
	int i= 0;

	//條件結構:if
	if(a>b){
		NSLog(@"a > b");
	}else {
		NSLog(@"a < b ");
	}

	if(a>b){
		NSLog(@"a > b");
	}else if(a < b){
		NSLog(@"a < b ");
	}else {
		NSLog(@"a = b ");
	}

	//條件結構:switch
	switch(a){
		case 3:
		NSLog(@"it is a");
		break;
		case 5:
		NSLog(@"it is b");
		break;
		default:
		NSLog(@"it is unknow");
		break;
	}

	//迴圈結構
	for(i=0;i<a;i++){
		NSLog(@"i = %i",i);
	}

	i = 0;
	while(i < a) {
		NSLog(@"i = %i",i++);
	}
	
	return 0;
}

在上面的程式碼中我們演示了條件結構中的if/else和switch兩種結構,其中if/else結構有兩種形式,第一種形式只有一個if條件,第二種形式中包含了多個if條件,這種形式可以使用switch結構來代替。

迴圈結構也是演示了兩種形式,一種是for迴圈,另外一種是while迴圈。他們的作用都一樣:迴圈執行大括號中的程式碼,直到不符合迴圈條件為止。

順序結構表示程式執行順序和程式碼的編寫順序一致,比如程式中的switch結構,如果按照順序結構去執行,那麼程式碼會從大括號開始執行,直到大括號尾部結束執行。但是程式中有break語句,它表示跳出當前程式碼結構,因此程式沒按照順序結構執行,這點在程式執行結果中可以看到。

編譯並且執行上面的程式碼,得到以下執行結果:

2020-11-05 20:58:44.742 ex.out[840:14210] a < b 
2020-11-05 20:58:44.742 ex.out[840:14210] a < b 
2020-11-05 20:58:44.742 ex.out[840:14210] it is a
2020-11-05 20:58:44.742 ex.out[840:14210] i = 0
2020-11-05 20:58:44.742 ex.out[840:14210] i = 1
2020-11-05 20:58:44.742 ex.out[840:14210] i = 2
2020-11-05 20:58:44.742 ex.out[840:14210] i = 0
2020-11-05 20:58:44.742 ex.out[840:14210] i = 1
2020-11-05 20:58:44.742 ex.out[840:14210] i = 2

從程式執行結果中可以看到程式輸出a<b符合預期結果,因為a和b的值分別是3和5。通過迴圈輸出小於a的數字,也符合預期結果。

最後,我們對本章回的內容做一個總結:

  • 1.程式結構有三種:順序,條件和迴圈。
  • 2.順序結構按照程式編寫順序執行,我們在程式碼中舉了一個反面的例子;
  • 3.條件結構有if/else和switch兩種,具體的程式碼編寫形式可以參考程式碼;
  • 4.迴圈結構有for和while兩種,具體的程式碼編寫形式可以參考程式碼;

看官們,欲知後事如何且聽下回分解!

相關文章