一、bool布尔类型    c语言没有bool类型,oc里有bool类型

是一种非真即假的数据类型,布尔类型的变量只有yes和no两个值。yes表示表达式是真,no表示表达式是假。

在c语言中认为非0即为真。

分支语句中常用bool值做判断,判断执行if语句还是else语句。

循环结构中,也常使用bool值做判断,判断是否要执行循环。

注意事项:

#define yes 1

#define no 0

计算机在识别时,yes就替换成1,no就替换成0。

二、关系运算符

>   >=   <=   ==    !=

主要用于比较运算,比较的结果只有真假两种情况,结果值用bool类型变量存储。

注意:判断两个数是否相等用== (双等号)。

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])

{

BOOL a = 3 >6;

printf("a = %d",a);

return 0;

}

bool可以看成是取值范围更小的整形,只有两个数1和0.

三、逻辑运算符

逻辑运算符组成的表达式,结果也是非真即假

&&(逻辑与):运算符两边表达式同时为真的时候,整个逻辑表达式的结果为真。

||(逻辑或):运算符两边表达式同时为假的时候,整个逻辑表达式的结果为假。表达式||表达式

!(逻辑非):将表达式的结果取反。

短路现象

&&前面是假,后面不计算直接判定为假

注意逻辑与和逻辑或的短路现象

&&------一假即假

||-------一真即真

程序的三种结构:顺序结构,分支结构,循环结构

四、if语句

用if语句构成分支结构,它根据给的条件进行判断,以决定执行某个分支程序段。

c语言中if语句的表达形式

1.if(条件表达式){

    语句1;

}

当条件表达式为真,执行语句1,否则,跳过语句1,继续执行下面的语句。

eg:

2.if(条件表达式){

  语句1;

}else{

  语句2;

}

当条件表达式为真时执行语句1,否则执行语句2。

3.if(条件表达式1){

  语句1;

}else if(条件表达式2){

  语句2;

}else{

  语句3;

}

条件运算符

条件表达式?表达式1:表达式2

如果条件表达式为真,整个表达式的值为表达式1的值,

如果条件表达式为假,整个表达式的值为表达式2的值。

eg:int c = a>b?a:b;

五、枚举类型

数据类型:基本数据类型int  char  float  short        构造类型:基本类型组合而成

一组有符号名称的整形常量,---列举所有状态,罗列出所有可能的结果

枚举属于构造类型

enum 枚举名{枚举值表};

目的:提高程序的可读性。

作用:将人能看懂的标识符与计算机能识别的数字建立对应关系。

eg:enum season{

spring,

summer,

autumn,

winter

};

//写在第一位的默认是0即spring是0,后面的枚举值会在上一个枚举值的基础上加1,summer是1,autumn是2,winter是3

enum season a = spring;//类似于BOOL b=YES

类型定义:typedef int AA;

AA c = 10;相当于int c = 10;

typedef enum season Season;

Season a = spring;

一般把枚举写在函数的外面。

六、switch语句

多分支语句,通过判断整型表达式的值,来决定执行哪个分支。

switch通常与case配合使用。

switch---开关

case---情况

语法:

switch(整型表达式){

case 值1:{语句1;break;}

case 值2:{语句2;break;}

...

case 值3:{语句3;break;}

default:{语句n+1;break;}

}

case哪怕只有一行也要加{},不然case里面不能定义变量。加{}是规范的写法

case后面的标签只能是整型常量或者整型常量表达式,不能用变量作为case的标签。

default后⾯面的break可以舍掉

整个default语句都可以舍掉

多个case可以运⾏行⼀一个语句块

case中定义变量需要加{}

总结

if以及switch是实际开发最最常⽤用的语法
if语句的 表达式通常是 关系表达式或者逻辑表达式

switch..case语句通常会有break结束case语句的执⾏行

