四川省歷年計算機(jī)二級考試題答案和試題分析_第1頁
四川省歷年計算機(jī)二級考試題答案和試題分析_第2頁
四川省歷年計算機(jī)二級考試題答案和試題分析_第3頁
四川省歷年計算機(jī)二級考試題答案和試題分析_第4頁
四川省歷年計算機(jī)二級考試題答案和試題分析_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、四川省計算機(jī)二級考試培訓(xùn)講義(內(nèi)部資料) 四川省第31次計算機(jī)二級考試(c語言)培訓(xùn)資料 成都理工大學(xué)工程技術(shù)學(xué)院計算機(jī)科學(xué)與技術(shù)系 2009年9月21日 1四川省計算機(jī)二級考試培訓(xùn)講義(內(nèi)部資料)目錄 第一部分、軟件技術(shù)基礎(chǔ)資料 . - 1 -1.1 c語言部分 .- 1 - 基本要求 .- 1 - 考試內(nèi)容 .- 1 -1.2軟件工程基礎(chǔ)部分 .- 2 - 面向?qū)ο蟪绦蛟O(shè)計 .- 2 - 結(jié)構(gòu)化設(shè)計方法 .- 3 -1.3數(shù)據(jù)結(jié)構(gòu)與算法 .- 5 - 算法 .- 5 - 數(shù)據(jù)結(jié)構(gòu)的基本概念 .- 5 - 線性表及其順序存儲結(jié)構(gòu) .- 6 - 查找技術(shù) .- 7 - 排序技術(shù) .- 8 -1

2、.4數(shù)據(jù)庫系統(tǒng)的基本概念 .- 8 - 數(shù)據(jù)模型 .- 9 - 關(guān)系代數(shù) .- 9 - 數(shù)據(jù)庫設(shè)計與管理 . - 10 - 第二部分、c考試真題 . - 11 -真題一. - 11 - 真題二. - 19 - 真題三. - 29 - 真題四. - 40 - 第三部分、上機(jī)考試真題示例 . - 50 -四川省第29次等級考試(第一套) . - 50 - 四川省第29次等級考試(第二套) .- 52 - 四川省第29次等級考試(第三套) .- 53 - 四川省第28 次等級考試(第一套) .- 55 - 四川省第28次等級考試(第二套) . - 57 - 四川省第27次等級考試(第一套) . -

3、59 - 四川省第27次等級考試(第二套) . - 60 - 四川省第27次等級考試(第三套) . - 61 -ii四川省計算機(jī)二級考試培訓(xùn)講義(內(nèi)部資料)第一部分、軟件技術(shù)基礎(chǔ)資料1.1 c語言部分基本要求1.熟悉turbo c集成環(huán)境。2.熟練掌握結(jié)構(gòu)化程序設(shè)計的方法,具有良好的程序設(shè)計風(fēng)格。3.掌握程序設(shè)計中簡單的數(shù)據(jù)結(jié)構(gòu)和算法。4.turbo c的集成環(huán)境下,能夠編寫簡單的c程序,并具有基本的糾錯和調(diào)試程序的能力??荚噧?nèi)容一、c語言的結(jié)構(gòu)1.程序的構(gòu)成,main函數(shù)和其他函數(shù)。2.頭文件,數(shù)據(jù)說明,函數(shù)的開始和結(jié)束標(biāo)志。3.源程序的書寫格式4.c語言的風(fēng)格。二、數(shù)據(jù)類型及其運(yùn)算1.c的

4、數(shù)據(jù)類型(基本類型,構(gòu)造類型,指針類型,空類型)及其定義方法。 2.c運(yùn)算符的種類、運(yùn)算優(yōu)先級和結(jié)合性。3.不同類型數(shù)據(jù)間的轉(zhuǎn)換與運(yùn)算。4.c表達(dá)式類型(賦值表達(dá)式、算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、條件表達(dá)式、逗號表達(dá)式)和求值規(guī)則。三、基本語句1.表達(dá)式語句,空語句,復(fù)合語句。2.數(shù)據(jù)的輸入和輸出,輸入輸出函數(shù)的調(diào)用。3.復(fù)合語句。4.語句標(biāo)號的使用。四、選擇結(jié)構(gòu)程序設(shè)計1.用if語句實(shí)現(xiàn)選擇結(jié)構(gòu)。2.用switch語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。3.選擇結(jié)構(gòu)的嵌套。五、循環(huán)結(jié)構(gòu)程序設(shè)計1.for 循環(huán)結(jié)構(gòu)。2.while和do while循環(huán)結(jié)構(gòu)。3.continue語句和break語句。4.

5、循環(huán)的嵌套。六、數(shù)組的定義和引用- 1 -四川省計算機(jī)二級考試培訓(xùn)講義(內(nèi)部資料)1.一維數(shù)組和多維數(shù)組的定義、初始化和引用。2.字符串與字符數(shù)組。七、函數(shù)1.庫函數(shù)的正確調(diào)用。2.函數(shù)的定義方法。3.函數(shù)的類型和返回值。4.形式參數(shù)與實(shí)在參數(shù),參數(shù)值的傳遞。5.函數(shù)的正確調(diào)用,嵌套調(diào)用,遞歸調(diào)用。6.局部變量和全局變量。7.變量的存儲類別(自動、靜態(tài)、寄存器、外部),變量的作用域和生存期。8.內(nèi)部函數(shù)與外部函數(shù)。八、編譯預(yù)處理1.宏定義:不帶參數(shù)的宏定義;帶參數(shù)的宏定義。2.“文件包含”處理。九、指針1.指針與指針變量的概念,指針與地址運(yùn)算符。2.變量、數(shù)組、字符串、函數(shù)、結(jié)構(gòu)體的指針以及指

6、向變量、數(shù)組、字符串、函數(shù)、結(jié)構(gòu)體的指針變量。通過指針引用以上各類型數(shù)據(jù)。3.用指針作函數(shù)參數(shù)。4.返回指針值的指針函數(shù)。5.指針數(shù)組,指向指針的指針,main函數(shù)的命令行參數(shù)。十、結(jié)構(gòu)體(即“結(jié)構(gòu)”)與共用體(即“聯(lián)合”)1.結(jié)構(gòu)體和共用體類型數(shù)據(jù)的定義方法和引用方法。2.用指針和結(jié)構(gòu)體構(gòu)成鏈表,單向鏈表的建立、輸出、刪除與插入。十一、位運(yùn)算1.位運(yùn)算符的含義及使用。2.簡單的位運(yùn)算。十二、文件操作只要求緩沖文件系統(tǒng)(即高級磁盤i/o系統(tǒng)),對非標(biāo)準(zhǔn)緩沖文件系統(tǒng)(即低級磁盤i/o系統(tǒng))不要求。1.文件類型指針(file類型指針)。2.文件的打開與關(guān)閉(fopen,fclose)。3.文件的讀

7、寫(fputc,fgetc,fputs,fgets,fread,frwite,fprintf,fscanf函數(shù)),文件的定位(rewind,fseek函數(shù))。1.2軟件工程基礎(chǔ)部分面向?qū)ο蟪绦蛟O(shè)計計算機(jī)軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件的特點(diǎn)包括:l 軟件是一種邏輯實(shí)體;l 軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;- 2 -四川省計算機(jī)二級考試培訓(xùn)講義(軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程 管理 。 軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境。軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟(jì)學(xué)、軟件心理學(xué)等內(nèi)容。軟件管理學(xué)包括人員組

8、織、進(jìn)度安排、質(zhì)量保證、配置管理、項(xiàng)目計劃等。軟件工程原則包括抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證性。結(jié)構(gòu)化設(shè)計方法軟件設(shè)計的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),軟件設(shè)計是確定系統(tǒng)的物理模型。軟件設(shè)計是開發(fā)階段最重要的步驟,是將需求準(zhǔn)確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑。從技術(shù)觀點(diǎn)來看,軟件設(shè)計包括軟件結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計、過程設(shè)計。 結(jié)構(gòu)設(shè)計:定義軟件系統(tǒng)各主要部件之間的關(guān)系。- 3 -四川省計算機(jī)二級考試培訓(xùn)講義(軟件概要設(shè)計的基本任務(wù)是:(1)設(shè)計軟件系統(tǒng)結(jié)構(gòu); (2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計;(3)編寫概要設(shè)計文檔; (4)概

9、要設(shè)計文檔評審。模塊用一個矩形表示,箭頭表示模塊間的調(diào)用關(guān)系。在結(jié)構(gòu)圖中還可以用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息。還可用帶實(shí)心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據(jù)。結(jié)構(gòu)圖的基本形式:基本形式、順序形式、重復(fù)形式、選擇形式。結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分組成。事務(wù)型數(shù)據(jù)流的特點(diǎn)是:接受一項(xiàng)事務(wù),根據(jù)事務(wù)處理的特點(diǎn)和性質(zhì),選擇分派一個適當(dāng)?shù)奶幚韱卧?,然后給出結(jié)果。詳細(xì)設(shè)計:是為軟件結(jié)構(gòu)圖中的每一個模塊確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示

10、算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。常見的過程設(shè)計工具有:圖形工具(程序流程圖)、表格工具(判定表)、語言工具(pdl)。軟件測試 軟件測試定義:使用人工或自動手段來運(yùn)行或測定某個系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。軟件測試的目的:發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件測試方法:靜態(tài)測試和動態(tài)測試。靜態(tài)測試包括代碼 檢查 、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)行軟件,主要通過人工進(jìn)行。動態(tài)測試:是基本計算機(jī)的測試,主要包括白盒測試方法和黑盒測試方法。白盒測試:在程序內(nèi)部進(jìn)行,主要用于完成軟件內(nèi)部操作的驗(yàn)證。主要方法有邏輯覆蓋、基本基路徑測試。黑盒測試:主要診斷功能不對

