全國計算機(jī)二級考試C語言(復(fù)習(xí)資料) (一)_第1頁
全國計算機(jī)二級考試C語言(復(fù)習(xí)資料) (一)_第2頁
全國計算機(jī)二級考試C語言(復(fù)習(xí)資料) (一)_第3頁
全國計算機(jī)二級考試C語言(復(fù)習(xí)資料) (一)_第4頁
全國計算機(jī)二級考試C語言(復(fù)習(xí)資料) (一)_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

二級公共基礎(chǔ)學(xué)問作為必考內(nèi)容出現(xiàn),出題形式為選

擇題前10道,占考試總分的10%o

考試其它比重:

1、c語言程序的結(jié)構(gòu)占總分1%

2、數(shù)據(jù)類型與其運(yùn)算占總分4%

3、選擇結(jié)構(gòu)程序設(shè)計占比分的3%

4、循環(huán)結(jié)構(gòu)占比分的5%

5、數(shù)組的定義和引用占比分的5%

6、函數(shù)占比分的5%

7、編譯預(yù)處理占比分1%

8、指針占比分的5%

9、結(jié)構(gòu)體占比分的3%

10、位運(yùn)算占比分的2%

11、文件操作占比分的2%

考試方式

上機(jī)考試,時長120分鐘

單選題40分(含公共基礎(chǔ)10分),操作題60分(包括程序填空題、程序

修改題、程序設(shè)計題)

第一部分C語言學(xué)問復(fù)習(xí)資料

第一章C語言基本學(xué)問(90分)

【考點(diǎn)1】C程序

用C語言編寫的程序稱為C語言源程序,源程序文件的后綴名為

源程序經(jīng)編譯后生成后綴名為“”的目標(biāo)文件,再把目標(biāo)文件與各種庫函

數(shù)連接起來,生成“”可執(zhí)行文件。C語言有三種基本結(jié)構(gòu):依次結(jié)構(gòu)、

選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。

【考點(diǎn)2】函數(shù)

又稱主函數(shù),是C程序的入口。后面跟一對小括號和一對花括號,花

括號括起來的部分稱為函數(shù)的函數(shù)體。一個C程序從函數(shù)起先執(zhí)行,到函

數(shù)體執(zhí)行完結(jié)束,而不論函數(shù)在整個程序中的位置如何。每一個程序有且

僅有一個函數(shù),其他函數(shù)都是為函數(shù)服務(wù)的。

【考點(diǎn)3】存儲形式

計算機(jī)在電腦中保存數(shù)據(jù)是接受二進(jìn)制形式,由0或1構(gòu)成的二進(jìn)制

稱為位(),八個位構(gòu)成一個字節(jié)(),1個8個。二進(jìn)制、八進(jìn)制、十六

進(jìn)制轉(zhuǎn)化為十進(jìn)制接受乘法,十進(jìn)制轉(zhuǎn)化為二進(jìn)制、八進(jìn)制、十六進(jìn)制接

受除法。數(shù)據(jù)的存放位置就是它的地址。

【考點(diǎn)4】注釋

是對程序的說明,可出現(xiàn)在程序中隨意合適的地方,注釋從“/*”起

先到最近一個“*/”結(jié)束,其間任何內(nèi)容都不會被計算機(jī)執(zhí)行,注釋不行

以嵌套。

【考點(diǎn)5】書寫格式

每條語句的后面必需有一個分號,分號是語句的一部分。一行內(nèi)可寫

多條語句,一個語句可寫在多行上。

【考點(diǎn)6】標(biāo)識符

是標(biāo)識名字的有效字符序列,可以理解為C程序中的單詞。

標(biāo)識符的命名規(guī)則是:

(1)標(biāo)識符只能由字母、數(shù)字和下劃線組成,字母區(qū)分大小寫。

(2)標(biāo)識符的第一個字符必需是字母或下劃線,不能為數(shù)字。

C語言標(biāo)識符分如下3類

(1)關(guān)鍵字。它們在程序中有固定的含義,不能另作他用。如、、等。

(2)預(yù)定義標(biāo)識符。預(yù)先定義并具有特定含義的標(biāo)識符。如、等。

(3)用戶標(biāo)識符。用戶依據(jù)須要定義的標(biāo)識符,符合命名規(guī)則且不

與關(guān)鍵字相同。

【考點(diǎn)7】常量與變量

常量是指在程序運(yùn)行過程中,其值不能變更的量。常量分為整型常量、

實(shí)型常量、字符常量、字符串常量、符號常量5種。在程序運(yùn)行過程中其

值可以變更的量稱為變量。[語言中沒有字符串變量。存放字符串運(yùn)用字

符數(shù)組。

【考點(diǎn)8】整型數(shù)據(jù)

整型常量有十進(jìn)制、八進(jìn)制、十六進(jìn)制三種表示形式,沒有二進(jìn)制形

式,八進(jìn)制整型常量加前導(dǎo)數(shù)字0,十六進(jìn)制常量加前導(dǎo)0X,八進(jìn)制常量

中不會出現(xiàn)8。

整型變量可分為基本整型()、短整型(),長整型()、和無符號整

型()。一個基本整型占4個字節(jié)。其它類型的整型占用字節(jié)數(shù)和取值范

圍詳見教材第9頁。

【考點(diǎn)9】實(shí)型數(shù)據(jù)

實(shí)型數(shù)據(jù)有兩種表示形式:小數(shù)形式和指數(shù)形式。駕馭判定指數(shù)形式

合法性。

口訣:E前E后必有數(shù),E后必需為整數(shù)。

實(shí)型變量分為單精度型O和雙精度型(),單精度型占四個字節(jié)。

【考點(diǎn)10]算術(shù)運(yùn)算

算術(shù)運(yùn)算符一共有+、一、*、/、%這五個。求余運(yùn)算要求運(yùn)算對象只

能為整型,除法運(yùn)算符兩邊運(yùn)算對象都為整型時,運(yùn)算結(jié)果也為整型即舍

掉小數(shù)部分。

【考點(diǎn)11】強(qiáng)制類型轉(zhuǎn)換

將一個運(yùn)算對象轉(zhuǎn)換成指定類型,格式為(類型名)表達(dá)式|,留意小

括號位置。

【考點(diǎn)12]賦值

賦值運(yùn)算符為“二”,不同于關(guān)系等于“二二:賦值表達(dá)式格式為:變

量名二表達(dá)式,賦值運(yùn)算符左邊必需為變量,賦值運(yùn)算是把賦值運(yùn)算符右

邊表達(dá)式的值賦給左邊變量。

復(fù)合賦值運(yùn)算符是將算術(shù)運(yùn)算符或位運(yùn)算符與賦值運(yùn)算符組合在一

起組成的運(yùn)算符,駕馭復(fù)合賦值表達(dá)式轉(zhuǎn)化為賦值表達(dá)式的方法。如100

可轉(zhuǎn)化為100o

【考點(diǎn)13】自加自減運(yùn)算

自加運(yùn)算符""與自減運(yùn)算符是單目運(yùn)算符,運(yùn)算對象必需是變

量。自增自減運(yùn)算分前綴運(yùn)算和后綴運(yùn)算,它們所對應(yīng)的表達(dá)式的值是有

區(qū)分的,如;等價于1;而;等價于1;。

口訣:加加在前先加后用,加加在后先用后加。

【考點(diǎn)14]逗號運(yùn)算

逗號運(yùn)算符運(yùn)算優(yōu)先級最低,可將多個表達(dá)式構(gòu)成一個新的表達(dá)式。

考試真題:

1、下列敘述中錯誤的是(D)一一2006年4月選擇第44題

A)C語言源程序經(jīng)編譯后生成后綴為的目標(biāo)程序

B)C語言經(jīng)過編譯、連接步驟之后才能形成一個真正可執(zhí)行的二進(jìn)制

機(jī)器指令文件C)月C語言編寫的程序稱為源程序,它以代碼形式存放

在一個文本文件中D)C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將

被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令2、下列敘述中錯誤的是(B)——2006年4

月選擇第45題

A)算法正確的程序最終確定會結(jié)束B)算法正確的程序可以有零個

輸出C)算法正確的程序可以有零個輸入

D)算法正確的程序?qū)τ谙嗤妮斎氪_定有相同的結(jié)果3、下列敘述

中錯誤的是(A)一—2006年9月選擇第11題

A)一個C語言程序只能實(shí)現(xiàn)一種算法B)C程序可以由多個程序文

件組成C)C程序可以由一個或多個函數(shù)組成

D)一個C函數(shù)可以單獨(dú)作為一個C程序文件存在4、|下列敘述中正

確的是(D)——2006年9月選擇第12題

A)每個C程序文件中都必需要有一個()函數(shù)算法正確的程序?qū)?/p>

于相同的輸入確定有相同的結(jié)果B)在C程序中()函數(shù)的位置是固定的

C)C程序中全部函數(shù)之間都可以相互調(diào)用,與函數(shù)所處位置無關(guān)D)

在C程序的函數(shù)中不能定義另一個函數(shù)

5、在算法中,對須要執(zhí)行的每一步操作,必需給出清楚、嚴(yán)格的規(guī)

定,這屬于算法的(C)——2007年4月選擇第11題

A)正值性

B)可行性

C)確定性

D)有窮性

6、下列敘述中錯誤的是(D)——2007年4月選擇第12題

A)計算機(jī)不能干脆執(zhí)行用C語言編寫的源程序

B)C程序經(jīng)C編譯程序編譯后,生成后綴為的文件是一個二進(jìn)制文件

C)后綴為的文件,經(jīng)連接程序生成后綴為的文件是一個二進(jìn)制文

D)后綴為和的二進(jìn)制文件都可以干脆運(yùn)行

7、下列敘述中錯誤的是(C)一一2007年4月選擇第14題

A)C語言是一種結(jié)構(gòu)化程序設(shè)計語言

B)結(jié)構(gòu)化程序曰依次、分支、循環(huán)3種基本結(jié)構(gòu)組成

O運(yùn)用3種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡潔問題

D)結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法

8、對于一個正常運(yùn)行的C程序,下列敘述中正確的是(A)—2007年

4月選擇第15題

A)程序的執(zhí)行總是從函數(shù)起先,在函數(shù)結(jié)束

B)程序的執(zhí)行總是從程序的第一個函數(shù)起先,在函數(shù)結(jié)束

C)程序的執(zhí)行總是從函數(shù)起先,在程序的最終一個函數(shù)中結(jié)束

D)程序的執(zhí)行總是從程序中的第一個函數(shù)起先,在程序的最終一個

函數(shù)結(jié)束

9、C語言源程序名的后綴是(B)——2007年9月選擇第H題

A)B)C)D)

10、下列敘述中正確的是(C)一一2007年9月選擇第14題

A)C語言程序?qū)脑闯绦蛑械谝粋€函數(shù)起先執(zhí)行

B)可以在程序中由用戶指定隨意一個函數(shù)作為主函數(shù),程序?qū)慕?/p>

起先執(zhí)行OC語言規(guī)定必需用作為主函數(shù)名,程序?qū)慕衿鹣葓?zhí)行,在

此結(jié)束D)可作為月戶標(biāo)識符,用以命名隨意一個函數(shù)作為主函數(shù)

1.以下選項(xiàng)中合法的標(biāo)識符是(2009年3月)c

A)1_1B)1-1C)_11D)1_2,以下選項(xiàng)中不合法的

標(biāo)識符是c(2008年4月)

A)B)C)D)一00

3.可在C程序中用做用戶標(biāo)識符的一組標(biāo)識符是(2007年9月)

A)B)C)D)2007

4.依據(jù)C語言規(guī)定的用戶標(biāo)識符命名規(guī)則,不能出現(xiàn)在標(biāo)識符中的

是(2007年4月)

A)大寫字母B)連接符C)數(shù)字字符D)下劃

線5.以下不合法的用戶標(biāo)識符是(2006年4月)

A)J2B)C)4dD)_8_

1.以下選項(xiàng)中不屬于字符常量的是(2。08年4月)

A)'C'B)〃C〃C)'\0'D)'\072'2.以下合

法的字符常量的是

A)'\xl3'B)、081"C)'65'D)"\n"

3.已知大寫字母A的碼是65,小寫字母a的碼是97o下列不能將

變量c中

的大寫字母轉(zhuǎn)換為對應(yīng)小寫字母的語句是(2007年4月)A)(,,A

B)32C),,A?+%"D)(,,A>%26-,,a

"4.以下選項(xiàng)中,值為1的表達(dá)式。(2006年9月)A)1-?0

?B)1-?\0"C)"1-0D)A0-?0ct1.以下選項(xiàng)中,能用作數(shù)

據(jù)常量的是(2009年3月)

A)0115B)0118D)115L2,以下選項(xiàng)中不能作為

C語言合法常量的是()。

A)-B)0.16C)〃\a〃D)'\011'3.以下不合法的

數(shù)值常量是

A)OilB)C)8.0E0.5D)04.C源程序中不能

表示的數(shù)制是()。(2008年9月)

A)二進(jìn)制

B)八進(jìn)制

C)十進(jìn)制

D)十六進(jìn)制

5.以下關(guān)于、和類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(2007年

9月)

A)均占4個字節(jié)

B)依據(jù)數(shù)據(jù)的大小來確定所占內(nèi)存的字節(jié)數(shù)

C)由用戶自己定義D)由C語言編譯系統(tǒng)確定6.以下選項(xiàng)中,

合法的一組C語言數(shù)值常量是(2007年9月)

A)028B)12.

C).177

D)0x8A

.53

023

4el.5

10,000

-04.5e0035

其次章依次結(jié)構(gòu)

【考點(diǎn)1】運(yùn)算符、表達(dá)式、語句

運(yùn)算對象加運(yùn)算符構(gòu)成表達(dá)式,表達(dá)式加分號構(gòu)成表達(dá)式語句,運(yùn)算

對象可以是表達(dá)式、常量、變量。如賦值運(yùn)算符加運(yùn)算對象構(gòu)成賦值表達(dá)

式,賦值表達(dá)式加分號又可構(gòu)成賦值語句。

【考點(diǎn)2】運(yùn)算符的優(yōu)先級和結(jié)合依次

運(yùn)算符按參加運(yùn)算的對象數(shù)R可分為單n運(yùn)算符、雙R運(yùn)算符和三目

運(yùn)算符。初等運(yùn)算符的優(yōu)先級別最高,然后依次是單目運(yùn)算符、算術(shù)運(yùn)算

符、關(guān)系運(yùn)算符、邏輯運(yùn)算符(除邏輯非?。l件運(yùn)算符、賦值運(yùn)算符、

逗號運(yùn)算符。位運(yùn)算符優(yōu)先級介于算術(shù)運(yùn)算符與邏輯運(yùn)算符之間。結(jié)合依

次大多為自左向右,而自右向左的有三個:單目運(yùn)算符、條件運(yùn)算符和賦

值運(yùn)算符。

【考點(diǎn)3】函數(shù)

格式為:(輸出限制,輸出列表)。輸出限制是用一對雙引號括起來的,

包含格式說明和原樣信息。輸出列表包含若干輸出項(xiàng)。

【考點(diǎn)4】函數(shù)中格式說明

對應(yīng)整型,對應(yīng)單精度實(shí)型,對應(yīng)字符型,對應(yīng)八進(jìn)制無符號整型,

對應(yīng)無符號十六進(jìn)制整型,對應(yīng)無符號整型,對應(yīng)指數(shù)型,對應(yīng)字符串型。

可在外和格式字符之間加一個數(shù)來限制數(shù)據(jù)所占的寬度和小數(shù)位數(shù)。

【考點(diǎn)5】函數(shù)

輸入項(xiàng)要求帶取地址符&。當(dāng)用鍵盤輸入多個數(shù)據(jù)時,數(shù)據(jù)之間用分

隔符。分隔符包括空格符、制表符和回車符,但不包括逗號。

【考點(diǎn)】6如何交換兩個變量

要運(yùn)用中間變量,語句為:;;;。

第三章選擇結(jié)構(gòu)

【考點(diǎn)1】關(guān)系運(yùn)算

C語言用非0表示邏輯真,用0表示邏輯假。關(guān)系運(yùn)算符有6個,分

別是),>=,<,<=,,,前四種優(yōu)先級高于后兩種。關(guān)系表達(dá)式真時為1,

假時為0。留意a〈b〈c是不行以的,可用(水b)(b〈c)來表示。

【考點(diǎn)2】邏輯運(yùn)算

邏輯運(yùn)算符共有3個:邏輯與(),邏輯或(),邏輯非(!)o留意短

路現(xiàn)象,例,假如表達(dá)式的值非零,則表達(dá)式不再執(zhí)行。

【考點(diǎn)3】語句

可以單獨(dú)出現(xiàn),也可以與匹配出現(xiàn)。語句可以嵌套,這時總是與離它

最近的且沒有與匹配的匹配。

【考點(diǎn)4】條件運(yùn)算

是唯一的三目運(yùn)算符,格式為:表達(dá)式1?表達(dá)式2:表達(dá)式3。表達(dá)式

1值為非0時z整個表達(dá)式值為表達(dá)式2的值,表達(dá)式1值為0時,整個

表達(dá)式值為表達(dá)式3的值。

口訣:真前假后

【考點(diǎn)5】語句

格式與執(zhí)行過程詳見教材P33,要留意每條后有沒有語句的區(qū)分。還

要留意后小括號里面的表達(dá)式不能為實(shí)型,后表達(dá)式不能有變量。

口訣:表不為實(shí),表不為變。

第四章循環(huán)結(jié)構(gòu)

【考點(diǎn)1】三種循環(huán)結(jié)構(gòu)

三種循環(huán)結(jié)構(gòu)分別為:,,,三種結(jié)構(gòu)的格式與執(zhí)行依次詳見教材第36、

39、40頁。留意循環(huán)中的小括號中必需是兩個分號;循環(huán)確定要有結(jié)束條

件,否則成了死循環(huán);()循環(huán)最終的();后確定要有分號。

【考點(diǎn)2】與

是終止所在整個循環(huán),而是提前結(jié)束本輪循環(huán)。語句可出現(xiàn)在循環(huán)結(jié)

構(gòu)與語句中,只出現(xiàn)在循環(huán)結(jié)構(gòu)中。

【考點(diǎn)3】循環(huán)的嵌套

就是循環(huán)里面還有循環(huán),計算要一層一層分析,一般只考查兩層嵌套,

循環(huán)嵌套通常是處理二維數(shù)組。

【考點(diǎn)4】循環(huán)結(jié)構(gòu)的復(fù)習(xí)

循環(huán)結(jié)構(gòu)是重點(diǎn),筆試所占分值一般在13分左右,在上機(jī)考試中也

是必考點(diǎn),應(yīng)用性很強(qiáng)。要求學(xué)員重點(diǎn)理解并多加練習(xí),領(lǐng)悟駕馭。

第五章字符型數(shù)據(jù)位運(yùn)算

【考點(diǎn)1】字符常量

一個字符常量用一對單引號括起來,字符常量只能包括一個字符'

是非法的??崭癯S谩?來表示。字符常量可用對應(yīng)的碼表示,需記?。骸?/p>

0'的碼為48,'A'的碼為65,'a'的碼為97。

【考點(diǎn)2】轉(zhuǎn)義字符

一對單引號中以一個反斜線后跟一個特定字符或八進(jìn)制、十六進(jìn)制數(shù)

來構(gòu)成轉(zhuǎn)義字符。比如'\n’表示換行,'\101'或'\x41'表示碼為65

的字符'A\

【考點(diǎn)3】字符型數(shù)據(jù)可以和整型數(shù)據(jù)相互轉(zhuǎn)換

如:'0'-0=48+32='a'65(“”);結(jié)果為65A

【考點(diǎn)4】位運(yùn)算符

C語言供應(yīng)6種位運(yùn)算符:按位求反~,按位左移《,按位右移〉,按

位與&,按位異或按位或二一般狀況下須要先轉(zhuǎn)化進(jìn)制。異或運(yùn)算的

規(guī)則:0異或1得到1,0異或0得至IJ0,1異或1得到0o可記為“相同

為0,不同為1”。

【考點(diǎn)5】與函數(shù)

可用于輸出或輸入單個字符,這兩個函數(shù)是文件中的庫函數(shù),它們是

與函數(shù)的簡化。

第六章函數(shù)

【考點(diǎn)1】函數(shù)的定義

函數(shù)是具有確定功能的一個程序塊。函數(shù)的首部為:函數(shù)類型函數(shù)

名(類型1形參1,類型2形參2,……)o在函數(shù)定義中不行以再定義

函數(shù),即不能嵌套定義函數(shù)。函數(shù)類型默認(rèn)為型。

【考點(diǎn)2】庫函數(shù)

調(diào)用C語言標(biāo)準(zhǔn)庫函數(shù)時要包含叮囑,叮囑行以#開頭,后面是"”或

?括起來的后綴為"”的頭文件。以#開頭的一行稱為編譯預(yù)處理叮囑行,

編譯預(yù)處理不是C語言語句,不加分號,不占運(yùn)行時間。

【考點(diǎn)3】函數(shù)的返回值

函數(shù)通過語句返回一個值,返回的值類型與函數(shù)類型一樣。語句只執(zhí)

行一次,執(zhí)行完或函數(shù)體結(jié)束后退出函數(shù)。

【考點(diǎn)4】函數(shù)的聲明

函數(shù)要“先定義后調(diào)用",或“先聲明再調(diào)用后定義”。函數(shù)的聲明確

定要有函數(shù)名、函數(shù)返回值類型、函數(shù)參數(shù)類型,但不愿定要有形參的名

稱。

【考點(diǎn)5】函數(shù)的調(diào)用

程序從上往下執(zhí)行,當(dāng)遇到函數(shù)名后,把值傳給調(diào)用函數(shù),當(dāng)程序得

到了返回值或調(diào)用函數(shù)結(jié)束,再依次往下執(zhí)行。

【考點(diǎn)6】函數(shù)的參數(shù)與值傳遞

形式參數(shù)簡稱形參,是定義函數(shù)時函數(shù)名后面括號中的參數(shù)。實(shí)在參

數(shù)簡稱實(shí)參,是調(diào)用函數(shù)時函數(shù)名后面括號中的參數(shù)。實(shí)參和形參分別占

據(jù)不同的存儲單元。實(shí)參向形參單向傳遞數(shù)值。

“傳值”與“傳址”的區(qū)分:傳數(shù)值的話,形參的變更不會變更實(shí)參

的變更。傳地址的話,形參的變更就有可能變更實(shí)參所對應(yīng)的量。

【考點(diǎn)7】函數(shù)的遞歸調(diào)用

函數(shù)干脆或間接地調(diào)用自己稱為函數(shù)的遞歸調(diào)用。遞歸調(diào)用必需有一

個明確的結(jié)束遞歸的條件。在做遞歸題時可把遞歸的步驟一步步寫下來,

不要弄顛倒了。

【考點(diǎn)8】要求駕馭的庫函數(shù)

()算術(shù)平方根函數(shù),()確定值函數(shù),()嘉函數(shù),()正弦函數(shù)

第七章指針

【考點(diǎn)1】指針變量

【考點(diǎn)2)指針變量的定義指針變量是用來存儲地址的,而一般變量

是存儲數(shù)值的。指針變量可指向隨意一種數(shù)據(jù)類型,但不管它指向的數(shù)據(jù)

占用多少字節(jié),一個指針變量占用四個字節(jié)。

格式為:類型名*指針變量名。二維指針**p;可以理解為基類型為(*)

類型。

【考點(diǎn)31指針變量的初始化

指針變量在運(yùn)用前必需要初始化,把一個詳細(xì)的地址賦給它,否則引

用時會有副作用,假如不指向任何數(shù)據(jù)就賦“空值”。

【考點(diǎn)4】指針變量的引用

&是取地址符,*是間接訪問運(yùn)算符,它們是互逆的兩個運(yùn)算符。在指

針變量名前加間接訪問運(yùn)算符就等價它所指向的量。

【考點(diǎn)5】指針的運(yùn)算

*和(*2之間的差別:*是地址變更,(*p)是指針變量所指的數(shù)據(jù)變更。

一個指針變量加一個整數(shù)不是簡潔的數(shù)學(xué)相加,而是連續(xù)移動若干地址。

當(dāng)兩個指針指向同一數(shù)組時,它們可以比較大小進(jìn)行減法運(yùn)算。

第八章數(shù)組

【考點(diǎn)1】數(shù)組的定義

數(shù)組是一組具有相同類型的數(shù)據(jù)的集合,這些數(shù)據(jù)稱為數(shù)組元素。格

式為:類型名數(shù)組名[常量表達(dá)式]。數(shù)組的所占字節(jié)數(shù)為元素個數(shù)與基

類型所占字節(jié)數(shù)的乘積。

【考點(diǎn)2】數(shù)組的初始化

第一維長度可以不寫,其它維必需寫。a□:{1,2};合法,

a[][3]={2,3,4);合法,a[2][]={2,3,4);非法。數(shù)組初始化元素值默認(rèn)

為0,沒有初始化元素值為隨機(jī)。如在為5]二{0,1,2};中,元素a[4]值為

0;而在a[5];中,元素a[4]值為一個不確定的隨機(jī)數(shù)。

