您的位置:首页 > 移动开发 > IOS开发

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

2015-12-12 21:22 363 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: