




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 甘孜職業(yè)學(xué)院《大跨度空間結(jié)構(gòu)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025屆寧夏吳忠市高三上學(xué)期適應(yīng)性考試(一模)歷史試卷
- 2024-2025學(xué)年浙江省六校聯(lián)盟高一上學(xué)期期中聯(lián)考?xì)v史試卷
- 做賬實(shí)操-代理記賬行業(yè)的賬務(wù)處理分錄
- 長春大學(xué)旅游學(xué)院《幼兒舞蹈創(chuàng)編二》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年湖北省新高考聯(lián)考協(xié)作體高一上學(xué)期期中考試歷史試卷
- 濟(jì)南工程職業(yè)技術(shù)學(xué)院《信息安全基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 聊城大學(xué)東昌學(xué)院《病理學(xué)與病理生理學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 亳州職業(yè)技術(shù)學(xué)院《數(shù)據(jù)分析與可視化實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 萍鄉(xiāng)衛(wèi)生職業(yè)學(xué)院《文化人類學(xué)理論》2023-2024學(xué)年第二學(xué)期期末試卷
- 健康生活的五大要素
- JTG∕T F30-2014 公路水泥混凝土路面施工技術(shù)細(xì)則
- 篆刻學(xué)全套課件
- GB 1886.375-2024食品安全國家標(biāo)準(zhǔn)食品添加劑氫氧化鈣
- 物業(yè)員工晉升述職報告
- 建設(shè)工程施工專業(yè)分包合同(GF-2003-0213)
- 耳鼻喉科各項(xiàng)規(guī)章制度
- 虹吸現(xiàn)象講解
- 設(shè)備采購計劃書
- 長興縣合溪水庫清淤工程(一期)環(huán)境影響報告
- 粒籽源永久性植入治療放射防護(hù)要求
評論
0/150
提交評論