點(diǎn)擊查看:2015計(jì)算機(jī)二級(jí)《C語(yǔ)言》精選練習(xí)題及答案匯總
1[單選題] 以下敘述中正確的是
A.由printf輸出的數(shù)據(jù)都隱含左對(duì)齊
B.scanf和printf是c語(yǔ)言提供的輸人和輸出語(yǔ)句
C.賦值語(yǔ)句是一種執(zhí)行語(yǔ)句,必須放在函數(shù)的可執(zhí)行部分
D.由printf輸出的數(shù)據(jù)的實(shí)際精度是由格式控制中的域?qū)捄托?shù)的域?qū)拋?lái)完全決定的
參考答案:C
參考解析:sCanf和printf是C語(yǔ)言提供的輸入輸出函數(shù),所以B錯(cuò)誤。由printf輸出的數(shù)據(jù)都隱含右對(duì)齊,所以A錯(cuò)誤。printf輸出數(shù)據(jù)所占的寬度由系統(tǒng)決定,所以D錯(cuò)誤。
2[單選題] 若有以下程序
則程序的輸出結(jié)果是
A.17,289B.49,2401C.17,37D.49,289
參考答案:C
參考解析:本題考查宏定義,宏定義只是做個(gè)簡(jiǎn)單的替換,執(zhí)行S(k+j)=k+j*k+j=17,T(k+j)=S(k+j)*S(k+j)=k+j*k+j*k+j$k+j=37,選項(xiàng)C正確。
3[單選題] 設(shè)有定義:int a=64,b=8;,則表達(dá)式(a&B)||(a&&B)和(a|B)&&(a||B)的值分別為
A.1和1B.1和0C.0和1D.0和0
參考答案:A
參考解析:常用的位運(yùn)算符有:“~”按位求反,“<<”左移,“>>”右移,“&”按位與,“^”按位異或,“|”按位或。邏輯或運(yùn)算符“||”,計(jì)算左表達(dá)式值,如果為真,則不計(jì)算右表達(dá)式,而整個(gè)表達(dá)式為真,若左表達(dá)式為假,再計(jì)算右表達(dá)式,然后做或運(yùn)算。邏輯與運(yùn)算符“&&”,計(jì)算左表達(dá)式值。如果為假則不計(jì)算右表達(dá)式。而整個(gè)表達(dá)式為假,若左表達(dá)式為真,再計(jì)算右表達(dá)式,然后做與運(yùn)算。a=64=1000000B,b=8=1000B,a&b=0為假,a&b為真,(a&B)||(a&&B)為真,值為1。a|b=1001000B為真,a||b為真,則(a|B)&&(a||B)為真,值為1。A選項(xiàng)正確。
4[單選題] 有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.3,5B.5,3C.35,35D.8,8
參考答案:B
參考解析:運(yùn)算符為按位異或運(yùn)算符,即0^1=1,1‘0=1,1^1=0,∞=0;經(jīng)計(jì)算可得X=x^y,Y=x^y,X=x^y,作用是交換x,Y的值。因此答案為B選項(xiàng)。
5[單選題] 下列敘述中正確的是( )。
A.循環(huán)隊(duì)列有隊(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
參考解析:循環(huán)隊(duì)列有隊(duì)頭和隊(duì)尾兩個(gè)指針,但是循環(huán)隊(duì)列仍是線性結(jié)構(gòu)的,所以A錯(cuò)誤;在循環(huán)隊(duì)列中只需要隊(duì)頭指針與隊(duì)尾兩個(gè)指針來(lái)共同反映隊(duì)列中元素的動(dòng)態(tài)變化情況,所以B與C錯(cuò)誤。
6[單選題] 以下結(jié)構(gòu)體類型說(shuō)明和變量定義中正確的是( )。
參考答案:B
參考解析:本題考查結(jié)構(gòu)體的相關(guān)知識(shí),選項(xiàng)A中struct REC后面不能有分號(hào),C選項(xiàng)中typedef struct REC的后面也不能有分號(hào),選項(xiàng)D中REC已經(jīng)是結(jié)構(gòu)體變量,不能當(dāng)做結(jié)構(gòu)體類型來(lái)使用。
7[單選題] 假定已建立以下鏈表結(jié)構(gòu),且指針P和q已指向如圖所示的結(jié)點(diǎn):
則以下選項(xiàng)中可將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語(yǔ)句組是( )。
A.p一>next=q一>next;flee(q);
B.p=q一>next;free(q);
C.p=q;free(q);
D.(*p).next=(幸q).next;ffee(p);
參考答案:A
參考解析:本題考查刪除鏈表中的結(jié)點(diǎn)操作,其方法是將要?jiǎng)h除結(jié)點(diǎn)的上個(gè)結(jié)點(diǎn)的下個(gè)結(jié)點(diǎn)指向要?jiǎng)h除結(jié)點(diǎn)的下個(gè)結(jié)點(diǎn),然后釋放該要?jiǎng)h除結(jié)點(diǎn),所以選項(xiàng)A正確。
8[單選題] 若有以下程序
則程序的輸出結(jié)果是
A.earlsB.ahabjC.ckbdlD.black
參考答案:D
參考解析:程序首先初始化字符數(shù)組a[5][10]和二維數(shù)組p[6][2]。執(zhí)行for循環(huán)語(yǔ)句,循環(huán)變量i從0取值到5,得到字符數(shù)組W[]的值,并通過(guò)字符串輸出函數(shù)pats進(jìn)行輸出操作。w[0]=a[0][1]、w[1]=a[1][5]、w[2]=a[0][0]、w[3]=a[0][2]、w[4]=a[1][4]、w[5]=a[4][4];因此最后字符數(shù)組W的結(jié)果為black。因此D選項(xiàng)正確。
9[單選題] 若有以下程序
則程序的輸出結(jié)果是
A.3B.7C.6D.10
參考答案:D
參考解析:第—個(gè)if語(yǔ)句a!=1條件為假,所以執(zhí)行dse后的語(yǔ)句r=1。第二個(gè)if語(yǔ)句b==2條件成立,執(zhí)行r+=2,r的值變?yōu)?,第三個(gè)if語(yǔ)句c!=3條件為假,所以不做任何操作。執(zhí)行下面的r+=3操作,r的值變?yōu)?。判斷第四個(gè)訌條件,d==4條件成立,執(zhí)行r+=4操作,結(jié)果為10。
10[簡(jiǎn)答題]N名學(xué)生的成績(jī)已在主函數(shù)中放人一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫函數(shù)fun,其功能是:求出平均分,并由函數(shù)值返回。
例如,若學(xué)生的成績(jī)是:85 76 69 85 91 72 64 87,則平均分應(yīng)當(dāng)是:78.625。注意:部分源程序在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填人你編寫的若干語(yǔ)句。
參考解析:
【考點(diǎn)分析】
本題考查:鏈表的操作,對(duì)鏈表的主要操作有以下幾種:建立鏈表、結(jié)構(gòu)的查找與輸出、插入一個(gè)結(jié)點(diǎn)、刪除一個(gè)結(jié)點(diǎn)。
【解題思路】
題目要求求鏈表中數(shù)據(jù)域的平均值,應(yīng)首先使用循環(huán)語(yǔ)句遍歷鏈表,求各結(jié)點(diǎn)數(shù)據(jù)域中數(shù)值的和,再對(duì)和求平均分。遍歷鏈表時(shí)應(yīng)定義一個(gè)指向結(jié)點(diǎn)的指針P,因?yàn)椤邦^結(jié)點(diǎn)”中沒(méi)有數(shù)值,所以程序中讓P直接指向“頭結(jié)點(diǎn)”的下一個(gè)結(jié)點(diǎn),使用語(yǔ)句STREC+P=h÷next。
相關(guān)推薦:
2015年9月計(jì)算機(jī)等級(jí)考試成績(jī)查詢時(shí)間通知
2015年全國(guó)計(jì)算機(jī)等級(jí)考試各科目考前必做試題
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |