黑马程序员——C/OC—OC对比C语言的差异化

原创 2015年07月07日 10:12:52

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ———

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

Boolean类型指的是用于存储真值和假值的变量,一般用于程序流程控制。

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与C++与OC的混编

C与OC首先创建一个点.m文件// main.m #import #import "fileC.h" int main(int argc, const char * argv[]) { fu...
  • amy260231120
  • amy260231120
  • 2016年09月22日 14:19
  • 974

详解swift和OC以及C语言的混编(不看后悔!)

Swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift 中再写一次,或者有一些第三方使用OC写的,没有swi...
  • zlj_jeck
  • zlj_jeck
  • 2016年05月26日 08:13
  • 15071

Objective-C 【OC和C的区别-面向对象-有参/无参方法-类和对象】

———————————————————————————————————————————— Hello World //引入头文件 //c中的引入头文件的方式 //#include //#inclu...
  • Felicity294250051
  • Felicity294250051
  • 2015年07月27日 21:59
  • 1142

C语言与OC中常见的字符串函数及其代码和使用

C语言中常见的字符串函数 1、字符串长度  strlen 实现代码: unsigned int strlen(const char *string){ unsigned int i= 0; ...
  • mqc123450
  • mqc123450
  • 2015年02月28日 11:38
  • 697

Objective-C你了解吗--如何编写高质量有效的OC代码

用Objective-C语言编写任何类几乎都需要引入Foundation.h。如果不在该类本身引入这个文件的话,那么就要引入与其超类所属框架相对应的“基本头文件”(base header file)如...
  • Ji_Jingjing
  • Ji_Jingjing
  • 2016年01月21日 17:32
  • 1164

IOS OC应用c的全局变量和全局函数

// 定义数据结构的文件: TableInfo.h #ifndef TestMonitor_TableInfo_h #define TestMonitor_TableInfo_h typedef ...
  • miaojunking
  • miaojunking
  • 2015年05月05日 02:14
  • 8737

Xcode工程中如何在OC类中调用C文件中的方法

快速教你Xcode工程中如何在OC类中调用C文件中的方法
  • wuzesong
  • wuzesong
  • 2016年06月16日 17:39
  • 3603

小糖出品:oc中#import和#include之间的区别

大家好!小糖又回来了()。              今天给大家讲讲oc中#import和#include之间的区别。              之前接触过c语言的人一定对 #include 这条...
  • tel740306614
  • tel740306614
  • 2015年05月09日 19:21
  • 718

③--从C语言到OC

主要内容:从C语言到OC语言开发的转变,OC相对于C语言的一些拓展语法:1.文件的扩展名为什么是.m?、2.基本数据类型中增加了BOOL类型、3.nil类型、4.#import预处理命令、5.OC中的...
  • qq82643885
  • qq82643885
  • 2015年01月15日 17:07
  • 493

OC 语言的特性和OC/C/C++ 比较

Objective -C:          行内人简称其为OC。它的发展主要是因为1988年Steve Jobs的NextStep采用Objective-C作为开发语言,因此MacOS X以及IOS...
  • Eightgetoohandsome
  • Eightgetoohandsome
  • 2015年11月23日 22:35
  • 568
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员——C/OC—OC对比C语言的差异化
举报原因:
原因补充:

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