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; }
时间: 2024-10-10 14:52:07