前面咱们已经用了几章内容进行C语言介绍,固然要经过几篇文章完整的介绍C语言的知识是不太现实的,例如C语言的文件操做、内存申请等咱们都没有重点介绍,固然核心知识点基本都已经提到了,后面有时间咱们会继续扩充。今天咱们正式开始学习Objective-C,之后简称“ObjC”,ObjC是在C语言的基础上加上了一层面向对象的特性,它彻底兼容C语言,甚至能够混写C++。它是Mac OS X和IOS的主要开发语言,从IOS发布以后能够说ObjC的地位呈直线上升趋势,当前ObjC已是仅次于C语言、Java的第三大编程语言。今天咱们先简单的看一下C语言的一些基础内容:编程
打开Xcode,建立一个新项目框架
选择命令行程序编程语言
选择程序语言为Ojbective-C并输入项目名称函数
选择保存目录学习
默认生成一个基本的项目结构ui
程序源代码spa
// // main.m // Basics // // Created by Kenshin Cui on 14-2-1. // Copyright (c) 2014年 Kenshin Cui. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Hello, World!"); } return 0; }
上面是经过Xcode建立的第一个ObjC程序,这是一个经典的“Hello,World!”。运行结果以下:操作系统
下面对上面的代码作一下简单解释:命令行
NS实际上是NeXTSTEP缩写,是乔布斯离开苹果后在NeXT公司所开发的系统,这个操做系统在当时虽然没有得到普遍认同,可是却为后面Mac OX奠基了基础。3d
在ObjC中的基本数据类型除了C语言中的char、int、float、double以外还有:
// // main.m // Basics // // Created by Kenshin Cui on 14-2-1. // Copyright (c) 2014年 Kenshin Cui. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { char a='a'; int b=1; float c=8.5; double d=8.5e+12; char e='a'; BOOL f=YES,g=NO; NSLog(@"a=%c,b=%i,c=%f,d=%f,e=%c,f=%i,g=%i",a,b,c,d,e,f,g); //结果:a=a,b=1,c=8.500000,d=8500000000000.000000,e=a,f=1,g=0 NSString *str=@"Hello,World!"; NSLog(@"str=%@",str); //结果:str=Hello,World! NSLog(@"object=%p",nil);//结果:object=0x0 } return 0; }
关于上面id类型在这里不作过多的解释,后面咱们会专门说到,下面列出经常使用格式符:
注意
1.在C或者ObjC中整形可使用%i也可使用%d来格式化,只有使用scanf()输入的时候两者才有区别(因为%d始终被编译器解释为decimal intergeer因此即便输入010会被认为是整形10,而%i则会将前面的0或者0x认为此输入是八进制或十六进制整数);
2.%p本质就是输出指针地址,在32位编译器下对于一个指针类型使用%x输出和%p输出实际上是同样的,只是后者会在前面加上“ox”(注意在64位编译器下因为指针长度8byte,而整形只有4byte因此%x输出的内容只是%p的低位数据);