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;
}
时间: 2024-07-31 21:26:21

IOS入门教程(二)-控制流的相关文章

C语言快速入门教程(二)

C语言快速入门教程(二) C语言的基本语法 本节学习路线图: 引言: C语言,顾名思义就是一门语言,可以类比一下英语; 你要说出一个英语的句子需要:  单词  +  语法!  将单词按照一定的语法拼凑起来就成了一个英语句子了; C语言同样是这样,只不过单词可以理解为一些固定的知识点,而语法可以理解为算法(可以理解为解决问题的方法) 在这一节中我们就对固定知识点中的语言描述与数据存储进行解析! 1.C语言的基本元素 1.1  标识符 什么是标识符? 答:在C语言中,符号常量,变量,数组,函数等都需

DataVeryLite入门教程(二) Entity篇

DataVeryLite 是基于.net 4.0的数据库持久化ORM框架. 目前支持的数据库有Sqlserver,Mysql,Oracle,Db2,PostgreSql,Sqlite和Access. 最好先阅读DataVeryLite入门教程(一) 配置篇,然后再阅读本篇.如果你觉得麻烦也可以跳过. Entity是ORM中的核心对象之一,一个继承Entity的对象对应于数据库中的一个表. Entity提供丰富的API对表中的单条数据进行操作. 比如根据id或其他条件,加载,删除,插入,更新和部分

Spring Cloud 入门教程(二): 配置管理

使用Config Server,您可以在所有环境中管理应用程序的外部属性.客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何以任何语言运行的应用程序一起使用.随着应用程序通过从开发人员到测试和生产的部署流程,您可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切.服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具.很容易添加

jQuery 入门教程(二): 基本语法

学习jQuery之前需要你有下面几个方面的基本知识 HTML CSS JavaScript jQuery 的基本语法 $(selector).action() $ 符合定义这是一个jQuery语句 (selector) 用来选择某个HTML元素,其语法和CSS的selector语法一样. action() 定义操作该HTML元素的方法. 比如: $(this).hide() – 隐藏当前元素. $("p").hide() – 隐藏所以 <p> 元素. $(".te

Git的入门教程&lt;二&gt;

Git 的入门教程<二> 4> git远程仓库的使用 我们在使用git进行代码管理的时候,协同办公,需要一个24小时不间断的隐形同事,此时,如果在局域网内,则直接开一台局域网内的24小时开机运行的机器就可以,但是如果在homework的时候就需要这个24小时运行的机器拥有独立的外网IP,这样消耗就比较大,幸好,网上有一个github,提供给我们一个免费的仓库,让我们可以在同事之前推送代码,下面介绍github的使用. 4.1 github的使用 首先 登录github的官网: https

BootStrap入门教程 (二)

上讲回顾:Bootstrap的手脚架(Scaffolding)提供了固定(fixed)和流式(fluid)两种布局,它同时建立了一个宽达940px和12列的格网系统. 基于手脚架(Scaffolding)之上,Bootstrap的基础CSS(Base CSS)提供了一系列的基础Html页面要素,旨在为用户提供新鲜.一致的页面外观和感觉.本文将主要深入讲解排版(Typography),表格(Table),表单(Forms),按钮(Buttons)这四个方面的内容. 排版 (Typography),

PySide——Python图形化界面入门教程(二)

PySide——Python图形化界面入门教程(二) ——交互Widget和布局容器 ——Interactive Widgets and Layout Containers 原文链接:http://pythoncentral.io/pyside-pyqt-tutorial-interactive-widgets-and-layout-containers/ 上一个教程中,我们了解了一些QWidget提供的功能,还有一个特殊的子类QLabel.更进一步的,我们完成了一个用来说明简单Python/Q

无废话ExtJs 入门教程二[Hello World]

无废话ExtJs 入门教程二[Hello World] extjs技术交流,欢迎加群(201926085) 我们在学校里学习任何一门语言都是从"Hello World"开始,这里我们也不例外. 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&

无废话ExtJs 入门教程二十一[继承:Extend]

无废话ExtJs 入门教程二十一[继承:Extend] extjs技术交流,欢迎加群(201926085) 在开发中,我们在使用视图组件时,经常要设置宽度,高度,标题等属性.而这些属性可以通过“继承”定义在我们定义的新组件中,从而达到重用的目地. 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-

Elasticsearch入门教程(二):Elasticsearch核心概念

原文:Elasticsearch入门教程(二):Elasticsearch核心概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/vbirdbest/article/details/79200022 基本概念介绍 Elasticsearch是一个基于Lucene构建的开源.分布式.RESTful的搜索引擎,能够实现近实时(NRT)搜索,稳定.可靠.安装方便.Elasticsearch 不