語言程序設(shè)計(jì)基本知識點(diǎn)解答一_第1頁
語言程序設(shè)計(jì)基本知識點(diǎn)解答一_第2頁
語言程序設(shè)計(jì)基本知識點(diǎn)解答一_第3頁
語言程序設(shè)計(jì)基本知識點(diǎn)解答一_第4頁
語言程序設(shè)計(jì)基本知識點(diǎn)解答一_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計(jì)基本知識點(diǎn)解答(一)第章 計(jì)算機(jī)基礎(chǔ)知識Q001Ø計(jì)算機(jī)的基本原理是什么?(計(jì)算機(jī)的基本原理)A001Ø 計(jì)算機(jī)的基本原理有兩個(gè):1.二進(jìn)制:是指計(jì)算機(jī)中所有的信息都是以二進(jìn)制形式的數(shù)據(jù)來表示、存儲(chǔ)、傳遞和運(yùn)算的。2.存儲(chǔ)程序控制:是指在利用計(jì)算機(jī)解決問題時(shí),首先需要人找出解決方法,然后將這個(gè)方法用某種計(jì)算機(jī)語言轉(zhuǎn)換成計(jì)算機(jī)程序(包含了原始數(shù)據(jù)和處理指令),再送入計(jì)算機(jī)中存儲(chǔ),最后由人發(fā)出命令,計(jì)算機(jī)開始按照程序中的指令和流程執(zhí)行這個(gè)程序(即對數(shù)據(jù)進(jìn)行加工處理)。Q002Ø為什么計(jì)算機(jī)內(nèi)部使用二進(jìn)制?(二進(jìn)制)A002Ø使用二進(jìn)制的主要原因

2、是:1.物理上很容易實(shí)現(xiàn)兩種相對立的穩(wěn)定的能量狀態(tài)(如晶體管的導(dǎo)通與不導(dǎo)通、高電平與低電平、磁性材料中剩磁的順時(shí)針或逆時(shí)針方向等)2.二進(jìn)制數(shù)據(jù)的運(yùn)算規(guī)則數(shù)量少而且簡單,操作實(shí)現(xiàn)簡便Q003Ø計(jì)算機(jī)硬件的基本結(jié)構(gòu)是什么?(硬件)A003ØQ004Ø計(jì)算機(jī)硬件系統(tǒng)的核心部件有哪些?它們的作用是什么?(硬件)A004Ø計(jì)算機(jī)硬件系統(tǒng)的四大核心部件是控制器、運(yùn)算器、存儲(chǔ)器和輸入輸出設(shè)備。其中:控制器是計(jì)算機(jī)的指揮控制中心。其主要功能是識別翻譯指令代碼并向計(jì)算機(jī)各部分發(fā)出適當(dāng)?shù)目刂菩盘枺员銏?zhí)行機(jī)器指令。運(yùn)算器是對數(shù)據(jù)進(jìn)行加工、運(yùn)算的部件。其主要功能是對二進(jìn)制數(shù)

3、據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算。存儲(chǔ)器是存放數(shù)據(jù)和程序的部件。其主要功能是按照要求向指定的位置存進(jìn)或取出信息。輸入設(shè)備的功能是將數(shù)據(jù)和程序送入到計(jì)算機(jī)的存儲(chǔ)器中。常見的輸入設(shè)備有鍵盤、鼠標(biāo)等。輸出設(shè)備的功能是將計(jì)算機(jī)產(chǎn)生的結(jié)果送出計(jì)算機(jī)外。常見的輸出設(shè)備有顯示器、打印機(jī)等。Q005Ø計(jì)算機(jī)的基本工作過程是怎樣的?(硬件)(工作過程)A005ØQ006Ø內(nèi)存儲(chǔ)器和外存儲(chǔ)器有哪些區(qū)別?(存儲(chǔ)器)(內(nèi)存)A006Ø主要區(qū)別如下表所示:內(nèi)存儲(chǔ)器(主存儲(chǔ)器)外存儲(chǔ)器(輔助存儲(chǔ)器)結(jié)構(gòu)屬于硬件系統(tǒng)的主機(jī)部分,位于主機(jī)板的插槽上,與運(yùn)算器和控制器直接聯(lián)系進(jìn)行數(shù)據(jù)交換屬于硬件

4、系統(tǒng)的外設(shè)部分,與運(yùn)算器和控制器必須通過一定的硬件接口相聯(lián)系進(jìn)行數(shù)據(jù)交換物理組成電介質(zhì):半導(dǎo)體集成電路計(jì)算機(jī)斷電會(huì)使內(nèi)存數(shù)據(jù)丟失磁介質(zhì):磁盤或磁帶磁介質(zhì)損傷或消磁會(huì)使數(shù)據(jù)丟失作用存放計(jì)算機(jī)系統(tǒng)運(yùn)行期間正在執(zhí)行的各種程序和數(shù)據(jù)存放系統(tǒng)程序、各種應(yīng)用程序和數(shù)據(jù)文件等當(dāng)前不參與運(yùn)行的大量信息Q007Ø什么叫存儲(chǔ)單元的“位”和“字節(jié)”?(內(nèi)存)(字節(jié))(位)A007Ø“位”(bit):是最小的電子線路單元,只能保存一位二進(jìn)制數(shù)即一個(gè)0或一個(gè)1。因此一個(gè)“位”單元可以保存的最大的十進(jìn)制數(shù)是1。“字節(jié)”(byte):是由若干個(gè)“位”組成的邏輯單元。微機(jī)中,1字節(jié)8位。字節(jié)是最基本的數(shù)據(jù)

5、存儲(chǔ)單元,即數(shù)據(jù)在內(nèi)存中的存儲(chǔ)是以“字節(jié)”為基本單位的。任何數(shù)據(jù)總是占據(jù)整數(shù)個(gè)“字節(jié)”單元 。Q008Ø什么叫存儲(chǔ)單元的地址和內(nèi)容?(內(nèi)存)A008Ø存儲(chǔ)器從第一個(gè)字節(jié)開始到最后一個(gè)字節(jié)為止,每一個(gè)字節(jié)單元在了邏輯上依次有一個(gè)“編號” ,這個(gè)編號就叫內(nèi)存單元的地址。而有這個(gè)地址所指向的內(nèi)存單元中存放的數(shù)據(jù)就叫該內(nèi)存單元的內(nèi)容。Q009Ø計(jì)算機(jī)是如何在內(nèi)存單元中找到需要的數(shù)據(jù)的?(內(nèi)存)A009Ø計(jì)算機(jī)總是首先找到所需數(shù)據(jù)所在字節(jié)單元的地址(編號),再到該地址所指向的內(nèi)存單元去讀取內(nèi)存單元的內(nèi)容(數(shù)據(jù)的值)。Q010Ø什么是“機(jī)器語言”?(語言)

6、A010Ø計(jì)算機(jī)能直接執(zhí)行的用于表示機(jī)器指令的二進(jìn)制數(shù)字代碼稱為“機(jī)器語言”,也就是機(jī)器指令集合。典型的機(jī)器語言程序如下:1010 11110011 01110111 0110 等等幾百個(gè)指令很顯然,這樣的語言寫的程序不易記憶和理解,使用、修改和維護(hù)都很費(fèi)時(shí)費(fèi)力,而且不易推廣。Q011Ø什么是“匯編語言”?(語言)A011Ø使用一些符號來代表指令、寄存器、存儲(chǔ)單元等機(jī)器指令中的要素,然后用這些符號來寫程序。使用這些助記符代碼的語言,叫做“匯編語言”。典型的匯編語言源程序如下:MOV A, 47翻譯之后就是1010 1111ADD A, B0011 0111HALT

7、0111 0110 等等幾百個(gè)指令優(yōu)點(diǎn):比機(jī)器語言易理解、記憶和使用,速度與機(jī)器語言相仿。大量用于實(shí)時(shí)控制。不能獨(dú)立于機(jī)器。匯編語言源程序必須經(jīng)過“匯編程序”的匯編后才能執(zhí)行。Q012Ø什么是“高級語言”?(語言)A012Ø使用與人類的自然語言和數(shù)學(xué)語言相近的符號和運(yùn)算符構(gòu)成的語言,叫做“高級語言”。典型的C語言源程序如下:void main()int a=1, b=2, c;c=a+b;printf("c=%dn", c);優(yōu)點(diǎn):獨(dú)立于機(jī)器,通用性和可移植性強(qiáng);容易理解、記憶和學(xué)習(xí),使用方便,源程序較短。缺點(diǎn):不能夠直接執(zhí)行,源程序必須經(jīng)過“編譯程序”

8、的編譯或“解釋程序”的解釋后形成目標(biāo)程序才行。執(zhí)行速度慢,系統(tǒng)開銷大。Q013Ø計(jì)算機(jī)中表示數(shù)據(jù)的基本原則是什么?(數(shù)據(jù))A013Ø計(jì)算機(jī)中表示數(shù)據(jù)的基本原則是:一個(gè)數(shù)據(jù)總要占據(jù)一定數(shù)目的字節(jié)單元(整數(shù)個(gè)字節(jié)、有限個(gè)字節(jié))。不同類型的數(shù)據(jù)占據(jù)不同數(shù)目的字節(jié)單元(比如,PC機(jī)DOS環(huán)境下一個(gè)整數(shù)占2個(gè)字節(jié),一個(gè)實(shí)數(shù)占4個(gè)字節(jié))。所有數(shù)據(jù)都是以二進(jìn)制數(shù)的補(bǔ)碼形式表示的。當(dāng)要表示一個(gè)數(shù)據(jù)的正負(fù)號時(shí),總是用該數(shù)據(jù)所占字節(jié)單元的所有位中最高一位表示數(shù)的符號(0 表示正,1 表示負(fù))。Q014Ø什么叫“定點(diǎn)數(shù)”和“浮點(diǎn)數(shù)”?(數(shù)據(jù))(定點(diǎn)數(shù))(浮點(diǎn)數(shù))A014Ø在計(jì)

9、算機(jī)中,小數(shù)點(diǎn)位置固定的數(shù)被稱為定點(diǎn)數(shù)。定點(diǎn)數(shù)有定點(diǎn)整數(shù)和定點(diǎn)小數(shù)兩種。定點(diǎn)整數(shù):小數(shù)點(diǎn)默認(rèn)為在一個(gè)二進(jìn)制數(shù)最低位的后面。如圖所示:定點(diǎn)小數(shù):小數(shù)點(diǎn)默認(rèn)為在一個(gè)二進(jìn)制數(shù)最高位(符號位)的后面。在計(jì)算機(jī)中,既有整數(shù)部分又有小數(shù)部分的數(shù)被稱為浮點(diǎn)數(shù)。第一章 C語言基礎(chǔ)知識Q015Ø什么是“C”?(C)A015Ø在現(xiàn)代社會(huì)中,組織處理信息的能力是成功的關(guān)鍵。設(shè)計(jì)計(jì)算機(jī)的目的就是為了快速而有效地處理大量信息。但是除非有人告訴計(jì)算機(jī)該干什么和怎么干,否則它什么事情也不能做。這就是計(jì)算機(jī)編程語言誕生的原因,而C語言就屬于一種計(jì)算機(jī)編程語言。它是一種能夠讓軟件工程師與計(jì)算機(jī)之間進(jìn)行有效對

10、話的介于匯編語言和高級語言之間的編程語言。C語言非常靈活而且適應(yīng)性強(qiáng)。自1970年誕生之日起,它一直被用來開發(fā)各種各樣的程序,包括用于微控制器的固化軟件、操作系統(tǒng)、應(yīng)用程序和圖形程序。Q016Ø什么是“C+”?(C+)A016ØC+是C語言改進(jìn)之后的產(chǎn)物。這種語言最初被稱為“帶類的C”(C with class)。它增加了一些特性,其中最重要的特性就是引入了“類”?!邦悺笔歉鶕?jù)面向?qū)ο蟮某绦蛟O(shè)計(jì)(OOD)思想來創(chuàng)建的,它能使代碼便于重復(fù)使用。C+語言完全兼容C語言,學(xué)好C有助于C+的學(xué)習(xí)。Q017Ø如何學(xué)習(xí)“C”?(C)A017Ø學(xué)習(xí)和掌握一門編程語言的

11、最終途徑是用這門語言編寫程序。事實(shí)上,在編寫程序之前和之后也有很多很重要的工作要做??偟膩碚f,遵循這樣一個(gè)過程是必有收獲的,即:讀別人寫的程序自己動(dòng)手寫程序調(diào)試這個(gè)程序直到成功。這就如同下圍棋:打棋譜親自下棋復(fù)盤。Q018Ø什么是計(jì)算機(jī)程序?(程序)A018Ø計(jì)算機(jī)程序主要由兩部分組成:數(shù)據(jù)與指令。在一個(gè)計(jì)算機(jī)程序當(dāng)中,數(shù)據(jù)和指令總是在滿足語法規(guī)則的前提下,由程序員按照某種組織形式安排好它們,從而來描述對某個(gè)具體問題的已經(jīng)預(yù)先制定出來的解決方法和步驟。程序員使用數(shù)據(jù)來描述他要操作的信息,使用指令來描述操作的方法、過程和步驟。Q019Ø什么叫“源程序”?(程序)A0

12、19Ø源程序特指用匯編語言或高級語言編寫出來的,計(jì)算機(jī)不能夠直接識別并執(zhí)行的數(shù)據(jù)和代碼的集合。源程序必須經(jīng)過某種“翻譯”過程才能變成計(jì)算機(jī)能夠識別的指令。這個(gè)“翻譯”過程對于匯編語言源程序叫做“匯編”,對于高級語言源程序有“編譯”或“解釋”兩種翻譯方法。C語言源程序采用是“編譯”的方法。Q020Ø什么是“編譯器”?(編譯器)A020Ø從根本上說,計(jì)算機(jī)不能直接識別和執(zhí)行有高級語言編寫的“源程序”,因此必須使用一種稱之為“翻譯程序”的程序,把“源程序”翻譯成二進(jìn)制形式的“目標(biāo)程序”。而“編譯器”就是這些 “翻譯程序”當(dāng)中的一種。C語言就是一種“編譯”語言,即是說,用

13、C語言寫出的源程序必須經(jīng)過“C編譯器”的編譯才能變成二進(jìn)制的代碼。Q021Ø我怎么能得到C的“編譯器”?(編譯器)A021Ø世界上有很多廠商和團(tuán)體開發(fā)了很多的“C編譯器”,有商業(yè)版本的,也有完全免費(fèi)的。比較有名的C編譯器有Microsoft C,Turbo C,Borland C,Watcom C,GNU C等等。商業(yè)版本的編譯器往往性能更好,所附帶的函數(shù)庫也更豐富,但是需要花錢購買。因此,如果主要目的是為了學(xué)習(xí)C語言,那么完全可以使用免費(fèi)的C編譯器。比如Turbo C和GNU C。你可以在有關(guān)公司的網(wǎng)站上或者很多有關(guān)C語言的個(gè)人網(wǎng)站上下載這些免費(fèi)的編譯器。另外一點(diǎn),由于C

14、+是完全兼容C的,所以你也可以使用C+編譯器來編譯你的C源程序。同樣,你也可以在互聯(lián)網(wǎng)上下載到免費(fèi)的C+編譯器,比如Inprise公司(原Borland公司)的C+ Builder編譯器。Q022Ø程序的基本結(jié)構(gòu)和特點(diǎn)是什么?(C程序)(程序結(jié)構(gòu))A022Ø1.一個(gè)程序是由函數(shù)構(gòu)成的。語言又被稱作“函數(shù)式語言”。 函數(shù)可能是系統(tǒng)庫函數(shù)或用戶自定義函數(shù)。使用函數(shù)構(gòu)成程序可以容易實(shí)現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)方法。2. 一個(gè)程序中必須有一個(gè)main函數(shù),而且只能有一個(gè)。無論主函數(shù)位于程序的何處,程序都由它開始執(zhí)行。3. 一個(gè)函數(shù)由兩部分組成:函數(shù)原型和函數(shù)體。函數(shù)原型確定函數(shù)名,形參數(shù)量和

15、類型,函數(shù)的返回值及其類型;而函數(shù)體包含在一對 中,由若干語句組成以實(shí)現(xiàn)函數(shù)功能。4. 每個(gè)語句必須以分號結(jié)束。5. 可以用/* */(塊注釋符)在程序中任何地方作注釋。注釋的內(nèi)容不會(huì)被編譯。6. 程序的書寫格式很自由。Q023Ø什么是“函數(shù)”?(函數(shù))A023Ø函數(shù)是按照一定語法規(guī)則被封裝好了的,能夠完成特定功能的一段代碼模塊。使用函數(shù)構(gòu)成程序可以容易實(shí)現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)方法。Q024Ø什么是“系統(tǒng)庫函數(shù)”和“用戶自定義函數(shù)”?(函數(shù))A024Ø系統(tǒng)庫函數(shù)是指隨同某個(gè)版本的C編譯器一起發(fā)布的已經(jīng)實(shí)現(xiàn)了的函數(shù)集合。用戶往往不能得到這些函數(shù)的源代碼,但是可以

16、在自己的程序里調(diào)用這些函數(shù)從而實(shí)現(xiàn)相應(yīng)的功能。不同公司、不同版本的C編譯器所附帶的庫函數(shù)不盡相同,但是所有的C編譯器都會(huì)附帶一個(gè)被稱之為“標(biāo)準(zhǔn)庫函數(shù)”的函數(shù)庫。因此,在使用標(biāo)準(zhǔn)庫函數(shù)編程時(shí),可以不考慮編譯器的版本問題,因?yàn)樗械木幾g器都支持它們。另外也有一些獨(dú)立軟件供應(yīng)商會(huì)提供第三方的需要單獨(dú)購買的具有特定功能的函數(shù)庫。而用戶自定義函數(shù)是指用程序員自己編寫的完成所需功能的函數(shù)。比如,每個(gè)C程序中都包含的main函數(shù)就是一個(gè)用戶自定義函數(shù)。Q025ØC語言有哪些“系統(tǒng)庫函數(shù)”?(函數(shù))A025Ø每個(gè)版本的編譯器都會(huì)發(fā)送對所附帶的庫函數(shù)的分類列表和字母順序列表以及詳細(xì)說明手冊。

17、另外,也可以查找編譯器所附帶的在線幫助系統(tǒng)來尋求信息。還可以購買有關(guān)專家編寫的函數(shù)使用手冊。如果是標(biāo)準(zhǔn)庫函數(shù)的話,你可以在互聯(lián)網(wǎng)上找到它們的使用說明。Q026Ø什么是main函數(shù)?(main函數(shù))(主函數(shù))A026Ø在C程序當(dāng)中,main函數(shù)是一個(gè)具有特定名稱和特殊地位的用戶自定義函數(shù)。無論主函數(shù)位于源程序的何處,程序都從它的第一個(gè)語句開始執(zhí)行,到執(zhí)行完最后一個(gè)語句結(jié)束。在main函數(shù)的函數(shù)體中,通過調(diào)用系統(tǒng)庫函數(shù)或其它的用戶自定義函數(shù)來完成整體的功能。而其它的自定義函數(shù)是不能調(diào)用main函數(shù)的。Q027ØC程序中,如何定義一個(gè)函數(shù)?(函數(shù))A027Ø定

18、義一個(gè)函數(shù)包括定義函數(shù)頭和定義函數(shù)體。格式如下:函數(shù)值類型 函數(shù)名(函數(shù)形參列表)函數(shù)體函數(shù)頭指示了該函數(shù)與其它函數(shù)不同的唯一的函數(shù)名,執(zhí)行該函數(shù)時(shí)所必須提供的輸入信息,以及函數(shù)執(zhí)行結(jié)束后得到的值的類型。函數(shù)體包含若干個(gè)語句來具體實(shí)現(xiàn)該函數(shù)的功能。Q028ØC程序中,函數(shù)體為什么要包含在大括號而不是其它的括號當(dāng)中?(函數(shù))A028Ø函數(shù)體總要包含在一對特定的符號中以形成封裝的模塊。其它的高級語言可能使用的是其它的符號,而C語言中就是使用的大括號。這是規(guī)定。Q029Ø什么叫“語句”和“語句結(jié)束符”?(語句)(語句結(jié)束符)A029Ø一個(gè)語句就是一條命令。一個(gè)

19、語句在編譯后會(huì)變成很多條機(jī)器指令,告訴計(jì)算機(jī)做什么事情。語句可以很簡單,也可以很復(fù)雜。為了區(qū)分程序中的若干個(gè)語句,每種語言都必須指定一個(gè)符號來標(biāo)示語句的結(jié)束,這個(gè)符號就叫語句結(jié)束符。C語言中的語句結(jié)束符是分號。又是規(guī)定。Q030Ø什么叫“注釋”?(注釋)A030Ø注釋是指在源程序中,對代碼本身以及代碼所設(shè)計(jì)的相關(guān)信息進(jìn)行說明和注解的字符序列。為了區(qū)別源程序中的注釋內(nèi)容和正式的內(nèi)容,必須用某種界定符號包圍注釋。Q031Ø在編寫計(jì)算機(jī)源程序中,為什么要添加“注釋”?(注釋)A031Ø現(xiàn)代計(jì)算機(jī)的運(yùn)行速度已經(jīng)很快,所以對計(jì)算機(jī)程序的要求從原來的程序大小、算法效

20、率、編程的技巧性等等已經(jīng)轉(zhuǎn)變?yōu)槌绦虻目勺x性和可維護(hù)性。而添加適當(dāng)?shù)淖⑨屖潜WC和增強(qiáng)程序可讀性和可維護(hù)性的最重要的手段之一。對大型的程序尤其如此。對沒有注釋或注釋不科學(xué)的程序進(jìn)行維護(hù)和二次開發(fā),其代價(jià)和成本是無法估計(jì)阿。因此,對程序員來講,一開始就養(yǎng)成給程序?qū)懽⑨尩牧?xí)慣是至關(guān)重要的,這已經(jīng)成為評價(jià)一個(gè)程序員水平高低的重要標(biāo)準(zhǔn)。Q032Ø在C程序中,如何添加“注釋”?(注釋)A032ØC語言中,用成對出現(xiàn)的/* */來告訴編譯器,包含在/* */之間的所有內(nèi)容都是注釋。編譯器在對源程序進(jìn)行編譯時(shí),將忽略和跳過這些內(nèi)容。Q033Ø對于C程序的書寫格式有何規(guī)定?(格式)A

21、033ØC程序的書寫格式是很自由的。你只要不把一個(gè)完整的符號或一個(gè)常量拆開,其它的都可以隨便安排。Q034Ø在編寫計(jì)算機(jī)源程序時(shí),為什么要遵循一定的書寫規(guī)范?(格式)A034Ø原因很簡單也很重要:保證和增強(qiáng)程序的可讀性和可維護(hù)性。一幅漂亮的書法會(huì)使人賞心悅目,可一幅涂鴉則會(huì)使人雅興大減。Q035Ø關(guān)于良好的書寫規(guī)范和編碼習(xí)慣,有何建議?(格式)A035Ø只是建議,并非規(guī)定,但事實(shí)上已經(jīng)約定俗成:1.適當(dāng)?shù)淖⑨寱?huì)大大增加程序的可讀性和可維護(hù)性2.一行盡量只寫一個(gè)語句3.使用有規(guī)則的縮進(jìn)式代碼排列方式4.在需要的地方加上一些空行5.起有意義和易于分