11、或遺漏、界面錯誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤、性能錯誤、初始化和終止條件錯,用于軟件確認(rèn)。主要方法有等價類劃分法、邊界值分析法、錯誤推測法、因果圖等。軟件測試過程一般按4個步驟進(jìn)行:單元測試、集成測試、驗(yàn)收測試(確認(rèn)測試)和系統(tǒng)測試。 程序的調(diào)試程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤,主要在開發(fā)階段進(jìn)行。- 4 -四川省計算機(jī)二級考試培訓(xùn)講義(內(nèi)部資料)程序調(diào)試的基本步驟:(1)錯誤定位;(2)修改設(shè)計和代碼,以排除錯誤;(3)進(jìn)行回歸測試,防止引進(jìn)新的錯誤。軟件調(diào)試可分表靜態(tài)調(diào)試和動態(tài)調(diào)試。靜態(tài)調(diào)試主要是指通過人的思維來分析源程序代碼和排錯,是主要的設(shè)計手段,而動態(tài)調(diào)試是輔助靜態(tài)調(diào)試。主要

12、調(diào)試方法有:(1)強(qiáng)行排錯法;(2)回溯法;(3)原因排除法。1.3數(shù)據(jù)結(jié)構(gòu)與算法算法算法:是指解題方案的準(zhǔn)確而完整的描述。算法不等于程序,也不等于計算機(jī)方法,程序的編制不可能優(yōu)于算法的設(shè)計。算法的基本特征:是一組嚴(yán)謹(jǐn)?shù)囟x運(yùn)算順序的規(guī)則,每一個規(guī)則都是有效的,是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。特征包括:(1)可行性;(2)確定性,算法中每一步驟都必須有明確定義,不允許有模棱兩可的解釋,不允許有多義性;(3)有窮性,算法必須能在有限的時間內(nèi)做完,取能在執(zhí)行有限個步驟后終止,包括合理的執(zhí)行時間的含義;(4)擁有足夠的情報。算法的基本要素:一是對數(shù)據(jù)對象的運(yùn)算和操作;二是算法的控制結(jié)構(gòu)。指令系

13、統(tǒng):一個計算機(jī)系統(tǒng)能執(zhí)行的所有指令的集合?;具\(yùn)算和操作包括:算術(shù)運(yùn)算、邏輯運(yùn)算、關(guān)系運(yùn)算、數(shù)據(jù)傳輸。算法的控制結(jié)構(gòu):列舉法、歸納法、遞推、遞歸、減斗遞推技術(shù)、回溯法。算法復(fù)雜度:算法時間復(fù)雜和算法空間復(fù)雜度。算法時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量。算法空間復(fù)雜度是指執(zhí)行這個算法所需要的內(nèi)存空間。數(shù)據(jù)結(jié)構(gòu)的基本概念數(shù)據(jù)結(jié)構(gòu)研究的三個方面:(1)數(shù)據(jù)集合中和數(shù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);(2)在對數(shù)據(jù)進(jìn)行處理時,各數(shù)據(jù)元素在計算機(jī)中的存儲關(guān)系,即數(shù)據(jù)的存儲結(jié)構(gòu);(3)對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。數(shù)據(jù)的邏輯結(jié)構(gòu)包含:(1)表示數(shù)據(jù)元素的信

