- 相關(guān)推薦
2016年9月計(jì)算機(jī)二級C語言沖刺試題及答案
(1)計(jì)算機(jī)能直接執(zhí)行的程序是( )。
A.源程序
B.目標(biāo)程序
C.匯編程序
D.可執(zhí)行程序
(2)以下敘述中正確的是( )。
A.c語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行
B.可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行
C.c語言程序?qū)脑闯绦蛑械谝粋函數(shù)開始執(zhí)行、
D.main的各種大小寫拼寫形式都可以作為主函數(shù)名,如MAIN,Main等
(3)以下選項(xiàng)中可用做c程序合法實(shí)數(shù)的是( )。、、
A.3.0e0.2
B..1e0
C.E9
D.9.12E
(4)下列定義變量的語句中錯誤的是( )。
A.int jnt;
B.double int_;
C.char For;
D.float US$;
(5)表達(dá)式:(im)((double)9/2)一9%2的值是( )。
A.0
B.3
C.4
D.5
(6)設(shè)變量均已正確定義,若要通過
scaIIf(”%d%c%d%c”,&al,&el,&a2,&c2);
語句為變量al和a2賦數(shù)值l0和20,為變量cl和c2賦字符x和Y。以下所示的輸入形式中正確的是( )。(注:口代表空格字符)
(7)以下選項(xiàng)中不能作為c語言合法常量的是( )。.
A.0.1e+6
B.’cd’.
C.”、a”
D.’\011
(8)if語句的基本形式是:if(表達(dá)式)語句,以下關(guān)于“表=迭式”值的敘述中正確的是( )。
A.必須是邏輯值
B.必須是整數(shù)值
C.必須是正數(shù)
D.可以是任意合法的數(shù)值
(9)有如下嵌套的if語句:
以下選項(xiàng)中與上述if語句等價(jià)的語句是( )。
A.k=(a
B.B.:((b>C.?b:
C.;B.k=(a
D.k=(a
(10)有以下程序:
程序執(zhí)行后的輸出結(jié)果是( )。
A.1
B.2
C.4
D.死循環(huán)
(11)以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是( )。
A.結(jié)構(gòu)化程序使用goto語句會很便捷
B.在c語言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的
C.一個結(jié)構(gòu)化程序必須同時由順序、分支、循環(huán)三種結(jié)構(gòu)組成
D.由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問題
(12)對于一個正常運(yùn)行的C程序,以下敘述中正確的是( )。
A.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
B.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結(jié)束.
C.程序的執(zhí)行總是從main函數(shù)開始、
D.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
(13)以下選項(xiàng)中能表示合法常量的是( )。
A.1,200
B.1.5E2.0
C.”\”
D.”\007”
(14)以下定義語句中正確的是( )。
A.int a=b=0;
B.char A=65+1,b=’b’;
C.float a=1,*b=*a,*C=&b;
D.double a=0.0;b=1.1;
(15)若變量x、y已正確定義并賦值,以下符合C語言語法的表達(dá)式是( )。
A.X+1=y
B.++X.Y=X一一
C.X=X+10=X+Y
D.double(X)/10
若變量已正確定義為int型,要通過語句:scanf(”%d,%d,%d”,&a,&b,&C.;給a賦值l、給b賦值2、給C賦值3,以下輸入形式中錯誤的是( )。(注:口代表一個空格符)
(17)以下不能輸出字符A的語句是( )。(注:字符A的ASCIl碼值為65,字符a的ASCIl碼值為97)
若a是數(shù)值類型,則邏輯表達(dá)式(a==1)I l(a!=1)的值是( )。.
A.1
B.0
C.2
D.不知道a的值,不能確定
(19)設(shè)有定義:
int a=1,b=2,C=3;
以下語句中執(zhí)行效果與其他三個不同的是( )。
if(a>B.C=a,a=b,b=C;
B.if(a>B.{C=a,a=b,b=C;}
C.if(a>B.C=a;a=b;b=c;
D.if(a>B.{C=a;a=b;b=c;}
(20)有以下程序:
程序執(zhí)行后的輸出結(jié)果是( )。
A.y=OS)y=一1
B.0
C.y=1
D.while構(gòu)成無限循環(huán)
(21)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
(22)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.02356
B.0235
C.235
D.2356
以下關(guān)于retllm語句的敘述中正確的是( )。
A.一個自定義函數(shù)中必須有一條return語句
B.一個自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條retum語句
C.定義成void類型的函數(shù)中可以有帶返回值的return語句
D.沒有return語句的自定義函數(shù)在執(zhí)行結(jié)束時不能返回到調(diào)用處
(24)已定義以下函數(shù):
fun函數(shù)的返回值是( )。
一個整數(shù)
B.不確定的值
C.形參P中存放的值
D.形參P的地址值(25)以下程序段完全正確的是( )。
int * p;scanf(”%d”,&p);
B.int*p;scanf(”%d”,P);
C.int k,* P:&k;scanf(’’%d”,P);
D.int k,*p;*P=&k;scanf(”%d”,P);
(26)設(shè)有定義:
double a[10],*s=a;
以下能夠代表數(shù)組元素a[3]的是( )。
A.($s)[3]
B.}(s+3)
C.*s[3]
D.}s+3
27、有以下程序
程序運(yùn)行后的輸出結(jié)果是( )。
A.6,2,3,4,5,
B.2,2,3,4,5,
C.1,2,3,4,5,
D.2,3,4,5,6,
(28)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.4
B.34
C.31
D.32
(29)以下選項(xiàng)中正確的語句組是( )。
A.char*s;8={1.BOOK!”}i
B.char*s;8=”BOOK!”;
C.char S[10];S=”BOOK!”;
D.char S[];S=”BOOK!”;
(30)若有定義語句:
char}sl=‘’0K”,:It s2=”ok”;
以下選項(xiàng)中,能夠輸出“OK”的語句是( )。
A.if(strcmp(sl,s2)!=0)puts(s2);
B.if(strcmp(sl,s2)!=0)puts(s1);
C.if(strcmp(sl,s2)==1)puts(s1);
D.if(strcmp(sl,s2)==0)puts(s1);
(31)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.11
B.9
C.6
D.7
(32)有以下程序(說明:字母A的ASCIl碼值是65):
程序運(yùn)行后的輸出結(jié)果是( )。
A.BT
B.YE
C.YT
D.BY
(33)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.120
B.11
C.6
D.21
(34)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。、
A.A B E F
B.C D E F
C.A B C D
D.C D A B
(35)以下關(guān)于typedef的敘述錯誤的是( )。
A.用typedef可以增加新類型
B.typedef只是將已存在的類型用一個新的名字來代替
C.用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名
D.用typedef為類型說明一個新名,通?梢栽黾映绦虻目勺x性
(36)程序中已構(gòu)成如下圖所示的不帶頭結(jié)點(diǎn)的單向鏈表結(jié)構(gòu),指針變量s、p、q均已正確定義,并用于指向鏈表結(jié)點(diǎn),指針變量s總是作為指針指向鏈表的第一個結(jié)點(diǎn)。
若有以下程序段:
該程序段實(shí)現(xiàn)的功能是( )。
A.刪除尾結(jié)點(diǎn)
B.尾結(jié)點(diǎn)成為首結(jié)點(diǎn)
C.刪除首結(jié)點(diǎn)
D.首結(jié)點(diǎn)成為尾結(jié)點(diǎn)
(37)有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.33
B.197
C.143
D.28
(38)若有以下程序段:
程序運(yùn)行后的輸出結(jié)果是( )。
A.16
B.8
C.4
D.2
(39)以下敘述中錯誤的是( )。
A.gets函數(shù)用于從終端讀人字符串
B.getehar函數(shù)用于從磁盤文件讀人字符
C.fputs函數(shù)用于把字符串輸出到文件
D.fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件
(40)有以下程序:
以上程序執(zhí)行后abc.dat文件的內(nèi)容是( )。
A.China
B.Chinang
C.ChinaBeijing
D.BeijingChina
參考答案與解析
(1)D
【解析】計(jì)算機(jī)能直接執(zhí)行的程序是二進(jìn)制的可執(zhí)行程序,擴(kuò)展名為.exe。所以選擇D選項(xiàng)。
(2)A
【解析】C語言中的主函數(shù)只能是main()函數(shù),不能任意指定,所以B選項(xiàng)錯誤。C語言從主函數(shù)main()開始,到主函數(shù)main()結(jié)束,所以C選項(xiàng)錯誤。主函數(shù)必須寫成小寫的main,不能混淆大小寫,所以D選項(xiàng)錯誤。
(3)B
【解析】A選項(xiàng)中e后面的指數(shù)必須為整數(shù),所以錯誤。C語言規(guī)定,E之前必須要有數(shù)字,所以c選項(xiàng)錯誤。E后面必須要有數(shù)字,且必須為整數(shù),所以D選項(xiàng)錯誤。
(4)D
【解析】C語言規(guī)定,變量命名必須符合標(biāo)識符的命名規(guī)則。D選項(xiàng)中包含了非法字符“$”,所以錯誤。標(biāo)識符由字母、數(shù)字或下劃線組成,且第一個字符必須是大小寫英文字母或者下劃線,而不能是數(shù)字。大寫字符與小寫字符被認(rèn)為是兩個不同的字符,所以For不是關(guān)鍵字for。
(5)B
【解析】先將整型數(shù)據(jù)9強(qiáng)制轉(zhuǎn)換成doub1e型,然后除以2得到的結(jié)果與doub1e型保持一致,即為4.5,然后將4.5強(qiáng)制轉(zhuǎn)換成整型數(shù)據(jù)4,然后計(jì)算9%2的值為1,最后計(jì)算4一1的值為3,所以選擇B選項(xiàng)。
(6)C
【解析】輸入數(shù)據(jù)的格式必須與scanf()的格式控制串完全匹配,如果A、B、c選項(xiàng)中在數(shù)字10后面均輸入了空格,則會將空格賦給變量c1,而不是把x賦給c1,所以選擇C選項(xiàng)。
(7)B
【解析】要想表示字符串常量應(yīng)該用雙引號表示,即“cd”,單引號用于表示字符常量,所以B選項(xiàng)中的表示方法錯誤。
(8)D
【解析】if語句中的表達(dá)式可以是任意合法的數(shù)值,如常量、變量表達(dá)式。所以D選項(xiàng)正確。
(9)B
【解析】題目中嵌套語句的含義是當(dāng)a
(10)A
【解析】一一k先自減再使用,所以第一次判斷條件即為whi1e(4),條件為真,執(zhí)行打印k的值k=4—3,結(jié)果為1;第二次判斷條件即為whi1e(0),條件為假,結(jié)束循環(huán),打印回車換行符。所以選擇A選項(xiàng)。
(11)B
【解析】濫用90t0語句將使程序的流程毫無規(guī)律,可讀性差,對于初學(xué)者來說盡量不要使用,所以A錯誤。—個結(jié)構(gòu)化程序可以包含順序、分支、循環(huán)結(jié)構(gòu)中的一種或多種,所以C錯誤。由三種基本結(jié)構(gòu)構(gòu)成的程序可以解決任何復(fù)雜的問題,所以D錯誤。
(12)C
【解析】任何一個c程序都是從主函數(shù)main開始,至主函數(shù)main結(jié)束,所以選擇c選項(xiàng)。
(13)D
【解析】A選項(xiàng)中整型常量應(yīng)表示為1200,不能包含“。”。B選項(xiàng)中E后面的指數(shù)必須為整數(shù)。C選項(xiàng)中轉(zhuǎn)義字符以“、”開始,若要表示字符“、”,應(yīng)寫為“、、”。
(14)B
【解析】A選項(xiàng)語句中b變量還沒有定義不能直接用于給a變量賦值。c選項(xiàng)語句中·b、-c表示的是一個實(shí)句中a=0.0后面應(yīng)該為逗號,不能是分號。
(15)B
【解析】A選項(xiàng)中不能將變量Y賦給表達(dá)式,c選項(xiàng)中錯誤與A選項(xiàng)一樣,D選項(xiàng)中強(qiáng)制類型轉(zhuǎn)換表達(dá)式應(yīng)寫成(doub1e)x/10。
(16)D
【解析】scanf()的格式控制串可以使用其他非空白字符,如本題中的逗號,但在輸入時必須輸入這些字符;以保證匹配。所以逗號必須輸入。
(17)B
【解析】B選項(xiàng)輸出的格式為%d,即為整型格式,所以輸出字符A的ASCI1碼值65,而不是字符A。由于大寫字母比與其對應(yīng)的小寫字母的ASCI1碼值小32,所以A正確。字符A的ASCI1碼值就是65,所以以%C格式輸出可以輸出字符A,所以c正確。由于字符A的ASCI1碼值比字符B的小1,所以D正確。
(18)A
【解析】邏輯或”I|”要求只要兩邊的運(yùn)算對象有一個非零,結(jié)果就為真。雖然不知道a的值,但是若a為1,則左邊運(yùn)算對象為1;若a的值不是1,則右邊運(yùn)算對象的值為1,所以總能保證一邊非零,所以結(jié)果為真,即1。
(19)C
【解析】由于a小于b,所以所有選項(xiàng)中的條件都為假,C選項(xiàng)中實(shí)際執(zhí)行了a=b;b=c;兩個操作。而A、B、D選項(xiàng)由于條件不成立,所以什么也沒有做,所以選擇C選項(xiàng)。
(20)B
【解析】執(zhí)行Y一一直到值為0,由于Y一一是先用再減,所以退出循環(huán)時,y的值為一1。
(21)B
【解析】第一次執(zhí)行外循環(huán),i的值為3,第一次執(zhí)行內(nèi)循環(huán)j的值為1,j<=2條件成立,打印i+j的值,即4;第二次執(zhí)行內(nèi)循環(huán)J的值為2,j<=2條件成立,打印i+j的值,即5;再判斷條件不成立,打印回車換行符,跳出內(nèi)循環(huán)。第二次執(zhí)行外循環(huán),i的值為2,內(nèi)循環(huán)的執(zhí)行同第一次一樣,所以打印3和4,打印回車換行,結(jié)束內(nèi)循環(huán)。第三次執(zhí)行外循環(huán)i的值為1,同理內(nèi)循環(huán)中打印2和3,打印回車換行符,結(jié)束內(nèi)循環(huán)。
(22)C
【解析】k的值為5,逐個對caBe語句進(jìn)行匹配,均不匹配,執(zhí)行defau1t下的語句n=0;k一一。再執(zhí)行case2:ca804:后面的語句n+=2;k一一;。執(zhí)行break語句跳出switch判斷,打印n的值,即2。經(jīng)過第一次循環(huán)后,k的值為3,然后進(jìn)行k>0&&11<5條件判斷為真。第二次執(zhí)行循環(huán)體,執(zhí)行case3:后面的語句n+=1;k一一;。再執(zhí)行break語句跳出循環(huán),此時打印n的值3,此時k的值為2。第三次執(zhí)行循環(huán)體k的值為2,滿足條件,執(zhí)行case2:case4:后面的語句n+=2;k一一;。執(zhí)行break語句跳出循環(huán)體。打印n的值5。此時n不滿足條件k>0&&n<5,所以結(jié)束循環(huán)。整個程序的打印結(jié)果為235。
(23)B
【解析】在函數(shù)中允許有多個Iett1r11語句,但每次調(diào)用只能有一個return語句被執(zhí)行,因此只能返回一個函數(shù)值。定義成void類型的函數(shù),不允許從該函數(shù)取得返回值,也不允許使用return語句,c選項(xiàng)描述錯誤。沒有return語句的函數(shù)在執(zhí)行到函數(shù)的最后一條語句后會自動返回到調(diào)用處,A、D選項(xiàng)描述錯誤。因此B選項(xiàng)正確。
(24)A
【解析】返回值為指針變量指向的數(shù)據(jù),該數(shù)據(jù)已被定義為整型。因此A選項(xiàng)正確。
(25)C
【解析】A選項(xiàng)中錯在沒有對指針進(jìn)行初始化,是無效指針,并且在scanf(”%d”,&p)中無需再進(jìn)行取地址操作;B選項(xiàng)中沒有對指針進(jìn)行初始化,是無效指針;D選項(xiàng)中語句+P=&k;的左端t pt是指針?biāo)竷?nèi)存空間的值,&k是地址,應(yīng)為P=&k。因此C選項(xiàng)正確。
(26)B
【解析】語句·s=a;表示指針變量s指向一維數(shù)
組a的首地址。a[3]表示引用數(shù)組a的第4個元素,+(s+i)表示引用指針8所指數(shù)組a的第i+1個元素,選項(xiàng)A、C、D的表示方法錯誤,只有B選項(xiàng)正確。
(27)A
【解析】本題考查的是函數(shù)的地址調(diào)用,將數(shù)組名作為數(shù)組首地址進(jìn)行傳遞,然后取首個數(shù)組元素值進(jìn)行加1運(yùn)算,循環(huán)5次。因此A選項(xiàng)正確。
(28)C
【解析】本題重點(diǎn)考察二維數(shù)組名作為實(shí)參進(jìn)行參數(shù)傳遞,在主函數(shù)中調(diào)用了fun函數(shù),實(shí)參為二維數(shù)組名a和兩個整數(shù)4.0,這樣對應(yīng)定義fun函數(shù)首部有三種形式,這里采用了第一種形式——行指針,這樣在fun函數(shù)對s[i][j]進(jìn)行操作實(shí)際上就是對主函數(shù)中的a[i][j]進(jìn)行操作,再分析fun函數(shù)的作用便可知,是求二維數(shù)組第0列中最大的那個元素。因此C選項(xiàng)正確。
(29)B
【解析】A選項(xiàng)去掉大括號就正確了;c選項(xiàng)和D選項(xiàng)應(yīng)在定義時賦初值。因此B選項(xiàng)正確。
(30)B
【解析】strcmp(s1,s2)是字符串比較函數(shù),比較規(guī)則是兩個字符串自左向右逐個字符相比(按照ASCI1碼值大小),-以第一個不相同的字符的大小作為比較結(jié)果。因?yàn)。O。<10.,所以strcmp(s1,s2)為負(fù)值,只有B選項(xiàng)正確。
(31)C
【解析】strcpy:字符串拷貝函數(shù);str1en:求字符串長度函數(shù)(注意:不包含字符串結(jié)束標(biāo)識符‘、0’);strcat:字符串連接函數(shù)。執(zhí)行完語句strcat(P,r);后,P數(shù)組中存儲的元素為a,b,c,d,a,b,C,d,8;執(zhí)行語句strcpy(P+str1en(q),q);得到的結(jié)果是將q所指向的字符串拷貝至P+str1en(q)開始的存儲位置,因?yàn)閟tr1en的值為3,即從P+3開始存儲q中的元素。所以執(zhí)行完strcpy(P+str|en(q),q)語句后,字符數(shù)組P[20]的存儲元素為a,b,c,a,b,o;所以str1en(P)的結(jié)果為6。因此C選項(xiàng)正確。
(32)B
【解析】本題中執(zhí)行fun(a)時,會取字符串a(chǎn)的第一個字母B,因?yàn)樽帜窧的ASCI1碼值為66,所以不會輸出字母8,函數(shù)只會輸出ASCI1碼值為奇數(shù)的字母,字母Y的ASCI1碼值為89,字母T的ASCI1碼值為84,字母E的ASCII碼值為69。因此B選項(xiàng)正確。
(33)D
【解析】fun函數(shù)中的變量X為靜態(tài)局部變量,占用固定的內(nèi)存單元,下一次調(diào)用時仍可以保留上次調(diào)用時的值。也就是說,如果多次調(diào)用fun函數(shù),x的定義只在第一次調(diào)用時有效,從第二次調(diào)用開始,x的定義相當(dāng)于不存在,直接使用上次X的值。fun函數(shù)被調(diào)用了5次,每次調(diào)用后的返回值累加到s上。5次調(diào)用后,x的值為6,8的值為1+2+3+4+5+6=21。因此D選項(xiàng)正確。
(34)B
【解析】本題考察的是變量的作甩范圍。如果在同一個源文件中,外部變量與局部變量同名,則在局部變量的作用范圍內(nèi),外部變量被“屏蔽”,即不起作用:奉題中,在fun1()和main()函數(shù)內(nèi)訪問的是全局變量a和b,在fun2()函數(shù)中訪問的是形參變量a和b。所以,main()函數(shù)中的prinff()函數(shù)輸出的是在fun1()函數(shù)中被改變的全局變量a和b的值c、D,而fun2()函數(shù)中輸出的是傳遞給它的實(shí)參值E、F。因此B選項(xiàng)正確。
(35)A
【解析】typedef并不是增加了新類型,面是用一個新名字替代已存在的類型,不能為變量說明一個新名,使用typedef可以增強(qiáng)程序的可移植性。所以A選項(xiàng)錯誤:
(36)D
【解析】本題考查鏈表的操作,本題中首先是s指向了它的下個結(jié)點(diǎn),題目中說明了s總是指向鏈表的第一個結(jié)點(diǎn),然后whi1e循環(huán)找到鏈表的最后一個元素,然后最后一個元素指向了之前鏈表的頭結(jié)點(diǎn),之前頭結(jié)點(diǎn)指向了空結(jié)點(diǎn),所以本題實(shí)現(xiàn)的功能是使首結(jié)點(diǎn)成為尾結(jié)點(diǎn)。選項(xiàng)D正確。
(37)C
【解析】本題考查帶參數(shù)的宏定義,s為帶參數(shù)的宏定義,運(yùn)行S(k+j)為4*(k+j)*k+j+1=143,選項(xiàng)C正確。
(38)C
【解析】本題考查位運(yùn)算,屬于基礎(chǔ)知識,題目中將整型變量8,二進(jìn)制表達(dá)為00(301000,右移一位為00000100,即4,選項(xiàng)c正確。
(39)B
【解析】本題考查字符處理函數(shù)和文件操作函數(shù)。屬于基礎(chǔ)知識,其中B選項(xiàng)9etchar函數(shù)是用于從終端讀人一個字符。
(40)B
【解析】本題考查文件操作函數(shù),fwrite和rewind函數(shù),題目中先是將s2字符串寫入adc.dat中,然后將寫指針回到文件開頭,然后寫入s1字符串,那么s1字符串就將前5個字符覆蓋,所以最終結(jié)果為Chinan9,選項(xiàng)B正確。
【9月計(jì)算機(jī)二級C語言沖刺試題及答案】相關(guān)文章:
計(jì)算機(jī)二級C語言上機(jī)沖刺試題及答案08-29
2017年3月計(jì)算機(jī)二級C語言考試沖刺試題及答案07-08
2016年9月計(jì)算機(jī)二級C語言基礎(chǔ)試題及答案08-17
2024年9月計(jì)算機(jī)二級《C語言》上機(jī)試題及答案10-30
計(jì)算機(jī)二級《C語言》考試沖刺試題及答案202410-30
2016年9月計(jì)算機(jī)二級《C語言》測試題及答案08-06
2016年9月計(jì)算機(jī)二級C語言測試題及答案10-02
2024年9月計(jì)算機(jī)二級C語言測試題及答案10-26