iOS学习笔记---c语言第二天的更多相关文章

  1. iOS学习笔记---oc语言第二天

    实例变量与方法 一.实例变量的可见度 二.方法 oc中的方法分两种:类方法和实例方法 类方法:只能类使用 eg:+ (id)alloc  注:类方法中不能使用实例变量 实例方法:只能对象使用,eg:- ...

  2. IOS学习笔记06---C语言函数

    IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

  3. IOS学习笔记07---C语言函数-printf函数

    IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

  4. iOS学习笔记---oc语言第一天

    第一讲 初始类和对象 c语言的超集,允许在oc中使用c语言源代码.编译器兼容c语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富 面向对象编程 oop 面向对象语言:c++  java   ...

  5. iOS学习笔记---c语言第八天

    指针 首先将变量a的地址存放在另一个变量中,比如存放在变量b中,然后通过变量b来间接引用变量a,间接读写变量a的值.用来存放变量地址的变量,就称为"指针变量" int *p=nul ...

  6. iOS学习笔记---oc语言第九天

    初级内存管理 iOS应用程序出现crash(闪退),90%以上是内存问题////其他:数组越界,方法只声明没实现 内存问题体现在两个方面:内存溢出\野指针异常 内存溢出:程序运行超出内存上限 野指针异 ...

  7. iOS学习笔记---oc语言第六天

    Block .数组高级 block本质上就是匿名函数(没有名称的函数) block语法和函数指针很相似 回顾函数 函数:C语⾔中,实现某一类功能的代码段. 完整的函数包含两部分:函数声明.函数定义 函 ...

  8. iOS学习笔记---oc语言第五天

    字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key- ...

  9. iOS学习笔记---oc语言第四天

    字符串 数组 一.使用苹果帮助文档 学会使⽤用苹果帮助⽂文档是开发者的⼀一项技能 Inherits from 继承⾃自 Conforms to 遵循什么协议 Framework 属于哪个框架 Avai ...

随机推荐

  1. RewriteRule参数

    RewriteCond指令格式 [说明]定义重写发生的条件 [语法]RewriteCond TestString CondPattern [flags] RewriteCond指令定义一条规则条件.在 ...

  2. CSS3卷角

    众所周知,border-radius 属性可以用来设置圆角,但很少人知道它还可以做很多不规则的犄角.卷角(rounded corners) 工作原理: 一.独立属性:border-bottom-lef ...

  3. 搞懂offsetY、offsetTop、scrollTop、offsetHeight、scrollHeight

    先搞offsetTop,最难懂的就是它了 官方解释:返回当前元素的上边界到它的包含元素的上边界的偏移量,以像素为单位.这真TM坑爹啊!有木有!经过仔细研究查找得出结论:offsetTop是相对于离它最 ...

  4. tab切换类

    /* * 传入id和点击时的回调函数,可以传第三个参数,就是当前tab的类名默认tabon * 主要完成tab的外观,就是当前tab的切换,完成外观切换后,会调用传入的回调函数 */ function ...

  5. 常州培训 day1 解题报告

    第一题:(骗分容易,AC难.) 题目大意: 给出一个字符串,找出满足条件A的区间的个数.A:字符A,B,C的出现次数相同. 都出现0次也算,区间的长度可以是0(就是只有一个数).30% |S| ≤ 1 ...

  6. C# JObject解析Json(多方法解析Json 二)

    下载Newtonsoft.Json,添加引用 记得using Newtonsoft.Json.Linq; //用JObject解析 string json = "{\"offlin ...

  7. 使用ASP.Net WebAPI构建REST服务(二)——路由

    REST并没有像传统的RPC服务那样显式指定了服务器函数的访问路径,而是将URL根据一定的规则映射为服务函数入口,这个规则就称之为路由.Asp.Net WebAPI的路由方式和Asp.Net MVC是 ...

  8. Java 类的高级特征2

    1. static 关键字 static,静态的,可以用来属性.方法.*代码块(或初始化块).*内部类 (1) static修饰属性(类变量):  1.由类创建的所有的对象,都共用这一个属性 2.当其 ...

  9. Hibernate中的多对多映射

    1.需求 项目与开发员工 一个项目,有多个开发人员 一个开发人员,参与多个项目 [多对多] 2.实体bean设计 Project: public class Project { private int ...

  10. Android 查看webview里面的图片

    今天介绍一下怎么查看WebView里面的图片,首先要设置WebView能够支持JavaScript,然后实现JavaScript的监听接口: mWebView.getSettings().setJav ...