14、息;(2)表示各數(shù)據(jù)元素之間的前后件關(guān)系。- 5 -四川省計算機(jī)二級考試培訓(xùn)講義(內(nèi)部資料)數(shù)據(jù)的存儲結(jié)構(gòu)有順序、鏈接、索引等。線性結(jié)構(gòu)條件:(1)有且只有一個根結(jié)點(diǎn);(2)每一個結(jié)點(diǎn)最多有一個前件,也最多有一個后件。非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)條件的數(shù)據(jù)結(jié)構(gòu)。 線性表及其順序存儲結(jié)構(gòu)線性表由一組數(shù)據(jù)元素構(gòu)成,數(shù)據(jù)元素的位置只取決于自己的序號,元素之間的相對位置是線性的。在復(fù)雜線性表中,由若干數(shù)據(jù)元素組成的數(shù)據(jù)元素稱為記錄,而由多個記錄構(gòu)成的線性表又稱為文件。非空線性表的結(jié)構(gòu)特征:(1)且只有一個根結(jié)點(diǎn)a ,它無前件;(2)有且只有一個終端點(diǎn)a ,它無后件;(3)除根結(jié)點(diǎn)與終端結(jié)點(diǎn)外,其他所有結(jié)

15、點(diǎn)有且只有一個前件,也有且只有一個后件。結(jié)點(diǎn)個數(shù)n稱為線性表的長度,當(dāng)n=0時,稱為空表。線性表的順序儲結(jié)構(gòu)具有以下兩個基本特點(diǎn):(1)線性表中所有元素的所占的存儲空間是連續(xù)的;(2)線性表中各數(shù)元素在存儲空間中是按邏輯順序依次存放的。a 的存儲地址為:adr(a )=adr(a )+(i-1)k,adr(a )為第一個元素的地址,k代表每個元素占的字節(jié)數(shù)。順序表的運(yùn)算:插入、刪除。棧和隊列棧是限定在一端進(jìn)行插入與刪除的線性表,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧按照“先進(jìn)后出”(filo)或“后進(jìn)先出”(lifo)組織數(shù)據(jù),棧具有記憶作用。用top表示棧頂位置,

16、用bottom表示棧底。棧的基本運(yùn)算:(1)插入元素稱為入棧運(yùn)算;(2)刪除元素稱為退棧運(yùn)算;讀棧頂元素是將棧頂元素給一個指定的變量,此時指針無變化。隊列是指允許在一端(隊尾)進(jìn)入插入,而在另一端(隊頭)進(jìn)行刪除的線性表。rear指針指向隊尾,front指針指向隊頭。隊列是“先進(jìn)先出”(fifo)或“后進(jìn)后出”(lilo)的線性表。隊列運(yùn)算包括(1)入隊運(yùn)算:從隊尾插入一個元素;(2)退隊運(yùn)算:從隊頭刪除一個元素。線性鏈表數(shù)據(jù)結(jié)構(gòu)中的每一個結(jié)點(diǎn)對應(yīng)于一個存儲單元,這種存儲單元稱為存儲結(jié)點(diǎn),簡稱結(jié)點(diǎn)。 結(jié)點(diǎn)由兩部分組成:(1)用于存儲據(jù)元素值,稱為數(shù)據(jù)域;(2)用于存放指針,稱為指針域,用于指向

17、前一個或后一個結(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)。線性鏈表,head稱為頭指針,head=null(或0)稱為空表,如果是兩指針:左指針- 6 -四川省計算機(jī)二級考試培訓(xùn)講義(查找技術(shù)順序查找的使用情況:(1)線性表為無序表;(2)表采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。二分法查找只適用于順序存儲的有序表,對于長度為n的序線性表,最壞情況只需比較? n次。 - 7 -四川省計算機(jī)二級考試培訓(xùn)講義(內(nèi)部資料)排序技術(shù)排序是指將一個無序序列整

18、理成按值的有序表,對于長度為n的有序線性表,最壞情況只需比較? n次。交換類排序法:(1)冒泡排序法,需要比較的次數(shù)為n(n-1)/2;(2)快速排序法。插入類排序法:(1)簡單插入排序法,最壞情況需要n(n-1)/2次比較;(2)希爾排序法,最壞情況需要o(n )次比較。選擇類排序法:(1)簡單選擇排序法,最壞情況需要n(n-1)/2次比較;(2)堆排序法,最壞情況需要o(nlog n)次比較。1.4數(shù)據(jù)庫系統(tǒng)的基本概念數(shù)據(jù):實(shí)際上就是描述事物的符號記錄。數(shù)據(jù)的特點(diǎn):有一定的結(jié)構(gòu),有型與值之分,如整型、實(shí)型、字符型等。而數(shù)據(jù)的值給出了符合定型的值,如整型值15。數(shù)據(jù)庫:是數(shù)據(jù)的集合,具有統(tǒng)一

19、的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個應(yīng)用程序共享。數(shù)據(jù)庫存放數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,具有集成與共享的特點(diǎn)。數(shù)據(jù)庫管理系統(tǒng):一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,是數(shù)據(jù)庫的核心。數(shù)據(jù)庫管理系統(tǒng)功能:(1)數(shù)據(jù)模式定義:即為數(shù)據(jù)庫構(gòu)建其數(shù)據(jù)框架;(2)數(shù)據(jù)存取的物理構(gòu)建:為數(shù)據(jù)模式的物理存取與構(gòu)建提供有效的存取方法與手段;(3)數(shù)據(jù)操縱:為用戶使用數(shù)據(jù)庫的數(shù)據(jù)提供方便,如查詢、插入、修改、刪除等以及簡單的算術(shù)運(yùn)算及統(tǒng)計;(4)數(shù)據(jù)的完整性、安生性定義與檢查;(5)數(shù)據(jù)庫的并發(fā)控制與故障恢復(fù);(6)數(shù)據(jù)的服務(wù):如

20、拷貝、轉(zhuǎn)存、重組、性能監(jiān)測、分析等。為完成以上六個功能,數(shù)據(jù)庫管理系統(tǒng)提供以下的數(shù)據(jù)語言:(1)數(shù)據(jù)定義語言:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;(2)數(shù)據(jù)操縱語言:負(fù)責(zé)數(shù)據(jù)的操縱,如查詢與增、刪、改等;(3)數(shù)據(jù)控制語言:負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等。數(shù)據(jù)語言按其使用方式具有兩種結(jié)構(gòu)形式:交互式命令(又稱自含型或自主型語言)宿主型語言(一般可嵌入某些宿主語言中)。數(shù)據(jù)庫管理員:對數(shù)據(jù)庫進(jìn)行規(guī)劃、設(shè)計、維護(hù)、監(jiān)視等的專業(yè)管理人員。數(shù)據(jù)庫系統(tǒng):由數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、硬件平臺(硬件)、軟件平臺(軟件)五個部分構(gòu)成的運(yùn)行實(shí)體

21、。數(shù)據(jù)庫應(yīng)用系統(tǒng):由數(shù)據(jù)庫系統(tǒng)、應(yīng)用軟件及應(yīng)用界面三者組成。文件系統(tǒng)階段:提供了簡單的數(shù)據(jù)共享與數(shù)據(jù)管理能力,但是它無法提供完整的、統(tǒng)一的、管理和數(shù)據(jù)共享的能力。層次數(shù)據(jù)庫與網(wǎng)狀數(shù)據(jù)庫系統(tǒng)階段 :為統(tǒng)一與共享數(shù)據(jù)提供了有力支撐。關(guān)系數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)的基本特點(diǎn):數(shù)據(jù)的集成性 、數(shù)據(jù)的高共享性與低冗余性 、數(shù)據(jù)獨(dú)立性(物- 8 -四川省計算機(jī)二級考試培訓(xùn)講義(2)屬性表法; (3)聯(lián)系表示法。層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu),具有以下特點(diǎn):(1)每棵樹有且僅有一個無雙親結(jié)點(diǎn),稱為根;(2)樹中除根外所有結(jié)點(diǎn)有且僅有一個雙親;從圖論上看,網(wǎng)狀模型是一個不加任何條件限制的無向圖。關(guān)系模型采用二維表