22、辨的符號名Q036ØC源程序是如何運(yùn)行的?(C程序)(運(yùn)行)A036ØQ037Ø什么是IDE?(IDE)(集成開發(fā)環(huán)境)A037Ø是集成開發(fā)環(huán)境Integrated Develop Environment的縮寫。IDE包含了編輯器Editor、編譯器Compiler、連接程序Linker、項(xiàng)目管理程序Project Manager、調(diào)試器Debugger、在線幫助系統(tǒng)Online Help System和其它一些輔助開發(fā)工具Other Tools。用戶的所有開發(fā)工作都可以在一個(gè)IDE中完成。Q038Ø怎么學(xué)習(xí)使用IDE?(IDE)(集成開發(fā)環(huán)境

23、)A038Ø最好的方法就是查看IDE自帶的在線幫助系統(tǒng)。絕大多數(shù)的IDE都帶有詳盡的幫助系統(tǒng),對IDE本身的組成、功能和使用有詳細(xì)的說明。除此之外,幫助系統(tǒng)中還包含對所有庫函數(shù)和輔助工具的使用說明。因此,一定要學(xué)會(huì)看幫助。當(dāng)然,這對你的計(jì)算機(jī)英語水平有較高要求。Q039Ø什么叫“預(yù)編譯”?(預(yù)編譯)A039Ø在對源程序進(jìn)行正式編譯之前所做的一些處理工作叫做預(yù)編譯。最常見的預(yù)編譯工作就是用include包含文件和用define進(jìn)行符號替換。C源程序中,所有的預(yù)編譯命令都由#號開頭。使用預(yù)編譯命令,可以提供C語言本身不包含的一些擴(kuò)充功能。Q040Ø什么叫“編

24、譯”?(編譯)A040Ø將高級語言源程序翻譯成二進(jìn)制代碼的目標(biāo)程序的一種方法和過程。完成這個(gè)過程的是一個(gè)專門的程序,叫“編譯器”。Q041Ø什么叫“連接”?(連接)A041Ø將編譯后的二進(jìn)制目標(biāo)程序和有關(guān)函數(shù)庫進(jìn)行連接并打包成可執(zhí)行程序的過程叫做連接。完成這個(gè)過程的是一個(gè)專門的程序,叫“連接器”。Q042Ø什么叫“調(diào)試”?(調(diào)試)A042Ø一個(gè)程序永遠(yuǎn)不可能一次就完全寫正確,總會(huì)存在這樣那樣的錯(cuò)誤。有些錯(cuò)誤屬于簡單的語法錯(cuò)誤,有些錯(cuò)誤屬于復(fù)雜的邏輯錯(cuò)誤,有些錯(cuò)誤直到程序運(yùn)行時(shí)才有可能發(fā)現(xiàn)。檢查并排除所有這些錯(cuò)誤直到程序完全正確的過程就叫調(diào)試。編

25、寫一個(gè)大型的程序,往往有一半的時(shí)間用在了調(diào)試工作上,因此,學(xué)習(xí)調(diào)試的方法,積累調(diào)試的經(jīng)驗(yàn)時(shí)一個(gè)程序員必須要經(jīng)歷的過程。Q043Ø用C語言只能寫在DOS下運(yùn)行的程序嗎?(C)A043Ø當(dāng)然不是。不管是DOS和WINDOWS,還是Unix和Linux,或者其它的操作系統(tǒng),你所需要的就是屬于那個(gè)操作系統(tǒng)的C或C+“編譯器”,你就可以用C語言編寫在那個(gè)操作系統(tǒng)下運(yùn)行的程序。當(dāng)然,不同的操作系統(tǒng)下,由于程序運(yùn)行的原理不相同,因此編程的原理會(huì)有所不同。Q044Ø除了C程序設(shè)計(jì)的書籍外,還有更多學(xué)習(xí)C語言的資源嗎?(C)(學(xué)習(xí))A044Ø有,那就是INTERNET。你

