第 1 頁:選擇題 |
第 3 頁:程序填空題 |
第 4 頁:程序修改題 |
第 5 頁:程序設(shè)計(jì)題 |
第 6 頁:參考答案 |
一、選擇題
(1)C【解析】在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。在程序流程圖中,用標(biāo)有名字的箭頭表示控制流。所以選擇C。
(2)A【解析】結(jié)構(gòu)化程序設(shè)計(jì)的思想包括:自頂向下、逐步求精、模塊化、限制使用got0語句,所以選擇A。
(3)B【解析】軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是高內(nèi)聚低偶合、模塊大小規(guī)模適當(dāng)、模塊的依賴關(guān)系適當(dāng)?shù)。模塊的劃分應(yīng)遵循一定的要求,以保證模塊劃分合理,并進(jìn)一步保證以此為依據(jù)開發(fā)出的軟件系統(tǒng)可靠性強(qiáng),易于理解和維護(hù)。模塊之間的耦合應(yīng)盡可能的低,模塊的內(nèi)聚度應(yīng)盡可能。
的高。
(4)B【解析】A錯(cuò)誤,可行性分析階段產(chǎn)生可行性分析報(bào)告。c錯(cuò)誤,概要設(shè)計(jì)說明書是總體設(shè)計(jì)階段產(chǎn)生的文檔。D錯(cuò)誤,集成測試計(jì)劃是在概要設(shè)計(jì)階段編寫的文檔。B正確,需求規(guī)格說明書是后續(xù)工作如設(shè)計(jì)、編碼等需要的重要參考文檔。
(5)A【解析】算法原則上能夠精確地運(yùn)行,而且人們用筆和紙做有限次運(yùn)算后即可完成。有窮性是指算法程序的運(yùn)行時(shí)間是有限的。
(6)D【解析】除了堆排序算法的比較次數(shù)是O(nl092n),其他的都是n(n一1)/2。
(7)B【解析】棧是按“先進(jìn)后出”的原則組織數(shù)據(jù)的,數(shù)據(jù)的插入和刪除都在棧頂進(jìn)行操作。
(8)C【解析】E—R圖轉(zhuǎn)換成關(guān)系模型數(shù)據(jù)則是把圖形分析出來的聯(lián)系反映到數(shù)據(jù)庫中,即設(shè)計(jì)出表,所以屬于邏輯設(shè)計(jì)階段。
(9)D【解析】自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉,所以8錯(cuò)誤。笛卡爾積是用R集合中元素為第一元素,s集合中元素為第二元素構(gòu)成的有序?qū)Γ詂錯(cuò)誤。根據(jù)關(guān)系T可以很明顯地看出是從關(guān)系R與關(guān)系s中取得相同的關(guān)系組所以取得是交運(yùn)算,選擇D。(10)C【解析】學(xué)號(hào)是學(xué)生表s的主鍵,課號(hào)是課程表c的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),所以選擇C。
(11)A【解析】C語言中的非執(zhí)行語句不會(huì)被編譯,不會(huì)生成二進(jìn)制的機(jī)器指令,所以A錯(cuò)誤。由C語言構(gòu)成的指令序列稱c源程序,C源程序經(jīng)過C語言編譯程序編譯之后生成一個(gè)后綴為.OBJ的二進(jìn)制文件(稱為目標(biāo)文件);最后要由“連接程序”把此.OBJ文件與C語言提供的各種庫函數(shù)連接起來生成一個(gè)后綴為.EXE的可執(zhí)行文件。
(12)A【解析】C語言中八進(jìn)制整型常量的開頭是數(shù)字0,十六進(jìn)制整型常量的數(shù)字開頭是Ox。C語言中的實(shí)型常量
有兩種表示形式:小數(shù)形式,小數(shù)形式表示的實(shí)型常量必須要有小數(shù)點(diǎn);指數(shù)形式,以“e”或“E',后跟一個(gè)整數(shù)來表示以l0為底數(shù)的冪數(shù),且規(guī)定字母e或E之前必須要有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。B選項(xiàng)中028錯(cuò)誤,八透割中沒有數(shù)字8。c選項(xiàng)中4el.5中e后面的指數(shù)不是整數(shù):D選項(xiàng)中3.e5小數(shù)點(diǎn)后面缺少數(shù)字。
(13)A【解析】C語言中標(biāo)識(shí)符由字母、下劃線、數(shù)字組成,且開頭必須是字母或下劃線。另外,關(guān)鍵字不能作為標(biāo)識(shí)符。因?yàn)镃語言中區(qū)分大小寫,所以B選項(xiàng)中的。FOR?梢宰鳛闃(biāo)識(shí)符來用。A選項(xiàng)中含有非法字符&,所以選擇A。
(14)A【解析】B選項(xiàng)中函數(shù)pow(x,C)錯(cuò)誤應(yīng)該直接使用exp(x)函數(shù)。c選項(xiàng)中函數(shù)ah(n^x+e“x)錯(cuò)誤,應(yīng)該使用fabs()返回浮點(diǎn)數(shù)的絕對(duì)值。D選項(xiàng)中pow(x,n)參數(shù)順序錯(cuò)誤。
(15)B【解析】取模運(yùn)算符“%”,二元運(yùn)算符,具有左結(jié)合性,參與運(yùn)算的量均為整型。選項(xiàng)8中的a變量是doable實(shí)型,所以8不符合規(guī)定。
(16)D【解析】C語言中利用sizeof()函數(shù)判斷數(shù)據(jù)類型長度,在VC 6.0平臺(tái)中,整型int占有4個(gè)字節(jié),doable型數(shù)據(jù)占有8個(gè)字節(jié)。
(17)D【解析】按照從鍵盤輸入的數(shù)據(jù)可以_判斷字符l給了變量a,字符2給了變量b,字符即回車給了變量c,字符3給了變量d。所以打印輸出的結(jié)果為D選項(xiàng)。
(18)A【解析】C語言的邏輯運(yùn)算符比較特別,它的操作數(shù)沒有明確的數(shù)據(jù)類型,可以是任意合法的表達(dá)式,所以選擇A。
(19)C【解析】本題中ff(a=1)b=1;與else d=3;之間多了語句c=2;所以會(huì)出現(xiàn)else語句的位置錯(cuò)誤的編譯失敗提示。
(20)B【解析】C88e常量表達(dá)式只是起語句標(biāo)號(hào)作用,并不是該處進(jìn)行條件判斷。在執(zhí)行switch語句時(shí),根據(jù)switch的表達(dá)式,找到與之匹配的Case語句,就從此case子句執(zhí)行下去,不在進(jìn)行判斷,直到碰到break或函數(shù)結(jié)束為止。所以執(zhí)行內(nèi)層switch(y)時(shí)只執(zhí)行了a++,此時(shí)a的值為1。然后執(zhí)行外層case 2語句的a十+;b++;a為2,b為1。所以結(jié)果為B。
(21)C【解析】由于內(nèi)層循環(huán)for(k=1;k<3;k++)后面直接跟了空語句“;”所以在循環(huán)內(nèi)部什么操作也不做,跳出外層循環(huán)后執(zhí)行打印語句,所以打印了一個(gè)“t”,選擇c。(22)D【解析】Case常量表達(dá)式只是起語句標(biāo)號(hào)作用,并不是該處進(jìn)行條件判斷。在執(zhí)行switch語句時(shí),根據(jù)switch的表達(dá)式,找到與之匹配的ease語句,就從此cafle子旬執(zhí)行下去,不再進(jìn)行判斷,直到碰到break或函數(shù)結(jié)束為止。簡單的說break是結(jié)束整個(gè)循環(huán)體,而continue是結(jié)束單次循環(huán)。B選項(xiàng)中當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時(shí)要執(zhí)行打印操作。c選項(xiàng)中當(dāng)產(chǎn)生的隨機(jī)數(shù)為l和2時(shí)分別執(zhí)行cage3與case4后面語句的內(nèi)容。由于存在break語句所以for循環(huán)不是固定執(zhí)行8次,執(zhí)行次數(shù)與產(chǎn)生的隨機(jī)數(shù)n有關(guān)系。
(23)A【解析】第一次調(diào)用Ill=f(f(f(1))),第二次為m
=f(f(2)),第三次為m=f(4),即返回值為8。
(24)A【勰析l不能將一個(gè)整數(shù)直接賦給指針變量作為地址,所以A是錯(cuò)誤的。函數(shù)的返回值可以是地址,即指針。函數(shù)調(diào)用中形參值的變化不會(huì)傳遞給實(shí)參。
(25)B【解析】指針是用來存放地址的變量,用(類型名+指針變量名)的形式定義。賦值時(shí)應(yīng)將某個(gè)變量地址即8Ⅸ賦給指針變量,所以選擇8。
(26)D【解析】D選項(xiàng)中x[2][3]定義的是一個(gè)兩行三列的二維數(shù)組,而在給數(shù)組元素賦值時(shí)卻賦成了三行,所以錯(cuò)誤。
(27)A【解析】本題中的函數(shù)fun()的功能是將數(shù)組k中前5個(gè)元素倒序,所以返回后數(shù)組k中的元素排列是5,4,3,2,1,6,7,8,9,10。所以打印輸出k[2]到k[7]元素的值,即321678,所以選擇A。
(28)A【解析】本題中由fun函數(shù)可知,b[O]=a[o][0]一a[0][3]=1—4=一3,b[1]=a[1][1]一[1][2]=6—7=一1,b[2]=a[Z][2]一[2][1]=11一10=1,b[3]=8[3][3]一[3][1]=16—13=3。所以主函數(shù)中打印Y數(shù)組元素的值為A選項(xiàng)。
(29)C【解析】字符串的輸入不能使用scanf(”%s”,s);而應(yīng)該使用9ets(s)。
(30)A【解析】根據(jù)題目中的定義可以知道sizeof(p),計(jì)算的是數(shù)組P中所有元素所占用的字節(jié)數(shù),而不是ch”型數(shù)據(jù)所占字節(jié)數(shù)。
(31)A【解析】P是指向二維字符數(shù)組第二行One+Dream!的數(shù)組指針,所以長度是l0,打印輸出的也是該字符串。
(32)B【解析】本題中遇到“\”字符循環(huán)結(jié)束,所以只統(tǒng)計(jì)“\”之前的數(shù)字字符,所以為3。
(33)A【解析1聲明靜態(tài)局部變量:函數(shù)調(diào)用結(jié)束后,其占用的存儲(chǔ)單元不釋放,在下次該函數(shù)調(diào)用時(shí),該變量保留上一次函數(shù)調(diào)用結(jié)束時(shí)的值。本題子函數(shù)tim中的變量i和m均為靜態(tài)局部變量。所以第一次調(diào)用fun函數(shù),返回m的值為5,第二次再調(diào)用fun函數(shù)時(shí),i的值為3,nl的值已經(jīng)是5了,所以執(zhí)行i+=m+1,i的值變?yōu)?,nl=i+x+Y=9+1+l=11。
(34)C【解析】aut0:函數(shù)中的局部變量,動(dòng)態(tài)地分配存儲(chǔ)空間,數(shù)據(jù)存儲(chǔ)在動(dòng)態(tài)存儲(chǔ)區(qū)中,在調(diào)用該函數(shù)時(shí)系統(tǒng)會(huì)給它們分配存儲(chǔ)空間,在函數(shù)調(diào)用結(jié)束時(shí)就自動(dòng)釋放這些存儲(chǔ)空問。register:為了提高效率,C語言允許將局部變量的值放在cPU中的寄存器中,這種變量叫“寄存器變量”,只有局部自動(dòng)變量和形式參數(shù)可以作為寄存器變量。extem:#1’部變量(即全局變量)是在函數(shù)的外部定義的,它的作用域?yàn)閺淖兞慷x處開始,到本程序文件的末尾。如果外部變量不在文件的開頭定義,其有效的作用范圍只限于定義處到文件終了。static:靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)類別,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。
(35)A【解析】A選項(xiàng)stnlet onl{int x;int y;int 2;struet ora a;錯(cuò)誤,不能在定義結(jié)構(gòu)體的同時(shí),又用結(jié)構(gòu)體類型名定義變量。應(yīng)該寫成B選項(xiàng)或者D選項(xiàng)的格式。
(36)B【解析l結(jié)構(gòu)體變量可以作為函數(shù)的參數(shù)和返回值。作為函數(shù)的實(shí)參時(shí),可以實(shí)現(xiàn)函數(shù)的傳值調(diào)用。當(dāng)使用結(jié)構(gòu)體變量作為函數(shù)的形參時(shí),實(shí)參也應(yīng)該是結(jié)構(gòu)體變量名以實(shí)現(xiàn)傳值調(diào)用,實(shí)參將拷貝副本給形參,在被調(diào)用函數(shù)中改變形參值對(duì)于調(diào)用函數(shù)中的實(shí)參沒有影響。所以選擇B。
(37)A【解析】預(yù)處理命令是以“#”號(hào)開頭的命令,它們不是C語言的可執(zhí)行命令,這些命令應(yīng)該在函數(shù)之外書寫,一般在源文件的最前面書寫,但不是必須在起始位置書寫,所以B、c錯(cuò)誤。C語言的預(yù)處理能夠?qū)崿F(xiàn)宏定義和條件編譯等功能,所以D錯(cuò)誤。
(38)C【解析】nlaIloc(sizeof(int))的作用是開辟一個(gè)長度為sizeof(int)存儲(chǔ)空間,并通過強(qiáng)制類型轉(zhuǎn)換(int。)將此存儲(chǔ)空間的地址賦給了一個(gè)整型的指針變量P。然后執(zhí)行語句·P=n,使得·p的值為10,并通過return返回此值,即a的值為l0。然后在主函數(shù)中輸出a+ftm(10)=10+10=20。
(39)B【解析】無符號(hào)整型變量a的值為8,二進(jìn)制表示為00001000,右移3位后為00000001,即十進(jìn)制的l,所以輸出1。
(40)D【解析】fread(void}buffer,size—t size,size—tcount,F(xiàn)ILE}stream);功能是從一個(gè)文件流中讀數(shù)據(jù),讀取count個(gè)元素。每個(gè)元素size字節(jié),如果調(diào)用成功返回count。buffer:用于接收數(shù)據(jù)的內(nèi)存地址,大小至少是size * count字節(jié);size:單個(gè)元素的大小,單位是字節(jié);count:元素的個(gè)數(shù),每個(gè)元素是size字節(jié);Stream:輸人流。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018全國計(jì)算機(jī)等級(jí)考試備考經(jīng)驗(yàn)及應(yīng)試技巧匯總
各地2018年全國計(jì)算機(jī)等級(jí)考試準(zhǔn)考證打印時(shí)間匯總
2018年全國計(jì)算機(jī)等級(jí)考試必做試題匯總(各科目)
2018年全國計(jì)算機(jī)等級(jí)考試復(fù)習(xí)知識(shí)點(diǎn)匯總(各科目)
2018年全國計(jì)算機(jī)等級(jí)考試時(shí)間|教材目錄(2018年版)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |