- 相關(guān)推薦
全國計算機二級考試C語(yǔ)言復習題與答案解析
想要順利通過(guò)計算機二級C語(yǔ)言考試,平時(shí)需要多練習多選題。以下是百分網(wǎng)小編搜索整理的一份全國計算機二級考試C語(yǔ)言復習題與答案解析,供參考練習,希望對大家有所幫助!想了解更多相關(guān)信息請持續關(guān)注我們應屆畢業(yè)生考試網(wǎng)!

一、選擇題
1). 下列敘述中正確的是( )。
A.調用printf( )函數時(shí),必須要有輸出項
B.使用putchar( )函數時(shí),必須在之前包含頭文件stdio.h
C.在C語(yǔ)言中,整數可以以二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D.調節getchar( )函數讀入字符時(shí),可以從鍵盤(pán)上輸入字符所對應的ASCII碼
正確答案:B
答案解析:選項A,若printf函數沒(méi)有輸出項,且格式字符串中不含格式信息,則輸出的是格式字符串本身,若格式字符串含有格式信息,運行時(shí)則出現錯誤提示;選項C,在C語(yǔ)言中,整數可以十進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出;選項D,getchar函數是從標準輸入設備讀取一個(gè)字符。
2). 以下結構體類(lèi)型說(shuō)明和變量定義中正確的是( )
A.typedef struct { int n; char c; } REC; REC t1,t2;
B.struct REC ; { int n; char c; }; REC t1,t2;
C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;
D.struct { int n; char c; } REC; REC t1,t2;
正確答案:A
答案解析:定義結構體類(lèi)型的一般形式為:struct 結構體名 {成員列表};struct 結構體名后不能加″;″號,所以選項B、C)錯誤,選項D中定義無(wú)名稱(chēng)的結構體類(lèi)型同時(shí)定義結構體變量形式應為struct t1,t2;選項A為用戶(hù)自定義類(lèi)型,其為正確的定義形式。
3). 若實(shí)體A和B是一對多的聯(lián)系,實(shí)體B和C是一對一的聯(lián)系,則實(shí)體A和C的聯(lián)系是( )
A.一對一
B.一對多
C.多對一
D.多對多
正確答案:B
答案解析:由于B和C有一一對應的聯(lián)系,而A和B只間有一對多的聯(lián)系,則通過(guò)關(guān)系之間的傳遞,則A和C之間也是一對多的聯(lián)系。
4). 一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是( )
A.一對一
B.一對多
C.多對一
D.多對多
正確答案:B
答案解析:兩個(gè)實(shí)體集間的聯(lián)系可以有下面幾種:一對一的聯(lián)系、一對多或多對一的聯(lián)系和多對多的聯(lián)系。由于一個(gè)宿舍可以住多個(gè)學(xué)生,所以它們的聯(lián)系是一對多聯(lián)系。
5). 軟件設計中劃分模塊的一個(gè)準則是( )
A.低內聚低耦合
B.高內聚低耦合
C.低內聚高耦合
D.高內聚高耦合
正確答案:B
答案解析:耦合性與內聚性是模塊獨立性的兩個(gè)定性標準。一般一個(gè)較優(yōu)秀的軟件設計,應盡量做到高內聚,低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。
6). 當把4個(gè)表達式用作if語(yǔ)句的控制表達式時(shí),有一個(gè)選項與其他3個(gè)選項含義不同,這個(gè)選項是( )。
A.k%2
B.k%2==1
C.(k%2) !=0
D.!k%2==1
正確答案:A
答案解析:整數k對2求余數的兩個(gè)結果只能是0和1,所以選項A表示k除以2的余數,其結果是0或1。在選項B、C和D中包括算術(shù)求余運算符″%″,關(guān)系等于運算符 ″==″和關(guān)系不等于運算符″!=″以及邏輯非運算符″!″。而邏輯運算符與賦值運算符、算術(shù)運算符、關(guān)系運算符之間從高到低的運算優(yōu)先次序是:!(邏輯″非″)、算術(shù)運算符、關(guān)系運算符、&&(邏輯″與″)、||(邏輯″或″)、賦值運算符。選項B含義是判斷表達式k%2的結果是否等于1、選項C的含義是判斷表達式k%2的結果是否不等于0,選項D含義是判斷表達式!k%2的結果是否等于1,所以選項B、C和D的含義相同。
二、程序填空題
下列給定程序中,函數fun的功能是:將形參n中個(gè)位上為偶數的數取出,并按原來(lái)從高位到低位相反的順序組成一個(gè)新數,作為函數值返回。
例如,輸入一個(gè)整數27638496,函數返回值為64862。
請在程序的下劃線(xiàn)處填入正確的內容并將下劃線(xiàn)刪除,使程序得出正確的結果。注意:部分源程序在文件BLANKl.C中。
不得增行或刪行,也不得更改程序的結構!#include
unsigned long fun(unsigned long n){unsigned long x=0;int t;
三、程序修改題
下列給定程序中函數fun的功能是:將長(cháng)整型數中各位上為奇數的數依次取出,構成一個(gè)新數放在t中。高位仍在高位,低位仍在低位。
例如,當s中的數為87653142時(shí),t中的數為7531。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結構!
四、程序設計題
某學(xué)生的記錄由學(xué)號、8門(mén)課程成績(jì)和平均分組成,學(xué)號和8門(mén)課程的成績(jì)已在主函數中給出,請編寫(xiě)函數fun,其功能是:求出該學(xué)生的平均分,并放入記錄的ave成員中。
例如,學(xué)生的成績(jì)是:85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應為78.875。注意:部分源程序在文件PROGl.C中。
請勿改動(dòng)主函數main和其他函數中的任何內容,僅在函數fIm的花括號中填入你編寫(xiě)的若干語(yǔ)句。
》》參考答案與解析《《
二、程序填空題
(1)0
(2)10*x
(3)n/10
【考點(diǎn)分析】
本題考查:已知某數,如何求該數各個(gè)位數值,已知各個(gè)位數值,如何表示該數;除法運算。
【解題思路】
填空l(shuí):定義變量t用來(lái)存放某數的各個(gè)位數值,此處判斷t是否為偶數,即對2求余結果是否為0。
填空2:將t作為x的個(gè)位數,原來(lái)x的各個(gè)位上升l位,即x=10{x+1。
填空3:每循環(huán)一次,通過(guò)除法運算,去掉數值最后一位。
【解題寶典】
如果知道某數n的各個(gè)位的數值,可以得到該數值n,如n的個(gè)位為a、十位為b、百位為c,那么n=c}100+b*10+a。如果知道數值n,可以采用求余和除法操作來(lái)表示其各個(gè)位,如n%10(取個(gè)位)、n/J0(取十位),讀者可以自己考慮一下,如果是三位數,如何提取各個(gè)位?四位數呢?
三、程序修改題
【參考答案】
(1)}t=0;(2)if(d%2 1=O)或if(d%2==1)
【考點(diǎn)分析】
本題考查:指針型變量作為函數參數;if語(yǔ)句條件表達式,結合奇偶數的表示方法來(lái)確定該表達式內容。
【解題思路】
(1)由函數定義可知,變量t是指針變量,所以對t進(jìn)行賦初值0是不對的`。因為t指向的是存放新數的變量,所以此處應給新數賦初值0,即。t=0。
(2)變量d表示數S各個(gè)位上的數,此處的if條件應為判斷d是否為奇數。
四、程序設計題
void fun(STREC*a)
inti:
a一>ave=0.0:
fbr(i=0;iave=a—>ave+·一>s[i];/*求各門(mén)成績(jì)的總和}/
a->ave/=N;/}求平均分*/}
【考點(diǎn)分析】
本題考查:結構體類(lèi)型成員運算,指向結構體類(lèi)型的指針變量作函數參數。
【解題思路】
本題考查自定義形參的相關(guān)知識點(diǎn),程序流程是這樣的:在如n()函數中求出平均分后,返回到主函數時(shí)平均分也要帶回,所以只能定義一個(gè)指針類(lèi)型的形參STREC·a,此時(shí),引用成員的方式可以使用指向運算符,即a一>ave和a—>s[i],當然也可用(*a),ave和(*a).S[i]。
【全國計算機二級考試C語(yǔ)言復習題與答案解析】相關(guān)文章:
全國計算機二級C語(yǔ)言復習題及答案07-28
全國計算機二級C++考試強化復習題及答案11-09