前面我們已經(jīng)用了幾章內(nèi)容進(jìn)行C語言介紹,當(dāng)然要通過幾篇文章完整的介紹C語言的知識是不太現(xiàn)實的,例如C語言的文件操作、內(nèi)存申請等我們都沒有重點(diǎn)介紹,當(dāng)然核心知識點(diǎn)基本都已經(jīng)提到了,后面有時間我們會繼續(xù)擴(kuò)充。今天我們正式開始學(xué)習(xí)Objective-C,以后簡稱“ObjC”,ObjC是在C語言的基礎(chǔ)上加上了一層面向?qū)ο蟮奶匦裕耆嫒軨語言,甚至可以混寫C++。它是Mac OS X和IOS的主要開發(fā)語言,從IOS發(fā)布之后可以說ObjC的地位呈直線上升趨勢,當(dāng)前ObjC已經(jīng)是僅次于C語言、java的第三大編程語言。今天我們先簡單的看一下C語言的一些基礎(chǔ)內(nèi)容:
打開Xcode,創(chuàng)建一個新項目
選擇命令行程序
選擇程序語言為Ojbective-C并輸入項目名稱
選擇保存目錄
默認(rèn)生成一個基本的項目結(jié)構(gòu)
程序源代碼
//// 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創(chuàng)建的第一個ObjC程序,這是一個經(jīng)典的“Hello,World!”。運(yùn)行結(jié)果如下:
下面對上面的代碼做一下簡單解釋:
NS其實是NeXTSTEP縮寫,是喬布斯離開蘋果后在NeXT公司所開發(fā)的系統(tǒng),這個操作系統(tǒng)在當(dāng)時雖然沒有獲得廣泛認(rèn)同,但是卻為后面Mac OX奠定了基礎(chǔ)。
在ObjC中的基本數(shù)據(jù)類型除了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); //結(jié)果:a=a,b=1,c=8.500000,d=8500000000000.000000,e=a,f=1,g=0 NSString *str=@"Hello,World!"; NSLog(@"str=%@",str); //結(jié)果:str=Hello,World! NSLog(@"object=%p",nil);//結(jié)果:object=0x0 } return 0;}
關(guān)于上面id類型在這里不做過多的解釋,后面我們會專門說到,下面列出常用格式符:
注意
1.在C或者ObjC中整形可以使用%i也可以使用%d來格式化,只有使用scanf()輸入的時候二者才有區(qū)別(由于%d始終被編譯器解釋為decimal intergeer所以即使輸入010會被認(rèn)為是整形10,而%i則會將前面的0或者0x認(rèn)為此輸入是八進(jìn)制或十六進(jìn)制整數(shù));
2.%p本質(zhì)就是輸出指針地址,在32位編譯器下對于一個指針類型使用%x輸出和%p輸出其實是一樣的,只是后者會在前面加上“ox”(注意在64位編譯器下由于指針長度8byte,而整形只有4byte所以%x輸出的內(nèi)容只是%p的低位數(shù)據(jù));
新聞熱點(diǎn)
疑難解答