王中尧 的Web Log

————————————————————————————————————————————

Hello World//引入头文件//c中的引入头文件的方式//#include <stdio.h>//#include <Foundation/Foundation.h>#import <Foundation/Foundation.h> //引入头文件(单单引入这一个头文件,无后顾之忧,里面包含了太多的头文件,一有全有)//1、面试题:为什么要使用import,import和include的区别//include 和 import 都是引入头文件//import引入的头文件,可以防止重复包含,什么是重复包含呢,简而言之,重复包涵就是多次包含相同的头文件,编译时间会大大增加,而对程序的最终结果危害不大。这也是import先进的地方,以后都用import吧//include它是使用预处理指令防止重复包含,如果没有写预处理指令,则无法防止重复包含问题//2、import 和 @class的区别//3、Foundation/Foundation.h 是什么东西// 1)头文件// 2)头文件的位置// 3)文件包含了其他的大量的头文件// /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h// 作用:把Foundation.h引入了,等于把OC的库文件都引过来了int main(int argc, const char * argv[]) {//小括号里面的东西可以省略,无参 @autoreleasepool {//这里是一个自动释放池,现在先不涉及,以后内存管理的时候需要用到 //strlen(<#const char *#>) 虽然没引入包含计算字符串长度方法的头文件,但是这只是表面现象,我们引入了<Foundation/foundation.h>之后就全有了!所以说其实我们已经引入了包含计算字符串长度方法的头文件了。 // insert code here… //NSLog是一个函数,里面必须有@,@表示后面跟一个字符串,等价于printf函数,而且NSLog该大写的地方一定要大写 //作用:向控制台输出字符串 NSLog(@"Hello, world!"); } return 0;}————————————————————————————————————————————

NSLog函数的使用#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here… //NSLog和printf使用的差异 //1、NSLog 会自动换行 而printf不会自动换行 //2、NSLog 会自动输出时间等项目信息,printf不会输出调试信息 //3、NSLog 函数的参数是一个NSString 对象 // printf输出的是一个字符串常量指针 NSLog(@"Hello, World!”); //记住,一定要加@符号,因为@符号是要加在所有的字符串前面的。这表明了这个字符串是一个oc字符串,而不是c字符串 printf("Hello, World!\n"); //2、NSLog格式化输出的问题 #import <Foundation/foundation.h>int main(){ char a=’X’; int b=19; float c=1.23; double d=3.566; printf("a=%c,b=%d,c=%.2f,d=%.2f\n",a,b,c,d); NSLog(@"a=%c,b=%d,c=%.2f,d=%.2f",a,b,c,d);//NSLog可以和printf一样输出,不同之处要再字符串格式的前面加一个@符号。也可以说明OC向下包容C char *ch="412sss王中尧4rfd"; printf("%s\n",ch); NSLog(@"\n—–>%s",ch);//该行无法正常输出。不能这么写的,在oc中有oc的格式(注意,这里是字符串,刚刚验证了一下,如果字符串中包含汉字字符,则整个字符串都无法正常输出,但是如果是只含一般的字母和数字,是可以正常输出的,这里注意一下。虽然这么说,但是总而言之,oc还是有自己固定的格式,所以还是用oc自己的方式去定义字符串和用oc的格式去输出字符串吧。) NSString *e=@“34gwerger43g王中尧”;//oc中声明并初始化一个字符串是和c不一样的,是NSString *abc=@“asdfasfa”; 一定要声明成字符串指针变量的形式哦! NSLog(@"%@",e);//%@即oc字符串的格式,oc中打印oc字符串的格式也是不同的 //当然也不能用printf去打印e,因为NSString是oc独有的,C是不支持的。 //如: printf("%@",e); 这条语句只能打印出一个@号,但是字符串e是打印不出来的 //所以说,oc很傲娇,我们只能用oc的格式去打印oc的字符串等 return 0;}————————————————————————————————————————————

可是却依旧为对方擦去嘴角的油渍。

王中尧 的Web Log

相关文章:

你感兴趣的文章:

标签云: