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新手教程(二)-控制流的更多相关文章
- WCF 新手教程二
基本知识: [ServiceContract] Attribute 能够有以下Property 的: CallbackContract 设置callback的类型:Duplicate指Service ...
- GitHub 新手教程 二,Windows 版 GitHub 安装
1,下载地址: https://git-scm.com/download/ 2,信息: 3,选择安装位置: 例如:d:\soft\git 4,选择组件: 5,创建开始菜单: 6,选择Git使用的默认编 ...
- C#微信公众号开发系列教程二(新手接入指南)
http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...
- 【OpenCV新手教程之十一】 形态学图像处理(二):开运算、闭运算、形态学梯度、顶帽、黑帽合辑
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/23184547 作者:毛星云(浅墨) ...
- 【OpenCV新手教程之十二】OpenCV边缘检測:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/25560901 作者:毛星云(浅墨) ...
- Spring MVC新手教程(二)
第一篇文章宏观讲了Spring MVC概念,以及分享了一个高速入门的样例. 这篇文章主要来谈谈Spring MVC的配置文件. 首先来谈谈web.xml: web项目启动时自己主动载入到内存中的信息, ...
- 新手必看,史上最全的iOS开发教程集锦,没有之一!
最近大火的iPhone XS Max和iPhone XS,不知道有没有同学已经下手了呢?一万三的价位确实让很多人望而却步啊.据说为了赢得中国的用户,专门出了双卡双待的,可想而知中国市场这块“肥肉”人人 ...
- swift 雨燕 新手教程
Apple Swift编程语言新手教程 chox 2014-06-03 文件夹 简单介绍 入门 简单值 控制流 函数与闭包 对象与类 枚举与结构 1 简单介绍 今天凌晨Apple刚刚公布了Swif ...
- apple Swift语言新手教程
Apple Swift编程语言新手教程 文件夹 1 简单介绍 2 Swift入门 3 简单值 4 控制流 5 函数与闭包 6 对象与类 7 枚举与结构 1 ...
随机推荐
- Poj3414广泛搜索
<span style="color:#330099;">/* D - D Time Limit:1000MS Memory Limit:65536KB 64bit I ...
- FTP上传文件时 System.Net.WebException: 基础连接已经关闭: 接收时发生错误。
在c#中使用HttpWebRequest时,频繁请求一个网址时,过段时间就会出现“基础连接已经关闭: 接收时发生意外错误”的错误提示.将webRequest的属性设置成下面的,经测试可以解决.Syst ...
- 开源Math.NET基础数学类库使用(07)一些常用的数学物理常数
原文:[原创]开源Math.NET基础数学类库使用(07)一些常用的数学物理常数 本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/ ...
- HDU 4513 哥几个系列故事——形成完善II manacher求最长回文
标题来源:哥几个系列故事--形成完善II 意甲冠军:中国 思维:在manacher断 保证非严格递减即可了 #include <cstdio> #include <cstring&g ...
- android L新控件RecyclerView具体解释DeMo
简介 在谷歌的官方网站上,我们可以看到,它是此演示文稿:RecyclerView is a more advanced and flexible version of ListView. This w ...
- JSTL实现int数据的类型的长度
JSTL否int类型转换string该功能.为了解决增益int数据的类型的长度,闹失踪. 得到String的数据的长度是jstl的fn能够${fn:length(string)},但int做数据? 经 ...
- Windows Phone 8 应用内截图
WriteableBitmap wb = new WriteableBitmap(this.LayoutRoot, new MatrixTransform()); //wb.Render(this.L ...
- 走向DBA[MSSQL篇] 详解游标
原文:走向DBA[MSSQL篇] 详解游标 前篇回顾:上一篇虫子介绍了一些不常用的数据过滤方式,本篇详细介绍下游标. 概念 简单点说游标的作用就是存储一个结果集,并根据语法将这个结果集的数据逐条处理. ...
- SpringAop进行日志管理。
在java开发中日志的管理有非常多种.我通常会使用过滤器,或者是Spring的拦截器进行日志的处理.假设是用过滤器比較简单,仅仅要对全部的.do提交进行拦截,然后获取action的提交路径就能够获取对 ...
- [Unity3D]Unity3D圣骑士当游戏开发商遭遇Mecanim动画系统
大家好.我是秦培.欢迎关注我的博客.我的博客地址blog.csdn.net/qinyuanpei. 博主总算赶在这个月底写出了这篇文章.这个月由于期末考试一直没时间研究太多关于技术方面 ...