【考點(diǎn)3】元素的引用

數(shù)組元素的下標(biāo)從0起先,到數(shù)組長度減1結(jié)束。所以a[5];中數(shù)組

最終一個元素是a[4]o要把數(shù)組元素看作一個整體,可以把a(bǔ)[4]當(dāng)作一

個整型變量。

【考點(diǎn)4】二維數(shù)組

數(shù)組。[2][3]={1,2,3,4,5,6};中含6個元素,有2行3歹正第一行為

a[0]行,第2行為行,a[0]、a⑴叫行首地址,是地址常量。*(a[0:+l)

是第一行第一個元素往后跳一列,即元素值為2,*(a[0]+3)是第

一行第一個元素往后跳三個,即元素a[l][0]值為4。

【考點(diǎn)5】行指針

是一個指針變量,占四個字節(jié),行指針指向一行連續(xù)數(shù)據(jù),形式為:

(*P)L2J;,p只能存放含有兩個整型元素的一維數(shù)組的首地址。留意處p)

兩邊的小括號不能省略,否則就成了指針數(shù)組,是若干指針元素的集合。

【考點(diǎn)6】數(shù)組名

數(shù)組名是數(shù)組的首地址。數(shù)組名不能單獨(dú)引用,不能通過一個數(shù)組名

代表全部元素。數(shù)組名是地址常量,不能對數(shù)組名賦值,所以是錯誤的。

但數(shù)組名可以作為地址與一個整數(shù)相加得到一個新地址。

【考點(diǎn)7】元素形式的轉(zhuǎn)換

助記:“脫衣服法則"a[2]變成*(2),a⑵⑶變成*(2)[3]再可變成

*(*(2)+3)。

第九章字符串

【考點(diǎn)1】字符串常量與表示

字符串常量是由雙引號括起來的一串字符,如在存儲字符串時,

系統(tǒng)會自動在其尾部加上一個空值'\0',空值也要占用一個字節(jié),也就

是字符串””須要占四個字節(jié)。

【考點(diǎn)2】字符數(shù)組

C語言沒有字符串變量,只能接受字符數(shù)組來存儲字符串。數(shù)組的大

小應(yīng)當(dāng)比它將要實(shí)際存放的最長字符串多一個元素,從而存放''0'。

【考點(diǎn)3】字符串賦值

可以用下面的形式進(jìn)行賦值:□="!“;或*"!”;,但不能用下面

的形式:[10]””;因?yàn)槭且粋€地址常量,不能進(jìn)行賦值操作。

【考點(diǎn)4】字符串的輸入與輸出

可以用和函數(shù),如("”);,也可用特地處理字符串的兩個函數(shù)和函數(shù),

還可以對字符數(shù)組逐個元素進(jìn)行賦值,但確定要在最終賦一個'\0\運(yùn)

用函數(shù)可以接收空格,運(yùn)用函數(shù)在最終輸出一個換行。

【考點(diǎn)5】字符串函數(shù)

要駕馭的四個字符串函數(shù):字符串拷貝函數(shù)(),求字符串長度函數(shù)

(),字符串鏈接函數(shù)(),字符串比較函數(shù)()。運(yùn)用這些函數(shù)需在預(yù)處

理部分包含頭文件

字符串長度要小于字符數(shù)組的長度,例:口0]二””()的值為10(數(shù)

組長度),()的值為5(字符串長度)。這些函數(shù)是考試常用到的函數(shù),大

家確定要嫻熟應(yīng)用這幾個函數(shù)。

第十章結(jié)構(gòu)體與共用體

【考點(diǎn)1】結(jié)構(gòu)體類型的說明

結(jié)構(gòu)體是若干個類型數(shù)據(jù)的集合,結(jié)構(gòu)體類型說明格式如下:類型

名{類型1成員名1;類型2成員名2;……以上整個部分是一個數(shù)據(jù)

類型,與整型的是同樣地位??捎冒呀Y(jié)構(gòu)體類型替換成一個只有幾個字母

的簡短標(biāo)識符。

【考點(diǎn)2】結(jié)構(gòu)體變量的定義

結(jié)構(gòu)體變量是用說明的結(jié)構(gòu)體類型所定義的一個變量,與結(jié)構(gòu)體類型

不是一回事。一個結(jié)構(gòu)體變量所占字節(jié)數(shù)為其全部成員所占字節(jié)數(shù)之和。

如{[10];};則表明定義了兩個結(jié)構(gòu)體變量:每個變量占4個字節(jié)。與;

中的變量是同樣地位。

【考點(diǎn)3】結(jié)構(gòu)體成員的引用

引用成員可用以下3種方式:(1結(jié)構(gòu)體變量名.成員名;(2)指針變

量名->成員名:(3)(*指針變量名).成員名。點(diǎn)(.)稱為成員運(yùn)算符,

箭頭(-?稱為結(jié)構(gòu)指向運(yùn))

【考點(diǎn)4】鏈表

鏈表是由一個個結(jié)點(diǎn)構(gòu)成的,一個結(jié)點(diǎn)就是一個結(jié)構(gòu)體變量。每個結(jié)

點(diǎn)可以分為數(shù)據(jù)域與指針域兩個部分,數(shù)據(jù)域用來存放要存儲的數(shù)據(jù),指

針域用來指向下一個結(jié)點(diǎn)。鏈表是考試中的難點(diǎn),在C語言和公共基礎(chǔ)部

分都會考到,要領(lǐng)悟駕馭。

【考點(diǎn)5】共用體

共用體的運(yùn)用格式與結(jié)構(gòu)體相像,共用體定義的關(guān)鍵字為,共用體所

占字節(jié)數(shù)是全部成員中字節(jié)數(shù)最大的那個。

第十一章文件

【考點(diǎn)1】文件類型指針

文件指針是一個指向結(jié)構(gòu)體類型的指針,定義格式為:*指針變量名。

在運(yùn)用文件時,都須要先定義文件指針。

【考點(diǎn)2】文本文件與二進(jìn)制文件

文本形式存放的是字符的碼,二進(jìn)制形式存放的是數(shù)據(jù)的二進(jìn)制。例

如“100”假如是文本形式就是存儲T'、如‘、'0'三個字符的碼本形式

00110000),假如是二進(jìn)制形式就把100轉(zhuǎn)化成二進(jìn)制(01100100)o

【考點(diǎn)3】打開文件

文件的打開形式如下:*;("c:\\","");°函數(shù)的前面一部分為

文件名,后面一部分為文件的運(yùn)用方式。打開方式詳見教材第127頁,其

中r代表讀,w代表寫,a代表添加,b代表二進(jìn)制位的。

【考點(diǎn)4】文件函數(shù)

?推斷文件結(jié)束函數(shù),調(diào)用形式為:(*);文件指針,假如文件結(jié)束,

則函數(shù)返回L否則返回0

?用來設(shè)置文件的位置,接著的讀或?qū)懖僮鲗慕裎恢闷鹣?。函?shù)的

調(diào)用形式如下:

(文件指針,位移量,移動起始點(diǎn));

o*("C:\\"J");

(,12);表示將文件的位置移動到文件起始位置后面的第12個字節(jié)的

位置上

或者(,12,0);

(12;表示將文件的位置移動到文件末尾位置前面的第12個字節(jié)的位

置上

或者(,12,2);

假如是

(,12);表示將文件的位置從當(dāng)前位置移動后面的第12個字節(jié)的位置

或者(,12,1);

?用來獲得文件當(dāng)前的位置,函數(shù)給出當(dāng)前位置相對于文件開頭的字

節(jié)數(shù)。函數(shù)調(diào)用形式如下:

(*)給出當(dāng)前聞之相對于開頭的字節(jié)數(shù),出錯時,返回-1L

?文件位置移到開頭函數(shù)功能等價于(,0)

?文件字符輸入輸出(*)函數(shù)用于從指定的文件中讀入一個字符并把

它作為函數(shù)值返回

?(*),將字符寫到文件指針?biāo)傅奈募腥?,輸出成功,則返回輸

出的字符,失敗,則返回一個值

?文件輸入輸出函數(shù)和函數(shù),一般形式(文件指針,格式限制字符串,

輸入項(xiàng)表或輸入項(xiàng)表)

?文件字符串輸入輸出函數(shù)((),功能是從所指文件中讀入1個字符

放入為起始地址的空間內(nèi))和函數(shù)(())

?讀寫二進(jìn)制文件函數(shù)和函數(shù)。

以上函數(shù)要求知道格式會用,清楚是用于二進(jìn)制文件還是文本文件,

要把教材文件這章細(xì)致復(fù)習(xí)下,不要在考試的時候把這些文件函數(shù)搞混

了。

典型例題:

給定程序中,函數(shù)的功能是將形參給定的字符串、整數(shù)、浮點(diǎn)數(shù)寫到文本

文件中,再用字符方式從今文本文件中逐個讀入并顯示在終端屏幕上。請

在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的

結(jié)果。

留意:源程序存放在考生文件夾下的1中。

不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

給定源程序:

(*S,a,f)

1;

=(T,〃w〃);

(,”\n〃,s,a,f);

=(T,〃r〃);

(〃\:\n\n〃);

((2)){

(3);=0;}

('\n,);

{a[10]=〃!〃;12345;

98.76;

第十二章深化探討

【考點(diǎn)1】編譯預(yù)處理

凡以#開頭的這一行,都是編譯預(yù)處理叮囑行,編譯預(yù)處理不加分號,

不占運(yùn)行時間。宏替換僅是簡潔的文本替換,如f(x)(x)*(x)和f(x)

x*x替換f(2+2)時就有區(qū)分,前者綻開為(2+2)*(2+2),后者為2+2*2+2。

假如源文件f2中有“fl”可以理解為把源文件fl原樣包含到f2中,

使fl和f2融合到一起成為一個C程序編譯。所以一個C程序必有主函數(shù),

但一個C源文件未必有主函數(shù)。

【考點(diǎn)2】標(biāo)識符作用域

局部變量是在函數(shù)內(nèi)或復(fù)合語句內(nèi)定義的變量,作用域?yàn)槎x它的函

數(shù)內(nèi)。局部變量有三種類型:自動,寄存器和靜態(tài)。

自動變量隨著函數(shù)的運(yùn)用與否創(chuàng)建消逝;寄存器變量支配在中,沒有

內(nèi)存地址;靜態(tài)變量占用固定存儲單元,在程序執(zhí)行過程不釋放,直到程

序運(yùn)行結(jié)束。

全局變量是在函數(shù)外定義的變量,作用域從定義它的位置到整個源文

件結(jié)束為止,生存期為整個程序運(yùn)行期間。全局變量都是靜態(tài)變量。

X=1;

x*=2;

X;

1;

(1<=3)

s*()l228

(“\n”);

)64

【考點(diǎn)3】動態(tài)存儲支配

()用來創(chuàng)建連續(xù)個字節(jié)存儲區(qū),返回值類型為*型。函數(shù)常用于動態(tài)

創(chuàng)建鏈表結(jié)點(diǎn),如*p;(*)(0);。

()創(chuàng)建n個同一類型的存儲空間,可以理解為n個。

(P)釋放動態(tài)支配的存儲單元。

其次部分公共基礎(chǔ)學(xué)問資料

第一章數(shù)據(jù)結(jié)構(gòu)與算法

【考點(diǎn)1】算法的基本概念

算法:是指一組有窮的指令集,是解題方案的精確而完整的描述。算法不

等于程序,也不等于計算方法。

算法的基本特征:

確定性,算法中每一步驟都必需有明確定義,不允許有多義性;

有窮性,算法必需能在有限的時間內(nèi)做完,即能在執(zhí)行有限個步驟后終止;

可行性,算法原則上能夠精確地執(zhí)行;

擁有足夠的情報。

算法的組成要素:一個算法由數(shù)據(jù)對象的運(yùn)算和操作以與其限制結(jié)構(gòu)這兩

部分組成。

算法的基本運(yùn)算和操作:算術(shù)運(yùn)算,邏輯運(yùn)算,關(guān)系運(yùn)算,數(shù)據(jù)傳輸。

算法的基本限制結(jié)構(gòu):依次,選擇,循環(huán)。

算法基本設(shè)計方法:列舉法、歸納法、遞推、遞歸、減半遞推技術(shù)。

【考點(diǎn)2]算法的困難度

算法效率的度量一一算法的困難度:時間困難度和空間困難度。

算法時間困難度:指執(zhí)行算法所須要的計算工作量。通常,一個算法所用

的時間包括編譯時間和運(yùn)行時間。

算法空間困難度:指執(zhí)行這個算法所須要的內(nèi)存空間。包括算法程序所占

的空間,輸入的初始數(shù)據(jù)所占的空間,算法執(zhí)行過程中所需的額外空間。

空間困難度和時間困難度并不相關(guān)。

【考點(diǎn)3]數(shù)據(jù)結(jié)構(gòu)的基本概念

數(shù)據(jù):數(shù)據(jù)是客觀事物的符號表示,是能輸入到計算機(jī)中并被計算程序識

別和處理的符號的總稱,如文檔,聲音,視頻等。

數(shù)據(jù)元素:數(shù)據(jù)元素是數(shù)據(jù)的基本單位。

數(shù)據(jù)對象:數(shù)據(jù)對象是性質(zhì)相同的數(shù)據(jù)元素的集合。

數(shù)據(jù)結(jié)構(gòu):是指由某一數(shù)據(jù)對象中全部數(shù)據(jù)成員之間的關(guān)系組成的集合。

【考點(diǎn)4】邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)

數(shù)據(jù)結(jié)構(gòu)可分為數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)。

數(shù)據(jù)的邏輯結(jié)構(gòu)是市數(shù)據(jù)元素之間的邏輯關(guān)系的描述,與數(shù)據(jù)的存儲無

關(guān),是面對問題的,是獨(dú)立于計算機(jī)的。它包括數(shù)據(jù)對象和數(shù)據(jù)對象之間

的關(guān)系。

數(shù)據(jù)的存儲結(jié)構(gòu)也稱為數(shù)據(jù)的物理結(jié)構(gòu),是數(shù)據(jù)在計算機(jī)中的存放的方

式,是面對計算機(jī)的,它包括數(shù)據(jù)元素的存儲方式和關(guān)系的存儲方式。

數(shù)據(jù)結(jié)構(gòu)和邏輯結(jié)構(gòu)的關(guān)系:?種數(shù)據(jù)的邏輯結(jié)構(gòu)可以表示成多種存儲結(jié)

構(gòu)即數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)不愿定」?對應(yīng)。

常見的存儲結(jié)構(gòu)有:依次,鏈接,索引等。接受不同的存儲結(jié)構(gòu)其數(shù)據(jù)處

理的效率是不同的。

【考點(diǎn)5】線性結(jié)構(gòu)和非線性結(jié)構(gòu)

線性結(jié)構(gòu)的條件(一個非空數(shù)據(jù)結(jié)構(gòu)):(1)有且只有一個根結(jié)點(diǎn);(2)

每一個結(jié)點(diǎn)最多有一個前件,也最多有一個后件。

非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)條件的數(shù)據(jù)結(jié)構(gòu)。

棧、隊(duì)列、雙向鏈表是線性結(jié)構(gòu),樹、二叉樹為非線性結(jié)構(gòu)。

【考點(diǎn)6】線性表與其依次存儲結(jié)構(gòu)

線性表是由一組數(shù)據(jù)元素構(gòu)成,數(shù)據(jù)元素的位置只取決于自己的序號,元

素之間的相對位置是線性的。

在困難線性表中,由若干項(xiàng)數(shù)據(jù)元素組成的數(shù)據(jù)元素稱為記錄;由多個記

錄構(gòu)成的線性表稱為文件。

非空線性表的結(jié)構(gòu)特征:

(1)有且只有一個根結(jié)點(diǎn)al,它無前件;

(2)有且只有一個終端結(jié)點(diǎn),它無后件;

(3)除根結(jié)點(diǎn)與終端結(jié)點(diǎn)外,其他全部結(jié)點(diǎn)有且只有一個前件,也有且

只有一個后件。

結(jié)點(diǎn)個數(shù)n稱為線性表的長度,當(dāng)0時,稱為空表。

線性表的依次存儲結(jié)構(gòu)具有以下兩個基本特點(diǎn):

(1)線性表中全部元素所占的存儲空間是連續(xù)的;

(2)線性表中各數(shù)據(jù)元素在存儲空間中是按邏輯依次依次存放的。

元素的存儲地址為:0(al)+(l)*k,(al)為第一個元素的地址,k代表每

個元素占的字節(jié)數(shù)。

依次表的運(yùn)算:查找、插入、刪除。

【考點(diǎn)7】線性鏈表

線性鏈表是線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)中的每一個結(jié)點(diǎn)對應(yīng)于一個

存儲單元,這種存儲單元稱為存儲結(jié)點(diǎn),簡稱結(jié)點(diǎn)。結(jié)點(diǎn)由兩部分組成:

(1)用于存儲數(shù)據(jù)元素值,稱為數(shù)據(jù)域;(2)用于存放指針,稱為指針域,

用于指向前一個或后一個結(jié)點(diǎn)。

在鏈?zhǔn)酱鎯Y(jié)構(gòu)中,存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的

存儲依次與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一樣,而數(shù)據(jù)元素之間的邏輯

關(guān)系是由指針域來確定的。

鏈?zhǔn)酱鎯Ψ绞郊瓤捎糜诒硎揪€性結(jié)構(gòu),也可用于表示非線性結(jié)構(gòu)。

線性單鏈表中,稱為頭指針,(或0)稱為空表。

數(shù)據(jù)域指針城數(shù)據(jù)域指針域數(shù)據(jù)域指針域

圖1單鏈表的結(jié)構(gòu)

雙向鏈表有兩個指針:左指針()指向前件結(jié)點(diǎn),右指針()指向后件結(jié)

點(diǎn)。

圖2雙鏈表的結(jié)構(gòu)

循環(huán)鏈表:循環(huán)鏈表與單鏈表的不同的是它的最終一個結(jié)點(diǎn)的指針域存放

的事指向第一個結(jié)點(diǎn)的指針而單鏈表存放的是空指針。

圖3循環(huán)鏈表的結(jié)構(gòu)

線性鏈表的基本運(yùn)算:查找、插入、刪除。

【考點(diǎn)8】棧

1、棧的基本概念

棧是一種特殊的線性表,只允許在表的一端進(jìn)行插入和刪除的線性表;插

入,刪除的一端為棧頂,另一端為棧底;當(dāng)表中沒有元素時為空棧。

棧是一種后進(jìn)先出(或先進(jìn)后出)的線性表。棧具有記憶功能。棧的

實(shí)例;火車調(diào)度,子彈夾。

2、棧的存儲結(jié)構(gòu)

依次存儲結(jié)構(gòu):用一組地址連續(xù)的存儲單元即一維數(shù)組來存儲;

鏈?zhǔn)酱鎯Γ河镁€性鏈表來存儲;

3、棧的基本運(yùn)算

(1)入棧運(yùn)算,在棧頂位置插入元素;

(2)退棧運(yùn)算,刪除元素(取出棧頂元素并賦給一個指定的變量);

(3)讀棧頂元素,將棧頂元素賦給一個指定的變量,此時指針無變更。

【考點(diǎn)9】隊(duì)列

1.隊(duì)列的基本概念

隊(duì)列是一種特殊的線性表,只允許在表的一端插入,在另一端刪除,允許

插入的一端是隊(duì)尾(),允許刪除的一端為隊(duì)頭O;當(dāng)表中沒有元素是空

隊(duì)列;隊(duì)列是一種先進(jìn)先出的線性表。()

2、隊(duì)列的存儲結(jié)構(gòu)

依次存儲:一維數(shù)組。

鏈?zhǔn)酱鎯Γ壕€性鏈表。隊(duì)尾插;隊(duì)頭刪

3、隊(duì)列的運(yùn)算:

(1)入隊(duì)運(yùn)算:從隊(duì)尾插入一個元素;(2)退隊(duì)運(yùn)算:從隊(duì)頭刪除一個

元素。

隊(duì)列的依次存儲結(jié)構(gòu)一般接受循環(huán)隊(duì)列的形式。循環(huán)隊(duì)列0表示隊(duì)列為空;

1且表示隊(duì)滿。

計算循環(huán)隊(duì)列的元素個數(shù):“尾指針減頭指針”,若為負(fù)數(shù),再加其容量即

可。

【考點(diǎn)10]樹的基本概念

樹是一種非線性結(jié)構(gòu),是n個結(jié)點(diǎn)的有限集。當(dāng)0時為空樹,n〉0時為非

空樹。結(jié)點(diǎn)的度:結(jié)點(diǎn)所擁有的子樹的個數(shù)。

葉子結(jié)點(diǎn):度為0的結(jié)點(diǎn)。

分支結(jié)點(diǎn):除葉子結(jié)點(diǎn)以外的結(jié)點(diǎn)。

結(jié)點(diǎn)的層次:根結(jié)點(diǎn)在第一層,同一層上左右結(jié)點(diǎn)的子結(jié)點(diǎn)在下一層。

樹的深度:所處層次最大的那個結(jié)點(diǎn)的層次。

樹的度:樹中全部結(jié)點(diǎn)的度的最大值。

【考點(diǎn)11]二叉樹與其基本性質(zhì)

1、二叉樹的概念

二叉樹是一種特殊的樹形結(jié)構(gòu),每個結(jié)點(diǎn)最多只有兩棵子樹,且有左右之

分不能互換,因此,二叉樹有五種不同的形態(tài),見教材12頁。

2、二叉樹的性質(zhì)

性質(zhì)1在二叉樹的第k層上,最多有2Yk21)個結(jié)點(diǎn)。

性質(zhì)2深度為m的二叉樹最多有21個結(jié)點(diǎn)。

性質(zhì)3在隨意一棵二叉樹中,度為0的結(jié)點(diǎn)(葉子結(jié)點(diǎn))總是比度為2

的結(jié)點(diǎn)多一個。

性質(zhì)4具有n個結(jié)點(diǎn)的二叉樹,其深度不小于[淚]+1,其中Ln]表示為2n

的整數(shù)部分。

3、二叉樹的存儲結(jié)構(gòu):詳見教材第13T4頁。

【考點(diǎn)12]滿二叉樹與完全二叉樹

滿二叉樹:除最終一層外,每一層上的全部結(jié)點(diǎn)都有兩個子結(jié)點(diǎn)。在滿二

叉樹中,每一層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹的第k層上有T

個結(jié)點(diǎn),且深度為m的滿二叉樹有2”一1個結(jié)點(diǎn)。

完全二叉樹是指這樣的二叉樹:除最終一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到

最大值;在最終一層上只缺少右邊的若干結(jié)點(diǎn)。

滿二叉樹是完全二叉樹,而完全二叉樹一般不是滿二叉樹。

【考點(diǎn)13]完全二叉樹的性質(zhì)

性質(zhì)1具有n個結(jié)點(diǎn)的完全二叉樹的深度為臥]+1。

性質(zhì)2完全二叉樹中度為1的結(jié)點(diǎn)數(shù)為0或1。

【考點(diǎn)14]二叉樹的遍歷

前序遍歷:先訪問根結(jié)點(diǎn)、然后遍歷左子樹,

最終遍歷右子樹;并且,在遍歷左、右子樹時,

照舊先訪問根結(jié)點(diǎn),然后遍歷左子樹,最終遍

歷右子樹。

前序遍歷圖5可得:。

中序遍歷:先遍歷左子?樹、然后訪問根結(jié)點(diǎn),

最終遍歷右子樹;并且,在遍歷左、右子樹時,

照舊先遍歷左子樹,然后訪問根結(jié)點(diǎn),最終遍歷右子樹。

中序遍歷圖5可得一

后序遍歷:先遍歷左子樹、然后遍歷右子樹,最終訪問根結(jié)點(diǎn);并且,在

遍歷左、右子樹時,照舊先遍歷左子樹,然后遍歷右子樹,最終訪問根結(jié)

點(diǎn)。

后序遍歷圖5可得:。

【考點(diǎn)15]依次查找

依次查找是從表的一端起先,依次掃描表中的各個元素,并與所要查找的

數(shù)進(jìn)行比較。

在下列兩種狀況下也只能接受依次查找:

(1)假如線性表為無序表,則不管是依次存儲結(jié)構(gòu)還是鏈?zhǔn)酱鎯Y(jié)構(gòu),

只能用依次查找。

(2)即使是有序線性表,假如接受鏈?zhǔn)酱鎯Y(jié)構(gòu),也只能用依次查找。

【考點(diǎn)16]二分查找

二分查找的條件:(1)用依次存儲結(jié)構(gòu)(2)線性表是有序表。

查找的步驟:詳見教材第16頁。

對于長度為n的有序線性表,在最壞狀況下,二分法查找只需比較2n次,

而依次查找須要比較n次。

【考點(diǎn)17]排序

1、交換排序

(1)冒泡排序法,在最壞的狀況下,冒泡排序須要比較次數(shù)為n(n—1)/2。

(2)快速排序法,在最壞的狀況下,快速排序須要比較次數(shù)為n(n—1)/2。

2、插入類排序法:

(1)簡潔插入排序法,最壞狀況須要n(1)/2次比較;

(2)希爾排序法,最壞狀況須要O(nS次比較。(大寫0是算法困難度的

表示方法)

3、選擇類排序法:

(1)簡潔選擇排序法,最壞狀況須要n(l)/2次比較;

(2)堆排序法,最壞狀況須要OQn)次比較。

相比以上幾種(除希公排序法外),堆排序法的時間困難度最小。

其次章程序設(shè)計基礎(chǔ)

【考點(diǎn)1】程序設(shè)計方法與風(fēng)格

形成良好的程序設(shè)計風(fēng)格缶‘留意:(詳見教材第19貝)。

1、源程序文檔化;2、數(shù)據(jù)說明的方法;3、語句的結(jié)構(gòu);4、輸入和

輸出。

注釋分序言性注釋和功能性注釋。

語句結(jié)構(gòu)清楚第一、效率其次。

【考點(diǎn)2】結(jié)構(gòu)化程序設(shè)計方法的四條原則

1、白頂向下;2、逐步求精;3、模塊化;4、限制運(yùn)用語句。

【考點(diǎn)3】結(jié)構(gòu)化程序的基本結(jié)構(gòu)

依次結(jié)構(gòu):是最基本、最一般的結(jié)構(gòu)形式,依據(jù)程序中的語句行的先后依

次逐條執(zhí)行。

選擇結(jié)構(gòu):又稱為分支結(jié)構(gòu),它包括簡潔選擇和多分支選擇結(jié)構(gòu)。

循環(huán)結(jié)構(gòu):依據(jù)給定的條件,推斷是否要重復(fù)執(zhí)行某一相同的或類似的程

序段。循環(huán)結(jié)構(gòu)對應(yīng)兩類循環(huán)語句:先推斷后執(zhí)行的循環(huán)體稱為當(dāng)型循環(huán)

結(jié)構(gòu);先執(zhí)行循環(huán)體后推斷的稱為直到型循環(huán)結(jié)構(gòu)。

【考點(diǎn)4】面對對象的程序設(shè)計與面對對象方法的優(yōu)點(diǎn)

面對對象的程序設(shè)計以對象為核心,強(qiáng)調(diào)對象的抽象性,封裝性,繼承性

和多態(tài)性。

面對對象方法的優(yōu)點(diǎn)

(1)人類習(xí)慣的思維方法一樣;(2)穩(wěn)定性好;(3)可重用性好;

(4)易于開發(fā)大型軟件產(chǎn)品;(5)可維護(hù)性好。

【考點(diǎn)5】對象與其特點(diǎn)

對象():面對對象方法中最基本的概念,可以用來表示客觀世界中的任

何實(shí)體,對象是實(shí)體的抽象。

對象的基本特點(diǎn):

(1)標(biāo)識惟?性;(2)分類性;(3)多態(tài)性;(4)封裝性;(5)

模塊獨(dú)立性好。

【考點(diǎn)6】屬性,類和實(shí)例

屬性:即對象所包含的信息,它在設(shè)計對象時確定,一般只能通過執(zhí)行對

象的操作來變更。

類:是具有相像屬性與操作的一組對象。類是關(guān)于對象性質(zhì)的描述。類是

對象的抽象,對象是其對應(yīng)類的一個實(shí)例。

【考點(diǎn)7】消息與其組成

消息:是一個實(shí)例與另一個實(shí)例之間傳遞的信息。對象間的通信靠消息傳

遞。它請求對象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和

限制流。

消息的組成包括:

⑴接收消息的對象E勺名稱;(2)消息標(biāo)識符,也稱消息名;(3)零

個或多個參數(shù)。

【考點(diǎn)8]繼承和多態(tài)

繼承:是運(yùn)用已有的類定義作為基礎(chǔ)建立新類的定義技術(shù),廣義指能夠干

脆獲得已有的性質(zhì)和特征,而不必重復(fù)定義他們。

繼承具有傳遞性,一個類事實(shí)上繼承了它上層的全部基類的特性。

繼承分單繼承和多重繼承。單繼承指一個類只允許有一個父類,即類等級

為樹形結(jié)構(gòu);多重繼承指一個類允許有多個父類。

多態(tài)性:是指同樣的消息彼不同的對象接受時可導(dǎo)致完全不同的行動的現(xiàn)

第三章軟件工程基礎(chǔ)

【考點(diǎn)1】軟件定義與軟件特點(diǎn)

軟件指的是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,包括程序、數(shù)據(jù)和

相關(guān)文檔的完整集合。

名描述

程軟件開發(fā)人員依據(jù)用戶需求開發(fā)的、用程序設(shè)計語言描述的、適合計算機(jī)

序執(zhí)行的指令序列

數(shù)使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)

據(jù)

文與程序的開發(fā)、維護(hù)和運(yùn)用有關(guān)的圖文資料

軟件的特點(diǎn):

軟件是一種邏輯實(shí)體,具有抽象性;

軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;

軟件在運(yùn)行、運(yùn)用期間不存在磨損、老化問題;

軟件的開發(fā)、運(yùn)行對計算機(jī)系統(tǒng)具有依靠性,受計算機(jī)系統(tǒng)的限制,這導(dǎo)

致了軟件移植的問題;

軟件困難性高,成本昂貴;

軟件開發(fā)涉與諸多的社會因素。

依據(jù)應(yīng)用目標(biāo)的不同,軟件可分應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具

軟件)。

名稱描述

應(yīng)用軟件為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件,如辦公自動化

系統(tǒng)軟件計算機(jī)管理白身資源,提高計算機(jī)運(yùn)用效率并為計算

機(jī)用戶供應(yīng)各種服務(wù)的軟件,如操作系統(tǒng)

支撐軟件(或工具支撐軟件是介于兩者之間,幫助用戶開發(fā)軟件的工具

軟件)性軟件。

【考點(diǎn)2】軟件的生命周期

軟件生命周期是指軟件產(chǎn)品從提出、實(shí)現(xiàn)、運(yùn)用維護(hù)到停止運(yùn)用退役的整

個j

中,

求分析。

定義階段開發(fā)階段

維護(hù)階段

【考點(diǎn)3】軟件危機(jī)和軟件工程的概念

軟件危機(jī)泛指在計算機(jī)軟件的開發(fā)和維護(hù)過程中遇到的一系列嚴(yán)峻的問

題,集中表現(xiàn)在成本,質(zhì)量。生產(chǎn)效率等幾個方面。

所謂軟件工程是指接受工程的概念、原理、技術(shù)和方法指導(dǎo)軟件的開發(fā)與

維護(hù)。是建立并運(yùn)用完善的工程化原則,以較經(jīng)濟(jì)的手段獲得,能在實(shí)際

機(jī)器上有效運(yùn)行的牢靠軟件的一系列方法;軟件工程的上要思想強(qiáng)調(diào)在軟

件開發(fā)過程中須要應(yīng)用工程化原則。軟件工程的核心思想是把軟件當(dāng)作一

個工程產(chǎn)品來處理。

軟件工程包括3個要素:方法,工具和過程

名稱描述

方法方法是完成軟件工程項(xiàng)目的技術(shù)手段

工具工具支持軟件的開發(fā)、管理、文檔生成

過程過程支持軟件開發(fā)的各個環(huán)節(jié)的限制、管理

【考點(diǎn)4】軟件工程過程

軟件工程過程是把軟件轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源活動,包含4種

基本活動:

(1)P0——軟件規(guī)格說明;(2)DO——軟件開發(fā);

(3)CO——軟件確認(rèn);(4)A()——軟件演進(jìn)。

【考點(diǎn)5】軟件開發(fā)技術(shù)和軟件工程管理

軟件工程的理論和技術(shù)性探討的內(nèi)容主要包括軟件開發(fā)技術(shù)和軟件工程

管理。

軟件開發(fā)技術(shù)包括軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境,

其主體內(nèi)容是軟件開發(fā)方法學(xué)。

軟件開發(fā)方法包括分析方法,設(shè)計方法和程序設(shè)計方法。

軟件工程管理包括軟件管理學(xué),軟件工程經(jīng)濟(jì)學(xué),軟件心理學(xué)等。

軟件管理學(xué)包括人員組織,進(jìn)度支配,質(zhì)量保證,配置管理,項(xiàng)目支配等。

軟件工程經(jīng)濟(jì)學(xué)是探討軟件開發(fā)中成本的估算,成本效益的方法和技術(shù)。

【考點(diǎn)6】軟件工程的原則

軟件工程的原則:抽象,信息隱藏,模塊化,局部化,確定性,一樣性,

