黑马程序员——C/OC—OC对比C语言的差异化
2015-07-07 10:12
267 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ———
OC对比C语言的差异化
1、源文件对比
![](https://img-blog.csdn.net/20150707101444567?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
OC中常见的文件有两种:.h和.m的文件
![](https://img-blog.csdn.net/20150707101608350?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2、基本语法对比
1)数据类型对比学习
![](https://img-blog.csdn.net/20150707101828738?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20150707101921515?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20150707102213326?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2)变量的定义对比
![](https://img-blog.csdn.net/20150707102344970?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3)流程控制语句对比
1)if else
2)switch
3)while
4)do while
5)for
新增:增强型for循环,可以快速遍历数组、字典等集合
![](https://img-blog.csdn.net/20150707102806612?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
用法举例:
![](https://img-blog.csdn.net/20150707102907060?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4)函数(方法)定义和声明对比
C语言中的函数
int max(int x, int y);
int max (int x, int y){
return x>y?x:y;
}
OC中把函数称之为方法
+(void)test;
-(void)test;
- (int)max:(int)x andY: (int) y;
3、OC新增的数据类型介绍
1)逻辑型
(1)Boolean
Boole
4000
an类型指的是用于存储真值和假值的变量,一般用于程序流程控制。
Boolean类型数据允许取值true或false,也可以是0或非0的整数替代true和false,这点和java语言不同。
![](https://img-blog.csdn.net/20150707110745042?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
(2)BOOL也是用作逻辑判断
![](https://img-blog.csdn.net/20150707111120012?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
查看底层代码发现,YES和NO 其实就是1和0
![](https://img-blog.csdn.net/20150707110926171?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4、OC中的新增异常捕捉方法
@try … @catch … @finally
格式:
@try{
<#statements#>
}
@catch (NSException *ne){//捕捉最具体的异常类型
<#handler#>
}
@catch (NSException *ne){//捕获一个比较重要的异常类型。
}
@catch (id ue){//再次掷出捕获的异常。
}
@finally{//不管有没有异常finally内的代码都会执行。
<#statements#>
}
/*
OC和C对比
1)OC中新增加的数据类型
(1)Boolean (布林)
作用:用来存放逻辑值 (1、真(非0) 2、假(0))
用来做判断
存储的值:true(真 1) false(假 0)
Boolean flag = true;
if(flag){
NSLog(@"真 %d",flag);
}else{
NSLog(@"假 %d",flag);
}
(2)BOOL
作用:也是用来保存逻辑值
取值:YES(真 1) NO(假 0)
BOOL flag2 = YES;
if(flag2){
NSLog(@"真 %d",flag);
}else{
NSLog(@"假 %d",flag);
}
2) OC中的异常捕捉机制
异常: 程序运行的时候有bug
捕捉机制:排除错误
@try {
//如果有异常
1/0
< #statements#>
。。。。。。。
}
@catch (NSException *exception) {
//捕捉最具体的异常类型
< #handler#>
}
@catch (NSException *ne) {
//捕获一个比较重要的异常类型。
}
@catch (id ue) { //再次掷出捕获的异常。
}
@finally { //不管有没有异常finally内的代码都会执行。
< #statements#>
}
*/
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//Boolean的使用
//true 1 false 0
Boolean flag = true;
if(flag){
NSLog(@"真 %d",flag);
}else{
NSLog(@"假 %d",flag);
}
//BOOL类型
BOOL flag2 = YES;
if(flag2){
NSLog(@"BOOL YES 真 %d",flag2);
}else{
NSLog(@"BOOL NO 假 %d",flag2);
}
}
return 0;
}
OC对比C语言的差异化
1、源文件对比
OC中常见的文件有两种:.h和.m的文件
2、基本语法对比
1)数据类型对比学习
2)变量的定义对比
3)流程控制语句对比
1)if else
2)switch
3)while
4)do while
5)for
新增:增强型for循环,可以快速遍历数组、字典等集合
用法举例:
4)函数(方法)定义和声明对比
C语言中的函数
int max(int x, int y);
int max (int x, int y){
return x>y?x:y;
}
OC中把函数称之为方法
+(void)test;
-(void)test;
- (int)max:(int)x andY: (int) y;
3、OC新增的数据类型介绍
1)逻辑型
(1)Boolean
Boole
4000
an类型指的是用于存储真值和假值的变量,一般用于程序流程控制。
Boolean类型数据允许取值true或false,也可以是0或非0的整数替代true和false,这点和java语言不同。
(2)BOOL也是用作逻辑判断
查看底层代码发现,YES和NO 其实就是1和0
4、OC中的新增异常捕捉方法
@try … @catch … @finally
格式:
@try{
<#statements#>
}
@catch (NSException *ne){//捕捉最具体的异常类型
<#handler#>
}
@catch (NSException *ne){//捕获一个比较重要的异常类型。
}
@catch (id ue){//再次掷出捕获的异常。
}
@finally{//不管有没有异常finally内的代码都会执行。
<#statements#>
}
/*
OC和C对比
1)OC中新增加的数据类型
(1)Boolean (布林)
作用:用来存放逻辑值 (1、真(非0) 2、假(0))
用来做判断
存储的值:true(真 1) false(假 0)
Boolean flag = true;
if(flag){
NSLog(@"真 %d",flag);
}else{
NSLog(@"假 %d",flag);
}
(2)BOOL
作用:也是用来保存逻辑值
取值:YES(真 1) NO(假 0)
BOOL flag2 = YES;
if(flag2){
NSLog(@"真 %d",flag);
}else{
NSLog(@"假 %d",flag);
}
2) OC中的异常捕捉机制
异常: 程序运行的时候有bug
捕捉机制:排除错误
@try {
//如果有异常
1/0
< #statements#>
。。。。。。。
}
@catch (NSException *exception) {
//捕捉最具体的异常类型
< #handler#>
}
@catch (NSException *ne) {
//捕获一个比较重要的异常类型。
}
@catch (id ue) { //再次掷出捕获的异常。
}
@finally { //不管有没有异常finally内的代码都会执行。
< #statements#>
}
*/
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//Boolean的使用
//true 1 false 0
Boolean flag = true;
if(flag){
NSLog(@"真 %d",flag);
}else{
NSLog(@"假 %d",flag);
}
//BOOL类型
BOOL flag2 = YES;
if(flag2){
NSLog(@"BOOL YES 真 %d",flag2);
}else{
NSLog(@"BOOL NO 假 %d",flag2);
}
}
return 0;
}
相关文章推荐
- C语言实现双链表基本操作(创建、查找、插入、删除)
- chapter16test6
- C语言学习笔记:18_数组-二维数组
- 默认实参需要注意的几个地方
- C语言学习笔记:17_数组-一维数组(基本操作,选择和冒泡排序,斐波那契数列)
- C++知识点随笔(三):static、const、friend、inline
- C#调用C/C++动态库 封送结构体,结构体数组
- C++异常系列(一)----setjmp 与 longjmp
- C++ 大规模程序设计 之 物理层次结构
- C语言语法部分
- C++学习-派生类的复制运算符
- 基于C语言sprintf函数的深入理解
- c++ 简单的异常
- C++中各种<string,T>关联方式的速度对比
- C语言实现单链表相关操作
- C语言之基本算法10—最大公约数和最小公倍数
- C语言之基本算法09—各位全是a的数列之和
- C语言之基本算法08—去掉最高分去掉最低分求平均值
- C语言之基本算法07—分子分母数列前30项和
- C语言之基本算法06—斐波那契数列求和