C 語言程序設(shè)計實驗指導(dǎo)

出版社:宋雅娟、徐志偉、 李柯景 人民郵電出版社 (2012-10出版)  

內(nèi)容概要

c語言程序設(shè)計實驗指導(dǎo),ISBN:9787115292766,作者:

書籍目錄

實驗一 運行一個簡單的C程序 實驗二 基本輸出 實驗三 運算符和表達式的使用 實驗四 基本輸入 實驗五 順序結(jié)構(gòu) 實驗六 選擇結(jié)構(gòu) 實驗七 開關(guān)語句 實驗八 單重循環(huán) 實驗九 多重循環(huán) 實驗十 數(shù)組 實驗十一 數(shù)組的應(yīng)用 實驗十二 函數(shù)的定義與調(diào)用 實驗十三 函數(shù)與變量的作用域 實驗十四 編譯預(yù)處理 實驗十五 指針變量 實驗十六 指針與數(shù)組 實驗十七 指針與函數(shù) 實驗十八 結(jié)構(gòu)體 實驗十九 共用體與枚舉 實驗二十 文件操作 實驗二十一 綜合實驗 實驗二十二 鏈表 參考文獻

章節(jié)摘錄

版權(quán)頁:   插圖:   一、知識介紹 在C的函數(shù)中,函數(shù)的形參和函數(shù)中定義的變量都是局部變量,只在定義它們的函數(shù)中起作用。這就提出了變量的作用域問題。所謂“變量的作用域”是指變量的有效范圍,在該范圍內(nèi)變量是可用的;在該范圍之外變量不起作用。 在C語言中,變量的定義方式不同,其作用域也不同,通常分為局部變量和全局變量兩類。 1.局部變量和全局變量 (1)局部變量。 定義:在函數(shù)(包括主函數(shù))內(nèi)部定義的變量稱為局部變量(也稱為內(nèi)部變量)。局部變量的作用域僅限于該函數(shù)內(nèi)部。離開該函數(shù),其值就不能再引用。 說明: ①若函數(shù)體內(nèi)的復(fù)合語句中定義的變量,其作用域僅限于復(fù)合語句以內(nèi),所以局部變量的作用域是包圍著該變量定義的大括號之內(nèi),超出這個范圍,局部變量就不能使用了。因此,在不同的函數(shù)內(nèi)可以定義同名的局部變量,這些同名變量之間不會發(fā)生沖突。 ②形參也是局部變量。 ③對于局部變量,編譯系統(tǒng)開始并不給它分配內(nèi)存,只在程序運行過程中,當(dāng)局部變量所在的函數(shù)被調(diào)用時,才臨時分配內(nèi)存,調(diào)用結(jié)束,局部變量所分配的內(nèi)存即被釋放。 (2)全局變量。 定義:在所有函數(shù)外部定義的變量稱為全局變量(也稱為外部變量)。全局變量的作用域是從定義變量的位置開始到本程序文件的末尾。 說明: ①若在定義全局變量之前需要引用該全局變量,則需進行說明,一般格式為: extern 類型名 變量名; ②全局變量的定義與說明不是一回事:定義只能有一次,定義的同時還為變量分配內(nèi)存單元;全局變量的說明是為了要引用該變量而作的一個聲明,不分配內(nèi)存單元。全局變量的聲明可進行多次。 ③在一個源程序中,局部變量可以與外部變量同名,并且在局部變量有效的范圍內(nèi)外部變量不起作用,這就是局部變量對外部變量的屏蔽作用。 2.變量的存儲類 在C語言中,每個變量都有兩個屬性:數(shù)據(jù)類型和存儲類別。因此變量定義說明的一般形式應(yīng)為: 存儲類數(shù)據(jù)類型變量名表; 變量的存儲類是指數(shù)據(jù)在內(nèi)存中的存儲方式。它是從變量存在的時間即生存期角度來描述變量的。 C語言將存放數(shù)據(jù)的區(qū)域分為靜態(tài)存儲區(qū)和動態(tài)存儲區(qū)。 靜態(tài)存儲區(qū)保存的數(shù)據(jù)在程序開始執(zhí)行時分配存儲單元,程序執(zhí)行完畢才釋放所占的存儲單元,在程序的執(zhí)行過程中始終占有固定的存儲單元。 動態(tài)存儲區(qū)存放的數(shù)據(jù)在使用時才分配存儲單元,使用結(jié)束后就立即釋放所占的存儲單元。 具體分為如下4種。 (1)自動變量。 關(guān)于自動變量的說明如下。 ①自動變量是局部變量,它的作用域遵循局部變量的規(guī)定。定義格式為: auto 類型名 變量名; auto 可以省略,它是函數(shù)體內(nèi)的缺省存儲類。 ②自動變量存儲在動態(tài)存儲區(qū)內(nèi),即在函數(shù)被調(diào)用時才被分配存儲單元,調(diào)用結(jié)束后,釋放所占的內(nèi)存單元。 (2)寄存器變量。 關(guān)于寄存器變量的說明如下。 ①寄存器變量的類型一般只限于整型、字符型或指向整型、字符型的指針,且只用于自動變量和形參。定義格式為: register 類型名 變量名; ②一般情況下,變量的值存放在內(nèi)存中,而寄存器變量的值放在CPU的一個寄存器中,通常為了加快程序運行速度,把使用頻率較高的變量指定為register類別,但是應(yīng)注意:不能取寄存器變量的地址。 ③不能定義任意多個寄存器變量,因為一個計算機系統(tǒng)中的寄存器數(shù)目是有限的。 (3)靜態(tài)變量。 關(guān)于靜態(tài)變量的說明如下。 ①靜態(tài)變量存儲在靜態(tài)存儲區(qū)中,故在整個程序運行過程中都不釋放。靜態(tài)變量分為靜態(tài)局部變量和靜態(tài)外部變量。

編輯推薦

《21世紀高等學(xué)校計算機規(guī)劃教材?高校系列:C語言程序設(shè)計實驗指導(dǎo)》突出理論教材與實驗教材的配套使用。根據(jù)理論教材教學(xué)進度開展實驗環(huán)節(jié),便于教師教學(xué)和學(xué)生自學(xué),內(nèi)容豐富,編排合理。

圖書封面

評論、評分、閱讀與下載



用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7