模擬題三評析

2023-01-20 23:03:02 字數 6671 閱讀 2288

一、選擇題

(1)d)解析:結構化程式設計方法的主要原則是:自頂向下,逐步求精,模組化,限制使用goto語句。

可復用性是指軟體元素不加修改和稍加修改可在不同的軟體開發過程中重複使用的性質。軟體可復用性是軟體工程追求的目標之一,是提高軟體生產效率的最主要方法。物件導向的程式設計具有可復用性的優點。

(2)a)解析:模組的獨立程度可以由兩個定性標準度量:內聚性和耦合性。

耦合衡量不同模組彼此間互相依賴(連線)的緊密程度;內聚衡量乙個模組內部各個元素彼此結合的緊密程度。一般來說,要求模組之間的耦合盡可能地弱,而要求模組的內聚程度盡可能的高。

(3)d)解析:因為測試的目的在於發現錯誤,從心理學角度講,由程式的編寫者自己進行測試是不合適的,為了達到最好的測試效果,應該由獨立的第三方進行測試工作,所以選項a)錯誤;程式除錯,修改乙個錯誤的同時可能引入了新的錯誤,解決的辦法是在修改了錯誤之後,必須進行回歸測試,所以選項b)錯誤;所謂軟體維護,就是在軟體已經交付使用之後,為了改正錯誤或滿足新的需要而修改軟體的過程,可見選項c)也是錯誤的。

(4)b)解析:棧的特點是棧頂元素總是最後被插入的元素,也是最早被刪除的元素;棧底元素總是最早被插入的元素,也是最晚才能被刪除的元素。即棧的修改原則是「後進先出」(last in first out,簡稱lifo) 或「先進後出」(first in last out,簡稱filo),因此,棧也稱為「後進先出」表或「先進後出」表。

(5)a)解析:所謂線性鍊錶,就是指線性表的鏈式儲存結構,簡稱鍊錶。線性表鏈式儲存結構的基本單位稱為儲存結點,每個儲存結點包括資料域和指標域兩個組成部分。

棧、佇列和雙向鍊錶是線性結構,二叉樹是非線性結構。線性結構和非線性結構是從資料的邏輯結構角度來講的,與該資料結構中有多少個元素沒有關係,即使是空的二叉樹也是非線性結構。

(6)d)解析:後序遍歷可以描述為:若二叉樹為空,則空操作;否則:

①後序遍歷左子樹;

②後序遍歷右子樹;

③訪問根結點。

對於後序遍歷,第乙個訪問的結點一定是最左下的結點,最後乙個訪問的結點一定是根結點,如果知道這個小技巧,可以迅速確定本題的答案為選項d)。

(7)c)解析:滿二叉樹是指除最後一層外,每一層上的所有結點都有兩個子結點的二叉樹。滿二叉樹在其第i層上有2i-1個結點,即每一層上的結點數都是最大結點數。

對於深度為7的滿二叉樹,葉子結點所在的是第7層,一共有27-1=64個葉子結點。

(8)d)解析:兩個實體集之間的聯絡實際上是實體集間的函式關係,主要有3種:一對一的聯絡,一對多的聯絡,多對多的聯絡。

「商品」與「顧客」兩個實體集之間的聯絡一般是多對多,因為,一種 「商品」可以被多個「顧客」購買,而乙個「顧客」也可以購買多個「商品」。

(9)a)解析:在er圖中,用矩形表示實體集,用橢圓形表示屬性,用菱形(內部寫上聯絡名)表示聯絡。

(10)c)解析:db即資料庫(database),是統一管理的相關資料的集合;dbms即資料庫管理系統(database management system),是位於使用者與作業系統之間的一層資料管理軟體,為使用者或應用程式提供訪問db的方法;dbs即資料庫系統(database system)由如下5部分組成,資料庫(資料)、資料庫管理系統(軟體)、資料庫管理員(人員)、系統平台之一——硬體平台(硬體)、系統平台之二——軟體平台(軟體)。

(11)c)解析:c語言規定,標誌符由字母、數字或下劃線組成,它的第乙個字元必須是字母或下劃線。

