office2級知識點_第1頁
office2級知識點_第2頁
office2級知識點_第3頁
office2級知識點_第4頁
office2級知識點_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、(1)算法的時間復(fù)雜度是指算法在計算機(jī)內(nèi)執(zhí)行時所需時間的度量;與時間復(fù)雜度類似,空間復(fù)雜度是指算法在計算機(jī)內(nèi)執(zhí)行時所需存儲空間的度量。(2)時間復(fù)雜度是指一個算法執(zhí)行時間的相對度量;空間復(fù)雜度是指算法在運行過程中臨時占用所需存儲空間大小的度量。人們都希望選擇一個既省存儲空間、又省執(zhí)行時間的算法。然而,有時為了加快算法的運行速度,不得不增加空間開銷;有時為了能有效地存儲算法和數(shù)據(jù),又不得不犧牲運行時間。時間和空間的效率往往是一對矛盾體,很難做到兩全。但是,這不適用于所有的情況,也就是說時間復(fù)雜度和空間復(fù)雜度之間雖然經(jīng)常矛盾,但是二者不存在必然的聯(lián)系。(3)數(shù)據(jù)處理的最小單位是數(shù)據(jù)項;由若干數(shù)據(jù)項

2、組成數(shù)據(jù)元素;數(shù)據(jù)是指能夠被計算機(jī)識別、存儲和加工處理的信息載體;數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)之間的相互關(guān)系和數(shù)據(jù)運算。(4)一般來說,一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲結(jié)構(gòu),常用的存儲結(jié)構(gòu)有順序、鏈接、索引等。而采用不同的存儲結(jié)構(gòu),其數(shù)據(jù)處理的效率是不同的。(5)數(shù)據(jù)結(jié)構(gòu)概念一般包括數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)及數(shù)據(jù)上的運算集合等。數(shù)據(jù)的邏輯結(jié)構(gòu)只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管它在計算機(jī)中的存儲形式。(6)數(shù)據(jù)結(jié)構(gòu)作為計算機(jī)的一門學(xué)科,主要研究和討論以下三個方面的問題: 數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu); 在對數(shù)據(jù)進(jìn)行處理時,各數(shù)據(jù)元素在計算機(jī)中的存儲關(guān)系,即數(shù)

3、據(jù)的存儲結(jié)構(gòu); 對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運算。(7)根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個條件: 有且只有一個根結(jié)點; 每一個結(jié)點最多有一個前件,也最多有一個后件。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱線性表。所以線性表、棧與隊列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。(8)線性表可以為空表;第一個元素沒有直接前件,最后一個元素沒有直接后件;線性表的定義中,元素的排列并沒有規(guī)定大小順序。(9)如果一個非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個條件:第一,有且只有一個根結(jié)點;第二,每一個結(jié)點最多有一個前件,也最多有一個后件

4、,則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu)。線性結(jié)構(gòu)又稱線性表。(10)順序存儲結(jié)構(gòu)中,數(shù)據(jù)元素存放在一組地址連續(xù)的存儲單元中,每個數(shù)據(jù)元素地址可通過公式LOC(ai)=LOC(a1)+(i-1)L計算得到,從而實現(xiàn)了隨機(jī)存取。對于鏈?zhǔn)酱鎯Y(jié)構(gòu),要對某結(jié)點進(jìn)行存取,都得從鏈的頭指針指向的結(jié)點開始,這是一種順序存取的存儲結(jié)構(gòu)。(11)棧是限定在一端進(jìn)行插入與刪除的線性表。棧是按照“先進(jìn)后出”的或“后進(jìn)先出”的原則組織數(shù)據(jù)的,因此,棧也被稱為“先進(jìn)后出”表或“后進(jìn)先出”表。(12)本題考查的是棧。棧是一種特殊的線性表,線性表可以順序存儲,也可以鏈?zhǔn)酱鎯?,而棧是一種線性表,也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)。(13)本題主要考

5、查對于棧的理解。棧是限定在一端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。(14)和線性表類似,棧也有兩種存儲方法,一是順序棧,二是鏈?zhǔn)綏?。棧的順序存儲結(jié)構(gòu)是利用一組地址連續(xù)的存儲單元一次存儲自棧底到棧頂?shù)臄?shù)據(jù)元素,同時附設(shè)指針top指示棧頂元素的位置,由于棧的操作是線性表操作的特例,相對而言,鏈?zhǔn)綏5牟僮鞲子趯崿F(xiàn)。(16)棧操作原則上“后進(jìn)先出”,棧底至棧頂依次存放元

6、素A、B、C、D,則表明這4個元素中D是最后進(jìn)棧,B、C處于中間,A最早進(jìn)棧,所以出棧時一定是先出D,再出C,最后出A。(17)隊列是一種操作受限的線性表。它只允許在線性表的一端進(jìn)行插入操作,另一端進(jìn)行刪除操作。其中,允許插入的一端稱為隊尾(rear),允許刪除的一端稱為隊首(front)。隊列具有先進(jìn)先出的特點,它是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。(18)考查棧和隊列概念的掌握。棧和隊列都是一種特殊的操作受限的線性表,只允許在端點處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種“后進(jìn)先出”的線性表;而隊列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種“

7、先進(jìn)先出”的線性表。(19)本題考查的是線性單鏈表、雙向鏈表與循環(huán)鏈表的結(jié)構(gòu)及其基本運算。在鏈?zhǔn)酱鎯Y(jié)構(gòu)中,存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以不連續(xù),各數(shù)據(jù)結(jié)點的存儲順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的。 (20)鏈?zhǔn)酱鎯Y(jié)構(gòu)克服了順序存儲結(jié)構(gòu)的缺點:它的結(jié)點空間可以動態(tài)申請和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點的指針來指示,不需要移動數(shù)據(jù)元素。故鏈?zhǔn)酱鎯Y(jié)構(gòu)下的線性表便于插入和刪除操作。(21)將題中所述的樹用圖形表示即可得到葉子結(jié)點的數(shù)目,另外還可用公式n0<=1n2+2n3+3n4+1來計算,其中n0表示葉子結(jié)點;1n2中的n2表示度為2的結(jié)點。

