iOS基础之OC:C与OC的对比,(NSString,NSLog)

 C和OC的对比:

    文件对比:

                   C    OC

            头文件:.h   .h

            源文件:.c   .m

            目标文件:.o  .o


    数据类型:

            C:基本类型、数组、结构体、枚举等等

            OC:除了C语言的类型外,还有自己的类型,NSString

            换句话说,OC有C语言的所有类型 int double 数组 结构体 在OC中也统统能用

            还增加了BOOL类型,C语言中怎么表示真和假?0为假,非0为真。


    变量常量:简而言之也是C语言中的变量和常量的概念在OC中通用

    分支语句:

            C和OC中的分支语句完全,也就是说if和switch语句都能在OC中用

    循环语句:

            OC中可以用C所有的循环语句(while,do-while,for)

            但是OC还多了一种增强型的for语句-----forin

    函数:

        OC中完全可以用函数,概念一样,OC中多了方法的概念

 

    结构体、指针、枚举:统统都可以用在OC中

    OC增加了类的类型,和类的对象


 总结:OC中可以用所有C语言中的东西,只不过又新增了一些自己的东西


#import <Foundation/Foundation.h>

//定义结构体

typedef struct {

    char str[50];

    int age;

}Person;


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

    @autoreleasepool {

        //OC中的数组

        NSArray *arr = @[ @"老周",@"真的",@"very帅" ];

        

        //C语言的for

//        for (int i =0; i<3;i++ ) {

//            

//            NSLog(@"%@",arr[i]);

//        }

        

        //OC中增强型的for-----forin

        for (NSString* str in arr) {     

            NSLog(@"%@",str);

        }      

    }

    return 0;

}



NSString类型 是OC中的字符串类型!

 int类型

    int num = 10;


 NSString类型也是

    NSString *str = @“小明,你好”;

 

 OC中字符串是:@"字符串"

        都是以@符号开头的

 @"字符串"方便我们区分是OC字符串


 OC字符串类型不能赋值为C语言字符串

        NSString *str = “小明123";


NSLog:输出一句话


 printf("格式化控制符",值列表);

 NSLog,也可以加格式化控制符!

 

 C语言格式化控制符

 %d:输出int类型

 %f:输出float类型

 %c:输出char类型

 %s:输出C语言字符串

 %ld:输出long类型

 %lu:输出unsigned long类型

 

 …………:

 

 NSLog完全可以输出以上的格式化控制符

 还增加了

 %@:输出对象类型!(OC中的字符串也是一个对象),注意不能输出C语言字符串


 NSLog与printf的区别

    换行区别:

        NSLog自带换行

        printf没有自带换行,必须手动加\n


    内容区别:

        NSLog默认打印出项目名字和打印的时间

        printf木有


    输出内容区别:

        NSLog可以输出%@(NSLog可以输出C语言中的所有格式化控制符,但是自己还新增了一些)

        printf不可以输出%@

 

    注意:

        NSLog可以打印%s,可以!但是有条件!不能打印包含带有中文(中文符号也不行)的C语言字符串


#import <Foundation/Foundation.h>

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

    @autoreleasepool {   

        NSLog(@"%@",@"dsadsa¥");  

    }

    return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值