(12)c)解析:數值常量包括整型常量和字元常量。在用字母e(或e)表示指數形式的實型常量時,字母e(或e)之前必須有數字且字母e(或e)後面的指數必須為整數。

(13)a)解析:字元常量是括在一對單引號內的字元。選項a)『\018』是八進位制字串格式,所以裡面的數不能大於8。選項b)、c)、d)都是轉義字元。

(14)d)解析:這道題要注意2/5的結果是2,因為運算子兩邊的數值型別均為整型,故運算結果的數值型別也被認定為整型。

(15)d)解析:字串常量是用一對雙引號括起來的字串行,用字元陣列來存放,不用大括號。

(16)b)解析:二維陣列的初始化有以下幾種形式:①分行進行初始化。

②不分行的初始化。③部分陣列元素初始化。④省略第一維的定義,不省略第二維的定義。

選項b)等號右邊分了3行,大於等號左邊陣列的行數2。

(17)b)解析:canf()語句用「空格」區別不同的字串;getc()與getchar()語句不能用於字串的讀入。

(18)b)解析:選項a)main();的分號是錯誤的,不能有分號;選項c)的注釋語句多了兩個*號;選項d)include前面沒有#。

(19)c)解析:c語言中,switch語句專用於實現多分支結構程式,其特點是各分支清晰而直觀。switch後面括號中可以是任何表示式,取其整數部分與各常量表示式進行比較。

常量表示式中不能出現變數,且型別必須是整型、字元型或列舉型,各常量表示式各不相同。

(20)a)解析:在呼叫子函式時,應對其進行說明。選項a)中,呼叫時,沒有對子函式進行說明。

選項b)、c)中被呼叫函式在主調函式之前定義,不用說明;選項d)中在主調函式中對被呼叫函式的返回值型別進行了說明。

(21)c)解析:e代表不是0的整數。在選項a)、b)、d)中的switch後面的表示式都是e不等於0為真。

(22)a)解析:while語句的功能是:計算表示式的值,如為真,則執行迴圈體語句,執行完畢後,再計算表示式的值,若仍為真,則重複執行迴圈體語句。

直到表示式的值為假時,結束迴圈。ch=getchar()應加乙個括號,表示輸入字元的函式。

(23)b)解析:返回值為指標變數指向的資料,該資料已被定義為整型。

(24)d)解析:p=&a表示將變數a的位址送給指標p; scanf(「%lf」,p)表示用鍵盤輸入的數給變數p位址中。

(25)d)解析:r->next=q,這時r指向的節點為q; p->next=r, 這時p指向的節點為r; q->next=r->next,因為r節點已經指向q,所以執行這個語句後q又指向q,所以不對。

(26)c)解析:->的運算優先順序比++高,此時,pt->=10,執行自加運算後為11。

(27)b)解析:函式feof的功能是:測試fp所指的檔案的位置是否已達到檔案尾,如果達到檔案尾,則函式返回非0值,否則返回0,表示檔案尚未結束。

(28)d)解析:^為按位異或運算子;《為左移運算子。b<<2二進位制左移兩位,後得8,與a進行或運算後,得9。

(29)d)解析:putchar(c1)輸出1,putchar(c2)輸出2,printf(「%c%c\n」,c5,c6)輸出45。

(30)b)解析:while(y--)執行後,y若大於1,則迴圈,等y=0時,迴圈結束,並執行自減運算,得-1。

(31)d)解析:else子句不能作為語句單獨使用,在題中if 與else 語句被 「c=2;」語句分隔開了。

(32)b)解析:此程式考察了for迴圈和x++。對於大迴圈,有兩個x++,其中迴圈3次,對於小迴圈,迴圈三次,但是執行了兩次x++,所以最後結果是6+2=8。

(33)c)解析:題中變數w的定義為double型,函式fun2()的定義為int型,按照各類數值型資料間的混合運算,整型資料被轉換為實型資料。

(34)b)解析:本題考查多維陣列的初始化。使用乙個大括號初始化多維陣列時,初始化原則為先列後行,即初始化完第一行的所有列後再初始化下一行的元素。

程式輸出t[2][0]、t[1][1]、t[0][2],它們的值分別為3、5、7。

(35)b)解析:此程式是統計一周七天中英文名稱首字母為「t」的個數。p[i][0]是字串的首字元,一共有兩個「t」,所以n=2。

(36)c)解析:統計1~9九個數中的奇數和,此題考察指向陣列的指標。c語言規定陣列名代表陣列的首位址,也就是第乙個元素的位址。

因此*(t+i)代表陣列的第i+1個元素。程式執行的結果是1+2+3+4+5+6+7+8+9=25。

(37)a)解析:(*q)++是q所指的字元加1,q++就是指標移到下乙個字元。

(38)c)解析:這是乙個轉換程式:低位元組相互轉換,高位元組不變。「abc」的ab和「123」的12相互轉化。

(39)a)解析:本程式考察的是函式的遞迴呼叫,在呼叫乙個函式的過程中又出現直接或間接地呼叫該函式本身,稱為函式的遞迴呼叫,執行結果為1+2+3+4+5+6+7+8+9+10=55。

(40)c)解析:內部靜態變數是始終存在的,當函式被呼叫退出後,內部靜態變數會儲存資料,再次呼叫該函式時,以前呼叫時的數值仍然保留著。fun(a,5)的值是15,再次呼叫後sum=15,所以fun(b,4)=45,s=45+15=60。

(41)a)解析:因為聯合的兩個變數共用一段記憶體,ch[0]占用低位元組,ch[1]占用高位元組,所以在讀它們的時候還是原來的資料,沒發生改變。

(42)c)解析:while(p[i][j]!=′\0′)表示p[i][j]不等於′\0′時,繼續執行while中的語句。

if語句表示(p[i][j]-′\0′)除2的餘數不為0時,執行後面的語句。最後執行的結果是39。

(43)a)解析:第一次fwrite操作把fortran寫到檔案fp中,第二次操作,把basic寫入檔案fp中,此時把fortr字元覆蓋了,所以最後輸出的是basican。

(44)d)解析:並不是源程式中的所有行都參加編譯。在條件編譯形式下,相關內容只在滿足一定條件時才進行編譯。選項d)中的非執行語句不在其範圍內。

(45)b)解析:演算法應該具有下列五個特性:

①有窮性:乙個演算法必須在執行有窮步之後結束。

②確定性:演算法中的每一步,必須有確切的含義,在他人理解時不會產生二義性。

③動態性:演算法中描述的每一步操作都可以通過已有的基本操作執行有限次實現。

④輸入:乙個演算法應該有零個或多個輸入。

⑤輸出:乙個演算法應該有乙個或多個輸出。這裡所說的輸出是指與輸入有某種特定關係的量。

(46)d)解析:形參是函式定義時由使用者定義的形式上的變數,實參是函式呼叫時,主調函式為被調函式提供的原始資料。在c語言中,實參向形參傳送資料的方式是「值傳遞」。

(47)a)解析:str[0]、*p都指向字串的首位址。選項b)不能說str和p完全相同,p是指標,而str是陣列。

選項c)中str陣列的長度是20,而p的長度是字串的長度。選項d)中,str中存放的內容是字串,而p存放的內容是位址。

(48)d)解析:模運算「%」也稱為求餘運算,運算子要求兩個運算物件都為整型,其結果是整數除法的餘數。

(49)b)解析:預處理命令可以放在程式中的任何位置,其有效範圍是從定義開始到檔案結束。預處理命令有巨集定義、檔案包含和條件編譯三類。

<>只是其中的乙個檔案,並不說每次預處理命令都用此檔案。

(50)a)解析:關鍵字typedef的作用只是將c語言中的已有的資料型別作了置換,並不是增加新的型別。

二、填空題

(1)【1】45

解析:對長度n為10的線性表進行氣泡排序,最壞情況下需要比較的次數為n(n-1)/2=5×9=45。

(2)【2】類

解析:在物件導向方法中, 類(class)描述的是具有相似屬性與操作的一組物件,而乙個具體物件則是其對應類的乙個例項(instance)。

