《面向?qū)ο蟪绦蛟O(shè)計》輔導(dǎo)四_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、湖南電大教學(xué)指導(dǎo)中心《面向?qū)ο蟪绦蛟O(shè)計》輔導(dǎo)四《面向?qū)ο蟪绦蛟O(shè)計》輔導(dǎo)四《面向?qū)ο蟪绦蛟O(shè)計》輔導(dǎo)四《面向?qū)ο蟪绦蛟O(shè)計》輔導(dǎo)四第六章簡單程序設(shè)計學(xué)習(xí)要點:一個真正的一個真正的CC程序是由多個文件組成的。在開發(fā)的過程中,會形成多個程序文程序是由多個文件組成的。在開發(fā)的過程中,會形成多個程序文件和多個頭文件。件和多個頭文件。多文件結(jié)構(gòu)可以提高程序的可讀性、提高程序的開發(fā)效率。多文件結(jié)構(gòu)可以提高程序的可讀性、提高程序的開發(fā)效率。學(xué)習(xí)要求:理解多

2、文件結(jié)構(gòu),能在程序設(shè)計中合理利用多文件來進行模塊劃分。能正確使用外部存儲類型理解多文件結(jié)構(gòu),能在程序設(shè)計中合理利用多文件來進行模塊劃分。能正確使用外部存儲類型和靜態(tài)存儲類型。和靜態(tài)存儲類型。理解編譯預(yù)處理的概念,能在程序中合理使用理解編譯預(yù)處理的概念,能在程序中合理使用#include#include預(yù)處理指令,看懂預(yù)處理指令,看懂#define#define、#if#if、#ifndef#ifndef、#else#else、#unde

3、f#undef、#elif#elif等指令。等指令。理解標(biāo)識符的三種生命期:靜態(tài)、局理解標(biāo)識符的三種生命期:靜態(tài)、局部和動態(tài)生命期,能指出給定程序中標(biāo)識符的生命期。部和動態(tài)生命期,能指出給定程序中標(biāo)識符的生命期。能綜合運用頭文件、外部變量、靜態(tài)變量來組織多文件結(jié)構(gòu)的程序。能綜合運用頭文件、外部變量、靜態(tài)變量來組織多文件結(jié)構(gòu)的程序。學(xué)習(xí)方法引導(dǎo):從多文件結(jié)構(gòu)入手,學(xué)習(xí)如何編制從多文件結(jié)構(gòu)入手,學(xué)習(xí)如何編制CC程序,理解程序,理解CC程序的

4、整體結(jié)構(gòu)。程序的整體結(jié)構(gòu)。掌握幾個重要概念。掌握幾個重要概念。結(jié)合實例來理解一個由多文件組成的程序的開發(fā)過程。結(jié)合實例來理解一個由多文件組成的程序的開發(fā)過程。學(xué)習(xí)內(nèi)容:我們知道,用VC設(shè)計軟件時首先要建立一個工程文件,在這個工程文件中指定了該工程用到的所有文件,這其中包含了所有C程序文件。C程序是由許多函數(shù)組成的,函數(shù)是由語句組成的。如下圖所示。在設(shè)計程序時,需要定義大量標(biāo)識符,對標(biāo)識符的操作是程序設(shè)計的關(guān)鍵。標(biāo)識符一經(jīng)定義就有了其作用

5、范圍,它在某些范圍內(nèi)是可見的,并不是定義之后都能使用。特別是在多文件結(jié)構(gòu)中,標(biāo)識符的作用范圍除了塊級、函數(shù)級、還包括文件級和程序級;全局變量不再只是文件級變量,而又分為外部變量和靜態(tài)全局變量;函數(shù)則又分為外部函數(shù)和靜態(tài)函數(shù)等。因此在設(shè)計多文件結(jié)構(gòu)的C程序時,有著比單文件結(jié)構(gòu)更復(fù)雜的特性。一、多文件結(jié)構(gòu)一、多文件結(jié)構(gòu)在設(shè)計大型系統(tǒng)時,一般都由多個程序設(shè)計人員合作完成,每個程序員完成一部分程序,并以文件的形式存儲起來,這樣一個工程就包含多個

6、程序文件。C支持多文件結(jié)構(gòu),即允許一個工程文件中建立多個程序文件。多文件結(jié)構(gòu)與單文件有比較工程C程序文件(.cpp)資源文件類庫自定義包含文件。。。包含main函數(shù)的主文件:main函數(shù)是程序的入口,每個工程只有一個main函數(shù)。其他程序文件函數(shù)湖南電大教學(xué)指導(dǎo)中心答:輸出結(jié)果為7223說明:⑴文件excpp2.cpp中使用的變量a被聲明為外部變量,它是excpp1.cpp中定義的全局變量。若要在若要在程序中使用其他文件中定義的全局變量

7、,則必須在程序中將其做外部聲明。帶程序中使用其他文件中定義的全局變量,則必須在程序中將其做外部聲明。帶externextern的變量說明被稱為的變量說明被稱為外部聲明,它不同以變量定義,因為被外部聲明的變量并不在該文件中分配空間。外部聲明,它不同以變量定義,因為被外部聲明的變量并不在該文件中分配空間。因此不能將每個文件中使用的同一個變量都聲明為外部變量,必須有一個變量應(yīng)被定義,否則編譯將會出錯。⑵被聲明為外部的變量其類型必須與該變量的定

8、義一致。2、訪問外部函數(shù)、訪問外部函數(shù)默認情況下,函數(shù)聲明或定義后總是被認為是外部的,因此,在每個文件中都可以調(diào)用其他文件中函數(shù)聲明或定義后總是被認為是外部的,因此,在每個文件中都可以調(diào)用其他文件中定義的函數(shù)。定義的函數(shù)。因此不特意稱函數(shù)為外部函數(shù)。(二)靜態(tài)存儲類型(二)靜態(tài)存儲類型有時在某文件中定義了一個全局變量,可是又不想讓其他文件對該變量訪問,這種全局變量就稱為內(nèi)部變量(注意與局部變量的區(qū)別)。同樣的除了內(nèi)部變量外還允許定義只在

9、文件中起作用的內(nèi)部函數(shù)。內(nèi)部變量和內(nèi)部函數(shù)因其定義在文件內(nèi)部且只能在文件內(nèi)部被訪問,因此被稱為靜態(tài)存儲類型,內(nèi)部變量也稱為靜態(tài)全局變量,內(nèi)部函數(shù)又稱為靜態(tài)函數(shù)。1.靜態(tài)全局變量靜態(tài)全局變量在全局變量前加上關(guān)鍵字static,該全局變量就成為靜態(tài)全局變量。特點:靜態(tài)全局變量只在定義該變量文件的所有程序中是可見的。例621下面的三個文件同屬于一個工程文件,指出下面程序的執(zhí)行結(jié)果。cpp1.cpp#includeintnvoidfunc1()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論