黑马程序员---OC基础---OC与C的差异

原创 2015年07月06日 18:26:59

------- android培训java培训IOS培训期待与您交流! ----------

1、源文件的对比

C语言中:我们能够遇到的文件后缀有:

.c:C语言的源文件。

.o:C语言编译后的目标文件。

.out:可执行文件。

.h:头文件。

OC语言中:我们能遇到的文件后缀有:(常见的是.m和.h)

.h:头文件。

.c:C语言的源文件。

.cpp/.cc:C++语言的源文件。

.m:OC语言的源文件。

.mm:OC++语言的源文件。

2、基本语法对比:

(1)对比数据类型:由于OC语言是向下兼容C语言的,所以可以使用C语言的所有数据类型,OC特有的数据类型有

①布尔型(BOOL)。②Block类型。③指针类型分为类和id类型。④特殊类型(SEL、nil)。

BOOL与Boolean类型举例说明:

</pre><pre name="code" class="objc">#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]){
      @autoreleasepool{
            //1、Boolean类型的使用
            Boolean flag = true;
            flag = false;
            //true真、false假
            printf("flag = %d\n",flag);
            if(flag){
            printf("XXXXXXXXXXX\n"); 
            }
            //2、BOOL类型的使用
            BOOL flag1 = YES;//取值为YES和NO
            flag1 = NO;
            printf("flag1 = %d\n",flag1);
            if(flag1){
            printf("XXXXXXXXXXX\n"); 
            }
      }
}
</pre></p><p><span style="font-size:14px;">(2)变量定义的差异(关键字):C语言的关键字都可以在OC源程序中使用,OC语言新增的关键字有一部分是以@开头这里不再一一赘述。</span></p><p><span style="font-size:14px;">(3)流程控制语句对比:OC语言中可以使用C语言中的流程控制语句;</span></p><p><span style="font-size:14px;">新增的几种语句有:增强型for循环、可以快速遍历数组、字典等集合。</span></p><p><span style="font-size:14px;"></span><pre name="code" class="objc">NSArray *arr=@[@"one",@"two",@"three"];
for(NSString *str in arr){
      NSLog(@"%@",str);
}
(4)函数的定义和声明的区别:

C语言中,函数的定义如下:

int max(int x,int y);
int max(int x,int y){
	return x>y?x:y;
}

OC语言中,函数被称为方法:

+(void) test;//类方法
-(void) test1;//对象方法

-(int)max:(int)x and:(int *) y;//方法的声明
-(int)max:(int)x and:(int *) y{//方法的实现
      return a+b;
}
3、OC语言中新增的异常捕捉方法:

Object-C语言的异常处理符号和C++、JAVA相似。再加上使用NSException,NSError或者自定义的类,我们可以在应用程序里添加强大的错误处理机制。
异常处理机制是由这个四个关键字支持的:@try,@catch,@thorw,@finally。当代码有可能出现异常时,我们把他放到@try语句块中。@catch()块包含了处理@try块里的抛出的异常的逻辑。无论异常是否发生,@finally块里面的语句都会执行。如果直接使用@throw块来抛出异常,这个异常本质上是一个OC的对象。咱们可以使用NSException对象,但是不局限于他们。
下面是一个典型的异常处理块的例子:

@try{
int b = t/0;//这里放的是有可能出错误的代码。
}
@catch (NSException *exception){//这里放出错后处理的代码
}
@finally{//这里放的无论出没出错都会执行
}






版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

黑马程序员---OC基础---OC简介、OC与C的差异、类和对象与方法

黑马程序员---OC基础---OC简介、OC与C的差异、类和对象与方法

黑马程序员——零基础学习iOS开发——10 Object-C 面向对象思想、OC语法简介、对象、类、

Object-C 简介、面向对象思想、OC语法简介、类和对象的创建

黑马程序员——Objective-C——OC基础

黑马程序员——Objective-C——OC基础

黑马程序员IOS基础---之C to OC

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象...
  • mayday9
  • mayday9
  • 2015年05月09日 06:13
  • 86

黑马程序员-iOS基础-Objective-C基础(四)OC开发技巧及核心语法(上)

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------  黑马程序员-iOS基础-Objective-C基础(四) OC开发技巧及核心语法上  一、开...

黑马程序员——OC与C语言的差异学习

------- android培训、java培训、iOS培训、.Net培训、期待与您交流! ---------- 差异性(一) 1、源文件对比 C语言中常见的文件:.c源文件  .o目标文件   ....

黑马程序员 _7 OC基础 继承、多态、分类

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- 一、继承 1.当两个类具有公共属性和行为...
  • liuthou
  • liuthou
  • 2014年04月02日 21:02
  • 569

黑马程序员---成长之路-----OC之基础篇类方法

//方法的实现------http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训a>、期待与您交流! ...

黑马程序员——oc基础语法

Objective-C语法: 一:对象声明语法:类名 * 对象名 = [[类名 alloc] init] [对象名 release] //释放对象的实例 注:alloc是NSObject的...

黑马程序员—IOS基础之OC—类的三大特性封装、继承、多态

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员---OC基础---OC与C的差异
举报原因:
原因补充:

(最多只允许输入30个字)