objective C程序 C与OC的对比

//引入头文件

//c中的引入头文件的方式

//#include <stdio.h>

//#include<Foundation/Foundation.h>//没有报错

#import <Foundation/Foundation.h>//引入头文件

//为什么引入import

//import include都是引入头文件,import引入的头文件可以防止重复包含

//include他是使用预处理指令防止重复包含,如果没有写预处理指令,则无法防止重复包含问题


//2import @class的区别

//3foundation/Foundation.h是什么东西

//  1)头文件

//2)头文件的位置

//3)文件包含了其他的大量的头文件

// 作用:把Foundation.h引入了,等于把oc的库文件都引过来了


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

    @autoreleasepool {

    //自动释放词

        // insert code here...

       //是一个函数

        //作用:向控制台输出字符串

        NSLog(@"Hello, cjk!");

        printf("hello,world\n");

        //NSLog很像printf,同样会在console中输出结果,不同的是传递进去的格式化字符是NSString的对象,而不是这种字符串常量

        //NSLog可自动换行,会自动输出时间等项目信息

       int a =5;

       float f1=2.3f;

       double d1=3.14;

       char ch='x';

       char *str="张三丰";

        //如果能够运行,说明oc向下兼容c

       printf("%d,%.2f,%.2f,%c\n",a, f1,d1,ch);

       printf("%s\n",str);

        //NSLog格式化输出

       NSLog(@"%d,%.2f,%.2f,%c",a, f1,d1,ch);

       NSLog(@"-------->%s",str);//不能这么写

        //oc中有自己特有的字符串表示方法

        //%@输出字符串

       NSString * str1 = @"张三丰";

       NSLog(@"%@",str1);

        //使用printf能够打印str1?

       //不能

       

    }

   return 0;

}

//"@"的使用方法

//1)  @" "这个符号表示将一个C的字符转化为OC中的字符串对象NSString

//2)  @标识符   OC中大部分的关键字都是以@开头的



/*occ对比学习

1)文件差异

2)数据类型差异

3)关键字差异

4)流程控制差异

oc中并没有增加新的流程控制

oc中提供一种增强型的for 循环

 NSarray *arr=@[@"one",@"two",@"three"];

 //oc中增强的for循环

 for(NSString *str in arr)|{

 NSLog(@"%@",str);

 }

 oc中函数的定义和声明的差异

 c语言中的函数

 

 int Maxint x,y;

 int max(int x,int y){

 return x>y?x:y;

 }

 

 oc中把函数称之为方法

 

 +voidtest;

 -(void) test;

 -(int)max:(int)x andY:(int) y;

 

 

 

 occ对比学习第二部分

 1oc中新增的数据类型

 1)boolean

 作用:用来存放逻辑值  1,真(非0  2,假(0

 用来做判断

 存储的值: true(真)   false(假 0

 

 boolean flag = true;

 if(flag){

 NSLog(@"%d",flag);

 }else{

 NSLog(@"%d",flag);}

 

 BOOL

 作用:也是用来存储逻辑值

 取值:  YES()   NO()

 

 BOOL flag2 =YES;

 if(flag2){

       NSLog(@"%d",flag);

 }else{

       NSLog(@"%d",flag);

 }

 2oc中的异常捕捉机制

 异常:程序运行时有bug

 捕捉机制:排除错误

 

 @try{

 如果有异常


 }@catch{

 捕捉最具体的异常类型

 }@finally{不管有没有异常finally内的代码都会被执行

 }

*/


#import <Foundation/Foundation.h>

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

    @autoreleasepool {

        //Boolean的使用

        //1     0

        Boolean flag = true;

        if(flag){

            NSLog(@"%d",flag);

        }else{

            NSLog(@"%d",flag);

        }

        //BOOL类型

        

        BOOL flag2 =YES;

        if(flag2){

            NSLog(@"BOOL YES%d",flag);

        }else{

            NSLog(@"BOOL NO%d",flag);

        }


    }

    return 0;

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值