版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——全國(guó)計(jì)算機(jī)等考試二C語(yǔ)言真題2023年09月二級(jí)C語(yǔ)言真題
一、選擇題
以下各題A>、B>、C>、D>四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是下確的。1.—個(gè)棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧則元素出棧的順序______。A>12345ABCDEB>EDCBA54321
C>ABCDE12345D>54321EDCBAB[知識(shí)點(diǎn)]棧結(jié)構(gòu)的存儲(chǔ)方式[評(píng)析]棧是一種特別的線性表,這種線性表只能在固定的一端進(jìn)行插入和刪除操作,允許插入和刪除的一端稱為棧頂,另一端稱為棧底。一個(gè)新元素只能從棧頂一端進(jìn)入,刪除時(shí),只能刪除棧頂?shù)脑?,即剛剛被插入的元素。這說(shuō)明棧的運(yùn)算規(guī)則是“先進(jìn)后出〞(或稱“后進(jìn)先出〞>。在棧頂進(jìn)行插入運(yùn)算,稱為進(jìn)棧(或入棧>,在棧頂進(jìn)行刪除運(yùn)算,稱為退棧(或出棧>。此題中,依次進(jìn)棧,即依次插入元素1、2,3、4、5、A、B、C、D、E,依次出棧,即依次刪除元素,根據(jù)?!跋冗M(jìn)后出〞的規(guī)則,應(yīng)當(dāng)以倒序出棧。即元素出棧順序?yàn)镋DCBA54321。2.以下表達(dá)中正確的是______。A>循環(huán)隊(duì)列中有隊(duì)頭和臥尾兩個(gè)指針,因此,循環(huán)隊(duì)列是非線牲結(jié)構(gòu)B>在循環(huán)隊(duì)列中,只需要隊(duì)頭指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化狀況C>在循環(huán)隊(duì)列中,只需要隊(duì)尾指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化狀況D>循環(huán)隊(duì)列中元素的個(gè)數(shù)是由隊(duì)頭指針和隊(duì)尾指針共同決定
D[知識(shí)點(diǎn)]循環(huán)隊(duì)列[評(píng)析]所謂循環(huán)隊(duì)列,就是將隊(duì)列存儲(chǔ)空間的最終一個(gè)位置繞到第1個(gè)位置,形成規(guī)律上的環(huán)狀空間,供隊(duì)列循環(huán)使用。所以循環(huán)隊(duì)列還是屬于線性結(jié)構(gòu),所以選項(xiàng)A是錯(cuò)誤的。循環(huán)隊(duì)列的頭指針front指向隊(duì)列的第一個(gè)元素的前一位置,隊(duì)尾指針rear指向隊(duì)列的最終一個(gè)元素,循環(huán)隊(duì)列的動(dòng)態(tài)變化需要頭尾指針共同反映,所以選項(xiàng)B、C是錯(cuò)誤的。循環(huán)隊(duì)列的長(zhǎng)度是:(sq.rear-sq.front+maxsize>%maxsize,所以循環(huán)隊(duì)列的長(zhǎng)度是由隊(duì)頭和隊(duì)尾指針共同決定的,所以選項(xiàng)D正確。3.在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找,最壞狀況下需要比較的次數(shù)是A>O(n>B>O(n2>
C>O(log2n>D>O(nlog2n>
C[知識(shí)點(diǎn)]二分查找法的時(shí)間繁雜度[評(píng)析]二分法檢索要求線性表結(jié)點(diǎn)按關(guān)鍵值排序且以順序方式存儲(chǔ)。在查找時(shí),首先與表的中間位置上結(jié)點(diǎn)的關(guān)鍵值比較,若相等則檢索成功;否則根據(jù)比較結(jié)果確定下一步在表的前半部分或后半部分繼續(xù)進(jìn)行。二分法檢索的效率比較高,設(shè)線性表有n個(gè)元素,則最多的檢索次數(shù)為大于long2n(2為底數(shù)>的最小整數(shù),最少的檢索次數(shù)為1。4.以下表達(dá)中正確的是______。A>順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的B>順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)C>順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表D>鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
A[知識(shí)點(diǎn)]順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)1/15
[評(píng)析]順序存儲(chǔ)結(jié)構(gòu)就是用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)該線性表中的各個(gè)元素,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與規(guī)律關(guān)系也不一致,所以選項(xiàng)A是正確的。兩者都可以存儲(chǔ)線性的、有序的規(guī)律結(jié)構(gòu),所以選項(xiàng)B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲(chǔ),鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰(shuí)儉約空間的說(shuō)法,所以選項(xiàng)D不正確。5.數(shù)據(jù)流圖中帶有箭頭的線段表示的是______。A>控制流B>事件驅(qū)動(dòng)
C>模塊調(diào)用D>數(shù)據(jù)流
D[知識(shí)點(diǎn)]數(shù)據(jù)流圖的表示[評(píng)析]數(shù)據(jù)流圖是描述數(shù)據(jù)處理過(guò)程的工具,是需求理解的規(guī)律模型的圖形表示,它直接支持系統(tǒng)的功能建模。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫(huà)數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。數(shù)據(jù)流圖中的主要圖形元素與說(shuō)明如下:加工(轉(zhuǎn)換>:輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。數(shù)據(jù)流:沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名。存儲(chǔ)文件(數(shù)據(jù)源>:表示處理過(guò)程中存放各種數(shù)據(jù)的文件。源,潭:表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體。6.在軟件開(kāi)發(fā)中,需求分析階段可使用的工具是______。A>N-S圖
C>PAD圖
B>DFD圖
D>程序流程圖
B[知識(shí)點(diǎn)]軟件開(kāi)發(fā)[評(píng)析]軟件開(kāi)發(fā)階段包括需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試5個(gè)階段。其中需求分析階段常用的工具是數(shù)據(jù)流圖(簡(jiǎn)稱DFD>和數(shù)據(jù)字典(簡(jiǎn)稱DD>。常見(jiàn)的詳細(xì)設(shè)計(jì)的圖形描述工具主要有程序硫程圖、N-S結(jié)構(gòu)圖、問(wèn)題分析圖(簡(jiǎn)稱PAD圖>。7.在面向?qū)ο蠓椒ㄖ校粚儆凇皩?duì)象〞基本特點(diǎn)的是______。A>一致性B>分類性
C>多態(tài)性D>標(biāo)識(shí)唯一性
A[知識(shí)點(diǎn)]面向?qū)ο蠓椒ǖ幕纠碚揫評(píng)析]面向?qū)ο蠓椒ㄖ凶罨镜母拍钍菍?duì)象,它的基本特點(diǎn)有:標(biāo)識(shí)唯—性、分類性、多態(tài)性、封裝性和模塊獨(dú)立性好。8.一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是______。A>一對(duì)一B>一對(duì)多
C>多對(duì)一D>多對(duì)多
B[知識(shí)點(diǎn)]E-R模型的基本概念[評(píng)析]兩個(gè)實(shí)體間的聯(lián)系可以歸納為3種類型:一對(duì)一聯(lián)系:一對(duì)一的聯(lián)系表現(xiàn)為主表中的每一條記錄只與相關(guān)表中的一條記錄相關(guān)聯(lián)。一對(duì)多聯(lián)系或多對(duì)一:一對(duì)多的聯(lián)系表現(xiàn)為主表中的每一條記錄與相關(guān)表中的多條記錄相關(guān)聯(lián)。多對(duì)多聯(lián)系:多對(duì)多的聯(lián)系表現(xiàn)為一個(gè)表中的多個(gè)記錄在相關(guān)表中同樣有多個(gè)記錄與其匹配。2/15
一間宿舍可以住多個(gè)學(xué)生,但每個(gè)學(xué)生只能住一個(gè)宿舍,所以實(shí)體宿舍和學(xué)生之間的聯(lián)系為一對(duì)多的聯(lián)系。9.在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是______。A>人工管理階段B>文件系統(tǒng)階段
C>數(shù)據(jù)庫(kù)系統(tǒng)階段D>三個(gè)階段一致C[知識(shí)點(diǎn)]數(shù)據(jù)庫(kù)管理技術(shù)的發(fā)展特點(diǎn)[評(píng)析]數(shù)據(jù)庫(kù)管理發(fā)展至今已經(jīng)歷了三個(gè)階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。人工管理階段的特點(diǎn):數(shù)據(jù)不保存、數(shù)據(jù)不獨(dú)立、數(shù)據(jù)不能共享、數(shù)據(jù)無(wú)結(jié)構(gòu),沒(méi)有專門(mén)的數(shù)據(jù)管理軟件。文件系統(tǒng)階段的特點(diǎn):數(shù)據(jù)可以長(zhǎng)期保存,有專門(mén)的數(shù)據(jù)管理軟件——文件系統(tǒng)。但是數(shù)據(jù)獨(dú)立性低,共享性差、冗余度大,數(shù)據(jù)記錄內(nèi)有結(jié)構(gòu),整體無(wú)結(jié)構(gòu)。數(shù)據(jù)庫(kù)系統(tǒng)階段的特點(diǎn):數(shù)據(jù)結(jié)構(gòu)化,數(shù)據(jù)獨(dú)立性高,數(shù)據(jù)共享性高,冗余度小,易于擴(kuò)展,數(shù)據(jù)庫(kù)管理系統(tǒng)提供統(tǒng)一的數(shù)控制功能,包括數(shù)據(jù)安全性、完整性、并發(fā)控制和數(shù)據(jù)恢復(fù)功能。10.有三個(gè)關(guān)系R、S和T如下:
算得到關(guān)系T,則所使用的運(yùn)算為_(kāi)_____。A>笛卡爾積
C>并
由關(guān)系R和S通過(guò)運(yùn)
B>交
D>自然連接
D[知識(shí)點(diǎn)]關(guān)系代數(shù)運(yùn)算[評(píng)析]笛卡爾積:設(shè)關(guān)系R和S的元數(shù)分別是r和s,定義R和S的笛卡爾積是一個(gè)(r+s>元元組集合,每一個(gè)元組的前r個(gè)分量來(lái)自R的一個(gè)元組,后s個(gè)分量來(lái)自S的一個(gè)元組。若R有k1個(gè)元組,s有k2個(gè)元組,則關(guān)系R和關(guān)系S的廣義笛卡爾積有k1×k2個(gè)元組。交:設(shè)關(guān)系R和關(guān)系S具有一致的目n,且相應(yīng)的屬性諏自同一個(gè)域,則關(guān)系R與關(guān)系S的交由屬于R又屬于S的所有元組組成。并:設(shè)關(guān)系R和關(guān)系S具有一致的目n(即兩個(gè)關(guān)系都有n個(gè)屬性>,且相應(yīng)的屬性取自同一個(gè)域,則關(guān)系R與關(guān)系S的并由屬于R或?qū)儆赟的元組組成。自然連接:是一種特別的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必需有一致的屬性組,并且要將結(jié)果中重復(fù)的屬性去掉。11.以下表達(dá)中正確的是______。A>C程序的基本組成單位是語(yǔ)句B>C程序中的每行只能寫(xiě)一條語(yǔ)句C>簡(jiǎn)單C語(yǔ)句必需以分號(hào)終止D>C語(yǔ)句必需在一行內(nèi)寫(xiě)完
1C[評(píng)析]C程序是由函數(shù)構(gòu)成的。—個(gè)C源程序至少包含—個(gè)main函數(shù),也可以包含—個(gè)main函數(shù)和若干個(gè)其他函數(shù)。因此,函數(shù)是C程序的基本單位,應(yīng)選項(xiàng)A錯(cuò)誤;C程序書(shū)寫(xiě)格式自由,—行內(nèi)可以寫(xiě)幾個(gè)語(yǔ)句,—個(gè)語(yǔ)句可以分寫(xiě)在多行上,應(yīng)選項(xiàng)B,D錯(cuò)誤;C語(yǔ)言規(guī)定,每個(gè)語(yǔ)句和數(shù)據(jù)定義的最終必需有—個(gè)分號(hào),分號(hào)是C語(yǔ)句的必要組成部分,應(yīng)選項(xiàng)C正確。12.計(jì)算機(jī)能直接執(zhí)行的程序是______。A>源程序B>目標(biāo)程序
3/15
C>匯編程序
D>可執(zhí)行程序
1D[評(píng)析]我們把由高級(jí)語(yǔ)言編寫(xiě)的程序稱為“源程序〞,由二進(jìn)制代碼表示的程序稱為“目標(biāo)程序〞,由匯編語(yǔ)言編寫(xiě)的程序稱為“匯編程序〞。對(duì)于計(jì)算機(jī)本身來(lái)說(shuō),它并不能直接識(shí)別由高級(jí)語(yǔ)言編寫(xiě)的程序,只能識(shí)別和執(zhí)行由0和1組成的二進(jìn)制指令。為了把源程序轉(zhuǎn)換成機(jī)器能接受的目標(biāo)程序,軟件工編制了一系列軟件,通過(guò)這些軟件可以把用戶按規(guī)定語(yǔ)法寫(xiě)出的語(yǔ)句——翻譯成二進(jìn)制的機(jī)器指令,這種具有翻譯功能的軟件稱為“編譯程序〞。然后將編譯后的目標(biāo)程序與系統(tǒng)的函數(shù)庫(kù)和其他目標(biāo)程序連接起來(lái),形成可執(zhí)行程序由計(jì)算機(jī)直接執(zhí)行。13.以下選項(xiàng)中不能作為C語(yǔ)言合法常量的是______。A>'cd'B>0.1e+6
C>\D>'\\011'
1A[評(píng)析]C語(yǔ)言時(shí)常量分為整型常量、實(shí)型常量和字符型常量。用單引號(hào)(即撇號(hào)>括起來(lái)一個(gè)字符稱為字符常量,由于字符常量只能包含一個(gè)字符,因此選項(xiàng)A錯(cuò)誤;轉(zhuǎn)義字符常量是將反斜杠(\\>后面的字符轉(zhuǎn)成另外的意義,選項(xiàng)D表示了—個(gè)ASCII碼為011的八進(jìn)制數(shù);選項(xiàng)B是用指數(shù)形式表示的實(shí)型常量。用“e〞或“E〞后的—個(gè)整數(shù)表示以10為底的冪數(shù),以這種形式表示的實(shí)型常量需注意字母e(或E>之前必需有數(shù)字,且e后面的指數(shù)必需為整數(shù);用一對(duì)雙引號(hào)括起來(lái)的字符序列稱為字符串常量,選項(xiàng)C就為—個(gè)正確的字符串常量。14.以下選項(xiàng)中正確的定義語(yǔ)句是______。A>doublea。b。B>double.a(chǎn)=b=7。
C>doublea=7,b=7。D>double,a,b。1C[評(píng)析]C語(yǔ)言規(guī)定,每個(gè)語(yǔ)句和數(shù)據(jù)定義以分號(hào)終止,則說(shuō)明選項(xiàng)A是兩條語(yǔ)句,前—條是對(duì)變量a作雙精度型定義的語(yǔ)句,而后一個(gè)“b。〞是一個(gè)缺少類型的不正確的定義形式,假使是定義多個(gè)變量,則應(yīng)用逗號(hào)隔開(kāi);當(dāng)定義多個(gè)變量賦同—個(gè)值時(shí),不能用等式連寫(xiě)的方式,如選項(xiàng)B的“doublea=b=7。〞應(yīng)寫(xiě)成“doublea=7,b=7。〞所以選項(xiàng)B錯(cuò)誤,選項(xiàng)C正確;在定義語(yǔ)句時(shí),類型與變量名之間應(yīng)用空格分隔,而不是逗號(hào),所以選項(xiàng)D錯(cuò)誤。15.以下不能正確表示代數(shù)式的C語(yǔ)言表達(dá)式是______。A>2*a*b/c/dB>a*b/c/d*2
C>a/c/d*b*2D>2*a*b/c*d1D[評(píng)析]此題考察的是算術(shù)運(yùn)算符的優(yōu)先級(jí)。算術(shù)運(yùn)算符包括:+(加法運(yùn)算符,或正值運(yùn)算符>、-(減法運(yùn)算符,或負(fù)值運(yùn)算符>、*(乘法運(yùn)算符>、/(除法運(yùn)算符>、%(模運(yùn)算符,或稱求余運(yùn)算符>,其中*、/兩運(yùn)算符的優(yōu)先組一致,所以選項(xiàng)D錯(cuò)誤,它表示的是2abd/c,而不是2ab/(cd>。16.C源程序中不能表示的數(shù)制是______。A>二進(jìn)制B>八進(jìn)制
C>十進(jìn)制D>十六進(jìn)制
1A[評(píng)析]C源程序中的整形常量可用三種形式表示:①十進(jìn)制數(shù);②八進(jìn)制數(shù):以0開(kāi)頭的數(shù)是八進(jìn)制數(shù);③十六進(jìn)制數(shù):以4/15
Ox開(kāi)頭的數(shù)是十六進(jìn)制數(shù)。17.若有表達(dá)(W>?(--x>:(++y>,則其中與W等價(jià)的表達(dá)式是______。A>w=1B>w=0
C>w!=1D>w!=01D[評(píng)析]條件表達(dá)式的一般形式為:表達(dá)式1?表達(dá)式2:表達(dá)式3,其執(zhí)行順序:先求解表達(dá)式1,若非0(真>則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值,若表達(dá)式1的值為0(假>,則求解表達(dá)式3,此時(shí)表達(dá)式3的值就作為整個(gè)條件表達(dá)式的值。此題中相當(dāng)于先判斷w的值是否為非0,所以與w等價(jià)的表達(dá)式是w!=0。18.執(zhí)行以下程序段后,W的值為_(kāi)_____。intw='A',x=14,y=15w=((x‖y>&&(w<'a'>>。A>-1B>NULL
C>1D>0
1C[評(píng)析]此題考察的是括號(hào)與規(guī)律運(yùn)算符的混合運(yùn)算,其運(yùn)算優(yōu)先級(jí)為先括號(hào),后規(guī)律運(yùn)算符。另外注意“&&〞和“||〞的“短路〞運(yùn)算。當(dāng)運(yùn)算符“&&〞左邊表達(dá)式的值為0時(shí),則右邊表達(dá)式就不再進(jìn)行運(yùn)算,整個(gè)表達(dá)式的值即為0;當(dāng)運(yùn)算符“||〞左邊表達(dá)式的值為非零時(shí),則右邊表達(dá)式就不再進(jìn)行運(yùn)算,整個(gè)表達(dá)式的值為1。此題先運(yùn)算表達(dá)式“x||y〞,由于x=14、y=15均為非零,所以x||y=1。則對(duì)于與運(yùn)算符“&&〞,還必需運(yùn)算其右邊的表達(dá)式“w<'a'〞,由于A的ASCII碼是65,a的ASCII碼是97,所以w<'a'的值為1,故整個(gè)表達(dá)式的值為1。19.若變量已正確定義為int型,要通過(guò)語(yǔ)句scanf(\;給a賦值1、給b賦值2、給c賦值3,以下輸入形式中錯(cuò)誤的是______。(Ц代表一個(gè)空格符>A>ЦЦЦ1,2,3<回車>B>1Ц2Ц3<回車>C>1,ЦЦЦ2,ЦЦЦ3<回車>D>1,2,3<回車>1B[評(píng)析]scanf(>函數(shù)的—般格式:scanf(格式控制,地址列表>。在輸入多個(gè)數(shù)值數(shù)據(jù)時(shí),若“格式控制〞字符串中沒(méi)有非格式字符作輸入數(shù)據(jù)之間的間隔,則可用空格、TAB或回車作間隔。C編譯在碰見(jiàn)空格,TAB,回車或非法數(shù)據(jù)(如對(duì)“%d〞輸入“12A〞時(shí),A即為非法數(shù)據(jù)>時(shí)即認(rèn)為該數(shù)據(jù)終止。假使在“格式控制〞字符串中除了格式說(shuō)明以外還有其他字符,則在輸入數(shù)據(jù)時(shí)應(yīng)輸入與這些字符一致的字符。此題由于格式控制符中用了逗號(hào),所以在輸入數(shù)據(jù)時(shí),必需在輸入的各數(shù)據(jù)間用逗號(hào)分隔,應(yīng)選項(xiàng)B不正確。20.有以下程序段inta,b,c。a=10。b=50。c=30。if(a>b>a=b,b=c。c=a。printf(\b=%dc=%d\\n\。程序的輸出結(jié)果是______。A>a=10b=50c=10B>a=10b=50c=30
C>a=10b=30c=10D>a=50b=30c=50
1A[評(píng)析]此題if條件表達(dá)式“a>b〞的值為0,所以不執(zhí)行其后的if語(yǔ)句“a-b,b=c。〞,直接執(zhí)行下一條語(yǔ)句“c=a〞,故c變量的值為10,所以輸出結(jié)果為“a=10b=50c=10〞。21.若有定義語(yǔ)句:intm[]={5,4,3,2,1},i=4。,則下面對(duì)m數(shù)組元素的引用中錯(cuò)誤的是______。A>m[-i]B>m[2*2]
C>m[m[0]]D>m[m[i]]
5/15
C[評(píng)析]一維數(shù)組的定義方式為:類型說(shuō)明符數(shù)組名[常量表達(dá)式]。其中“常量表達(dá)式〞表示元素的個(gè)數(shù),即數(shù)組長(zhǎng)度。元素的下標(biāo)從0開(kāi)始,最大下標(biāo)是元素個(gè)數(shù)減一。此題定義了一個(gè)由5個(gè)元素(m[0[到m[4]>組成的數(shù)組。選項(xiàng)A表示對(duì)m[3]的引用;選項(xiàng)B表示對(duì)m[4]的引用;由于m[0]的值為5,所以選項(xiàng)C表示m[5],但由于m數(shù)組元素的最大下標(biāo)為4,所以本引用下標(biāo)越界;由于m[i]即m[4]的值為1,所以選項(xiàng)D表示對(duì)m[1]的引用。22.下面的函數(shù)調(diào)用語(yǔ)句中,func函數(shù)的實(shí)參個(gè)數(shù)是______。func(f2(v1,v2>,(v3,v4,v5>,(v6,max(v7,v8>>>。A>3B>4
C>5D>8
A[評(píng)析]本調(diào)用語(yǔ)句func中包含了3個(gè)實(shí)參,一個(gè)是對(duì)f2函數(shù)調(diào)用“f2(v1,v2>〞的返回值;另一個(gè)是逗號(hào)表達(dá)式“(v3,v4,v5>〞的值v5(逗號(hào)表達(dá)式的一般形式為:表達(dá)式1,表達(dá)式2,表達(dá)式3表達(dá)式n,它的值為表達(dá)式n的值>;還有—個(gè)實(shí)參也是逗號(hào)表達(dá)式“v6,max(v7,v8>〞的值,即對(duì)max函數(shù)調(diào)用的返回值。23.若有定義語(yǔ)句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x。則錯(cuò)誤引用x數(shù)組元素的是______。A>*pB>x[5]
C>*(p+1>D>*x
B[評(píng)析]此題定義了一個(gè)有5個(gè)數(shù)組元素的—維數(shù)組x和指針變量p,且將x的首地址(即x[0]>的地址>賦給了指針變量p,即p指向了x數(shù)組的第0號(hào)元素,所以*p的值為x[0]的值,選項(xiàng)A的引用正確;由于p+1就是x[1]的地址,所以*(p+1>所指向的數(shù)組元素為x[1],應(yīng)選項(xiàng)C的引用正確;由于x就是數(shù)組x的首地址,所以*x即對(duì)x[0]的引用,所以選項(xiàng)D引用正確;由于數(shù)組最大下標(biāo)是元素個(gè)數(shù)減一,所以選項(xiàng)B的引用越界。24.若有定義語(yǔ)句:chars[10]=\。,則strlen(s>的值是______。A>7B>8
C>9D>10
A[評(píng)析]strlen(字符數(shù)組>是測(cè)試字符串的長(zhǎng)度的函數(shù)。函數(shù)的值為字符串的實(shí)際長(zhǎng)度,不包括'\\0'在內(nèi)。C語(yǔ)言中字符串是以'\\0'字符終止的,且salen(>函數(shù)計(jì)算的是'\\0'字符前的所有字符的個(gè)數(shù),所以此題strlen(s>的值是7。需要與其區(qū)分的是sizeof(>函數(shù),它的功能是計(jì)算變量或數(shù)組所分派到的內(nèi)存空間的大小。假使此題要求計(jì)算sizeof(s>的話,則其值應(yīng)為10。25.以下表達(dá)中錯(cuò)誤的是______。A>用戶定義的函數(shù)中可以沒(méi)有return語(yǔ)句
B>用戶定義的函數(shù)中可以有多個(gè)return語(yǔ)句,以便可以調(diào)用一次返回多個(gè)函數(shù)值C>用戶定義的函數(shù)中若沒(méi)有return語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void類型D>函數(shù)的return語(yǔ)句中可以沒(méi)有表達(dá)式B[評(píng)析]此題考察的是return語(yǔ)句。用戶定義的函數(shù)中可以沒(méi)有return語(yǔ)句,所以選項(xiàng)A正確;假使被調(diào)函數(shù)中沒(méi)有return語(yǔ)句,并不帶回—個(gè)確定的、用戶所希望得到的函數(shù)值,但實(shí)際上,函數(shù)并不是不帶回值,而只是不帶回有用的值,帶回的是一個(gè)不確定的值,為了明確表示“不帶回值〞,可以用“void〞定義“無(wú)類型〞,這樣,系統(tǒng)就保證不使函數(shù)帶回任何值,所以選項(xiàng)C正確;當(dāng)函數(shù)中不需要指明返回值時(shí),可以寫(xiě)成“return〞,所以選項(xiàng)D正確;一個(gè)函數(shù)中可以有—個(gè)以上的return語(yǔ)句,執(zhí)行到哪一個(gè)return語(yǔ)句,哪一個(gè)語(yǔ)句起作用,即返回主函數(shù),不再執(zhí)行它下面的其他語(yǔ)句,所以選項(xiàng)B錯(cuò)誤。6/15
26.以下關(guān)于宏的表達(dá)中正確的是______。A>宏名必需用大寫(xiě)字母表示
B>宏定義必需位于源程序中所有語(yǔ)句之前C>宏替換沒(méi)有數(shù)據(jù)類型限制D>宏調(diào)用比函數(shù)調(diào)用花費(fèi)時(shí)間
C[評(píng)析]宏名一般習(xí)慣用大寫(xiě)字母表示,以便與變量名相區(qū)別,但這并非規(guī)定,也可用小寫(xiě)字母,所以選項(xiàng)A錯(cuò)誤;宏命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為定義命令之后到來(lái)源文件終止,尋常,宏命令寫(xiě)在文件開(kāi)頭,函數(shù)之前,作為文件的一部分,在此文件范圍內(nèi)有效,而并不必需位于源程序中所有語(yǔ)句之前,所以選項(xiàng)B錯(cuò)誤;用宏名代替—個(gè)字符串,也就是作簡(jiǎn)單的置換,宏置換不占運(yùn)行時(shí)間,只占編譯時(shí)間,而日編譯時(shí)并不分派內(nèi)存單元,也不進(jìn)行值的傳遞處理。而函數(shù)調(diào)用則占運(yùn)行時(shí)間(分派單元、保存現(xiàn)場(chǎng)、值傳遞、返回>,所以選項(xiàng)D錯(cuò)誤;宏替換可以代替任何數(shù)據(jù)類型,不受數(shù)據(jù)類型的限制,所以選項(xiàng)C正確。27.有以下程序#include<stdio.h>main(>{inti,j。for(i=3。i>=-1。i->{for(i=1。j<=2。j++>printf(\。printf(\。}}程序的運(yùn)行結(jié)果是______。A>234345B>432543
C>233445D>453423D[評(píng)析]此題考察的是for循環(huán)的嵌套。外層循環(huán)變量i從3遞減到1,內(nèi)層循環(huán)變量j從1遞增到2,具體運(yùn)行過(guò)程如下:i-3:j=1,滿足條件j<=2,輸出i+j=3+1=4;j=2,滿足條件j<=2,輸出i+j=3+2=5;j=3,不滿足條件j<=2,退出內(nèi)層循環(huán),執(zhí)行“printf(\。〞語(yǔ)句,換行。執(zhí)行i--,此時(shí)i=2,滿足條件i>=1;i=2:j=1,滿足條件j<=2,輸出i+j-2+1=3:j=2,滿足條件j<=2,輸出i+j=2+2=4;j=3,不滿足條件j<=2,退出內(nèi)層循環(huán),執(zhí)行“ptintf(\\\n\。〞語(yǔ)句,換行。執(zhí)行i-,此則i=1,滿足條件i>=1;i=1:j=1,滿足條件j<=2,輸出i+j=1+1=2;j=2,滿足條件j<=2,輸出i+j=1+2=3;j=3,不滿足條件j<=2,退出內(nèi)層循環(huán),執(zhí)行“printf(\\\n\。〞語(yǔ)句,換行。執(zhí)行i--,此時(shí)i=0,不滿足條件i>=1,終止外層循環(huán)。28.有以下程序#include<stdio.h>mare(>{intx=1,y=2,z=3。if(x>y>if(y<z>
printf(\。elseprintf(\。printf(\。}程序的運(yùn)行結(jié)果是______。A>331B>41
C>2D>1
D[評(píng)析]此題考察的是if語(yǔ)句的嵌套。C語(yǔ)言規(guī)定else總是與它上面的最近的且不帶else的if配對(duì),所以此題else與if(y<y>的條件表達(dá)式x>y,即1>2,不成立,所以不執(zhí)行內(nèi)嵌if,直接執(zhí)行“printf(\x++表示在使用后再29.有以下程序#include<stdio.h>main(>{inti=5。do{if(i%3==1>if(i%5==2>{printf\。while(i!=0>。printf(\。}程序的運(yùn)行結(jié)果是______。A>*7B>*3*5
C>*5D>*2*6
A[評(píng)析]do-while語(yǔ)句的特點(diǎn)是先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立,當(dāng)循環(huán)條件的值為0時(shí)循環(huán)終止。break的特7/15
點(diǎn);當(dāng)break出現(xiàn)在循環(huán)體中,則在執(zhí)行break后,跳出本層循環(huán)體。此題執(zhí)行過(guò)程如下:i=5:不滿足條件i%3=1,執(zhí)行i++,此叫i=6;i=6:不滿足條件i%3=1,執(zhí)行i++,此時(shí)i=7;i=7:滿足條件i%3=1,執(zhí)行內(nèi)嵌if,判斷條件i%5=2,滿足,輸出“*7〞,執(zhí)行break,跳出do循壞體,執(zhí)行“printf(\\\n\。〞,終止。30.有以下程序#include<stdio.h>intfun(inta,intb>{if(b==0>returna。elsereturn(fun(-a,-b>>。}main(>{printf(\。}程序的運(yùn)行結(jié)果是______。A>1B>2
C>3D>4
B[評(píng)析]在調(diào)用一個(gè)函數(shù)的過(guò)程中又出現(xiàn)直接或間接調(diào)用該函數(shù)本身,稱為函數(shù)的遞歸調(diào)用。此題考察的是函數(shù)遞歸調(diào)用。首先當(dāng)a=4,b=2時(shí),調(diào)用fun(4,2>,不滿足條件b==0,繼續(xù)調(diào)用fun函數(shù);此時(shí)a=3,b=1,即調(diào)用fun(3,1>,不滿足條件b=0,繼續(xù)調(diào)用fun函數(shù);此時(shí)a=2,b=0,滿足條件b=0,返回a的值2。31.有以下程序#include<stdio.h>#include<stdlib.h>intfun(intn>{int*p。p=(int*>malloc(sizeof(int>>。*p=n。return*p。}{inta。a=fun(10>。printf(\。}程序的運(yùn)行結(jié)果是______。A>0B>10
C>20D>出錯(cuò)
C[評(píng)析]malloc(sizeof(int>>的作用是開(kāi)拓一個(gè)長(zhǎng)度為sizeof(int>存儲(chǔ)空間,并通過(guò)強(qiáng)制類型轉(zhuǎn)換(int*>將此存儲(chǔ)空間的地址賦給了—個(gè)整型的指針變量p。然后執(zhí)行語(yǔ)句“*p=n〞,使得*p的值為10,并通過(guò)返回此值,在主函數(shù)中輸出a+10的值,即輸出20。32.有以下程序#include<stdio.h>voidfun(inta,intb>{intt。t=a。a=b。}intc[10]={1,2,3,4,5,6,7,8,9,0},i。for(i=0。i<10。i+=2>fun(c[i],c[i+1]>。for(i=0。i<10。i++>
printf(\。printf(\。}程序的運(yùn)行結(jié)果是______。A>1,2,3,4,5,6.7,8,9,0,B>2,1.4.3.6,5.8,7,0,9,
C>0,9,8,7,6,5,4,3,2,1,D>0,1,2,3,4,5,6,7,8,9,
A[評(píng)析]此題中c[i],c[i+1]的值是實(shí)參,a,b是形參。C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞〞,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。在調(diào)用函數(shù)時(shí),給形參分派存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞給形參,調(diào)用終止后,形參單元被釋放,實(shí)參單元仍保存并維持原值。所以函數(shù)run中對(duì)a,b值的交換不影響主函數(shù)中c數(shù)組的值,故輸出的c數(shù)組的值為c數(shù)組初始化時(shí)的值。33.有以下程序#include<stdio.h>structst{intx,y。}
data[2]={1,10,2,20}。main(>{structst*p=data。printf(\>y>。printf(\>x>。}程序的運(yùn)行結(jié)果是______。A>10,1B>20,1
C>10,2D>20,2
8/15
C[評(píng)析]此題定義了一個(gè)包含兩個(gè)元素(data[0]、data[1]>的結(jié)構(gòu)體數(shù)組data,其中data[0].x=1。data[0].y=10。data[1].x=2。data[1].y=20。在主函數(shù)中,定義了一個(gè)指向結(jié)構(gòu)體數(shù)組的結(jié)構(gòu)體指針變量p,使得p指向結(jié)構(gòu)體數(shù)組的首地址,所以p->y訪問(wèn)的是第一個(gè)鮚構(gòu)體數(shù)組元素的其次個(gè)值,即data[0].y;(++p>->x訪問(wèn)的是其次個(gè)結(jié)構(gòu)體數(shù)組元素的第一個(gè)值,即data[1].x,所以程序輸出結(jié)果為10,2。34.有以下程序#include<stdio.h>voidfun(inta[],intn>{inti,t。for(i=0。i<n/2。i++>{t=a[i]。a[i]=a[n-1-i]。a[n-1-i]=t。}}main(>{intk[10]={1,2,3,4,5,6,7,8,9,10},i。fun(k,5>。for(i=2。i<8。i++>printf(\。printf(\。}程序的運(yùn)行結(jié)果是______。A>345678B>876543
C>1098765D>321678
D[評(píng)析]在主函數(shù)中,定義了一維數(shù)組k,并通過(guò)調(diào)用fun函數(shù)將形參數(shù)組a指向?qū)崊?shù)組k所在的存儲(chǔ)單元,這樣,a和k共用同一存儲(chǔ)單元,所以對(duì)數(shù)組a的元素值的改變相當(dāng)于對(duì)相應(yīng)數(shù)組k的元素值的改變。在fun函數(shù)中,通過(guò)for循環(huán)對(duì)數(shù)組元素a[0]與a[4]、a[1]與a[3]的值分別作了交換,也即相當(dāng)于主函數(shù)中k[0]與k[4]、k[1]與k[3]的值分別作了交換,此時(shí)k中各元素的值為5,4,3,2,1,6,7,8,9,10,故輸出k[2]到k[7]的值為321678。35.有以下程序#include<stdio.h>#defineN4voidfun(inta[][N],intb[]>{inti。for(i=0。i<N。i++>b[i]=a[i][i]。}main(>{int
x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},Y[N],i。fun(x,y>。for(i=0。i<N。i++>printf(\。printf(\。}程序的運(yùn)行結(jié)果是______。A>1,2,3,4,B>1,0,7,0,
C>1,4,5,9,D>3,4,8,10,
B[評(píng)析]在主函數(shù)中,定義并初始化了4行4列的二維數(shù)組x。對(duì)于二維數(shù)組元素的賦值,可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0。x數(shù)組元素賦初值后各元素為:fun函數(shù)的作用是將二維數(shù)組a中主對(duì)角線元素賦給數(shù)組b,由于數(shù)組a與數(shù)組x共用同一存儲(chǔ)單元,也即將數(shù)組x中主對(duì)角線元素賦給了數(shù)組b。又由于數(shù)組b與數(shù)組y共用同一存儲(chǔ)單元,所以主函數(shù)中通過(guò)語(yǔ)句“printf(\為數(shù)組b中的值,所以程序運(yùn)行結(jié)果為“1,0,7,0,〞。36.有以下程序#include<stdio.h>intfun(int(*s>[4],intn,intk>{intm,i。m=s[0][kl。for(i=1。i<n。i++>if(s[i][k]>m>m=s[i][k]。returnm。}main(>{inta[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24},
{31,32,33,34}}。printf(\。}程序的運(yùn)行結(jié)果是______。A>4B>34
C>31D>32
C[評(píng)析]在主函數(shù)中,定義并初始化了4行4列的二維數(shù)組a,并通過(guò)調(diào)用fun函數(shù),將fun函數(shù)中指向一維數(shù)組的指針變量s指同一存儲(chǔ)單元。在fun函數(shù)中,通過(guò)for循環(huán),求得了數(shù)組a第0列中最大的值,并賦給m返回主函數(shù)。由于數(shù)組a第0列的值9/15
37.有以下程序#include<stdio.h>main(>{structSTU{charname[9]。charsex。doublescore[2]a={\。b=a。printf(\序的運(yùn)行結(jié)果是______。A>Qian,f,95,92B>Qian,85,90
C>Zhao,f,95,92D>Zhao,m,85,90D[評(píng)析]此題定義了兩個(gè)結(jié)構(gòu)體變量a和b,并將結(jié)構(gòu)體變量a的內(nèi)容賦給了結(jié)構(gòu)體變量b。對(duì)于結(jié)構(gòu)體的賦值,意味這將其中的每一個(gè)元素都進(jìn)行賦值,所以輸出的結(jié)構(gòu)體變量b中的內(nèi)容即為結(jié)構(gòu)體變量a中的各項(xiàng)內(nèi)容。另外此題需要注意的是輸出格式的控制,其中“%2.0f〞指的是輸出的數(shù)據(jù)共占2列,其中有0位小數(shù)。38.假定已建立以下鏈表結(jié)構(gòu),且指針p和q已指向如下圖的結(jié)點(diǎn):則以下選項(xiàng)中司將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語(yǔ)句組是______。A>(*p>.next=(*q>.next。free(p>。B>p=q->next。free(q>。C>p=q。free(q>。D>p->next=q->next。free(q>。
D[評(píng)析]此題題面要求刪除q所指結(jié)點(diǎn)并釋放該結(jié)點(diǎn),而選項(xiàng)A中雖然是刪除了q所指鮚點(diǎn),但并未釋放q這個(gè)結(jié)點(diǎn),而釋放的是p結(jié)點(diǎn),所以選項(xiàng)A錯(cuò)誤;選項(xiàng)B是將q的下一結(jié)點(diǎn)的地址賦值給指針變量p,這意味著p原來(lái)的成員變量?jī)?nèi)容被q的下一結(jié)點(diǎn)的成員變量?jī)?nèi)容所代替,即原p結(jié)點(diǎn)也被刪除了,所以選項(xiàng)B錯(cuò)誤;選項(xiàng)C相當(dāng)于將q的所有成員變量?jī)?nèi)容代替了p的所有成員變量?jī)?nèi)容,即p結(jié)點(diǎn)被刪除,所以錯(cuò)誤;選項(xiàng)D是將q的下—結(jié)點(diǎn)的地址賦值給p的成員next(成員next用于存放一結(jié)點(diǎn)的地址>,使得p的next成員不再指向q,而是指向q的下一結(jié)點(diǎn),相當(dāng)于刪除了q這個(gè)結(jié)點(diǎn),同叫用free函數(shù)正確釋放了q這一結(jié)點(diǎn),所以選項(xiàng)D正確。39.有以下程序#include<stdio.h>main(>{chara=4。printf(\<<1>。}程序的運(yùn)行結(jié)果是______。A>40B>16
C>8D>4C[評(píng)析]“<<〞是按位左移運(yùn)算符,左移一位相當(dāng)于該數(shù)乘以2,左移兩位相當(dāng)于該數(shù)乘以2的2次方,所以此題相當(dāng)于將4乘40.有以下程序#include<stdio.h>main(>{FILE*pf,char*s1=\。pf=fopen(\。fwrite(s2,7,1,pf>。文件位置指針回到文件開(kāi)頭*/fwrite(s1,5,1,pf>。fclose(pf>。}以上程______。A>ChinaB>Chinang
C>ChinaBeijingD>BeijingChina
B[評(píng)析]fwrite(buffer,size,count,fp>。:buffer是一個(gè)指針,用于指向輸出數(shù)據(jù)存放的內(nèi)存區(qū)域的起始地址,size是要輸出的字節(jié)數(shù),count是要輸出大小為size個(gè)字節(jié)的數(shù)據(jù)塊的個(gè)數(shù)。fp是文件指針。fwrite函數(shù)的功能是對(duì)中所指向的文件存入count次,每次存放一個(gè)大小為size的數(shù)據(jù)塊,將存入的數(shù)據(jù)塊存到buffer指向的內(nèi)存區(qū),假使buffer內(nèi)存區(qū)有數(shù)10/15
據(jù),則將其覆蓋。此題中第一次調(diào)用fwrite函數(shù)是向文件中寫(xiě)入s2的值“Beijing〞,其次次調(diào)用fwrite函數(shù)是向文件中寫(xiě)入s1的值“China〞,并將從前的“Beijing〞的前幾個(gè)字符覆蓋,得到“Chinang〞。二、填空題1.對(duì)以下二叉樹(shù)進(jìn)行中序遍歷的結(jié)果是。
DBXEAYFZC[知識(shí)點(diǎn)]二義樹(shù)中序遍歷[評(píng)析]二叉樹(shù)的中序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最終遍歷右子樹(shù);并且遍歷左,右子樹(shù)時(shí),依舊先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最終遍歷右子樹(shù)。因此此題中序遍歷的結(jié)果為DBXEAYFZC。2.依照軟件測(cè)試的一般步驟,集成測(cè)試應(yīng)在測(cè)試之后進(jìn)行。
單元或模塊[知識(shí)點(diǎn)]軟件測(cè)試的基本步驟[評(píng)析]軟件測(cè)試的過(guò)程依照四個(gè)步驟進(jìn)行,即單元測(cè)試、集成測(cè)試、驗(yàn)收測(cè)試(確認(rèn)測(cè)試>和系測(cè)試。單元測(cè)試又稱模塊測(cè)試,所以此題中也可以填寫(xiě)模塊測(cè)試。3.軟件工程三要素包括方法、工具和過(guò)程,其中,支持軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié)的控制和管理。
過(guò)程[知識(shí)點(diǎn)]軟件工程的三要素[評(píng)析]軟件工程包括3個(gè)要素,即方法、工具和過(guò)程。方法是完成軟件工程工程的技術(shù)手段;工具支持軟件的開(kāi)發(fā)、管理、文檔生成;過(guò)程支持軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié)的控制、管理。4.數(shù)據(jù)庫(kù)設(shè)計(jì)包括概念設(shè)計(jì)、和物理設(shè)計(jì)。
規(guī)律設(shè)計(jì)[知識(shí)點(diǎn)]數(shù)據(jù)庫(kù)設(shè)計(jì)概述[評(píng)析]數(shù)據(jù)庫(kù)設(shè)計(jì)目前一般采用生命周期法,即將整個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)分解成目標(biāo)獨(dú)立的若干個(gè)骱段。它們是:需求分析階段、概念設(shè)計(jì)階段、規(guī)律設(shè)計(jì)階段、物理設(shè)計(jì)價(jià)段、編碼階段、測(cè)試階段、運(yùn)行階段、進(jìn)一步修改階段。在數(shù)據(jù)庫(kù)設(shè)計(jì)中采用上面幾個(gè)價(jià)段中的前四個(gè)階段。5.在二維表中,元組的不能再分成更小的數(shù)據(jù)項(xiàng)。
分量[知識(shí)點(diǎn)]二錐表的性質(zhì)[評(píng)析]二維表一般瞞足下面7特性質(zhì):1、二維表中元組的個(gè)數(shù)是有限的——元組個(gè)數(shù)有限性。11/15
2、二維表中元組均不一致——元組的唯一性。3、二維表中元組的次序可以任意交換——元組的次序無(wú)關(guān)性。4、二維表中元組的分量是不可分割的基本數(shù)據(jù)項(xiàng)——元組分量的原子性。5、二維表中屬性名各不一致——屬性名唯一性。6、二維表中屬性與次序無(wú)關(guān),可任意交換——屬性的次序無(wú)關(guān)性。7、二維表中屬性的分量具有與該屬性一致的值域——分量值域的同一性。6.設(shè)變量a和b已正確定義并賦初值。請(qǐng)寫(xiě)出與a=a+b等價(jià)的賦值表達(dá)式。a=-b[評(píng)析]a-=a+b相當(dāng)于a=a-(a+b>,去掉括號(hào),即相當(dāng)于a=-b。7.若整型變量a和b中的值分別為7和9,要求按以下格式輸出a和b的值:a=7b=9
請(qǐng)完成輸出語(yǔ)句:printf(\\。。
a=%d\\nb=%d\\n或a=%d\\nb=%d評(píng)聽(tīng):在printf的格式控制符中,一般由“%〞和格式字符組成,如%d等,它的作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出,格式說(shuō)明總是由“%〞字符開(kāi)始。%d代表以整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出。格式控制符中的其他字符按原樣輸出。另外假使要輸出回車符,則必需用\\n這個(gè)轉(zhuǎn)義字符,即表示輸出時(shí)換行。8.以下程序的輸出結(jié)果是。#include<stdio.h>main(>
{inti,j,sum。
for(i=3。i>=-1。i->(sum=0。
for(j=1。j<=i。j++>sum+=i*j。}
printf(\。}
1[評(píng)析]此題考察的是for循環(huán)嵌套。外循環(huán)i變量從3遞減到1,內(nèi)循環(huán)變量j在每輪外循環(huán)的作用下從1遞增到i,并在每輪外循環(huán)終止時(shí),通過(guò)內(nèi)循環(huán)求得sum的值,但由于外循環(huán)體的第一條語(yǔ)句是將變量sum初始化為0,所以每輪外循環(huán)終止時(shí)求得的sum值均被下一輪外循環(huán)執(zhí)行時(shí)重新初始化為0,只有在最終一輪,當(dāng)i=1時(shí),內(nèi)循環(huán)求得stan=1,跳出內(nèi)循環(huán),i的值減1變?yōu)?,不滿足i>=1這個(gè)條件,終止外循環(huán),此時(shí)輸出sum的值為1。9.以下程序的輸出結(jié)果是。#include<stdio.h>main(>
{intj,a[]={1,3,5,7,9,11,13,15},*P=a+5。for(j=3。j。j->{switch(i>
{case1:
case2:printf(\。break。case3:printf(\。}}}
12/15
9911[評(píng)析]switch語(yǔ)句的一般格式如下:switch(表達(dá)式>{case常量表達(dá)式1:語(yǔ)句1case常量表達(dá)式2:語(yǔ)句2…case常量表達(dá)式n:語(yǔ)句ndefault:語(yǔ)句n+1}switch語(yǔ)句在執(zhí)行的先計(jì)算表達(dá)式的值,當(dāng)表達(dá)式的值與某—個(gè)case后面的常量表達(dá)式的值相等時(shí),就執(zhí)行此case后面的語(yǔ)句系列。由于“case常量表達(dá)式〞只是起語(yǔ)句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷,所以當(dāng)根據(jù)switch后面表達(dá)式的值找到匹配的入口標(biāo)號(hào)時(shí),就此后標(biāo)號(hào)開(kāi)始執(zhí)行下去,不再進(jìn)行判斷,直到在執(zhí)行某個(gè)case分支后,遇到break語(yǔ)句才會(huì)跳出switch結(jié)構(gòu),即終止switch語(yǔ)句的執(zhí)行。此題定義并初始化了一個(gè)一維數(shù)組a,同時(shí)將指針變量p指向了a[5]的地址。在for循環(huán)中,首先j=3,執(zhí)行case3后面的語(yǔ)句,由于--p是將p的地址前移一位,所以*(--p>的值為a[4]的值,即輸出9;當(dāng)j=2時(shí),執(zhí)行case2后面的語(yǔ)句。由于*p++中++與*同優(yōu)先級(jí),結(jié)合方向?yàn)樽杂叶?,因此它等價(jià)于*(p++>,作用是先得到p指向的變量的值(即*p>,然后再使p+1賦給p,所以j=2時(shí)先輸出a[4]的值9,再使得p指向a[5]的地址;當(dāng)j=1時(shí),執(zhí)行case1后面的語(yǔ)句,由于case1后面沒(méi)有終業(yè)語(yǔ)句,所以繼續(xù)執(zhí)行case2后面的語(yǔ)句,此時(shí)*p的值即a[5]的值,所以輸出11,然后p地址后移。故本程序的輸出結(jié)果為9911。10.以下程序的輸出結(jié)果是。#include<stdio.h>#defineN5
intfun(int*s,inta,intn>{intj。
*s=aj=n。
while(a!=s[j]>j-。returnj
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年電力調(diào)度員考試題電力負(fù)荷預(yù)測(cè)與調(diào)度決策
- 2026年項(xiàng)目管理師面試實(shí)操題及答案參考
- 2026年區(qū)塊鏈技術(shù)與應(yīng)用考試題庫(kù)前沿知識(shí)全解析
- 2026年股票投資基礎(chǔ)與實(shí)戰(zhàn)技巧模擬試題
- 2026年醫(yī)學(xué)專業(yè)研究生入學(xué)考試生物化學(xué)題庫(kù)
- 2026年旅游策劃師培訓(xùn)題庫(kù)與答案解析
- 水電站備用電源設(shè)計(jì)方案
- 工地施工現(xiàn)場(chǎng)自動(dòng)化管理系統(tǒng)方案
- 建筑垃圾再生骨料生產(chǎn)技術(shù)方案
- 幕墻系統(tǒng)集成設(shè)計(jì)方案
- 帶狀皰疹中醫(yī)病例討論
- 公安交警隊(duì)和車輛管理所標(biāo)識(shí)制作及設(shè)置規(guī)范
- 【高中數(shù)學(xué)競(jìng)賽真題?強(qiáng)基計(jì)劃真題考前適應(yīng)性訓(xùn)練】 專題03三角函數(shù) 真題專項(xiàng)訓(xùn)練(全國(guó)競(jìng)賽+強(qiáng)基計(jì)劃專用)原卷版
- DB33∕T 1152-2018 建筑工程建筑面積計(jì)算和竣工綜合測(cè)量技術(shù)規(guī)程
- 2025年湖南省郴州市中考模擬英語(yǔ)試題(含答案含聽(tīng)力原文無(wú)音頻)
- SL631水利水電工程單元工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)第1部分:土石方工程
- (二調(diào))武漢市2025屆高中畢業(yè)生二月調(diào)研考試 英語(yǔ)試卷(含標(biāo)準(zhǔn)答案)+聽(tīng)力音頻
- 福建省龍巖市2024-2025學(xué)年高一上學(xué)期期末考試物理試卷(含答案)
- 汽車修理廠輪胎采購(gòu) 投標(biāo)方案(技術(shù)標(biāo) )
- 2023年7月浙江省普通高中學(xué)業(yè)水平考試(學(xué)考)化學(xué)試題
- DB3301-T 0461-2024 電動(dòng)自行車停放充電場(chǎng)所消防安全管理規(guī)
評(píng)論
0/150
提交評(píng)論