第 1 頁:選擇題 |
第 2 頁:程序填空題 |
第 3 頁:程序修改題 |
第 4 頁:程序設(shè)計(jì)題 |
第 5 頁:參考答案及解析 |
(1)B【解析】在一個(gè)C語言程序中可以進(jìn)行多種算法的實(shí)現(xiàn),對(duì)算法的個(gè)數(shù)沒有規(guī)定,所以B錯(cuò)誤。
(2)A【解析】A選項(xiàng)中l(wèi)15L表示ll5是長整型數(shù)據(jù),合法。B選項(xiàng)是八進(jìn)制常量的表示方法,但是在八進(jìn)制中不能含有數(shù)字8,所以B錯(cuò)誤。c選項(xiàng)中e后面應(yīng)該是整數(shù)不能是小數(shù)1.5,所以c錯(cuò)誤。D選項(xiàng)中八進(jìn)制常量應(yīng)該是數(shù)字…0開始,而不是字母…O開始。
(3)D【解析】C語言中標(biāo)識(shí)符由字母、下劃線、數(shù)字組成,且開頭必須是字母或下劃線。所以D選項(xiàng)中的連接符不合法。
(4)A【解析】8與D選項(xiàng)中取模運(yùn)算符%的左右兩個(gè)操作數(shù)均應(yīng)為整數(shù),所以B、D錯(cuò)誤。c選項(xiàng)中不能將X+Y的值賦給表達(dá)式Y(jié)*5,所以c錯(cuò)誤。
(5)A【解析】A選項(xiàng)中逗號(hào)表達(dá)式先計(jì)算第一表達(dá)式2*x,然后計(jì)算表達(dá)式x+=2的值,即x=x+2即4,整個(gè)逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值4,所以選擇A。B選項(xiàng)中首先計(jì)算逗號(hào)表達(dá)式中第一表達(dá)式x++,此時(shí)x為3,在執(zhí)行第二個(gè)表達(dá)式2·X=2*3=6,所以逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值6。C選項(xiàng)的賦值表達(dá)式可以表示為x=x *(1+x)=2}(1+2)=6。D選項(xiàng)中的表達(dá)式可以表示為x=X}(x+1)=2·3=60
(6)C【解析】z=X++,Y++,++y;因?yàn)橘x值運(yùn)算符的優(yōu)先級(jí)高于逗號(hào)運(yùn)算符的優(yōu)先級(jí),所以可以將上式表示成(Z=x++),(Y++),(++y)。然后從左向右先計(jì)算表達(dá)式Z=X++,因?yàn)閤++先使用后自增,所以z的值為1,X的值為2。再計(jì)算逗號(hào)表達(dá)式第二個(gè)表達(dá)式Y(jié)++,此時(shí)Y的值為2,最后計(jì)算第三個(gè)表達(dá)式++y,Y的值為3。
(7)A【解析】本題目中字符變量cl是字符‘A’的ASCIl碼加上4,即69所對(duì)應(yīng)的字符‘E’。字符變量c2是字符‘A’的ASCIl碼加上3,即68所對(duì)應(yīng)的字符‘D’。但是打印輸出時(shí),cl以%C的格式輸出,所以是E,c2以%d的格式輸出,所以是68。
(8)A【解析】條件表達(dá)式:x=表達(dá)式17表達(dá)式2:表送式3的含義是:先求解表達(dá)式1,若為非0(真),則求解表達(dá)芪2,將表達(dá)式2的值賦給x。若表達(dá)式1的值為0(假),則求辭表達(dá)式3,將表達(dá)式3的值賦給x。在本題中與表達(dá)式1::x—y)等價(jià)的是(x—Y<0I|x—Y>O)。
(9)D【解析】在if else語句中else總是與離它最近的f配對(duì)。本題目中x為l所以!X為0,所以執(zhí)行else if語句中的內(nèi)容,判斷(x==O)是否成立,因?yàn)閤為1所以條件不成立,聽以else if內(nèi)部的if…else語句不再執(zhí)行,所以Y的值還是初蛤值0。
(10)A【解析】B選項(xiàng)中switch((int)x);語句中不應(yīng)該有最后的分號(hào)。switch(exprl),中的exprl不能用浮點(diǎn)類型或10n9類型,也不能為一個(gè)字符串,所以c錯(cuò)誤。ca”后面常量表達(dá)式的類型必須與switch后面表達(dá)式的類型一致,所以D錯(cuò)誤。
(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,字符<CR>即回車給了變量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。
二、程序填空題
【參考答案】
(1)0
(2)10*x
(3)n/10
【考點(diǎn)分析】
本題考查:已知某數(shù),如何求該數(shù)各個(gè)位數(shù)值,已知各個(gè)位數(shù)值,如何表示該數(shù);除法運(yùn)算。
【解題思路】
填空l:定義變量t用來存放某數(shù)的各個(gè)位數(shù)值,此處判斷t是否為偶數(shù),即對(duì)2求余結(jié)果是否為0。
填空2:將t作為x的個(gè)位數(shù),原來x的各個(gè)位上升l位,即x=10{x+1。
填空3:每循環(huán)一次,通過除法運(yùn)算,去掉數(shù)值最后一位。
【解題寶典】
如果知道某數(shù)n的各個(gè)位的數(shù)值,可以得到該數(shù)值n,如n的個(gè)位為a、十位為b、百位為c,那么n=c}100+b*10+a。如果知道數(shù)值n,可以采用求余和除法操作來表示其各個(gè)位,如n%10(取個(gè)位)、n/J0(取十位),讀者可以自己考慮一下,如果是三位數(shù),如何提取各個(gè)位?四位數(shù)呢?
三、程序修改題【參考答案】(1)}t=0;(2)if(d%2 1=O)或if(d%2==1)
【考點(diǎn)分析】
本題考查:指針型變量作為函數(shù)參數(shù);if語句條件表達(dá)式,結(jié)合奇偶數(shù)的表示方法來確定該表達(dá)式內(nèi)容。
【解題思路】
(1)由函數(shù)定義可知,變量t是指針變量,所以對(duì)t進(jìn)行賦初值0是不對(duì)的。因?yàn)閠指向的是存放新數(shù)的變量,所以此處應(yīng)給新數(shù)賦初值0,即。t=0。
(2)變量d表示數(shù)S各個(gè)位上的數(shù),此處的if條件應(yīng)為判斷d是否為奇數(shù)。
四、程序設(shè)計(jì)題【參考答案】voidfun(char pl[],char p2[])
in“,j;
for(i=0;pl[i]f=。、0’;i++);
for(j=0;p2[j]!=。、0’;j++)p1[i++]=p2[j];
p1[i],_。、0’;}
【考點(diǎn)分析】“
本題考查:不使用字符串函數(shù)實(shí)現(xiàn)字符串連接操作。通過for循環(huán)語句來完成,不要忘了最后需要加上字符串結(jié)束標(biāo)識(shí)‘、0’。
【解題思路】
本題用兩個(gè)循環(huán)完成操作,第1個(gè)循環(huán)的作用是求出第l個(gè)字符串的長度,即將i指到第1個(gè)字符串的末尾。第2個(gè)循環(huán)的作用是將第2個(gè)字符串的字符連到第l個(gè)字符申的末尾。最后在第l個(gè)字符串的結(jié)尾加上字符串結(jié)束標(biāo)識(shí)‘、0’。
微信搜索"考試吧"獲取更多考試資訊、備考資料
相關(guān)推薦:
2017年全國計(jì)算機(jī)等級(jí)考試時(shí)間安排公布
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |