資源描述:
《c語(yǔ)言公共基礎(chǔ)歸納 試題及重點(diǎn)、》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第一部分公共基礎(chǔ)部分知識(shí)歸納第一章數(shù)據(jù)結(jié)構(gòu)與算法算法---是一組嚴(yán)謹(jǐn)?shù)囟x運(yùn)算順序的規(guī)則算法的基本要素---一是對(duì)數(shù)據(jù)對(duì)象的運(yùn)算和操作,二是算法的控制結(jié)構(gòu)算法設(shè)計(jì)基本方法---列舉法、歸納法、遞推、遞歸、減半遞推算法的復(fù)雜度---包括時(shí)間復(fù)雜度和空間復(fù)雜度時(shí)間復(fù)雜度---執(zhí)行算法所需的計(jì)算工作量空間復(fù)雜度---執(zhí)行算法所需的內(nèi)存空間數(shù)據(jù)結(jié)構(gòu)---相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。前件---數(shù)據(jù)元素之間的關(guān)系,如父親是兒子和女兒的前件后件---如兒子是父親的后件結(jié)構(gòu)---指數(shù)據(jù)元素之間的前后件關(guān)系數(shù)據(jù)的邏輯結(jié)構(gòu)—是指反映數(shù)據(jù)元素之間邏輯關(guān)系,而與它們?cè)谟?jì)算機(jī)中的存儲(chǔ)位置無(wú)關(guān)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)
2、(物理結(jié)構(gòu))---數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式,數(shù)據(jù)元素在計(jì)算機(jī)存儲(chǔ)空間的位置關(guān)系可能與邏輯關(guān)系不同。根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,可將數(shù)據(jù)結(jié)構(gòu)分兩類(lèi)---線性結(jié)構(gòu)與非線性結(jié)構(gòu)線性結(jié)構(gòu)(線性表)---滿足下列兩個(gè)條件(1)有且只有一個(gè)根結(jié)點(diǎn)(2)每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件和后件。則稱(chēng)該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),否則為非線性結(jié)構(gòu)。線性表是最簡(jiǎn)單、最常用的一種數(shù)據(jù)結(jié)構(gòu),其數(shù)據(jù)元素之間的相對(duì)位置是線性的,其存儲(chǔ)方式為順序存儲(chǔ)的,如數(shù)組棧---是限定在一端進(jìn)行插入與刪除的線性表,一端封閉,另一端開(kāi)口,其操作原則是“先進(jìn)后出”,棧的運(yùn)算有入棧、退棧、讀棧頂元素隊(duì)列
3、---是指在一端進(jìn)行插入(稱(chēng)為隊(duì)尾)而在另一端進(jìn)行刪除(稱(chēng)為隊(duì)頭)的線性表,其操作規(guī)則是“先進(jìn)先出”,其運(yùn)算有入隊(duì)和退隊(duì)。樹(shù)---是一種簡(jiǎn)單的非線性結(jié)構(gòu),而且是層次結(jié)構(gòu),是倒立的大樹(shù),有根結(jié)點(diǎn)、父結(jié)點(diǎn)、子結(jié)點(diǎn)、葉子結(jié)點(diǎn)。根結(jié)點(diǎn)在第一層,一個(gè)結(jié)點(diǎn)所擁有的后件的個(gè)數(shù)稱(chēng)為該結(jié)點(diǎn)的度,所有結(jié)點(diǎn)中最大的度稱(chēng)為樹(shù)的度,樹(shù)的最大層次稱(chēng)為樹(shù)的深度。二叉樹(shù)---(1)非空二叉樹(shù)只有一個(gè)根結(jié)點(diǎn)(2)每一個(gè)結(jié)點(diǎn)最多有兩棵子樹(shù)(左子樹(shù)和右子樹(shù)),其存儲(chǔ)結(jié)構(gòu)為鏈?zhǔn)?。二叉?shù)性質(zhì)---(1)K層上最多有2(K-1)個(gè)結(jié)點(diǎn)(2)深度為m的二叉樹(shù)最多有2m-1個(gè)結(jié)點(diǎn)習(xí)題1算法的時(shí)間復(fù)雜度是指(執(zhí)行算法所需要的運(yùn)算
4、次數(shù)),算法的空間復(fù)雜度是指(執(zhí)行算法所需要的內(nèi)存空間);線性表、棧、隊(duì)列、線性鏈表是(線性結(jié)構(gòu)),樹(shù)是(非線性結(jié)構(gòu));數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指(數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間的存放形式);隊(duì)列是(先進(jìn)先出),棧是(先進(jìn)后出);下列二叉樹(shù)的遍歷結(jié)果:前序遍歷(ABDECF)、中序遍歷(DBEAFC)、后續(xù)遍歷(DEBFCA)程序設(shè)計(jì)基礎(chǔ)結(jié)構(gòu)化程序設(shè)計(jì)的三種結(jié)構(gòu)---是順序、選擇和循環(huán)對(duì)象---表示客觀世界的任何實(shí)體類(lèi)---是具有共同屬性和方法的對(duì)象的集合實(shí)例---任何一個(gè)對(duì)象都是其對(duì)應(yīng)類(lèi)的實(shí)例消息---一個(gè)實(shí)例和另一個(gè)實(shí)例之間傳遞的信息繼承---是指直接獲得已有的性質(zhì)和特征,而不必重復(fù)
5、定義它們。例如子類(lèi)繼承父類(lèi)結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)---程序的易讀性良好的程序設(shè)計(jì)風(fēng)格是---程序應(yīng)簡(jiǎn)單、清晰、可讀性好在面向?qū)ο蠓椒ㄖ校粋€(gè)對(duì)象請(qǐng)求另一個(gè)對(duì)象為其服務(wù)的方式是通過(guò)發(fā)送(消息)來(lái)實(shí)現(xiàn)的信息隱蔽的概念與(模塊獨(dú)立性)概念直接相關(guān)(任何對(duì)象都具有繼承性)這句話是錯(cuò)誤的注釋分為(序言性注釋?zhuān)┖停üδ苄宰⑨專(zhuān)┰诿嫦驅(qū)ο蠓椒ㄖ?,信息隱蔽是通過(guò)對(duì)象的(封裝性)來(lái)實(shí)現(xiàn)的第三章軟件工程基礎(chǔ)軟件生命周期---軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程。分為軟件定義、軟件開(kāi)發(fā)、軟件運(yùn)行維護(hù)三個(gè)階段。軟件生命周期的主要活動(dòng)階段---可行性分析、需求分析、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)、軟件測(cè)
6、試、運(yùn)行和維護(hù)。常見(jiàn)的需求分析方法---(1)結(jié)構(gòu)化分析方法---主要包括面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法SA;面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法JSD;面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開(kāi)發(fā)方法DSSD。(2)面向?qū)ο蟮姆治龇椒∣OA結(jié)構(gòu)化分析方法工具---(1)數(shù)據(jù)流圖DFD,記住DFD圖的幾個(gè)符號(hào):(2)數(shù)據(jù)字典DD(3)判定樹(shù)(4)判定表程序結(jié)構(gòu)圖(SC),N-S圖,問(wèn)題分析圖(PAD)程序流程圖(PFD)的幾個(gè)符號(hào):軟件測(cè)試---黑盒測(cè)試:功能測(cè)試白盒測(cè)試:內(nèi)部結(jié)構(gòu)測(cè)試,窮舉路徑測(cè)試習(xí)題3在軟件生命周期中,能準(zhǔn)確地判斷軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是(需求分析)軟件工程的
7、3個(gè)要素(工具),(過(guò)程),(方法)檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為(確認(rèn)測(cè)試)軟件設(shè)計(jì)原則是(抽象)、(模塊化)、(信息隱蔽)需求分析常用的工具是(DFD)在結(jié)構(gòu)化方法中,軟件功能分解屬于(總體設(shè)計(jì))階段軟件測(cè)試的目的是(改正錯(cuò)誤)軟件需求分析階段可分為四個(gè)方面(需求獲?。?、(需求分析)、(編寫(xiě)需求格式說(shuō)明)、(需求評(píng)審)軟件是(程序)、(數(shù)據(jù))、(文檔)的集合Jakson方法是一種面向(數(shù)據(jù)流)的結(jié)構(gòu)化方法軟件工程研究的內(nèi)容包括(軟件開(kāi)發(fā)技術(shù))、(軟件工程管理)數(shù)據(jù)流圖