8、此題中度為1的結(jié)點有4個;度為2的結(jié)點有2個;度為3的結(jié)點有1個;度為4的結(jié)點有1個,計算過程如下:n0=1n2+2n3+3n4+1n0=1×2+2×1+3×1+1n0=8(23)本題考查了二叉樹的基本概念。在二叉樹中,葉子節(jié)點的度是1;當(dāng)該二叉樹為空樹時,根節(jié)點的度為0;為非空樹時,根節(jié)點的度最大為2。(24)本題考查二叉樹的遍歷。所謂二叉樹的前序遍歷(DLR)是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這3者中,首先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹,并且,在遍歷左右子樹時,上述規(guī)則同樣適用,即“根左右”,故該二叉樹的前序遍歷結(jié)果為“ATBZXCYP”。(

9、25)前序遍歷的第一個結(jié)點a為樹的根結(jié)點;中序遍歷中a的左邊的結(jié)點為a的左子樹,a右邊的結(jié)點為a的右子樹;再分別對a的左右子樹進(jìn)行上述兩步處理,直到每個結(jié)點都找到正確的位置。(26)對有序線性表進(jìn)行順序查找,首先用被查找的數(shù)據(jù)和線性表的第一個數(shù)據(jù)元素進(jìn)行比較,若相等,則查找成功;否則,繼續(xù)進(jìn)行比較,即和線性表的第二個數(shù)據(jù)元素進(jìn)行比較。同樣,若相等,則查找成功;否則,繼續(xù)進(jìn)行比較。依次類推,直到在線性表中查找到該數(shù)據(jù)或查找到線性表的最后一個元素,算法才結(jié)束。因此,在長度為64的有序線性表中進(jìn)行順序查找,最壞的情況下需要比較64次。(27)二分法查找只適用于順序存儲的有序表。在此所說的有序表是指線

10、性表中的元素按值非遞減排列(即從小到大,但允許相鄰元素值相等)的。 (28)從平均時間性能而言,快速排序最佳,其所需時間最少,但快速排序在最壞情況下的時間性能不如堆排序和歸并排序。當(dāng)序列中的記錄基本有序或元素個數(shù)較少時,冒泡排序和簡單選擇排序為最佳排序方法。 程序設(shè)計基礎(chǔ)(1)結(jié)構(gòu)化程序設(shè)計方法的主要原則是:自頂向下,逐步求精,模塊化,限制使用goto語句??蓮?fù)用性是指軟件元素不加修改和稍加修改可在不同的軟件開發(fā)過程中重復(fù)使用的性質(zhì)。軟件可復(fù)用性是軟件工程追求的目標(biāo)之一,是提高軟件生產(chǎn)效率的最主要方法。面向?qū)ο蟮某绦蛟O(shè)計具有可復(fù)用性的優(yōu)點。(2)濫用goto 語句將使程序流程無規(guī)律,可讀性差,

11、;注解行有利于對程序的理解,不應(yīng)減少或取消,;程序的長短要依照實際情況而論,而不是越短越好。(3)本題考查了程序的基本結(jié)構(gòu)。程序由一些基本結(jié)構(gòu)組成。任何一個大型的程序都由3種基本結(jié)構(gòu)組成,由這些基本結(jié)構(gòu)構(gòu)成一個結(jié)構(gòu)化的程序。這3種基本結(jié)構(gòu)為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。(4)結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為自頂向下、逐步求精、模塊化及限制使用goto語句,總的來說可使程序結(jié)構(gòu)良好、易讀、易理解、易維護(hù)。(5)面向?qū)ο蟮脑O(shè)計方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是,使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。它強調(diào)模擬現(xiàn)實世界中的概念而不強調(diào)算法,它鼓勵開發(fā)者在軟件開

12、發(fā)的絕大部分中都用應(yīng)用領(lǐng)域的概念去思考。(6)面向?qū)ο蟮氖澜缡峭ㄟ^對象與對象間彼此的相互合作來推動的,對象間的這種相互合作需要一個機(jī)制協(xié)助進(jìn)行,這樣的機(jī)制稱為消息。消息是一個實例與另一個實例之間傳遞的信息,它請求對象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。(7)面向?qū)ο蟪绦蛟O(shè)計方法并不強調(diào)自頂向下的構(gòu)造程序,而常常是自底向上的,而自頂向下、逐步求精是結(jié)構(gòu)化程序設(shè)計的特點。(8)面向?qū)ο笏枷胫械娜齻€主要特征是:封裝性、繼承性和多態(tài)性。(9)面向?qū)ο蟪绦蛴扇舾蓚€對象構(gòu)成;結(jié)構(gòu)化程序由數(shù)據(jù)和相應(yīng)算法構(gòu)成。(10)對象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實體有直接的對應(yīng)關(guān)系,對象

13、之間通過傳遞消息互相聯(lián)系,從而模擬現(xiàn)實世界中不同事物彼此之間的聯(lián)系, (11)對象的基本特點:標(biāo)識唯一性、分類性、多態(tài)性、封裝性和模塊獨立性。(12)在面向?qū)ο蟪绦蛟O(shè)計中所使用的對象,其數(shù)據(jù)和操作是作為平等伙伴出現(xiàn)的。因此,對象具有很強的自含性,此外,對象所固有的封裝性,使得對象之間不相互影響。(13)面向?qū)ο蠓椒ㄊ且环N運用對象、類、封裝、繼承、多態(tài)和消息等概念來構(gòu)造、測試、重構(gòu)軟件的方法。面向?qū)ο蠓椒◤膶ο蟪霭l(fā),發(fā)展出對象、類、消息、繼承等概念。軟件工程基礎(chǔ)(1)本題考查軟件的定義。軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它包括程序、相關(guān)數(shù)據(jù)及其說明文檔的總和。(2)軟件工程學(xué)是研究軟件

14、開發(fā)和維護(hù)的普遍原理與技術(shù)的一門工程學(xué)科。所謂軟件工程是指采用工程的概念、原理、技術(shù)和方法指導(dǎo)軟件的開發(fā)與維護(hù)。軟件工程學(xué)的主要研究對象包括軟件開發(fā)與維護(hù)的技術(shù)、方法、工具和管理等方面。(3)軟件工程包括3個要素,即方法、工具和過程。(4)軟件工程概念的出現(xiàn)源自于軟件危機(jī)。為了消除軟件危機(jī),通過認(rèn)真研究解決軟件危機(jī)的方法,認(rèn)識到軟件工程是使計算機(jī)軟件走向工程科學(xué)的途徑,逐步形成了軟件工程的概念。(5)本題考核軟件維護(hù)的概念。維護(hù)是軟件生命周期的最后一個階段,也是持續(xù)時間最長、付出代價最大的階段。在軟件交付使用后,還需要進(jìn)行維護(hù)。軟件維護(hù)通常有以下四類:為糾正使用中出現(xiàn)的錯誤而進(jìn)行的改正性維護(hù);

15、為適應(yīng)環(huán)境變化而進(jìn)行的適應(yīng)性維護(hù);為改進(jìn)原有軟件而進(jìn)行的完善性維護(hù);為將來的可維護(hù)和可靠而進(jìn)行的預(yù)防性維護(hù)。軟件維護(hù)不僅包括程序代碼的維護(hù),還包括文檔的維護(hù)。(6)軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護(hù)3個階段。本題中,詳細(xì)設(shè)計、軟件編碼和軟件測試都屬于軟件開發(fā)階段;維護(hù)是軟件生命周期的最后一個階段,也是持續(xù)時間最長、花費代價最大的一個階段,軟件工程學(xué)的一個目的就是提高軟件的可維護(hù)性,降低維護(hù)的代價。(7)通常將軟件產(chǎn)品從提出、實現(xiàn)、使用維護(hù)到停止使用的過程稱為軟件生命周期。它可以分為軟件定義、軟件開發(fā)及軟件運行維護(hù)3個階段。(8)軟件生命周期由軟件定義、軟件開發(fā)和軟件維護(hù)3個時期組

