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