(3)【3】關係

解析:在關係模型中,把資料看成是二維表,每乙個二維表稱為乙個關係 。

(4)【4】靜態分析(靜態測試)

解析:原則上講,可以將軟體測試方法分為兩大類,即靜態測試和動態測試。靜態測試無須執行被測**,而是借助專用的軟體測試工具評審軟體文件或程式,度量程式靜態複雜度,檢查軟體是否符合程式設計標準,藉以發現編寫的程式的不足之處,減少錯誤出現的概率。

動態測試,是使被測**在相對真實環境下執行,從多角度觀察程式執行時能體現的功能、邏輯、行為、結構等的行為,以發現其中的錯誤現象。程式測試分為靜態測試和動態測試。靜態測試一般是指人工評審軟體文件或程式,藉以發現其中的錯誤。

由於被評審的文件或程式不必執行,所以稱為靜態測試。

(5)【5】物理獨立性

解析:當資料的儲存結構改變時,其邏輯結構可以不變,因此,基於邏輯結構的應用程式不必修改,稱為物理獨立性。當資料庫總體邏輯結構改變,不需要修改應用程式,這是資料的邏輯獨立性。

(6)【6】printf(「a=%d,b=%d」,a,b);

解析:printf是格式化輸出函式。

(7)【7】(a+b>c)&&(a+c>b)&&(b+c>a)

解析:三角形的條件是兩邊之和大於第三邊。要用「&&」指令連線三個條件,表示三個條件都要滿足。

(8)【8】30

解析:程式執行後的結果是a[0][0]+a[0][2]+a[1][1]+a[1][1]+a[2][2]+a[2][0]=1+9+4+4+7+5=30

(9)【9】a*b*c*d*

解析:在子程式中,如果條件成立,則執行下面的語句,如果不成立,跳過。最後的輸出結果是a*b*c*d*。

(10)【10】11

解析:此題涉及函式的呼叫和if語句。程式先執行第二個if語句,然後在執行第乙個if語句,最後用return返回數值。

(11)【11】!knaht

解析:此程式是一道次序顛倒題,即輸入「thank!」,則輸出「!knaht」。

(12)【12】p+n

解析:n++到一定數值,就找到所指的字元,返回c的位址。

(13)【13】i<10

【14】j%3!=0

解析:(j=i*10+6)<100,所以i 的範圍是0-9之間。j=i*10+6滿足了個位數為6的要求,因此這個條件應該滿足能被3整除這個要求。

(14)【15】return 0

【16】return 1

解析:如果a能被i整除,則a是素數,返回值為0。如果a不能被i整除,則a不是素數,返回值為1。

(15)【17】ch++

【18】printf(「\n」);

(16)【19】p!=null

【20】p->next

初三數學模擬題

9 下圖是小明用八塊小正方體搭成的積木,請問該幾何體的主檢視是 10 如果乙個定值電阻r兩端所加電壓為5伏時,通過它的電流為1安培,那麼通過這一電阻的電流i隨它的兩端電壓u變化的影象是 11 如圖是5 5的正方形網路,以點d e為兩個頂點作位置不同的格點三角形,使所作的 格點三角形與 abc全等,這...

2019英語全國卷三主觀題評析

語法填空 短文改錯和書面表達資料統計及分析 語法填空資料統計 本題考點分布比較穩定,動詞時態 非謂語動詞和副詞還是每年的必考項,但對副詞的考查更加靈活 以往考查加 ly的情況,今年考查副詞的最高端 短文改錯資料統計 本題講述了作者在寫作課上克服膽怯 主動舉手朗讀自己的作文的故事。考點覆蓋面廣,十處錯...

2019高三化學模擬題

6 相同條件下,等體積 等ph的醋酸溶液和鹽酸分別加水稀釋後,溶液的ph仍相同,則所得溶液的體積 a 仍相同 b 醋酸大 c 鹽酸大d 無法判斷 7 阿伏加德多常數約為6.02 1023mol 1,下列敘述中正確的是 a 標準狀況下,11.2lno2與n2o4混合氣體中所含分子數約為5 6.02 1...