- 相關(guān)推薦
2015年全國計(jì)算機(jī)二級(jí)考試《C語言》沖刺模擬題(一)答案
1.A!窘馕觥緾語言是函數(shù)式的語言。它的基本組成單位是函數(shù),在C語言中任何程序都由一個(gè)或者多個(gè)函數(shù)組成。
2.D!窘馕觥砍绦虿还,是編寫完就結(jié)束了,為了測試和維護(hù)程序,往往還需其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡單和清晰,即程序的易讀性,“清晰第一、效率第二”。
3.D!窘馕觥款(class)描述的是具有相似屬性與操作的一組對(duì)象,具體對(duì)象是類的實(shí)例。
4.D!窘馕觥克^二叉樹的前序遍歷是指先訪問根結(jié)點(diǎn),再訪問左子樹,最后訪問右子樹,可知選項(xiàng)D正確。本題中序?yàn)镈YBEAFCZX,后序?yàn)閅DEBFZXCA。
5.A。【解析】線性表的存儲(chǔ)通常要用兩種存儲(chǔ)結(jié)構(gòu):順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
6.D。【解析】算法分析是指對(duì)一個(gè)算法的運(yùn)行時(shí)間和占用空間做定量的分析,計(jì)算相應(yīng)的數(shù)量級(jí),并用時(shí)間復(fù)雜度和空間復(fù)雜度表示。分析算法的目的就是要降低算法的時(shí)間復(fù)雜度和空間復(fù)雜度,提高算法的執(zhí)行效率。
7.C!窘馕觥繑(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)兩種。不同存儲(chǔ)結(jié)構(gòu)的數(shù)據(jù)處理效率不同。鏈表采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),元素的物理順序并不連續(xù),對(duì)于插入和刪除無須移動(dòng)元素,很方便,當(dāng)查找元素時(shí)就需要逐個(gè)元素查找,因此查找的時(shí)間相對(duì)更長。
8.C!窘馕觥勘绢}考查邏輯與(&&)和邏輯或(||)運(yùn)算符的使用。x值在[1,10]之間,C語言中可以寫成“(x>=1)&&(x<=10)”;x值在[100,110]之間,C語言表達(dá)式應(yīng)寫成“(x>=100)&&(x<=110)”;[1,10]和[100,110]滿足任意條件就可以,所以是邏輯或的關(guān)系,因此只要將前兩個(gè)表達(dá)式用邏輯或運(yùn)算符連接起來即可,所以最后的表達(dá)式:(x>=1)&&(x<=10)|| (x>=l00)&&(x<=110)。
9.B!窘馕觥緾語言中用戶標(biāo)識(shí)符不能與C編譯系統(tǒng)已經(jīng)預(yù)定義的、具有特殊用途的保留標(biāo)識(shí)符(即關(guān)鍵字)同名。選項(xiàng)A,define,void為關(guān)鍵字;選項(xiàng)C,for,case為關(guān)鍵字;選項(xiàng)D,D0為關(guān)鍵字。
10.D。【解析】因?yàn)樵谶壿嫳磉_(dá)式中,兩邊的賦值表達(dá)式都成立,即值為1,故選擇D選項(xiàng)。
11.C!窘馕觥窟x項(xiàng)A是先將a的值賦給變量b,再將變量b的值賦給變量C,不合題意;B選項(xiàng)中由于c的值不為0,在將c的值賦給變量a后,表達(dá)式a=c的值為1,不再對(duì)表達(dá)式b=c計(jì)算;對(duì)于C選項(xiàng),表達(dá)式a=c的值為1,再求表達(dá)式b=C的值為1,然后進(jìn)行邏輯與運(yùn)算;D選項(xiàng)將b的值賦給c后再賦給a,故選擇C選項(xiàng)。
12.D!窘馕觥勘绢}可以寫成:a+a+(a-(a*a)),因?yàn)?的優(yōu)先級(jí)最高,其次是-=的,+的優(yōu)先級(jí)最低,所以先求a-=a*a=9,表達(dá)式變?yōu)閍+a+-=9,即a=a-9=-6,再次變?yōu)閍+(-6)=-12,故選擇D選項(xiàng)。
13.B!窘馕觥繑(shù)組下標(biāo)從0開始,A選項(xiàng)中所賦值的個(gè)數(shù)超過了數(shù)組的長度;C選項(xiàng)中定義a為字符型變量,而不是數(shù)組,賦值錯(cuò)誤;D選項(xiàng)中,整型數(shù)組不能賦字符串。
14.A。【解析】本題主要考查按位求反運(yùn)算和C語言正負(fù)數(shù)的表示。“0”代表正數(shù),“1”代表負(fù)數(shù);x=7的二進(jìn)制為00111,第一個(gè)0代表正數(shù),~x為ll000,第一個(gè)1代表負(fù)數(shù),值為8。
15.B!窘馕觥吭趙hile(E)中,表達(dá)式E可以是C語言中任意合法的條件表達(dá)式,但不能為空,由它來控制循環(huán)體是否執(zhí)行。在選項(xiàng)B 中表達(dá)式E>0||E<0是一個(gè)邏輯表達(dá)式。
1 6.C!窘馕觥吭趍數(shù)組中賦值的是字符串,其長度為7,末尾有結(jié)束符ˊ\0ˊ,故字節(jié)數(shù)為8,而n數(shù)組中賦的是字符,其長度為7,故C選項(xiàng)正確。
17.B。【解析】本題考查if…else語句。if條件為真則執(zhí)行后面的表達(dá)武,如果if為假則執(zhí)行else語句。
18.D。【解析】{int k=-3;if(k<=0)printf(″****\n″)else wind(″&&&&\n″);)中printf(″****\n″)缺少分號(hào),因此會(huì)報(bào)編譯錯(cuò)誤。
19.C!窘馕觥慨(dāng)執(zhí)行fun函數(shù)時(shí),因?yàn)閰?shù)傳遞時(shí)是地址傳遞,因此形參值的改變會(huì)影響實(shí)參中的數(shù),在執(zhí)行fun函數(shù)時(shí)先輸出1 2,接著把*x賦3,*y賦4,此時(shí)帶回主函數(shù)中,輸出的值為3 4。
20.D!窘馕觥恳?yàn)樽址麛?shù)組s[];中的數(shù)組名S表示的是一個(gè)地址常量。所以語句“s+=2;”不能將指針在當(dāng)前位置的基礎(chǔ)上再向后移動(dòng)兩位,因而程序編譯時(shí)出錯(cuò)。21.B!窘馕觥克街票矸校'\t'表示的是橫向跳若干格;選項(xiàng)B中,ˊ\039 ˊ錯(cuò)誤,ˊ\039ˊ是八進(jìn)制形式表的字符,最大數(shù)為7,但其中出現(xiàn)ˊ9 ˊ,ˊ,ˊ是字符逗號(hào);選項(xiàng)D中,ˊ\n ˊ表示的是換行。
22.B。【解析】第一個(gè)for循環(huán)的作用是讓P指向每行的首地址,第二個(gè)for循環(huán)的作用是把它指向的字符串輸出,故選擇B選項(xiàng)。
23.D。【解析】當(dāng)k=1時(shí),循環(huán)成立,輸出w[1]的數(shù)組即EFGH,接著執(zhí)行k++后k為2;當(dāng)k=2時(shí),循環(huán)成立,輸出w[2]的數(shù)組即IJKL,接著執(zhí)行k++后,k為3;當(dāng)k=3時(shí),循環(huán)不成立,退出。
24.C!窘馕觥恳?yàn)閍=2,b=-1,f(a)
25.B。【解析】在定義*p=&r時(shí),是表示r的地址賦給了P所指的存儲(chǔ)單元,因此選項(xiàng)B正確。
26.B!窘馕觥(x&1)&&(z<ˊ2 ˊ)=(0.5&1)&&(ˊaˊ<ˊzˊ)=1 &&1=1,故選擇B選項(xiàng)。
27.D!窘馕觥恳胧钩绦蜉敵25,則j-40=25,j=65,而j初值是50,所以填入for循環(huán)的語句,使引用的數(shù)組元素累加65-50=15即可。D選項(xiàng)中,i下標(biāo)從0開始,i=2指向第3個(gè)數(shù)50+a[2]=50+10=60,繼續(xù)循環(huán)60+a[3]=60+5=65,此時(shí)i 4跳出,循環(huán)結(jié)束。
28.B。【解析】二維數(shù)組的元素可以看成是按矩陣形式存放的,數(shù)組第一維的下標(biāo)是i,說明它前面還有i行,有i*m個(gè)元素,數(shù)組第二維的下標(biāo)是j,說明它靜面還有j列,有j
個(gè)元素,所以共有i*m+j個(gè)元素。
29.B。【解析】首先分兩塊,逗號(hào)前面的是第一塊,先執(zhí)行,逗號(hào)后面的是第二塊,后執(zhí)行;兩個(gè)塊中,括號(hào)里的先執(zhí)行,a-=a-5;//執(zhí)行前’a=0,執(zhí)行后,a-=-5,a=5;c=a;//c=5;a=b;//a=b=0;b+3;//執(zhí)行,但是不修改任何數(shù)字。所以,最后結(jié)果是:0,0,5。B選項(xiàng)符合結(jié)果。
30.A!窘馕觥勘绢}主要考查結(jié)構(gòu)體數(shù)組的使用。x[i].num為結(jié)構(gòu)體xl-i]中的hum成員,x[i].num[2]是結(jié)構(gòu)體x[i]中name成員的第3個(gè)元素。程序執(zhí)行循環(huán)過程時(shí):第1次循環(huán),i=1,輸出x[i].num,x[1].name[2]的值;第2次循環(huán),i=2,輸出x[2].num,x[2].name[2]的值,即3N;第3次循環(huán),i=3,輸出x[3].num,x[3].name[2]的值,即4A;第4次循環(huán),i=4,輸出x[4].num,x[4].name[2]的值,即5U。
31.A!窘馕觥縫=a,相當(dāng)于重新把a(bǔ)中的內(nèi)容賦給a本身,所以a[2]=6。
32.A。【解析】函數(shù)fun的作用是將指針a指向指針b的內(nèi)容,然后將該內(nèi)容加1。執(zhí)行語句“fun(p1,p2);”后,pl和p2指向的地址并未改變,只是將p2指向的存儲(chǔ)單元的值增加1。所以,答案是A。
33.A。【解析】函數(shù)int fun(int n)的功能是求1+2+…+n的值并返回。所以執(zhí)行程序時(shí),給變量x輸入10后,執(zhí)行語句“x=fun(x);”,x的值將變?yōu)?到10中10個(gè)整數(shù)的累加和,即55。
34.D。【解析】因?yàn)槭紫萲-2,然后你進(jìn)行一次循環(huán)后,k自增兩次,變成4,所以這時(shí)候s又成l了。然后當(dāng)k-4的時(shí)候,s=1,j=4,然后執(zhí)行內(nèi)層循環(huán),s=1+4,然后j自增等于5,s=5+5,然后j再自增為6,跳出內(nèi)層循環(huán)。k自增兩次后等于6,不成立,跳出外層循環(huán)。然后輸出s的值,即為10。因此正確選項(xiàng)為D。
35.B!窘馕觥勘绢}考查switch,case語句,當(dāng)k-0時(shí),循環(huán)體成立,執(zhí)行switch后表達(dá)式的值為ˊ1 ˊ,執(zhí)行caseˊ1ˊ,i的值為0,因?yàn)闆]有break語句,繼續(xù)執(zhí)行其后的語句,到最后一個(gè)語句時(shí)i的值為3,此時(shí)v[i]++,v[3]=1,接著執(zhí)行k++后,k的值為1,當(dāng)k=1時(shí),循環(huán)成立。執(zhí)行switch后的表達(dá)式的值為ˊ2ˊ,執(zhí)行caseˊ2ˊ,i的值為1,因?yàn)闆]有break語句,繼續(xù)執(zhí)行其后的語句,到最后一個(gè)語句時(shí),i的值為3,此時(shí)v[i]++,v[3]=2,接著執(zhí)行k++后,k的值為2,依次下去,case ˊ4 ˊ也會(huì)執(zhí)行,最后i的值一定為3,到v[3]=8時(shí)循環(huán)結(jié)束,而v[o]~v[2]的值一直沒有變化,故選擇B選項(xiàng)。
36.C!窘馕觥縳的值為十進(jìn)制數(shù)102,而y的值為八進(jìn)制數(shù)012,根據(jù)題意將y用十進(jìn)制表示為10%md,in為指定輸出數(shù)據(jù)的寬度,若位數(shù)小于m則左端補(bǔ)以空格,若位數(shù)大于in則按實(shí)際輸出,所以答案是C。
37.B。【解析】while語句執(zhí)行如下:
當(dāng)z=3,x=0時(shí),表達(dá)式z-->0&&++x<5為真,z的值變?yōu)?,x的值變?yōu)?,執(zhí)行語句“y=y-1;”,y的值變?yōu)?;
當(dāng)z=2,x=l時(shí),表達(dá)式z-->0 &&++x<5為真,z的值變?yōu)?,x的值變?yōu)?,執(zhí)行語句“y=y-1;”y的值變?yōu)?;當(dāng)z=1,x=2時(shí),表達(dá)式z-->0&&++x<5為真,z的值變?yōu)?。x的值變?yōu)?,執(zhí)行語句“y=y-1;”,y的值變?yōu)?;
當(dāng)z=0,x=3時(shí),表達(dá)式z-->0為假,表達(dá)式(z-->0&&++x<5)為假,z的值為-1,不進(jìn)行++x<5的判斷,不執(zhí)行語句y=y-1;;
所以x的值為3,y的值為2,z的值為-1。答案為B。
38.C!窘馕觥縴的初始值為~1,當(dāng)x不等于0時(shí),給y賦值為1,也就是這時(shí)x>0和x>0都為1,然后如果x>0時(shí)y的值又賦值為1,注意后面的else語句是跟if(x>0)y=1相匹配,就是說除了x>0 y=1之外,其他的情況y都為0。
39.B!窘馕觥客ㄟ^觀察可知圖形共4行,主函數(shù)中通過一個(gè)for循環(huán)四次,輸出4行。第一行輸出3個(gè)空格和1個(gè)“*”,第2行輸出2個(gè)空格和3個(gè)“*”,第3行輸出3個(gè)空格和5個(gè)“*”,第四行輸出7個(gè)“*”,主函數(shù)中通過第二個(gè)循環(huán)控制每行的輸出空格數(shù),第三個(gè)for循環(huán)控制輸出的“*”的個(gè)數(shù),總結(jié)規(guī)律:每行輸出的“*”的個(gè)數(shù),總比前一行的多2個(gè),且第一行的個(gè)數(shù)為1,可以斷定每行輸出的“*”的個(gè)數(shù)組成了一個(gè)公差為2的等差數(shù)列,所以每行輸出“*”的個(gè)數(shù)即該等差數(shù)列的通項(xiàng),故該空格處應(yīng)該填寫2*i-1。
40.A!窘馕觥课恢弥羔槷(dāng)前值函數(shù)ftell()的基本調(diào)用格式為ftell(fp)。
ftell函數(shù)的功能:得到fp所指向文件的當(dāng)前讀寫位置,即位置指針的當(dāng)前值,如果函數(shù)的返回值為-1L,表示出錯(cuò)。
【全國計(jì)算機(jī)二級(jí)考試《C語言》沖刺模擬題一答案】相關(guān)文章:
2015年全國計(jì)算機(jī)二級(jí)考試《C語言》沖刺模擬題(二)答案09-26
2015年全國計(jì)算機(jī)二級(jí)考試《C語言》沖刺模擬題(三)答案07-22
2015年全國計(jì)算機(jī)二級(jí)考試《C語言》沖刺模擬題(一)07-18
2015年全國計(jì)算機(jī)二級(jí)考試《C語言》沖刺模擬題(三)08-01
2015年全國計(jì)算機(jī)二級(jí)考試《C語言》沖刺模擬題(五)06-21
2015年全國計(jì)算機(jī)二級(jí)考試《C語言》沖刺模擬題(七)08-15
2015年全國計(jì)算機(jī)二級(jí)考試《C語言》沖刺模擬題(八)09-25