22、來表示,簡稱表,由表框架及表的元組組成。一個二維表就是一個關(guān)系。在二維表中凡能唯一標(biāo)識元組的最小屬性稱為鍵或碼。從所有侯選健中選取一個作為用戶使用的鍵稱主鍵。表a中的某屬性是某表b的鍵,則稱該屬性集為a的外鍵或外碼。關(guān)系中的數(shù)據(jù)約束:(1)實(shí)體完整性約束:約束關(guān)系的主鍵中屬性值不能為空值;(2)參照完全性約束:是關(guān)系之間的基本約束;(3)用戶定義的完整性約束:它反映了具體應(yīng)用中數(shù)據(jù)的語義要求。關(guān)系代數(shù)系統(tǒng)的特點(diǎn)之一是它建立在數(shù)據(jù)理論的基礎(chǔ)之上,有很多數(shù)據(jù)理論可以表示關(guān)系模型的數(shù)據(jù)操作,其中最為著名的是關(guān)系代數(shù)與關(guān)系演算。關(guān)系模型的基本運(yùn)算:(1) 插入 (2)刪除 (3)修改 (4)查詢(包括

23、投影、選擇、笛卡爾積運(yùn)算)- 9 -四川省計算機(jī)二級考試培訓(xùn)講義(10 -四川省計算機(jī)二級考試培訓(xùn)講義( b ap-a c p+i d pi2現(xiàn)已定義:char b6,*p=b;選擇正確的賦值語句_c_。a b=”china” b *b=”china” c p=”china” d *p=”china”3運(yùn)行下列程序后,全局變量t.x和t.s的正確結(jié)果為_b_。struct treeint x;char *s;fun(struct tree t)t.x=10;t.s=”computer”;return(0);main()struct tree t;t.x=1;t.s=”minicomputer”

24、;fun(t) ;printf(”%d,%sn”,t.x,t.s ) ;a 10,computer b 1,minicomputer c 1,computer d 10,minicomputer4若fp是指向某文件的指針,且已讀到文件的末尾,則表達(dá)式feof(fp)的返回值是_c_。a 0 b -1 c 非零值 d null5正確的指針數(shù)組的描述是_c_。a int (*a)10 b int aij c int *a10 d 指針數(shù)組表示一個指針指向數(shù)組6如下,哪個是c語言繪圖時必須使用的語句_c_。a #include <conio.h> b #include <stdio

25、.h>c gdriver=vga d window(20,5,50,20);107main()int x=3,y=2,z=1;- 11 -四川省計算機(jī)二級考試培訓(xùn)講義(b x/y&z=1 c x&z=0 d x&z=18.定義一個返回值為整型的函數(shù)指針變量,下列哪一個是正確的_c_。a int *p() b int (*p) c int (*p)() d int p()9main()int i,j;doif(j%5=0) i+;j+;while(i!=5)程序運(yùn)行結(jié)束后j的值為_c_。a 25 b 20 c 26 d 2110若int x=2,y=1,z=0,下列

26、幾個表達(dá)式的值分別為_a_。 x|y&&z x!=y!=z x>ya 0,1,0 b 0,1,1 c 0,0,0 d 1,1,0 二讀程序,并選出正確的答案(每空3分,共45分)1#include <stdio.h>int find(char *s1, char *s2)int t;char *p1,*p2;for(t=0 ;s1t ;t+)p1=&s1t ;p2=s2 ;while(*p2&&*p2=*p1)p1+;p2+;if(!*p2) return(t);return -1 ;main()if(find(“c is fun”,”

27、is”)!=-1)l1: printf(“is”);if(find(“c is fun”,”basic”)!=-1)- 12 -四川省計算機(jī)二級考試培訓(xùn)講義( b i c c is fun d沒有輸出(12)行l(wèi)2輸出的結(jié)果為_d_。a basic b c is fun c basic d沒有輸出2main()int w=2,k;for(k=0;k<3;k+)w=f(w);printf(“%dn”,w);f(int x)int y=0;static z=3; /靜態(tài)變量每次加一賦給本身第三次結(jié)果為6 y+;z+;return (x+y+z) ;,程序結(jié)束后,y的值為_b_。(13) a

28、0 b 1 c 2 d 3程序結(jié)束后,w的值為_a_。(14) a 20 b 7 c 28 d 133int x1=30,x2=40;main()int x3=10,x4=20 ;sub(x3,x4) ;sub(x2,x1);l1:printf(“%d,%d,%d,%dn”,x3,x4,x1,x2);sub(int x, int y)x1=x ;x=y ;y=x1 ;l2 :printf(“%d,%dn”,x,y) ;l1行輸出結(jié)果為_d_。(15) a 10,20,30,40 b 10,20,40,10c 20,10,40,30 d 10,20,40,40 l2行輸出結(jié)果為_b_。(16)

29、a 10,20 b 20,10 c 10,20 d 20,10- 13 -四川省計算機(jī)二級考試培訓(xùn)講義( 10,40 10,40 40,104main()int x=1,i=1 ;for( ;x<50 ;i+)if(x>10) break ;if(x%2 !=2) x+=3 ;continue ;x-=1 ;printf(” %dn”,x) ; 17該語句輸出為_d_。printf(” %dn”,i) ; 18該語句輸出為_a_。(17) a 11 b 14 c 10 d 12(18) a 7 b 8 c 9 d 105以下程序不用第三個變量實(shí)現(xiàn)兩個數(shù)對調(diào)的操作。程序中(19)為_

30、,(20)為_,(21)為_ _。#includ <stdio.h>main()int a,b;scanf(“%d,%d”a,b);a=_a_;(19)b=_b_;(20)c=_b_;(21)printf(“%d,%d”,a,b);(19) a a+b b a-b c a*b d a/b(20) a a+b b a-b c b-a d a*b(21) a a+b b a-b c b*a d a/b6#include <stdio.h>void stringcat(char *s, char *t)int i=0,j=0;while(*(s+i) i+;while(si+

31、=tj+);main()char s=”123”,t=”456”;stringcat(s,t);printf(“%sn”,s);程序運(yùn)行結(jié)果為:_c_。- 14 -四川省計算機(jī)二級考試培訓(xùn)講義( b 456 c123456 d456123在程序中,若將指針改為數(shù)組,stringcat函數(shù)的形式為:void stringcat(char s, char t)int i=0,j=0;while(*si!=0) i+;while(si+=tj+);則程序運(yùn)行后的結(jié)果為_c_。(23) a 123 b 456 c 123456 d 4561237main()int x=10,y;y=x+;printf

32、(“%d,%dn”,(+x,y),y+);則程序運(yùn)行后的結(jié)果為_d_。(24) a 11,11 b 10,10 c 10,11 d 11,108main()struct dataint i;float f;double d;union uchar u15;long u22;ud;printf(“%dn”,sizeof(struct sata);程序運(yùn)行結(jié)果為:_c_。(25) a 27 b 25 c 22 d 19三程序填空(每小題2分,共30分)1下面程序刪除字符串中的所有空格(包括tab符,回車符、換行符)。請在程序的對應(yīng)位置處填入。(函數(shù)isspace()用于測試字符是否為空格)#inc

33、lude <stdio.h>#include <ctype.h>main()char str81=“1 2 3 4 5 6 7 8 9 ”;delspace(str);puts(str);- 15 -四川省計算機(jī)二級考試培訓(xùn)講義(16 -四川省計算機(jī)二級考試培訓(xùn)講義( #include <stdio.h>main(int argc,char *argv)int c;file *fpr,*fw;if(argc!=3)puts(“>usage:copyfile filename1 filename2”);exit(0);if(fpr=fopen(_argv

34、1,”r_”_)=null)printf(“>file %s cannot open n”,argv1);exit(1);if(fpr=fopen(argv2,_”w_”_)=null)printf(“>file %s cannot open n”,argv2);exit(2);while(c=_ fgetc _(fpr)!=eof)fputc(c,_ fpw _);fclose(fpr);fclose(fpw);5該程序是利用折半查找法在一個數(shù)組中進(jìn)行數(shù)據(jù)檢索。當(dāng)查找到時,給出數(shù)據(jù)在數(shù)組中的位置;查找不到,給出數(shù)據(jù)不在數(shù)組中的信息。請將程序完善。#define n 10int a

35、=1,2,3,4,5,6,7,8,9,10;char ss(x,m) int x,m;char z;if(x=am) z=t;elseif(x<am) z=p;else z=r;return(z);mian()- 17 -四川省計算機(jī)二級考試培訓(xùn)講義((12)d (13)b (14)a (15)d (16)b (17)d (18)d (19)a (20)b(21)b (22)c (23)c (24)d (25)c三、程序填空(26) stri或stri!=null 或stri=0 (27)+i或i+ (28)*(str+i)或stri(29)flag (30)getchar() (31)

36、stri (32)fp=fopen(fname,”w”) (33)ch=getchar()(34)fp (35)argv1,”r” (36)”w” (37)fgetc (38)fpw (39)r=m (40)p=m+1- 18 -四川省計算機(jī)二級考試培訓(xùn)講義( b、作業(yè)調(diào)度和進(jìn)程調(diào)度c、進(jìn)程調(diào)度 d、作業(yè)調(diào)度和設(shè)備調(diào)度3、為解決cpu和i/o設(shè)備之間速度匹配問題,常采用“緩沖區(qū)”方法?!熬彌_區(qū)”的結(jié)構(gòu)多為:(c )a、順序棧 b、鏈棧 c、順序隊列 d、循環(huán)隊列4、對象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作(c )于對象的統(tǒng)一體中。a、結(jié)合 b、程序的效率 c、封裝 d、抽象5、結(jié)構(gòu)化程序設(shè)計主

37、要調(diào)度的是(a )a、程序易讀性 b、程序的效率c、程序設(shè)計語言的先進(jìn)性 c、程序的規(guī)模 一、單項(xiàng)選擇題(每小題1分,共10分)1、下列程序運(yùn)行的結(jié)果是:(b )#include <stdio.h>- 19 -四川省計算機(jī)二級考試培訓(xùn)講義(c、1,8 d、1,102、有以下程序#include <malloc.h>#include <stdio.h>main()char *p,*q;p=(char *)malloc(sizeof(char)*20);scanf(“%s %s”,p,q);printf(“%s,%sn”,p,q);若輸入:abc def<

38、回車>,則輸出為( a )a、def,def b、abc,def c、abc,d3、下列程序的輸出是:( b)#include <iostream.h>void main()int a=-1,b=4,k;k=(a+<=0)&&(!(b-<=0);cout<<k<<a<<b<<endl;a、003 b、103 c、112 d、0124、關(guān)于類概念的描述中(a )是錯誤的:a、類就是c語言中的結(jié)構(gòu)體類型。b、類是創(chuàng)建對象的樣板。c、類是具有共同行為的若干對象的統(tǒng)一描述體。d、類是抽象數(shù)據(jù)類型的實(shí)現(xiàn)。5、下

39、列程序的運(yùn)行結(jié)果是(d )#include <stdio.h>main()void fu();fu();fu();void fu()- 20 - d、d,d四川省計算機(jī)二級考試培訓(xùn)講義(b、a=1,a=8 c、a=8,a=16、以下程序中,輸出值是(c )#include <stdio.h>#define m 3#define n m+1#define nn n*n/2main()printf(“%dn”,nn);a、3 b、4 c、6 d、87、若有語句:char s1=”string1”,s28,*s3,*s4=”string2”;則( d )是對庫函數(shù)strcpy

40、的錯誤調(diào)用。a、strcpy(s1,”string2”); b、strcpy(s4,”string1”);c、strcpy(s3,”string1”); d、strcpy(“string2”,s2);8、以下(c )為不正確的if語句。a、if(x>y); b、if(x=y) x+=y;c、if(x!=y) x=x*x else x+=1; d、if(x<y) x+;y+9、關(guān)于c+函數(shù)參數(shù)的描述中,錯誤的是(d )a、實(shí)參個數(shù)與形參個數(shù)可以不同。b、缺省參數(shù)必須放在形參表的最右端。c、用引用變量做形參可以實(shí)現(xiàn)地址傳遞。d、重載函數(shù)可以有缺省參數(shù)。10、若有以下定義:struct

41、nodeint data;struct node *next;且已建立下面的鏈表結(jié)構(gòu),指針p,q分別指向圖中所示接點(diǎn),則不能將q所指結(jié)點(diǎn)插入到鏈表末尾的一組語句是(c ) - 21 -四川省計算機(jī)二級考試培訓(xùn)講義( b、agadagac、gaggaga d、agaagag2、讀下列c程序,選擇正確的輸出結(jié)果( ) #include <stdio.h>#include <string.h>void fun(char str10,int n)char t20;int i,j;for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(strlen(

42、stri)<strlen(strj)strcpy(t,stri);strcpy(stri,strj);strcpy(strj,t);main()char str10="abc","aabcd","abed","a","acdefg"- 22 -四川省計算機(jī)二級考試培訓(xùn)講義(printf("%2d",strlen(stri); printf("n"); for(i=0;i<5;i+) puts(stri);(1)main函數(shù)中,第一個for循環(huán)的輸出結(jié)果為:(a )a、6 5 4 3 1 b、1 3 4 5 6 c

溫馨提示

  • 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

提交評論