計(jì)算機(jī)二級(jí)《C語(yǔ)言》測(cè)試題與答案解析
無(wú)論是身處學(xué)校還是步入社會(huì),我們很多時(shí)候都不得不用到試題,通過(guò)試題可以檢測(cè)參試者所掌握的知識(shí)和技能。什么類型的試題才能有效幫助到我們呢?下面是小編幫大家整理的計(jì)算機(jī)二級(jí)《C語(yǔ)言》測(cè)試題與答案解析,僅供參考,希望能夠幫助到大家。
(1)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.10,One*Dream!
B.9,One*Dream!
C.9,One*World
D.10,One*World
(2)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.0
B.3
C.7
D.8
(3)有以下程序:
程序執(zhí)行后的輸出結(jié)果是( )。
A.5,11
B.5,5
C.11,11
D.11,5
(4)在c語(yǔ)言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類型是( )。
A.aut0和static
B.extern和register
C.aut0和register
D.static和register
(5)下面結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是( )。
A.struct ord{int x;int Y;int z;}struct ord a;
B.struct ord{int x;im Y;im z;};struct ord a;
C.struct ord{int x;int Y;int Z;}a;
D.struct{int x;int Y;int z;}a;
(6)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.2,4
B.1,2
C.1,4
D.2.3
(7)以下敘述中正確的是( )。
A.在C語(yǔ)言中,預(yù)處理命令行都以“#”開(kāi)頭
B.預(yù)處理命令行必須位于c源程序的起始位置
C.#include必須放在C程序的開(kāi)頭
D.C語(yǔ)言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
(8)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.O
B.10
C.20
D.出錯(cuò)
(9)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.16
B.1
C.32
D.O
(10)讀取二進(jìn)制文件的函數(shù)調(diào)用形式為:fread(buffer,size,count,fp);,其中buffer代表的是( )。
A.一個(gè)內(nèi)存塊的字節(jié)數(shù)
B.一個(gè)整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)
C.一個(gè)文件指針,指向待讀取的文件
D.一個(gè)內(nèi)存塊的首地址,代表讀人數(shù)據(jù)存放的地址
參考答案與解析
(1)A
【解析】P是指向二維字符數(shù)組第二行One+Dream!的數(shù)組指針,所以長(zhǎng)度是l0,打印輸出的也是該字符串。
(2)B
【解析】本題中遇到“\”字符循環(huán)結(jié)束,所以只統(tǒng)計(jì)“\”之前的數(shù)字字符,所以為3。
(3)A
【解析】聲明靜態(tài)局部變量:函數(shù)調(diào)用結(jié)束后,其占用的存儲(chǔ)單元不釋放,在下次該函數(shù)調(diào)用時(shí),該變量保留上一次函數(shù)調(diào)用結(jié)束時(shí)的值。本題子函數(shù)tim中的變量i和m均為靜態(tài)局部變量。所以第一次調(diào)用fun函數(shù),返回m的值為5,第二次再調(diào)用fun函數(shù)時(shí),i的值為3,nl的值已經(jīng)是5了,所以執(zhí)行i+=m+1,i的值變?yōu)?,nl=i+x+Y=9+1+l=11。
(4)C
【解析】aut0:函數(shù)中的局部變量,動(dòng)態(tài)地分配存儲(chǔ)空間,數(shù)據(jù)存儲(chǔ)在動(dòng)態(tài)存儲(chǔ)區(qū)中,在調(diào)用該函數(shù)時(shí)系統(tǒng)會(huì)給它們分配存儲(chǔ)空間,在函數(shù)調(diào)用結(jié)束時(shí)就自動(dòng)釋放這些存儲(chǔ)空問(wèn)。register:為了提高效率,C語(yǔ)言允許將局部變量的值放在cPU中的寄存器中,這種變量叫“寄存器變量”,只有局部自動(dòng)變量和形式參數(shù)可以作為寄存器變量。extem:#1’部變量(即全局變量)是在函數(shù)的外部定義的,它的作用域?yàn)閺淖兞慷x處開(kāi)始,到本程序文件的末尾。如果外部變量不在文件的開(kāi)頭定義,其有效的作用范圍只限于定義處到文件終了。static:靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)類別,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。
(5)A
【解析】A選項(xiàng)stnlet onl{int x;int y;int 2;struet ora a;錯(cuò)誤,不能在定義結(jié)構(gòu)體的同時(shí),又用結(jié)構(gòu)體類型名定義變量。應(yīng)該寫成B選項(xiàng)或者D選項(xiàng)的格式。
(6)B
【解析】結(jié)構(gòu)體變量可以作為函數(shù)的參數(shù)和返回值。作為函數(shù)的實(shí)參時(shí),可以實(shí)現(xiàn)函數(shù)的傳值調(diào)用。當(dāng)使用結(jié)構(gòu)體變量作為函數(shù)的形參時(shí),實(shí)參也應(yīng)該是結(jié)構(gòu)體變量名以實(shí)現(xiàn)傳值調(diào)用,實(shí)參將拷貝副本給形參,在被調(diào)用函數(shù)中改變形參值對(duì)于調(diào)用函數(shù)中的實(shí)參沒(méi)有影響。所以選擇B。
(7)A
【解析】預(yù)處理命令是以“#”號(hào)開(kāi)頭的命令,它們不是C語(yǔ)言的可執(zhí)行命令,這些命令應(yīng)該在函數(shù)之外書(shū)寫,一般在源文件的最前面書(shū)寫,但不是必須在起始位置書(shū)寫,所以B、c錯(cuò)誤。C語(yǔ)言的預(yù)處理能夠?qū)崿F(xiàn)宏定義和條件編譯等功能,所以D錯(cuò)誤。
(8)C
【解析】nlaIloc(sizeof(int))的作用是開(kāi)辟一個(gè)長(zhǎng)度為sizeof(int)存儲(chǔ)空間,并通過(guò)強(qiáng)制類型轉(zhuǎn)換(int。)將此存儲(chǔ)空間的地址賦給了一個(gè)整型的指針變量P。然后執(zhí)行語(yǔ)句·P=n,使得·p的值為10,并通過(guò)return返回此值,即a的值為l0。然后在主函數(shù)中輸出a+ftm(10)=10+10=20。
(9)B
【解析】無(wú)符號(hào)整型變量a的值為8,二進(jìn)制表示為00001000,右移3位后為00000001,即十進(jìn)制的l,所以輸出1。
(10)D
【解析】fread(void}buffer,size—t size,size—tcount,F(xiàn)ILE}stream);功能是從一個(gè)文件流中讀數(shù)據(jù),讀取count個(gè)元素。每個(gè)元素size字節(jié),如果調(diào)用成功返回count。buffer:用于接收數(shù)據(jù)的內(nèi)存地址,大小至少是size * count字節(jié);size:?jiǎn)蝹(gè)元素的大小,單位是字節(jié);count:元素的個(gè)數(shù),每個(gè)元素是size字節(jié);Stream:輸人流。
【計(jì)算機(jī)二級(jí)《C語(yǔ)言》測(cè)試題與答案解析】相關(guān)文章:
計(jì)算機(jī)二級(jí)C語(yǔ)言的測(cè)試題及答案解析08-25
計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案解析07-11
C語(yǔ)言測(cè)試題及答案解析11-04
2017計(jì)算機(jī)二級(jí)C語(yǔ)言考前測(cè)試題與答案解析08-20
計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題及答案08-13
計(jì)算機(jī)二級(jí)C語(yǔ)言測(cè)試題與答案09-16