26、只要在某個(gè)搜索引擎中輸入諸如“C語言”、“C教程”、“C源碼”之類的關(guān)鍵字,就會(huì)搜索到成百上千的網(wǎng)站和網(wǎng)頁。國外關(guān)于C語言教程和C語言編程的網(wǎng)站就更多了。學(xué)會(huì)使用并用好這些資源,你很快就會(huì)變成一個(gè)C語言高手。第二章 算法基礎(chǔ)知識Q045Ø什么叫“算法”?(算法)A045Ø算法,簡單的說就是為解決一個(gè)問題而采取的方法和步驟。一個(gè)實(shí)際問題如果需要通過編寫計(jì)算機(jī)程序來解決的話,就必須首先制定出解決該問題的算法。對于同一個(gè)問題可能存在著不同的解決方法和步驟,也就是說有不同的算法。所以確定算法時(shí),在保證正確有效的前提下,應(yīng)該盡量提高算法的效率和質(zhì)量。另外,我們更關(guān)心的是專門針對計(jì)算機(jī)

27、編程而制定的算法,而不是普通的一般意義上的算法。Q046Ø能否舉例說明什么是“計(jì)算機(jī)算法”?(算法)A046Ø例如編程序求 1×2×3×4×5××10。對于這樣一個(gè)具體問題,我們可以得到不止一個(gè)的算法。算法:直接寫一個(gè)乘法表達(dá)式來計(jì)算,即S1:prod=1×2×3×4×5×6×7×8×9×10這個(gè)算法的結(jié)果雖然是正確的,但是這樣的解決方法和步驟顯然不是有效合理的。因?yàn)槿绻麊栴}變成了求1×2×3×4

28、×5××100,或者變成了1×3×5×7×9××101,那么這種方法就不適用了。算法:利用編程語言中“變量”的概念,每次計(jì)算一個(gè)乘法并把結(jié)果保存在該變量中,下次再用這個(gè)變量去乘以下一個(gè)數(shù),即S1:prod=1S2:prod=prod×2S3:prod=prod×3S4:prod=prod×4S5:prod=prod×5S10: prod=prod×10這個(gè)算法的結(jié)果也是正確的,比算法簡潔一些,但是仍然不是有效合理的,同樣的問題就在于算法不通用。算法:利用“

29、變量”的概念的同時(shí),再利用“循環(huán)”的解決方法,可以實(shí)現(xiàn)真正的計(jì)算機(jī)算法S1:prod=1S2:n=1S3:prod=prod×nS4:n=n+1S5:如果n10,則返回到S3;否則,結(jié)束這個(gè)算法具有通用性、靈活性。因?yàn)橹灰峭瑯拥念愃频膯栴},那么這個(gè)算法是不需要作大的改動(dòng)的。而且所有計(jì)算機(jī)語言都有實(shí)現(xiàn)“循環(huán)”的控制語句,因此這個(gè)算法就是我們所說的有效的正確的計(jì)算機(jī)算法。Q047Ø一個(gè)計(jì)算機(jī)算法應(yīng)該有什么樣的特性?(算法)A047Ø一個(gè)算法應(yīng)具有以下特點(diǎn):(1) 有窮性:一個(gè)算法的步驟必須是合理有限的(2) 確定性:算法中的每一個(gè)步驟應(yīng)當(dāng)是確定的,而不應(yīng)該是含糊的、模棱兩可的(3) 有零個(gè)或多個(gè)輸入:執(zhí)行算法是需從外界取得必要的信息(4) 有一個(gè)或多個(gè)輸出:執(zhí)行一個(gè)算法后應(yīng)該有必要的結(jié)果(5) 有效性:算法中的每一個(gè)步驟都必須是能有效成立和有效執(zhí)行,并得到確定結(jié)果的。Q048&

溫馨提示

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

評論

0/150

提交評論