16、成。軟件開發(fā)時期是具體設(shè)計和實現(xiàn)在前一時期定義的軟件,它通常由下面五個階段組成:概要設(shè)計、詳細(xì)設(shè)計、編寫代碼、組裝測試和確認(rèn)測試。(9)通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。軟件生命周期的主要活動階段為: 可行性研究和計劃制定。確定待開發(fā)軟件系統(tǒng)的開發(fā)目標(biāo)和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開發(fā)任務(wù)的實施計劃。 需求分析。對待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊,提

17、交評審。 軟件設(shè)計。系統(tǒng)設(shè)計人員和程序設(shè)計人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。 軟件實現(xiàn)。把軟件設(shè)計轉(zhuǎn)換成計算機(jī)可以接受的程序代碼。即完成源程序的編碼,編寫用戶手冊、操作手冊等面向用戶的文檔,編寫單元測試計劃。 軟件測試。在設(shè)計測試用例的基礎(chǔ)上,檢驗軟件的各個組成部分。編寫測試分析報告。 運行和維護(hù)。將已交付的軟件投入運行,并在運行使用中不斷地維護(hù),根據(jù)新提出的需求進(jìn)行必要而且可能的擴(kuò)充和刪改。(10)需求分析是軟件定義時期的最后一個階段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)的工作概況,明確用戶的

18、各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。(11)常見的需求分析方法有:結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒?。結(jié)構(gòu)化分析就是使用數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、結(jié)構(gòu)化語言、判定表和判定樹等工具,來建立一種新的、稱為結(jié)構(gòu)化規(guī)格說明的目標(biāo)文檔。(12)軟件開發(fā)階段包括需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和測試5個階段。其中需求分析階段常用的工具是數(shù)據(jù)流圖和數(shù)據(jù)字典。(13)數(shù)據(jù)流圖中的主要圖形元素有加工、數(shù)據(jù)流、存儲文件、源和潭。(14)軟件需求規(guī)格說明書(Software Requirement Specification,SRS)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它具有以

19、下幾個方面的作用: 便于用戶、開發(fā)人員進(jìn)行理解和交流; 反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù); 作為確認(rèn)測試和驗收的依據(jù)。(15)軟件設(shè)計包括軟件結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計和過程設(shè)計。其中,結(jié)構(gòu)設(shè)計是定義軟件系統(tǒng)各主要部件之間的關(guān)系;數(shù)據(jù)設(shè)計是將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義;接口設(shè)計是描述軟件內(nèi)部、軟件和操作系統(tǒng)之間及軟件與人之間如何通信;過程設(shè)計則是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程性描述。(16)在結(jié)構(gòu)化程序設(shè)計中,一般較優(yōu)秀的軟件設(shè)計盡量做到高內(nèi)聚、低耦合,這樣有利于提高軟件模塊的獨立性,也是模塊劃分的原則。(17)軟件設(shè)計遵循軟件工程的基本目標(biāo)和原則,建立了適用

20、于在軟件設(shè)計中應(yīng)該遵循的基本原理和與軟件設(shè)計有關(guān)的概念,它們具有抽象、模塊化、信息隱蔽和數(shù)據(jù)獨立性。自底向上是集成測試中增量測試的一種。(18)模塊的獨立程序是評價設(shè)計好壞的重要度量標(biāo)準(zhǔn)。衡量軟件的模塊獨立性使用耦合性和內(nèi)聚性兩個定性的度量標(biāo)準(zhǔn)。一般較優(yōu)秀的軟件設(shè)計,應(yīng)盡量做到高內(nèi)聚,低耦合。(19)系統(tǒng)設(shè)計的質(zhì)量主要反映在模塊的獨立性上。評價模塊獨立性的主要標(biāo)準(zhǔn)有兩個:一是模塊之間的耦合,它表明兩個模塊之間互相獨立的程度;二是模塊內(nèi)部之間的關(guān)系是否緊密,稱為內(nèi)聚。一般來說,要求模塊之間的耦合盡可能地弱,即模塊盡可能獨立,而要求模塊的內(nèi)聚程度盡量地高。綜上所述,選項B)的答案正確。(20)利用

21、信息隱蔽,可以確保每一個模塊的獨立性。(21)模塊之間的耦合程度反映了模塊的獨立性,也反映了系統(tǒng)分解后的復(fù)雜程度。按照耦合程度從強到弱分別是:內(nèi)容耦合、公共耦合、外部耦合、控制耦合、標(biāo)記耦合、數(shù)據(jù)耦合和非直接耦合,沒有異構(gòu)耦合這種方式。(22)總體設(shè)計過程通常由兩個主要階段組成:系統(tǒng)設(shè)計,確定系統(tǒng)的具體實現(xiàn)方案;結(jié)構(gòu)設(shè)計,確定軟件結(jié)構(gòu)。為確定軟件結(jié)構(gòu),首先需要從實現(xiàn)角度把復(fù)雜的功能進(jìn)一步分解。分析員結(jié)合算法描述仔細(xì)分析數(shù)據(jù)流圖中的每個處理,如果一個處理的功能過分復(fù)雜,必須把它的功能適當(dāng)?shù)胤纸獬梢幌盗斜容^簡單的功能。(23)程序流程圖是人們對解決問題的方法、思路或算法的一種圖形方式的描述。其中,

22、圖框表示各種操作的類型,圖框中的文字和符號表示操作的內(nèi)容;流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流;帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。(24)N-S圖是由Nassi 和 Shneiderman 提出的一種符合程序化結(jié)構(gòu)設(shè)計原則的圖形描述工具。它的提出是為了改進(jìn)流程圖在描述程序邏輯時的不靈活性。(25)數(shù)據(jù)流圖DFD是結(jié)構(gòu)化分析方法最主要的一種圖形工具,不屬于過程設(shè)計工具。(26)軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,且為了達(dá)到好的測試效果,應(yīng)該由獨立的第三方來構(gòu)造測試,

23、程序員應(yīng)盡量避免檢查自己的程序。(27)使用人工或自動手段來運行或測定某個系統(tǒng)的過程,目的在于檢驗它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實際結(jié)果之間的差別。軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。測試以查找錯誤為目的,而不是為了演示軟件的正確功能。(28)軟件測試過程中,輔助資源包括測試用例(測試數(shù)據(jù))、測試計劃、出錯統(tǒng)計和最終分析報告等。(29)確認(rèn)測試的任務(wù)是驗證軟件的功能和性能,以及其他特性是否滿足需求規(guī)格說明中確定的各種需求;集成測試的主要目的是發(fā)現(xiàn)與接口有關(guān)的錯誤。(30)因為測試的目的在于發(fā)現(xiàn)錯誤,從心理學(xué)角度講,由程序的編寫者自己進(jìn)行測試是不合適的,為了達(dá)到最好的測試效果,應(yīng)該由

24、獨立的第三方進(jìn)行測試工作,程序調(diào)試,修改一個錯誤的同時可能引入了新的錯誤,解決的辦法是在修改了錯誤之后,必須進(jìn)行回歸測試,;所謂軟件維護(hù),就是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。(31)本題考查軟件工程調(diào)試。調(diào)試與測試是兩個不同的過程,有著根本的區(qū)別:調(diào)試是一個隨機(jī)的、不可重復(fù)的過程,它用于隔離和確認(rèn)問題發(fā)生的原因,然后修改軟件來糾正問題;測試是一個有計劃的、可以重復(fù)的過程,它的目的是為了發(fā)現(xiàn)軟件中的問題。因此,軟件調(diào)試的目的是為了改正軟件中的錯誤。數(shù)據(jù)庫設(shè)計基礎(chǔ)(1)數(shù)據(jù)庫(DataBase,DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),是

25、多種應(yīng)用數(shù)據(jù)的集成,可以被各個應(yīng)用程序所共享。數(shù)據(jù)庫中的數(shù)據(jù)具有“集成”、“共享”的特點。(2)由于數(shù)據(jù)的集成性使得數(shù)據(jù)可被多個應(yīng)用程序共享,特別是在網(wǎng)絡(luò)發(fā)達(dá)的今天,數(shù)據(jù)庫與網(wǎng)絡(luò)的結(jié)合擴(kuò)大了數(shù)據(jù)庫的應(yīng)用范圍,所以數(shù)據(jù)庫技術(shù)的根本問題是解決數(shù)據(jù)的共享問題。(3)數(shù)據(jù)庫管理系統(tǒng)(Database Management System,DBMS)是數(shù)據(jù)庫的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。(4)數(shù)據(jù)庫管理系統(tǒng)DBMS是數(shù)據(jù)庫系統(tǒng)中實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件。它負(fù)責(zé)數(shù)據(jù)庫中所有數(shù)據(jù)的存儲、檢索、修改以及安全保

26、護(hù)等,數(shù)據(jù)庫內(nèi)的所有活動都是在其控制下進(jìn)行的。所以,DBMS包含數(shù)據(jù)庫DB。操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)與應(yīng)用程序在一定的硬件支持下就構(gòu)成了數(shù)據(jù)庫系統(tǒng)。所以,DBS包含DBMS,也就包含DB。綜上所述,選項C)正確。(5)文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨立的,因此相對于數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)數(shù)據(jù)處理存在3個缺點,即數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡稱為數(shù)據(jù)依賴)。(6)數(shù)據(jù)庫技術(shù)的主要目的是有效地管理和存取數(shù)據(jù)資源,包括提供數(shù)據(jù)的共享性,使多個用戶能夠同時訪問數(shù)據(jù)庫中的數(shù)據(jù);減少數(shù)據(jù)的冗余度,以提高數(shù)據(jù)的一致性和完整性;提供數(shù)據(jù)與應(yīng)用程序的獨立性,從而減少應(yīng)用程序的開

27、發(fā)和維護(hù)代價。(7)數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)具有高共享性和低冗余性,但不能完全避免數(shù)據(jù)冗余;數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值。(8)數(shù)據(jù)具有兩方面的獨立性:一是物理獨立性,即由于數(shù)據(jù)的存儲結(jié)構(gòu)與邏輯結(jié)構(gòu)之間由系統(tǒng)提供映象,使得當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)改變時,其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改;二是邏輯獨立性,即由于數(shù)據(jù)的局部邏輯結(jié)構(gòu)(它是總體邏輯結(jié)構(gòu)的一個子集,由具體的應(yīng)用程序所確定,并且根據(jù)具體的需要可以作一定的修改)與總體邏輯結(jié)構(gòu)之間也由系統(tǒng)提供映象,使得當(dāng)總體邏輯結(jié)構(gòu)改變時,其局部邏輯結(jié)構(gòu)可以不變,從而根據(jù)局部邏輯結(jié)構(gòu)編寫的應(yīng)用程序也可以不必修改。綜上所述,

28、本題的正確答案是D)。(9)外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;全局?jǐn)?shù)據(jù)視圖的描述稱為概念模式,即數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述;物理存儲數(shù)據(jù)視圖的描述稱為內(nèi)模式,即數(shù)據(jù)庫在物理存儲方面的描述;存儲模式即為內(nèi)模式。(10)數(shù)據(jù)模型所描述的內(nèi)容有3個部分,它們是數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)約束。其中,數(shù)據(jù)模型中的數(shù)據(jù)結(jié)構(gòu)主要描述數(shù)據(jù)的類型、內(nèi)容、性質(zhì),以及數(shù)據(jù)庫的聯(lián)系等;數(shù)據(jù)操作主要是描述在相應(yīng)數(shù)據(jù)結(jié)構(gòu)上的操作類型與操作方式。(11)兩個實體之間的聯(lián)系實際上是實體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有下面幾種,即一對一的聯(lián)系、一對多(或多對一)的聯(lián)系和多對多的聯(lián)系;概念模型便于向各

29、種模型轉(zhuǎn)換。由于概念模型不依賴于具體的數(shù)據(jù)庫管理系統(tǒng),因此,容易向關(guān)系模型、網(wǎng)狀模型和層次模型等各種模型轉(zhuǎn)換。(12)屬性(Attribute):實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。(13)兩個實體間的聯(lián)系可以歸納為3種類型:一對一聯(lián)系:一對一的聯(lián)系表現(xiàn)為主表中的每一條記錄只與相關(guān)表中的一條記錄相關(guān)聯(lián)。一對多聯(lián)系或多對一聯(lián)系:一對多的聯(lián)系表現(xiàn)為主表中的每一條記錄與相關(guān)表中的多條記錄相關(guān)聯(lián)。多對多聯(lián)系:多對多的聯(lián)系表現(xiàn)為一個表中的多個記錄在相關(guān)表中同樣有多個記錄與其匹配。一個教師可講授多門課程,一門課程可由多個教師講授,所以實體教師和課程間的聯(lián)系是多對多的聯(lián)系。(14)

30、實體之間的聯(lián)系類型主要有一對一、一對多、多對多,按題意可知部門與職員之間的聯(lián)系類型是一對多(1:m), (15)在E-R圖中,用矩形框表示實體,框內(nèi)標(biāo)明實體名;用橢圓框表示實體的屬性,框內(nèi)標(biāo)明屬性名;用菱形框表示實體間的聯(lián)系,框內(nèi)標(biāo)明聯(lián)系名。(16)層次模型是最早發(fā)展出來的數(shù)據(jù)庫模型。它的基本結(jié)構(gòu)是樹形結(jié)構(gòu),這種結(jié)構(gòu)方式在現(xiàn)實世界中很普遍,如家族結(jié)構(gòu)、行政組織機(jī)構(gòu),它們自頂向下、層次分明。(17)關(guān)系模型較之格式化模型(網(wǎng)狀模型和層次模型)有以下幾方面的優(yōu)點,即數(shù)據(jù)結(jié)構(gòu)比較簡單、具有很高的數(shù)據(jù)獨立性、可以直接處理多對多的聯(lián)系,以及有堅實的理論基礎(chǔ)。(18)在關(guān)系模型數(shù)據(jù)庫中,基本結(jié)構(gòu)是二維表,

31、這種二維表稱為關(guān)系。關(guān)系的列稱為屬性,一個具有N個屬性的關(guān)系稱為N元關(guān)系。(19)關(guān)系表中,每一行稱為一個元組,對應(yīng)表中的一條記錄;每一列稱為一個屬性,對應(yīng)表中的一個字段;在二維表中能唯一標(biāo)識元組的最小屬性集稱為該表的鍵或碼。(20在關(guān)系數(shù)據(jù)庫中,一個表就是一個關(guān)系,關(guān)系數(shù)據(jù)庫管理系統(tǒng)管理的關(guān)系就是多個二維表。(21)數(shù)據(jù)模型用來表示實體間的聯(lián)系,但不同的數(shù)據(jù)庫管理系統(tǒng)支持不同的數(shù)據(jù)模型。常用的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關(guān)系模型,層次模型不能表示多對多聯(lián)系,網(wǎng)狀模型和關(guān)系模型都能表示任意一種聯(lián)系。(22)軟件開發(fā)模型包括瀑布模型、快速原型法模型和螺旋模型。(23)關(guān)系運算中的選擇運算是從關(guān)

32、系中找出滿足給定條件的元組的操作;投影運算是從關(guān)系中選擇若干個屬性組成新的關(guān)系的操作;連接運算是關(guān)系的橫向結(jié)合。(24)兩個相同結(jié)構(gòu)關(guān)系的“并”是由屬于這兩個關(guān)系的元組組成的集合。(25)選擇運算是一個一元運算,關(guān)系R通過選擇運算(并由該運算給出所選擇的邏輯條件)后仍為一個關(guān)系。這個關(guān)系是由R中那些滿足邏輯條件的元組所組成。如果關(guān)系的邏輯條件為f,則R滿足f的選擇運算可以寫成:f(R)。(26)關(guān)系運算分為: 傳統(tǒng)的關(guān)系運算(集合運算)進(jìn)行并、差、交集合運算的兩個關(guān)系必須具有相同的關(guān)系模式,即相同結(jié)構(gòu)。在Access中沒有提供傳統(tǒng)的集合運算,可以通過其他操作或編寫程序來實現(xiàn)。 專門的關(guān)系運算選

33、擇:從關(guān)系中找出滿足給定條件的元組的操作稱為選擇。投影:從關(guān)系模式中指定若干個屬性組成新的關(guān)系稱為投影。連接:連接是關(guān)系的橫向結(jié)合。連接運算將兩個關(guān)系模式拼接成一個更寬的關(guān)系模式,生成的新關(guān)系中包含滿足連接條件的元組。(27)本題考查集合運算。在關(guān)系數(shù)據(jù)庫理論中,兩個關(guān)系的并是由屬于這兩個關(guān)系的元組組成的集合,。兩個關(guān)系的交是由既屬于一個關(guān)系又屬于另一個關(guān)系的元素組成的集合,兩個集合的差運算是由從一個集合中去掉另一個集合中有的元素組成。兩個集合的交運算是由既屬于前一個集合又屬于后一個集合的元素組成。(28)本題考查數(shù)據(jù)庫的關(guān)系運算。兩個關(guān)系的并運算是指將第一個關(guān)系的元組加到第二個關(guān)系中,生成新

34、的關(guān)系。因此,并運算不改變關(guān)系表中的屬性個數(shù),也不能減少元組個數(shù)。兩個關(guān)系的交運算是包含同時出現(xiàn)在第一個和第二個關(guān)系中的元組的新關(guān)系。因此,交運算不改變關(guān)系表中的屬性個數(shù),但能減少元組個數(shù)。投影是一元關(guān)系操作。投影操作選取關(guān)系的某些屬性,這個操作是對一個關(guān)系進(jìn)行垂直分割,消去某些屬性,并重新安排屬性的順序,再刪除重復(fù)的元組。因此,投影運算既可以減少關(guān)系表中的屬性個數(shù),也可以減少元組個數(shù)。兩個關(guān)系的笛卡兒積會增加屬性個數(shù)。(29)關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算,包括選擇運算、投影運算、連接運算。(30)R-S表示屬于R但不屬于S,R-(R-S)表示既屬于R又屬于S,即相當(dāng)于RS。(31)

35、關(guān)系R與S經(jīng)交運算后所得到的關(guān)系T是由那些既在R內(nèi)又在S內(nèi)的有序元組所組成。(32)對于兩個關(guān)系的合并操作可以用笛卡兒積表示。設(shè)有n元關(guān)系R和m元關(guān)系S,它們分別有p和q個元組,則R與S的笛卡兒積記為R×S,它是一個m+n元關(guān)系,元組個數(shù)是p×q,由題意可得,關(guān)系T是由關(guān)系R與關(guān)系S進(jìn)行笛卡兒積運算得到的。(33)數(shù)據(jù)庫的生命周期可以分為兩個階段:一是數(shù)據(jù)庫設(shè)計階段;二是數(shù)據(jù)庫實現(xiàn)階段。數(shù)據(jù)庫的設(shè)計階段又分為4個子階段:即需求分析、概念設(shè)計、邏輯設(shè)計和物理設(shè)計。(34)本題考查數(shù)據(jù)庫系統(tǒng)的基本概念和知識。數(shù)據(jù)的邏輯結(jié)構(gòu),是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)

36、系,而不管其在計算機(jī)中的存儲方式。數(shù)據(jù)的存儲結(jié)構(gòu),又叫物理結(jié)構(gòu),是邏輯結(jié)構(gòu)在計算機(jī)存儲器里的實現(xiàn)。這兩者之間沒有必然的聯(lián)系。數(shù)據(jù)庫可以看成是長期存儲在計算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫具有為各種用戶所共享的特點。不同的用戶可以使用同一個數(shù)據(jù)庫,可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫的根本目標(biāo)是要解決數(shù)據(jù)的共享問題。(35)E-R圖向關(guān)系模型的轉(zhuǎn)換原則: 一個實體型轉(zhuǎn)換為一個關(guān)系模型,實體的屬性就是關(guān)系的屬性,實體的鍵就是關(guān)系的鍵; 一個聯(lián)系轉(zhuǎn)換為一個關(guān)系模式,與該聯(lián)系相連的每個實體型的鍵以及聯(lián)系的屬性都轉(zhuǎn)換為關(guān)系的屬性。這個關(guān)系的鍵分為以下三種不同的情

37、況:若聯(lián)系為1:1,則相連的每個實體型的鍵均是該關(guān)系模式的候選鍵。若聯(lián)系為1:n,則聯(lián)系對應(yīng)的關(guān)系模式的鍵取n端實體型的鍵。若聯(lián)系為m:n,則聯(lián)系對應(yīng)的關(guān)系模式的鍵為參加聯(lián)系的諸實體型的鍵的組合。程序設(shè)計基本概念(1)本題考核的知識點是C程序的基本概念。C語言一種高級語言,C語言源程序經(jīng)過C語言編譯程序編譯之后,生成一個后綴為.obj的二進(jìn)制文件(稱為目標(biāo)文件),最后還要由稱為“連接程序”(Link)的軟件,把此.obj文件與C語言提供的各種庫函數(shù)連接在一起,生成一個后綴.exe的可執(zhí)行文件。顯然C語言不能立即執(zhí)行。 (2)本題考查的是C程序的基本概念。C語言是一種高級語言,C語言源程序經(jīng)過C

38、語言編譯程序編譯之后,生成一個后綴為.obj的二進(jìn)制文件(稱為目標(biāo)程序),最后還要由稱為“連接程序”(Link)的軟件,把此.obj文件與C語言提供的各種庫函數(shù)連接在一起,生成一個后綴.exe的可執(zhí)行程序。顯然C語言源程序不能立即執(zhí)行, (3)一個C 語言的源程序(后綴名為. c)在經(jīng)過編譯器編譯后,先生成一個匯編語言程序,然后由編譯程序再將匯編語言程序翻譯成機(jī)器指令程序,即目標(biāo)程序(后綴為.obj),目標(biāo)程序不可以直接運行,它要和庫函數(shù)或其他目標(biāo)程序連接成可執(zhí)行文件(后綴名為. exe)后方可運行。(4)本題考查的是算法的特性。一個算法應(yīng)當(dāng)具有以下5個特性:有窮性;確定性;可行性;有零個或多

39、個輸入;有一個或多個輸出。簡潔性不屬于這5個特性, (5)本題考核的知識點是算法的性質(zhì)。算法是為解決某個特定問題而采取的確定的且有限的步驟,一個算法應(yīng)當(dāng)具有以下5個基本特性: 有窮性,就是指一個算法應(yīng)當(dāng)包含有限個操作步驟。 確定性,就是說算法中每一條指令必須有確切的含義,不能有二義性,對于相同的輸入必能得出相同的執(zhí)行結(jié)果。 有零個或多個輸入。 可行性,就是說算法中指定的操作,都可以通過已經(jīng)實現(xiàn)的基本運算執(zhí)行有限次實現(xiàn),有一個或多個輸出。(6)一個算法應(yīng)當(dāng)具有5個特性,即有窮性、確定性、可行性、有零個或多個輸入以及有一個或多個輸出。算法的確定性是指:算法中每一條指令必須有確切的含義,讀者理解時不

40、會產(chǎn)生二義性。并且在任何條件下,算法只有唯一的一條執(zhí)行路徑,即對于相同的輸入只能得出相同的執(zhí)行結(jié)果。(7算法具有的5個特性是:有窮性;確定性;可行性;有0個或多個輸入;有一個或多個輸出。所以說,用C 程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出。(8)本題考核的知識點是C程序的3種基本結(jié)構(gòu)。C程序由3種基本的結(jié)構(gòu)組成,分別為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),這3種結(jié)構(gòu)可以組成任何復(fù)雜的C程序,即可以完成任何復(fù)雜的任務(wù),故選項B)、選項C)和選項D)都不正確。所以,4個選項中選項A)符合題意。C程序設(shè)計的初步知識(1)在C 語言所有的運算符中,逗號運算符的優(yōu)先級最低。C 語言中區(qū)分大小寫,所以APH 和

41、aph 是兩個不同的變量。賦值表達(dá)式a=b表示將b的值賦給a,而b 本身的值保持不變,通過鍵盤可以向計算機(jī)輸入允許的任何類型的數(shù)據(jù)。選項D)中當(dāng)從鍵盤輸入數(shù)據(jù)時,對于整型變量可以輸入整型數(shù)值和字符,對于實型變量可以輸入實型數(shù)值和整型數(shù)值等。(2)C)【解析】本題主要考查的知識點是運算符的優(yōu)先級和結(jié)合性。解本題的關(guān)鍵在于表達(dá)式z = x+、y+、+y的計算,其中有三種運算符“=”、“,”和“+”,它們的優(yōu)先級從高到低依次是“+”、“=”和“,”,所以原表達(dá)式就相當(dāng)于(z = (x+), (y+), (+y)。自增運算符“+”是單目運算符,即它只對一個運算分量起作用,根據(jù)其在運算分量的前面或后面分

42、為前綴和后綴兩種形式。兩種形式的作用效果是一樣的,都是使運算分量的值加1,但是它們的表達(dá)式的值不一樣,前綴形式表達(dá)式的值為運算分量加1之后的值,后綴形式表達(dá)式的值為運算分量加1之前的值。(3)C)【解析】求余運算符“%”兩邊的運算對象必須是整型,而選項B)和D)中“%”兩邊的運算對象有浮點數(shù)據(jù),所以選項B)和D)是錯誤的表達(dá)式。在選項A)中賦值表達(dá)式左側(cè)要為“左值”,也是錯誤的。選項C)是一個逗號表達(dá)式,所以正確答案為C)。(4)D)【解析】考查printf 函數(shù)的相關(guān)知識。輸出格式控制符%c 表示將變量以字符的形式輸出;輸出格式控制符%d 表示將變量以帶符號的十進(jìn)制整型數(shù)輸出,所以第一個輸出

43、語句輸出的結(jié)果為a,97;第二個輸出語句輸出的結(jié)果為k=12。所以選項D)為正確答案。(5)D)【解析】本題主要考查的是標(biāo)準(zhǔn)輸出函數(shù)printf。printf函數(shù)在進(jìn)行參數(shù)匹配時,并不會檢查參數(shù)類型是否一一匹配,也不會檢查參數(shù)個數(shù)是否一致,而是從它認(rèn)為應(yīng)該是第1個參數(shù)地址的內(nèi)存位置開始,依次將內(nèi)存中的內(nèi)容逐個匹配給格式化字符串內(nèi)所給定的各個類型。因此,前一個printf調(diào)用,兩個ch分別匹配給%c和%d,而參數(shù)k多余,被拋棄。所以會輸出“a,97,”(字符a的ASCII值為97)。后一個printf很正常,這里就不解釋了。故應(yīng)該選擇D)。(6)B)【解析】本題主要考查的知識點是:整型常量。整型

44、常量有十進(jìn)制、八進(jìn)制和十六進(jìn)制3種表示:十進(jìn)制整數(shù)以正號(+)或負(fù)號(-)開頭,由首位非0的一串十進(jìn)制數(shù)字組成,正負(fù)號也可省略,表示正整數(shù);八進(jìn)制整數(shù)以數(shù)字0開頭,后面接若干個八進(jìn)制數(shù)字(07);十六進(jìn)制整數(shù)以數(shù)字0和字母x(大、小寫均可)開頭,后面接若干個十六進(jìn)制數(shù)字(數(shù)字09和字母AF,大、小寫均可)。故本題是以無符號整數(shù)形式輸出一個十六進(jìn)制整數(shù)FFFF,將其轉(zhuǎn)換為十進(jìn)制就是65535,故本題應(yīng)該選擇B)。(7)C)【解析】本題考核的知識點是輸出函數(shù)printf()的應(yīng)用。本題中,printf("%2d,%2dn",x,y)表示輸出形式是十進(jìn)制整數(shù),域?qū)捠?,而在C語言

45、中規(guī)定:當(dāng)域?qū)捫∮趯嶋H寬度時域?qū)挷黄鹱饔?,按實際寬度輸出,因此最后的輸出值為102和10,所以選項C)符合題意。(8)B)【解析】本題考核的知識點是printf()函數(shù)的簡單應(yīng)用。程序中的printf()函數(shù)的輸出格式部分只說明了一個%d,而輸出成員列表卻有a和b兩個成員,在這里將只輸出第一個成員a值為666,所以,4個選項中選項B)符合題意。(9)C)【解析】本題考查的知識點是:格式化輸出的應(yīng)用。printf函數(shù)的調(diào)用形式:printf(格式控制,輸出項1,輸出項2,),該題的輸出項為一個逗號表達(dá)式,該表達(dá)式的值為b的值,因此輸出結(jié)果為888,故本題選C)。(10)C)【解析】本題考查的知識

46、點是:標(biāo)準(zhǔn)輸入函數(shù)scanf()。scanf()函數(shù)要求,除了第1個參數(shù)為格式化字符串以外,其余參數(shù)均為相應(yīng)變量的地址值。本題中,只有p是地址值,故應(yīng)該選擇C)。(11)B)【解析】考查格式輸入函數(shù)scanf 的使用。scanf 函數(shù)的一般格式是:scanf( 格式控制,地址表列),該格式中,地址表列中應(yīng)是變量地址,而不是變量名。(12)A)【解析】本題的考查點是格式輸入函數(shù)。格式輸入函數(shù)的一般形式:scanf( 格式控制,地址表列) 。需要注意的是:如果在“格式控制”字符串中除了格式說明以外還有其他字符,則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符。所以輸入的兩個數(shù)字之間的逗號是不可少的。故本題

47、答案為A)。(13)B)【解析】本題考查的是輸入函數(shù)scanf()基本用法。使用該語句時,要求除格式控制符以外的字符都要原樣輸入,“,”為非格式符,要原樣輸入。選項B)中沒有輸入非格式符“,”,所以是不正確的。(14)B)【解析】本題考查了格式輸入函數(shù)scanf()的運用。scanf()函數(shù)的一般形式為: scanf(格式控制,地址表列)。其中,“格式控制”是用雙引號括起來的字符串,也稱“轉(zhuǎn)換控制字符串”,它包括兩種信息: 格式說明,由“%”和格式字符組成; 普通字符,即需要原樣輸入的字符?!暗刂繁砹小笔切枰邮蛰斎霐?shù)據(jù)的一系列變量的地址。本題中的“格式控制”是“%2d%f”,其中%2d的意思

48、是要輸入一個整數(shù),但該整數(shù)最寬只占2個字符,而%f是要輸入一個浮點數(shù)。而題目要求輸入的是876 543.0,所以scanf()函數(shù)將87賦給a,6賦給b。(15)B)【解析】本題考查通過scanf 函數(shù)輸入數(shù)據(jù)時的格式控制問題。變量j 的格式控制為“%2d”,即只接收輸入數(shù)據(jù)的前兩位,從第三位開始直到空格之間的輸入都會被保存到變量y 中,因為y 為浮點型數(shù)據(jù),所以輸出結(jié)果為選項B)。(16)D)【解析】若在scanf 的格式化控制串中插入了其他字符,則在輸入時要求按一一對應(yīng)的位置原樣輸入這些字符。格式化輸入函數(shù)必須嚴(yán)格按照雙引號里面的格式進(jìn)行輸入。在格式化輸出函數(shù)中,格式控制串中除了合法的格式

49、說明外,可以包含任意的合法字符。(17)D)【解析】選項D)為兩條語句??键c7答案:選擇結(jié)構(gòu)(1)D)【解析】因為x 的值為大于1 的奇數(shù),所以x 除以2 的余數(shù)等于1,因此,選項A)、C)中表達(dá)式的結(jié)果為真,不為0;對于選項B)來說,x 除以2 的商不會等于0;選項D)中表達(dá)式的結(jié)果為假,即等于0。(2)D)【解析】本題考查的是判斷奇偶數(shù)。選項A)、B)和C)中都是當(dāng)k是奇數(shù)時表達(dá)式的值為1,否則為0。而選項D)中因為邏輯非!運算符的優(yōu)先級最高,所以當(dāng)k為0的時候!k的值為1,整個表達(dá)式的值也就是1,而當(dāng)k為非0的時候!k的值為0,整個表達(dá)式的值為0。所以本題應(yīng)該選擇D)。(3)B)【解析】

50、本題主要考查的是C語言中的整除、求余以及邏輯值的概念。在C語言中,/號的兩邊如果都是整數(shù)的話,返回的結(jié)果也是整數(shù),如果除不凈則舍去小數(shù)部分。%是求余運算,它的運算對象只能是整型,運算結(jié)果是兩數(shù)相除后所得的余數(shù),當(dāng)運算量為負(fù)數(shù)時,結(jié)果的符號與被除數(shù)相同。因此,執(zhí)行語句“a=d/10%9;”后,a=25/10%9=2%9=2。C語言中沒有專門的邏輯值,而是用整型值來代替。當(dāng)整型值作邏輯值使用時,非零即表示“真”,零表示“假”,而邏輯值當(dāng)整型值使用時,“真”等于1,“假”等于0。因此,執(zhí)行語句“b=a&&(-1);”后輸出結(jié)果為2,1。(4)C)【解析】本題考查的知識點是邏輯表達(dá)式。

