如何學(xué)習(xí)C語(yǔ)言,入門(mén)需要了解哪些知識(shí)呢?
如何學(xué)習(xí)C語(yǔ)言,入門(mén)需要了解哪些知識(shí)呢?C語(yǔ)言是編程人員都需要掌握的語(yǔ)言,也是基礎(chǔ)語(yǔ)言,而對(duì)于一種新語(yǔ)言的入門(mén),往往有一定的困難,其實(shí)是人們心中的疙瘩,對(duì)新事物的恐懼心理,其實(shí)學(xué)習(xí)C語(yǔ)言并不難。鄭州北大青鳥(niǎo)翔天信鴿就為大家詳細(xì)講解C語(yǔ)言的入門(mén)。
1、變量名與變量值
變量名實(shí)際上是一個(gè)符號(hào)地址。程序編譯時(shí),系統(tǒng)給變量開(kāi)辟該變量對(duì)應(yīng)類(lèi)型所需的內(nèi)存空間(用于存儲(chǔ)變量值),然后由系統(tǒng)建立一個(gè)從變量名到該內(nèi)存空間的首地址的映射,這樣就可以通過(guò)變量名訪(fǎng)問(wèn)到變量值了。
變量名由數(shù)字、字母和下劃線(xiàn)組成。大小寫(xiě)敏感,不能以數(shù)字開(kāi)頭。變量名的長(zhǎng)度(字符個(gè)數(shù))沒(méi)有硬性的規(guī)定,只是不同的C編譯器可能會(huì)有不同要求。
C語(yǔ)言中,使用變量之前必須定義該變量,否則編譯出錯(cuò)。定義變量時(shí)須寫(xiě)明變量所屬類(lèi)型。程序編譯時(shí),會(huì)根據(jù)變量的類(lèi)型來(lái)決定為該變量開(kāi)辟多大的內(nèi)存空間,同時(shí)還可以檢查運(yùn)算的合法性。比如實(shí)型數(shù)據(jù)之間不能做求余數(shù)的操作。
2、整型數(shù)據(jù)
C語(yǔ)言中,整型數(shù)據(jù)的類(lèi)別有三種:short,int,long;屬性有兩種:signed,unsigned。共有六種組合。
整型數(shù)據(jù)類(lèi)型的長(zhǎng)度:C標(biāo)準(zhǔn)沒(méi)有硬性規(guī)定每種類(lèi)型的長(zhǎng)度,只是規(guī)定:long的長(zhǎng)度要不小于int;short的長(zhǎng)度不大于int。一般的C編譯器都會(huì)以一個(gè)機(jī)器字的存放一個(gè)int型數(shù)據(jù)。
3、變量初始化
變量的初始化不是在編譯期間完成內(nèi)存空間的分配(只有靜態(tài)變量和外部變量是在編譯期間初始化),而是在程序運(yùn)行時(shí)執(zhí)行函數(shù)時(shí)才賦值。
4、C語(yǔ)言的變量的存儲(chǔ)類(lèi)型
C語(yǔ)言的變量存儲(chǔ)類(lèi)型有很多種分法,根據(jù)生命周期來(lái)分可分為:動(dòng)態(tài)變量和靜態(tài)變量;根據(jù)使用域來(lái)分可分為:局部變量和全局變量(又叫內(nèi)部變量和外部變量)
a)、動(dòng)態(tài)變量和靜態(tài)變量。
動(dòng)態(tài)變量------變量所占空間是動(dòng)態(tài)分配的,即只有到使用到某個(gè)變量時(shí),才動(dòng)態(tài)的給該變量分配內(nèi)存空間,用完后還要及時(shí)收回。比如函數(shù)的形參及函數(shù)內(nèi)的局部變量。其代碼表現(xiàn)形式為關(guān)鍵字"auto"+變量類(lèi)型名+變量名,一般情況下關(guān)鍵字"auto"省略不寫(xiě)。也就是說(shuō)我們平時(shí)用得最多的就是動(dòng)態(tài)變量。動(dòng)態(tài)變量存放于內(nèi)存的棧區(qū)和堆區(qū)。
靜態(tài)變量------變量所占空間是靜態(tài)的,即程序自始至終一直存在。代碼表現(xiàn)形式為關(guān)鍵字"static"+變量類(lèi)型名+變量名,靜態(tài)變量的初始化是在編譯期完成的,且只初始化一次,程序執(zhí)行時(shí)不再對(duì)靜態(tài)變量進(jìn)行賦初值。
b)、局部變量和全局變量(又叫內(nèi)部變量和外部變量)
局部變量------定義在函數(shù)體內(nèi)部的變量,所以又叫內(nèi)部變量。其作用域僅限于聲明該局部變量的函數(shù)體內(nèi)部。程序運(yùn)行時(shí),在動(dòng)態(tài)存儲(chǔ)區(qū)為局部變量分配空間(靜態(tài)局部變量除外)。
一般情況下使用的局部變量都是動(dòng)態(tài)變量,但并不表示沒(méi)有靜態(tài)的局部變量。靜態(tài)局部變量因?yàn)槭庆o態(tài)的所以會(huì)被存在靜態(tài)存儲(chǔ)區(qū),這就意味著即使函數(shù)調(diào)用結(jié)束,它的值還仍然存在。利用這一特性我們可以用靜態(tài)局部變量來(lái)保留函數(shù)上一次的執(zhí)行結(jié)果
全局變量------定義在函數(shù)體外部的變量,所以又叫外部變量。其作用域?yàn)樵撊肿兞康穆暶魈幰恢钡匠绦蚪Y(jié)束。與局部變量不同的是,全局變量存在靜態(tài)存儲(chǔ)區(qū),在編譯期就被分配空間。
外部變量可以用"extern"關(guān)鍵字來(lái)擴(kuò)展作用域。例如:一int型的外部變量A被定義在程序的中部,那該外部變量的作用域是不包含其以上的函數(shù)的,如果在文件開(kāi)頭使用"extern A"來(lái)聲明該外部變量,那該外部變量的作用域變會(huì)被擴(kuò)大到整個(gè)文件。使用"extern"還可以把外部變量的作用域擴(kuò)大到另外的文件中。例如:在a.c中有一外部變量A,那在b.c中使用extern A聲明后A在b.c中也可以使用了。
當(dāng)然,C語(yǔ)言并不是這幾句話(huà)就可以說(shuō)清的,IT技術(shù)最重要的一點(diǎn)是實(shí)踐,只有實(shí)踐過(guò)了才能算真正掌握技術(shù)。
本文由站河南北大青鳥(niǎo)校區(qū)整編而成,如需了解更多IT資訊類(lèi)的文章、新聞、課程和學(xué)習(xí)技巧、就業(yè)案例、招生詳情等問(wèn)題,可以對(duì)在線(xiàn)咨詢(xún)老師進(jìn)行一對(duì)一問(wèn)答!
推薦資訊
- 學(xué)生考不上高中怎么辦學(xué)什么技術(shù)... 2020-07-28
- 什么是軟件架構(gòu)師?未來(lái)你的職場(chǎng)定... 2012-04-24
- 熱烈祝賀北大青鳥(niǎo)2015年度會(huì)議在... 2015-12-14
- 在鄭州學(xué)計(jì)算機(jī)去哪個(gè)學(xué)校... 2019-12-30
- 80后職場(chǎng)人,職業(yè)浪潮中我們?cè)趺?.. 2012-10-13
熱點(diǎn)資訊
- 河南中考300分能上什么學(xué)校呢?... 2024-07-11
- 鄭州北大青鳥(niǎo)職業(yè)技術(shù)學(xué)校招生要... 2024-07-08
- 鄭州北大青鳥(niǎo)是一個(gè)什么性質(zhì)的學(xué)... 2024-07-02
- 在河南中考考了300多分能上什么學(xué)... 2024-06-28
- 初三畢業(yè)考不上高中怎么辦呢... 2024-06-25