完備性,可驗(yàn)證性(詳細(xì)見教材第28-29頁)。

【考點(diǎn)7】需求分析概述

需求分析階段的工作:需求獲得,需求分析,編寫需求規(guī)格說明書,需求

評審。

需求分析方法有:

(1)結(jié)構(gòu)化需求分析方法;

①面對數(shù)據(jù)結(jié)構(gòu)的方法();

②面對數(shù)據(jù)流的結(jié)構(gòu)化分析方法();

③面對數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法():

(2)面對對象的分析的方法()。

從需求分析建立的模型的特性來分:靜態(tài)分析和動態(tài)分析。

【考點(diǎn)8】結(jié)構(gòu)化方法和結(jié)構(gòu)化分析方法

1、結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法,結(jié)構(gòu)化設(shè)計方法,結(jié)構(gòu)化編程方法。

結(jié)構(gòu)化方法中,軟件功能分解屬于總體設(shè)計階段。

2、結(jié)構(gòu)化分析方法的概念

結(jié)構(gòu)化分析方法是面對數(shù)據(jù)流自頂而下逐步求精進(jìn)行需求分析的方法。

結(jié)構(gòu)化分析方法在軟件需求分析階段的應(yīng)用o

3、結(jié)構(gòu)化分析的常月工具

數(shù)據(jù)流圖():是結(jié)構(gòu)化分析方法中用于系統(tǒng)邏輯模型的一種工具c它

以圖形的方式描繪在系統(tǒng)中流淌和處理的過程。

數(shù)據(jù)流圖中四種基本的符號。

箭頭:表示數(shù)據(jù)流,數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)中傳播的路徑。

圓或橢圓:表示加工,加工又稱為數(shù)據(jù)處理,是對數(shù)據(jù)流進(jìn)行某些操作或

變換。

雙橫:表示數(shù)據(jù)存儲(數(shù)據(jù)源)。數(shù)據(jù)存儲乂稱為文件,指短暫保存的數(shù)

據(jù),它可以是數(shù)據(jù)庫文件或任何形式的數(shù)據(jù)組織。

方框:源、潭。表示數(shù)據(jù)的源點(diǎn)或終點(diǎn)。它是軟件系統(tǒng)外部環(huán)境中的實(shí)體,

統(tǒng)稱外部實(shí)體

數(shù)據(jù)字典():它是結(jié)構(gòu)分析方法的核心,是用來描述系統(tǒng)中所用到的全

部數(shù)據(jù)和文件的文檔,作用是對中出現(xiàn)的被命名的圖形元素進(jìn)行精確說

明。

數(shù)據(jù)字典由以下4類元素組成

(1)數(shù)據(jù)流(2)數(shù)據(jù)流重量(3)數(shù)據(jù)存儲(4)處理

判定樹(決策樹):是一種描述加工的圖形工具,適合描述時候處理中具

有多個推斷,而且每個決策與若干條件有關(guān)。

判定表:與判定樹類似,也是一種描述加工的圖形工具。假如一個加工邏

輯有多個條件、多個操作,并且在不同的條件組合下執(zhí)行不同的操作,那

么可以運(yùn)用判定表來描述。

【考點(diǎn)9】軟件需求規(guī)格說明書

軟件需求規(guī)格說明書(,)是需求分析階段得出的最主要的文檔。軟件

需求規(guī)格說明書的特點(diǎn):有正確性、無歧義性、完整性、可驗(yàn)證性、一樣

性、可理解性、可修改性和可追蹤性。其中最重要的是無歧義性。

【考點(diǎn)10]軟件設(shè)計的基本概念

軟件設(shè)計是確定系統(tǒng)的物理模型。

軟件設(shè)計是開發(fā)階段最重要的步驟,是將需求精確地轉(zhuǎn)化為完整的軟件產(chǎn)

品或系統(tǒng)的唯一途徑。

從技術(shù)觀點(diǎn)上看,軟件設(shè)計包括軟件結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計、過

程設(shè)計。

(1)結(jié)構(gòu)設(shè)計定義軟件系統(tǒng)各主要部件之間的關(guān)系;

(2)數(shù)據(jù)設(shè)計將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義;

(3)接口設(shè)計是描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以與軟件與人之間

如何通信;

(4)過程設(shè)計則是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換為軟件的過程性描述。

從工程管理角度來看,軟件設(shè)汁分兩步完成:概要設(shè)計和詳細(xì)設(shè)計。

(1)概要設(shè)計將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級接口、全局

數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式;

(2)詳細(xì)設(shè)計確立每個模塊的實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用適當(dāng)方法表

示算法和數(shù)據(jù)結(jié)構(gòu)的微小環(huán)節(jié)。

【考點(diǎn)11]軟件設(shè)計的基本原理

1、軟件設(shè)計中應(yīng)當(dāng)遵循的基本原理和與軟件設(shè)計有關(guān)的概念:

模塊化:把程序劃分成獨(dú)立命名且可獨(dú)立訪問的模塊,每個模塊完成一個

子功能。

抽象化:抽出事物的本質(zhì)特性而短暫不考慮它們的微小環(huán)節(jié)。

信息隱臧和局部化:信息隱臧是指在一個模塊內(nèi)包含的信息(過程或數(shù)

據(jù)),對于不須要這些信息的其他模塊來說是不能訪問的,實(shí)現(xiàn)信息隱藏

依靠對象的封裝。

模塊獨(dú)立性:模塊獨(dú)立性是指每個模塊只完成系統(tǒng)要求的獨(dú)立的子功能,

并且與其他模塊的聯(lián)系最少且接口簡潔。模塊的獨(dú)立程度是評價設(shè)計好壞

的重要度量標(biāo)準(zhǔn)。

【考點(diǎn)12]耦合性和內(nèi)聚性

衡量軟件的模塊獨(dú)立性是用耦合性和內(nèi)聚性兩個定性的度量標(biāo)準(zhǔn)。

耦合性:是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互聯(lián)程度的度量。耦合性的強(qiáng)

弱取決于模塊間接口的困難程度。

內(nèi)聚性:是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量。

一個模塊的內(nèi)聚性越強(qiáng)則該模塊的模塊獨(dú)立性越強(qiáng)。一個模塊與其他模塊

的耦合性越強(qiáng)則該模塊的模塊獨(dú)立性越弱。

在結(jié)構(gòu)程序設(shè)計中,模塊劃分的原則是模塊內(nèi)具有高內(nèi)聚度,模塊間具有

低耦合度。

耦合和內(nèi)聚的種類(詳見教材第35頁)。

耦合度由低到高:非干脆耦合,數(shù)據(jù)耦合,標(biāo)記耦合,限制耦合,外部耦

合,公共耦合,內(nèi)容耦合。

內(nèi)聚性由強(qiáng)到弱:功能內(nèi)聚,依次內(nèi)聚,通信內(nèi)聚,過程內(nèi)聚,時間內(nèi)聚,

邏輯內(nèi)聚,偶然內(nèi)聚。

【考點(diǎn)13]結(jié)構(gòu)化設(shè)計方法

結(jié)構(gòu)化分析方法是面對數(shù)據(jù)流自頂而下,逐步求精進(jìn)行需求分析的方法,

基本思想將軟件設(shè)計成由相對獨(dú)立,單一功能的模塊組成的結(jié)構(gòu),與結(jié)構(gòu)

分析方法連接運(yùn)川,以數(shù)據(jù)流圖為基礎(chǔ)得到軟件的模塊結(jié)構(gòu),適用于變換

型結(jié)構(gòu)和事物型結(jié)構(gòu)的目標(biāo)系統(tǒng)。

1、概要設(shè)計的任務(wù):(1)劃分出組成系統(tǒng)的物理元素(2)設(shè)計軟件的

結(jié)構(gòu)

2、概要設(shè)計的工具:

結(jié)構(gòu)圖()也稱程序結(jié)構(gòu)圖,在結(jié)構(gòu)圖中,模塊用一個矩形表示,箭頭

表示模塊間的調(diào)用關(guān)系。可以用帶注釋的箭頭表示模塊調(diào)用過程中來回傳

遞的信息。還可用帶實(shí)心圓的箭頭表示傳遞的是限制信息,空心圓箭心表

示傳遞的是數(shù)據(jù)。

結(jié)構(gòu)圖的基本形式:基本形式、依次形式、重復(fù)形式、選擇形式。

結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。

程序結(jié)構(gòu)圖中的專業(yè)術(shù)語:

名稱描述

深度表示限制的層數(shù)

上級模塊,從屬上,下兩層模塊a和b,且有

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論