標籤:控制流程 object-c控制流程 c控制流程
int main(){ //2.控制流程 //2.1 if語句//1. if(expression){} //2.if(expression){}else{} //3.可以有0個或是多個else if,最後一個else也可省略if(expression){cx}else if(expression){}else{} //2.2 switch語句//1.單行代碼switch(n){case 0: printf("000000"); break;case 1: printf("111111"); break; case 2: printf("222222"); break;default:break; }//2.多行代碼switch(n){case 0:{ printf("000000"); printf("000000"); break; }case 1:{ printf("111111"); printf("000000"); break; } case 2:{ printf("222222"); printf("000000"); break; }default:break;} //2.3迴圈結構 //1.while 迴圈 while(expression){ //dosomething } //2.for迴圈 for(int i=0;i<count;i++){ //dosomething } //3.嵌套迴圈 for(int i=0;i<count;i++){for(int j=0;j<otherCount;j++){} } //4.控制迴圈結構//break是直接跳出迴圈,結束迴圈,直接開始迴圈之外的東西for (int i=0;i<10;i++){if(i==9){ break;}} //continue 是結束本次迴圈之後的語句,開始新的迴圈for(int i=0;i<10;i++){if(i==1){ continue;}printf("hehheheh");}//return 本來不是用來結束迴圈的。是用來返回函數的,不過也可用於結束迴圈//遇到return時迴圈結束for(int i=0;i<10;i++){if(i>2){return 0;} } //2.4 goto語句,進來少用或是不用 //一般也要用在嵌套迴圈裡面 for(int i=0;i<count;i++){ for(int j=0;j<otherCount;j++){ if(i>5){ goto outer; } } } outer: printf("結束嵌套了");//3.數組//3.1定義數組 tyoe arrayName[lenth]; //數組計算地址的時候是 //元素的地址 = 首地址+陣列變數所佔的記憶體大小*索引 //3.2數組的賦值 int arr[2] = {1,2}; //3.3使用數組 printf("%d",arr[0]); //遍曆基本類型的數組元素 for(int i=0,length = sizeof(arr)/sizeof(arr[0]);i<length;i++){ NSLog(@"arr[%d]:%d",i,arr[i]); } //遍曆元素類型為指標類型的數組元素、 NSString *arrString = {@"擬好",@"哈哈哈哈"}; for(int i=0,length = sizeof(arrString)/sizeof(arrString[0]);i<length;i++){ NSLog(@"arr[%d]:%@",i,arrString[i]); } //輸出 擬好 哈哈哈哈 null null //預設賦值為空白 int arr[5]; arr[0]=12; arr[1]= 23; for(int i=0,length = sizeof(arr)/sizeof(arr[0]);i<length;i++){ NSLog(@"arr[%d]:%@",i,arr[i]); } //輸出 12 23 0 0 0 //3.4多維陣列 type arrayName[length][length]; float arr[3][4]; int iArr[3][5]; //Object-C的二維數組的本質是一維數組,只不過它的數組元素又是一維數組 arr[0]://該數組中再次包含了arr[0][0] arr[0][1] //二維數組的賦值 int arr2[3][4] = {{2,3,4,4},{2,4,5,6},{3,4,5,6}}; //採用嵌套迴圈遍曆二維數組 for(int i=0,length = sizeof(arr2)/sizeof(arr[0]);i<lenth;i++ ){ for(int j = 0,len=sizeof(arr[i])/sizeof(arr[i][0]);j<len;j++){ printf("%d",arr2[i][j]); } } //3.5字元數組,字串與結束標誌//定義並初始化數組 char cArr[] = {'I','L'}; //遍曆字串數組 for(int i = 0,length=sizeof(cArr)/sizeof(cArr[0])){ NSLog(@"%c",cArr[i]); } char str[] = "I love Ios"; printf("%s\n",str); char str[20] = "I love Ios"; printf("%s\n",str); }
附加一個關於二位元組的使用執行個體 c語言版五子棋
#include <stdio.h>#include <stdlib.h>#include <time.h>#define NO_CHESS "╋"#define BLACK_CHESS "●"#define WHITE_CHESS "○"#define BOARD_SIZE 15//定義棋盤的大小static char * board[BOARD_SIZE][BOARD_SIZE];//定義一個二維數組來充當棋盤void initBoard(){int i,j; //把每個元素賦值用於棋盤輸出for ( i=0;i<BOARD_SIZE;i++){for(j = 0;j<BOARD_SIZE;j++){ board[i][j] = NO_CHESS;}}}void printBoard(){int i,j; //把每個元素賦值用於棋盤輸出for (i=0;i<BOARD_SIZE;i++){for(j = 0;j<BOARD_SIZE;j++){ printf("%s",board[i][j]);}printf("\n");}}int main(){ initBoard(); printBoard(); while(1){ int xPos=0; int yPos=0; printf("請輸入你要下棋的座標,以x,y的格式:\n"); scanf("%d,%d",&xPos,&yPos); printf("%d,%d",xPos,yPos); board[xPos-1][yPos-1] = WHITE_CHESS; //產生隨機數用於下棋的位置 time_t t; srand((unsigned) time(&t));/*用時間初始化隨機函數*/ int pcx; pcx = rand()%BOARD_SIZE; int pcy; pcy = rand()%BOARD_SIZE; board[pcx][pcy] = BLACK_CHESS; printBoard(); } return 0;}
IOS入門教程(二)-控制流程