C語(yǔ)言的關(guān)鍵字共有32個(gè),根據(jù)關(guān)鍵字的作用,可分其為四類:
創(chuàng)新互聯(lián)是一個(gè)技術(shù)型專業(yè)的建站公司,致力于為廣大企業(yè)、創(chuàng)業(yè)者打造切實(shí)有效的PC站、WAP站、APP站點(diǎn)等企業(yè)網(wǎng)站。無(wú)論是企業(yè)宣傳的營(yíng)銷(xiāo)型網(wǎng)站、致力于營(yíng)銷(xiāo)的電商網(wǎng)站、內(nèi)容資訊分享的分類信息或其他類型網(wǎng)站,我們都從網(wǎng)站前期定位分析策劃、技術(shù)架構(gòu),到網(wǎng)站界面設(shè)計(jì)、創(chuàng)意表現(xiàn)、站點(diǎn)架構(gòu)搭建以及后續(xù)訪問(wèn)監(jiān)控、維護(hù)、網(wǎng)站托管運(yùn)營(yíng)反饋建議等提供整套服務(wù)。
數(shù)據(jù)類型關(guān)鍵字(12個(gè));
char:聲明字符型變量或函數(shù)
int: 聲明整型變量或函數(shù)
short:聲明短整型變量或函數(shù)
long:聲明長(zhǎng)整型變量或函數(shù)
float:聲明浮點(diǎn)型變量或函數(shù)
double:聲明雙精度變量或函數(shù)
unsigned:聲明無(wú)符號(hào)類型變量或函數(shù)
signed:聲明有符號(hào)類型變量或函數(shù)
enum:聲明枚舉類型
struct:聲明結(jié)構(gòu)體變量或函數(shù)
union:聲明共用體(聯(lián)合)數(shù)據(jù)類型
void :聲明函數(shù)無(wú)返回值或無(wú)參數(shù),聲明無(wú)類型指針
控制語(yǔ)句關(guān)鍵字(12個(gè));
循環(huán)語(yǔ)句
for:一種循環(huán)語(yǔ)句
do:循環(huán)語(yǔ)句的循環(huán)體
while:循環(huán)語(yǔ)句的循環(huán)條件
continue:結(jié)束當(dāng)前循環(huán),開(kāi)始下一輪循環(huán)
break:跳出當(dāng)前循環(huán)
條件語(yǔ)句
if: 條件語(yǔ)句
else :條件語(yǔ)句否定分支(與 if 連用)
goto:無(wú)條件跳轉(zhuǎn)語(yǔ)句
開(kāi)關(guān)語(yǔ)句
switch:用于開(kāi)關(guān)語(yǔ)句
case:開(kāi)關(guān)語(yǔ)句分支
default:開(kāi)關(guān)語(yǔ)句的“其他”分支
返回語(yǔ)句
return:子程序返回語(yǔ)句(可以帶參數(shù),也看不帶參數(shù))
存儲(chǔ)類型關(guān)鍵字(4個(gè));
extern:聲明變量在其他文件中聲明
static :聲明靜態(tài)變量
register:聲明寄存器變量
auto :聲明自動(dòng)變量,一般不使用
其它關(guān)鍵字(4個(gè));
const :聲明只讀變量
sizeof:計(jì)算數(shù)據(jù)類型長(zhǎng)度
typedef:給數(shù)據(jù)類型取別名
volatile:說(shuō)明變量在程序執(zhí)行中可被隱含地改變。
答案:A
A:define是宏定義預(yù)處理指令,不是C語(yǔ)言的關(guān)鍵字,if是C語(yǔ)言的關(guān)鍵字,但是C語(yǔ)言區(qū)分大小寫(xiě),所以IF不是關(guān)鍵字,type沒(méi)有此關(guān)鍵字。
B:getc和printf都是C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù),char是關(guān)鍵字。
C: include是宏包含預(yù)處理指令,不是C語(yǔ)言的關(guān)鍵字,scanf是C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)名,case是關(guān)鍵字。
D:while是關(guān)鍵字,在C語(yǔ)言中沒(méi)有g(shù)o關(guān)鍵字,pow是C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)名。
第一個(gè)關(guān)鍵字:auto 用來(lái)聲明自動(dòng)變量。 可以顯式的聲明變量為自動(dòng)變量。只要不是聲明在所有函數(shù)之前的變量,即使沒(méi)加auto關(guān)鍵字,也默認(rèn)為自動(dòng)變量。并且只在聲明它的函數(shù)內(nèi)有效。而且當(dāng)使用完畢后,它的值會(huì)自動(dòng)還原為最初所賦的值。自動(dòng)變量使用時(shí)要先賦值,因?yàn)槠渲邪氖俏粗闹?。例:auto int name=1;第二個(gè)關(guān)鍵字:static用來(lái)聲明靜態(tài)變量??梢燥@式的聲明變量為靜態(tài)變量。也為局部變量。只在聲明它的函數(shù)內(nèi)有效。它的生命周期從程序開(kāi)始起一直到程序結(jié)束。而且即使使用完畢后,它的值仍舊不還原。即使沒(méi)有給靜態(tài)變量賦值,它也會(huì)自動(dòng)初始化為0.例:static int name=1.第三個(gè)關(guān)鍵字:extern用來(lái)聲明全局變量。同時(shí)聲明在main函數(shù)之前的變量也叫全局變量。它可以在程序的任何地方使用。程序運(yùn)行期間它是一直存在的。全局變量也會(huì)初始化為0.例:extern int name;第四個(gè)關(guān)鍵字:register用來(lái)聲明為寄存器變量。也為局部變量,只在聲明它的函數(shù)內(nèi)有效。它是保存在寄存器之中的。速度要快很多。對(duì)于需要頻繁使用的變量使用它來(lái)聲明會(huì)提高程序運(yùn)行速度。例:register int name=1;第五個(gè)關(guān)鍵字:int用來(lái)聲明變量的類型。int為整型。注意在16位和32位系統(tǒng)中它的范圍是不同的。16位中占用2個(gè)字節(jié)。32位中占用4個(gè)字節(jié)。還可以顯式的聲明為無(wú)符號(hào)或有符號(hào):unsigned int signed int .有符號(hào)和無(wú)符號(hào)的區(qū)別就是把符號(hào)位也當(dāng)作數(shù)字位來(lái)存儲(chǔ)。也可用short和long來(lái)聲明為短整型,或長(zhǎng)整行。例:int num;第六個(gè)關(guān)鍵字:float用來(lái)聲明變量的類型。float為浮點(diǎn)型,也叫實(shí)型。它的范圍固定為4個(gè)字節(jié)。其中6位為小數(shù)位。其他為整數(shù)位。例:float name;第七個(gè)關(guān)鍵字:double用來(lái)聲明為雙精度類型。它的范圍為8個(gè)字節(jié)。14位為小數(shù)位。也可使用更高精度的long double 它的范圍則更大,達(dá)到10字節(jié)。例:double name;第八個(gè)關(guān)鍵字:struct用來(lái)聲明結(jié)構(gòu)體類型。結(jié)構(gòu)體可以包含各種不同類型的量。比如可以把整型,字符型等類型的變量聲明在同一個(gè)結(jié)構(gòu)體種,使用的時(shí)候使用結(jié)構(gòu)體變量直接可以調(diào)用。例:struct some{ int a=1; float b=1.1 double=1.1234567 }kkk;這樣就可以使用kkk.a來(lái)使用結(jié)構(gòu)體中的成員變量了 。也可以顯式的用struct some aaa,bbb;來(lái)聲明多個(gè)結(jié)構(gòu)體變量。第九個(gè)關(guān)鍵字:char用來(lái)定義為字符型變量。它的范圍通常為1個(gè)字節(jié)。它在內(nèi)存中是以ASC||瑪來(lái)表示的。所以它也可以跟整型來(lái)運(yùn)算。也可使用無(wú)符號(hào)或有符號(hào)來(lái)定義。sigened char unsigned char例:char c;第十個(gè)關(guān)鍵字:break用來(lái)表示中斷。一般用在循環(huán)中。判斷是否滿足條件然后中斷當(dāng)前循環(huán)。例:break;第十一個(gè)關(guān)鍵字:continue用來(lái)表示跳過(guò)當(dāng)前其后面的語(yǔ)句,繼續(xù)下一次循環(huán)。例:continue;第十二個(gè)關(guān)鍵字:long用來(lái)聲明長(zhǎng)型的類型。比如long int long double .第十三個(gè)關(guān)鍵字:if判斷語(yǔ)句,用來(lái)判斷語(yǔ)句是否滿足條件,例:if a==b k=n;第十四個(gè)關(guān)鍵字:switch條件選擇語(yǔ)句,常用來(lái)判斷用戶選擇的條件來(lái)執(zhí)行特定語(yǔ)句。例:switch (name) { case ok: printf("yes,ok!"); break; case no: printf("oh,no!"); default: printf("error..!") break; }第十五個(gè)關(guān)鍵字:case配合switch一起使用,例子同上。第十六個(gè)關(guān)鍵字:enum用來(lái)聲明枚舉變量。.. 例:enum day{one,two,three,four,five,six,seven };第十七的關(guān)鍵子:typedef類型重定義..可以重定義類型,例:typedef unsigned int u_int; //將無(wú)符號(hào)整形定義為u_int .第十八個(gè)關(guān)鍵字:return;返回語(yǔ)句??梢苑祷匾粋€(gè)值。當(dāng)我們定義一個(gè)函數(shù)為有返回值的時(shí)候則必須返回一個(gè)值。第十九個(gè)關(guān)鍵字:unio定義聯(lián)共用體。用法用struct相同。不同的是共用體所有成員共享存儲(chǔ)空間. unio kkk{ int a; float b; }kka;第二十個(gè)關(guān)鍵字:const定義為常量.. 例: const int a; //變量a的值不能被改變.第二十一個(gè)關(guān)鍵字:unsigned定義為無(wú)符號(hào)的變量.. 默認(rèn)變量都為有符號(hào)的.除非顯示的聲明為unsigned的.第二十二個(gè)關(guān)鍵字:for循環(huán)語(yǔ)句.可以指定程序循環(huán)多少次. 例: for (int i=0;i5;i++) { printf("程序?qū)⑤敵?次這段話!"); }第二十三個(gè)關(guān)鍵字:signed將變量聲明為有符號(hào)型. 默認(rèn)變量就為signed 型。一般可省略。第二十四個(gè)關(guān)鍵字:void空類型.. 一般用于聲明函數(shù)為無(wú)返回值或無(wú)參數(shù)。第二十五個(gè)關(guān)鍵字:default用于在switch語(yǔ)句中。定義默認(rèn)的處理. 用法見(jiàn)switch。第二十六個(gè)關(guān)鍵字:goto無(wú)條件循環(huán)語(yǔ)句. 例: int i=1; w_go: i++; if (i5) goto w_go; else printf("%d",i); 第二十七個(gè)關(guān)鍵子字:sizeof用來(lái)獲取變量的存儲(chǔ)空間大小. 例: int a,b; b=sizeof(a);第二十八個(gè)關(guān)鍵字:volatile將變量聲明為可變的. 用法 volatile int a; 具體用法還是不太明白。標(biāo)記..??!第二十九個(gè)關(guān)鍵字:do一般與while語(yǔ)句 配合使用. 構(gòu)成的形式如 do while 或while do .例見(jiàn)while語(yǔ)句。 第三十個(gè)關(guān)鍵字: while循環(huán)控制語(yǔ)句。 只要表達(dá)式為真就一直循環(huán). 例: do int a=1; while (a1) printf("a1");第三十一個(gè)關(guān)鍵字:else常用來(lái)配合if一起使用。例:if a==b k=n; else k=s;第三十二個(gè)關(guān)鍵字:short用于聲明一個(gè)短整型變量: 例: short int a;
Go語(yǔ)言于2009年11月正式宣布推出,成為開(kāi)放源代碼項(xiàng)目,并在Linux及Mac OS X平臺(tái)上進(jìn)行了實(shí)現(xiàn),后追加Windows系統(tǒng)下的實(shí)現(xiàn)。
谷歌資深軟件工程師羅布·派克(Rob Pike)表示,“Go讓我體驗(yàn)到了從未有過(guò)的開(kāi)發(fā)效率。”派克表示,和今天的C++或C一樣,Go是一種系統(tǒng)語(yǔ)言。他解釋道,“使用它可以進(jìn)行快速開(kāi)發(fā),同時(shí)它還是一個(gè)真正的編譯語(yǔ)言,我們之所以現(xiàn)在將其開(kāi)源,原因是我們認(rèn)為它已經(jīng)非常有用和強(qiáng)大?!?/p>
2007年,谷歌把Go作為一個(gè)20%項(xiàng)目開(kāi)始研發(fā),即讓員工抽出本職工作之外時(shí)間的20%,投入在該項(xiàng)目上。除了派克外,該項(xiàng)目的成員還有其它一些谷歌工程師。
派克表示,編譯后Go代碼的運(yùn)行速度與C語(yǔ)言非常接近,而且編譯速度非常快,就像在使用一個(gè)交互式語(yǔ)言。
現(xiàn)有編程語(yǔ)言均未專門(mén)對(duì)多核處理器進(jìn)行優(yōu)化。派克表示,Go就是谷歌工程師為這類程序編寫(xiě)的一種語(yǔ)言。它不是針對(duì)編程初學(xué)者設(shè)計(jì)的,但學(xué)習(xí)使用它也不是非常困難。Go支持面向?qū)ο螅揖哂姓嬲姆庋b(closures)和反射(reflection)等功能。
在學(xué)習(xí)曲線方面,派克認(rèn)為Go與Java類似,對(duì)于Java開(kāi)發(fā)者來(lái)說(shuō),應(yīng)該能夠輕松學(xué)會(huì)Go。
之所以將Go作為一個(gè)開(kāi)源項(xiàng)目發(fā)布,目的是讓開(kāi)源社區(qū)有機(jī)會(huì)創(chuàng)建更好的工具來(lái)使用該語(yǔ)言,例如Eclipse IDE中的插件。目前還沒(méi)有支持Go的IDE。
在目前谷歌公開(kāi)發(fā)布的所有網(wǎng)絡(luò)應(yīng)用中,均沒(méi)有使用Go。但是谷歌已經(jīng)使用該語(yǔ)言開(kāi)發(fā)了幾個(gè)內(nèi)部項(xiàng)目。
派克表示,Go是否會(huì)對(duì)谷歌即將推出的Chrome OS產(chǎn)生影響,現(xiàn)在還言之尚早,不過(guò)Go的確可以和Native Client配合使用。他表示,“Go可以讓?xiě)?yīng)用完美的運(yùn)行在瀏覽器內(nèi)?!崩?,使用Go可以更高效的實(shí)現(xiàn)Wave,無(wú)論是在前端還是后臺(tái)。
Go語(yǔ)言是一種新的語(yǔ)言,一種并發(fā)的、帶垃圾回收的、快速編譯的語(yǔ)言。它具有以下特點(diǎn):
1.它可以在一臺(tái)計(jì)算機(jī)上用幾秒鐘的時(shí)間編譯一個(gè)大型的Go程序。
2.Go語(yǔ)言為軟件構(gòu)造提供了一種模型,它使依賴分析更加容易,且避免了大部分C風(fēng)格include文件與庫(kù)的開(kāi)頭。
3.Go語(yǔ)言是靜態(tài)類型的語(yǔ)言,它的類型系統(tǒng)沒(méi)有層級(jí)。因此用戶不需要在定義類型之間的關(guān)系上花費(fèi)時(shí)間,這樣感覺(jué)起來(lái)比典型的面向?qū)ο笳Z(yǔ)言更輕量級(jí)。
4.Go語(yǔ)言完全是垃圾回收型的語(yǔ)言,并為并發(fā)執(zhí)行與通信提供了基本的支持。
按照其設(shè)計(jì),Go打算為多核機(jī)器上系統(tǒng)軟件的構(gòu)造提供一種方法。
Go語(yǔ)言是一種編譯型語(yǔ)言,它結(jié)合了解釋型語(yǔ)言的游刃有余,動(dòng)態(tài)類型語(yǔ)言的開(kāi)發(fā)效率,以及靜態(tài)類型的安全性。它也打算成為現(xiàn)代的,支持網(wǎng)絡(luò)與多核計(jì)算的語(yǔ)言。要滿足這些目標(biāo),需要解決一些語(yǔ)言上的問(wèn)題:一個(gè)富有表達(dá)能力但輕量級(jí)的類型系統(tǒng),并發(fā)與垃圾回收機(jī)制,嚴(yán)格的依賴規(guī)范等等。這些無(wú)法通過(guò)庫(kù)或工具解決好,因此Go也就應(yīng)運(yùn)而生了。