首页 > 代码库 > IOS入门教程(二)-控制流

IOS入门教程(二)-控制流

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入门教程(二)-控制流