51、C語言編譯系統(tǒng)在給出邏輯運算結(jié)果時,以數(shù)值1代表“真”,以0代表“假”,但在判斷一個量是否為“真”時,以0代表“假”,以非0代表“真”。即將一個非零的數(shù)值認(rèn)作為“真”。要讓本題中的條件表達(dá)式(x-y)的結(jié)果為真,也就是要使(x-y)的值非零,即大于0或者小于0,故等價的表達(dá)式應(yīng)該是選項C)。(5)D)【解析】本題考查的是邏輯運算符。C語言中,邏輯運算符的兩個運算分量可以是任意合法的表達(dá)式。故本題應(yīng)該選擇D)。(6)B)【解析】本題主要考查的是邏輯表達(dá)式。選項A)中的表達(dá)式的意思是kk大于等于'A'且小于等于' Z' ,因此只有當(dāng)kk是一個大寫字母的時候,該表達(dá)式

52、才能被滿足,所以選項A)能夠判斷出kk中的值為大寫字母。我們知道(kk+32)>=' a' 等價于kk>='a'-32,又因為相同的大小寫字母的ASCII值,小寫字母的要比大寫字母大32。所以'a'-32等于'A'。故選項C)和選項A)是等價的。isalpha()函數(shù)的功能是判斷一個參數(shù)是否為字母。又因為小寫字母的ASCII值范圍是97122,大寫字母的ASCII值范圍是6590,當(dāng)判斷是字母且值小于91時一定是大寫字母,所以選項D)能夠判斷出kk中的值為大寫字母。(7)C)【解析】本題考查的是邏輯表達(dá)式。在C語言中,

53、整型值可以轉(zhuǎn)換為邏輯值,規(guī)則是當(dāng)整型值為0時,它表示邏輯假;當(dāng)整型值不為0時,它表示邏輯真。所以題目中的while(E)循環(huán)是當(dāng)E等于0時,循環(huán)結(jié)束,E不等于0時,繼續(xù)循環(huán)。選項C)中,當(dāng)E等于0時,表達(dá)式“E=0”為真繼續(xù)循環(huán),而E不等于0時,表達(dá)式為假則循環(huán)結(jié)束,這與題目中的條件不等價,故應(yīng)該選擇C)。(8)B)【解析】本題主要考查的是邏輯表達(dá)式。選項A)中表達(dá)式的意思是:當(dāng)c等于2或4或6時,表達(dá)式的值為真,否則為假。所以不滿足題意。選項C)中表達(dá)式的意思是:當(dāng)c大于等于2且小于等于6,并且c不是奇數(shù)時,表達(dá)式的值為真,否則為假。這樣,滿足該表達(dá)式的c,只能取值為2、4、6了,所以也不滿

54、足題意。選項D)中后面一個子表達(dá)式(c%2!=1)和選項C)中的!(c%2)是等價的。都是判斷c不是奇數(shù)。因此也不滿足題意。故本題正確答案為B)。(9)B)【解析】本題中a 的值為6,b 的值為8,最后s 的值為8,s*=s 等價于s=s*s。(10)A)【解析】本題考查的是if語句。本題是一道陷阱題,語句if (a>b) a=b, b=c; c=a;看上去好像a=b,b=c; c=a;都是if的子句,其實只有第1個分號及其之前的語句a=b, b=c;是if的子句,c=a;是緊接著的語句,跟if的條件無關(guān),始終會被運行的。題目中,a=10,b=50,所以a>b條件為假,那么a=b,

55、 b=c;不會被執(zhí)行,而c=a;會被執(zhí)行。所以最終輸出結(jié)果是a=10 b=50 c=10,應(yīng)該選擇A)。(11)B)【解析】本題是一個陷阱題,以書寫格式來考查考生對if語句的理解。if語句只對緊跟其后的一條語句或語句塊產(chǎn)生作用。因此,題目中兩條if語句只有a=b;和c=b;是if的子句。第1條if語句中a>b為假,所以跳過語句a=b;,執(zhí)行c=a;后,a=3、b=5、c=3。第2條if語句的判斷條件c!=a為假,所以跳過語句c=b;。故最終輸出的結(jié)果是:3,5,3,應(yīng)該選擇B)。(12)C)【解析】本題考查簡單的ifelse 語句。先執(zhí)行條件if(a<b),顯然不成立,再執(zhí)行els

56、e 語句。(13)C)【解析】考查if 語句的使用。整個語句都是以a<b 為假設(shè)的,在a<b 的情況下,如果c=d,則y=0;否則y=1。所以答案為選項C)。(14)D)【解析】本題考核的知識點是if語句的用法。選項A)、選項B)和選項C)都是在a的值為0的時候輸出y,a不為0的時候輸出x,而選項D)是在a為0的時候輸出x,a不為0的時候輸出y。所以,4個選項中選項D)符合題意。(15)C)【解析】本題考查的知識點是:if與else的配對原則。else語句總是與前面最近的不帶else的if相結(jié)合,故本題選C)。(16)D)【解析】ifelse 語句的執(zhí)行過程如下,首先計算if 后面

57、一對圓括號內(nèi)表達(dá)式的值,若表達(dá)式的值為非0,執(zhí)行if 子句,然后跳過else 子句,去執(zhí)行if 語句后的下一條語句;若表達(dá)式的值為0,跳過if 子句,去執(zhí)行else 子句,接著去執(zhí)行if 語句后的下一條語句。C 語言的語法規(guī)定,else子句總是與前面最近的不帶else 的if 匹配,與書寫格式無關(guān),本題目的后一個ifelse 相當(dāng)于嵌套在第一個if 子句里,相當(dāng)于x<y&&y<0 時,z=0;當(dāng)x<y&&y>=0 時,z=z+1。(17)D)【解析】本題考查的是ifelse語句。C語言規(guī)定else總是與最近的if搭配,因此程序中else與

58、第二個if搭配。程序首先判斷(x>y),為假,所以跳過后面的整個ifelse語句。執(zhí)行到輸出語句時,x的值仍為1,x+返回x增1之前的結(jié)果1,故應(yīng)該選擇D)。(18)C)【解析】本題考查了if語句的嵌套。在嵌套的if語句中,else總是與它上面最近的且不帶else的if配對。因此本題的正確答案為選項C)。(19)C)【解析】該題目測驗考生對ifelse if 結(jié)構(gòu)的理解,比較簡單。x 的值滿足x<10.0 的關(guān)系,所以程序?qū)?zhí)行y=1.0/ x;語句,y 的值應(yīng)該等于0.5。最后,用printf 函數(shù)輸出時,%f 的輸出格式為小數(shù)點后保留6 位。(20)A)【解析】本題考查的是條件表達(dá)式的嵌套。因為條件運算符的結(jié)合方向為“自右至左”,所以表達(dá)式a<b?a:c<d?c:d相當(dāng)于a<b?a:(c<d?c:d)。由于a=1,b=4,所以a<b的結(jié)果為“真”,所以整個表達(dá)式的值為a的值1。所以,4個選項中選項A)符合題意。(21)B)【解析】本題考查的知識點是條件表達(dá)式。條件運算符?:是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

提交評論