iOS学习笔记---c语言第二天
一、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语言第二天的更多相关文章
- iOS学习笔记---oc语言第二天
实例变量与方法 一.实例变量的可见度 二.方法 oc中的方法分两种:类方法和实例方法 类方法:只能类使用 eg:+ (id)alloc 注:类方法中不能使用实例变量 实例方法:只能对象使用,eg:- ...
- IOS学习笔记06---C语言函数
IOS学习笔记06---C语言函数 -------------------------------------------- qq交流群:创梦技术交流群:251572072 ...
- IOS学习笔记07---C语言函数-printf函数
IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...
- iOS学习笔记---oc语言第一天
第一讲 初始类和对象 c语言的超集,允许在oc中使用c语言源代码.编译器兼容c语言程序 具备完善的面向对象特性 包含一个运行时系统 类库丰富 面向对象编程 oop 面向对象语言:c++ java ...
- iOS学习笔记---c语言第八天
指针 首先将变量a的地址存放在另一个变量中,比如存放在变量b中,然后通过变量b来间接引用变量a,间接读写变量a的值.用来存放变量地址的变量,就称为"指针变量" int *p=nul ...
- iOS学习笔记---oc语言第九天
初级内存管理 iOS应用程序出现crash(闪退),90%以上是内存问题////其他:数组越界,方法只声明没实现 内存问题体现在两个方面:内存溢出\野指针异常 内存溢出:程序运行超出内存上限 野指针异 ...
- iOS学习笔记---oc语言第六天
Block .数组高级 block本质上就是匿名函数(没有名称的函数) block语法和函数指针很相似 回顾函数 函数:C语⾔中,实现某一类功能的代码段. 完整的函数包含两部分:函数声明.函数定义 函 ...
- iOS学习笔记---oc语言第五天
字典,数组 ,集排序 一.字典类 存储以下数据 name:张三; sex:男;age:18 film:风暴; playcount:10000次;price:60元 字典类用于保存具有映射关系(key- ...
- iOS学习笔记---oc语言第四天
字符串 数组 一.使用苹果帮助文档 学会使⽤用苹果帮助⽂文档是开发者的⼀一项技能 Inherits from 继承⾃自 Conforms to 遵循什么协议 Framework 属于哪个框架 Avai ...
随机推荐
- java面向对象编程--第九章 多态和抽象
9.1多态 在生物学中,是指一个生物或物种可以有多种不同的形式或阶段: 在OOP中,多态是指一个对象有多种形式的能力. 多态可以说是面向对象编程的精髓所在.java中之所以引入多态的概念,原因之一是它 ...
- Resume Hook SSDT
在HookSSDT中 通过在第4部通过索引将NtOpenProcess 换成 Base[索引] = FakeNtOpenProcess; so 在阻止时应该在ntoskrnl.exe 找到真正的Op ...
- hdu 4631 Sad Love Story
http://acm.hdu.edu.cn/showproblem.php?pid=4631 没想到这道题需要用“平均时间复杂度” 计算 一直没有想到解法 因为不符考虑了最坏情况的理念 方法一: ...
- ROS的文件系统 (二)
ROS的文件系统的基本概念, ROS文件系统中的两个最基本的概念:Package和Manifest,即包和清单文件. Package是组织ROS代码的最基本单位,每一个Package都可以包括库文件, ...
- Oracle性能调优
这部分目前主要是从网上搜集来的,后续要在实践中慢慢体会. v$sqltext: 存储的是被分割的sql v$sqlarea: 存储的是完整的sql和一些统计信息,比如累计的执行次数.逻辑读.物理读等( ...
- 查看UI调试界面利器 revealapp
官网 http://revealapp.com 做iOS的开发,UI是非常非常重要的一环.调试时我们一般用模拟器,提交前用真机做测试.用模拟器来调试UI效果虽然快捷方便,但有时仍然希望有更强大的工具来 ...
- 用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?
这次试验的起因是一场内部辩论. “用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?” 我们推测是快4倍. 但是经过测试发现,我们推测错了. 本文记录了试验的规划.过程以及令人惊 ...
- 经典线程同步 事件Event
阅读本篇之前推荐阅读以下姊妹篇: <秒杀多线程第四篇 一个经典的多线程同步问题> <秒杀多线程第五篇 经典线程同步关键段CS> 上一篇中使用关键段来解决经典的多线程同步互斥问题 ...
- swift语言之多线程操作和操作队列(上)———坚持51天吃掉大象
欢迎有兴趣的朋友,参与我的美女同事发起的活动<51天吃掉大象>,该美女真的很疯狂,希望和大家一起坚持51天做一件事情,我加入这个队伍,希望坚持51天每天写一篇技术文章.关注她的微信公众号: ...
- Screen对象
document.write("Screen-width:"+screen.width+"Screen-height:"+screen.height);docu ...