2018年計(jì)算機(jī)二級(jí)C語(yǔ)言模擬題1_第1頁(yè)
2018年計(jì)算機(jī)二級(jí)C語(yǔ)言模擬題1_第2頁(yè)
2018年計(jì)算機(jī)二級(jí)C語(yǔ)言模擬題1_第3頁(yè)
2018年計(jì)算機(jī)二級(jí)C語(yǔ)言模擬題1_第4頁(yè)
2018年計(jì)算機(jī)二級(jí)C語(yǔ)言模擬題1_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2018年計(jì)算機(jī)二級(jí)C語(yǔ)言模擬題1

(總分:100.00,做題時(shí)間:120分鐘)

一、選擇題

(每題1分,共40分)

(總題數(shù):40,分?jǐn)?shù):40.00)

L程序流程圖中帶有箭頭的線段表示的是()。

(分?jǐn)?shù);1.00)

A.圖元關(guān)系

B.數(shù)據(jù)流

C.控制流J

D.調(diào)用關(guān)系

解析:【解析】在數(shù)據(jù)流圖中,用標(biāo)有名字的帶箭頭線段表示數(shù)據(jù)流。在程序流程圖中,用標(biāo)有名字的帶

箭頭線段表示控制流,因此本題答案為C).

2.結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括().

(分?jǐn)?shù):1.00)

A.多態(tài)性V

B.自頂向下

C.模塊化

D.逐步求精

解析:結(jié)構(gòu)化程序設(shè)計(jì)的思想包括:自頂向下、逐步求精、模塊化、限制使用goto語(yǔ)句,多態(tài)性是面向

對(duì)象的程序設(shè)計(jì)的思想,因此本題答案為A)o

3.軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是()。

(分?jǐn)?shù):1.00)

A.低內(nèi)聚低耦合

B.高內(nèi)聚低耦合J

C.低內(nèi)聚高耦合

D.高內(nèi)聚高耦合

解析:軟件設(shè)計(jì)中,模塊劃分應(yīng)遵循的準(zhǔn)則是高內(nèi)聚低耦合、模塊大小規(guī)模適當(dāng)、模塊的依賴關(guān)系適當(dāng)

等。模塊的劃分應(yīng)遵循一定的準(zhǔn)則,以保證模塊劃分合理,并進(jìn)?步保證以此為依據(jù)開(kāi)發(fā)出的軟件系統(tǒng)可

靠性高,易于理解和維護(hù)。模塊之間的耦合應(yīng)盡可能地低,模塊的內(nèi)聚應(yīng)盡可能地高,因此本題答案為

B).

4.算法的有窮性是指()。

(分?jǐn)?shù):1.00)

A.算法程序的運(yùn)行時(shí)間是有限的7

B.算法程序所處理的數(shù)據(jù)量是有限的

C.算法程序的長(zhǎng)度是有限的

D.算法只能被有限的用戶使用

解析:算法原則上能夠精確地運(yùn)行,而且人們用筆和紙做有限次運(yùn)算后即可完成。算法的有窮性是指算法

程序的運(yùn)行時(shí)間是有限的,因此本題答案為A)。

5.在軟件開(kāi)發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。

(分?jǐn)?shù):1.00)

A.可行性分析報(bào)告

B.軟件需求規(guī)格說(shuō)明書(shū)J

C.概要設(shè)計(jì)說(shuō)明書(shū)

D.集成測(cè)試計(jì)劃

解析:A)錯(cuò)誤,可行性分析階段產(chǎn)生可行性分析報(bào)告。C)錯(cuò)誤,總體設(shè)計(jì)階段產(chǎn)生概要設(shè)計(jì)說(shuō)明書(shū)。D)

錯(cuò)誤,集成測(cè)試計(jì)劃是在概要設(shè)計(jì)階段編寫(xiě)的文檔。B)正確,需求規(guī)格說(shuō)明書(shū)是需求分析階段產(chǎn)生的主要

文檔,是后續(xù)工作如設(shè)計(jì)、編碼等需要的重要參考文檔。

6.對(duì)長(zhǎng)度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(nT)/2的排序方法是()。

(分?jǐn)?shù):1.00)

A.快速排序

B.冒泡排序

C.直接插入排序

D.堆排序V

解析:快速排序、冒泡排序和直接插入排序在最壞情況下,比較次數(shù)都是n(n-l)/2,堆排序在最壞情況下

的比較次數(shù)最少,是O(logJ),因此本題答案為D)。

7.下列關(guān)于棧的敘述正確的是()。

(分?jǐn)?shù):1.00)

A.棧按“先進(jìn)先出”組織數(shù)據(jù)

B.棧按“先進(jìn)后出”組織數(shù)據(jù)V

C.只能在棧底插人數(shù)據(jù)

D.不能刪除數(shù)據(jù)

解析:棧是只允許在同一端進(jìn)行插入和刪除運(yùn)算的線性表,按“先進(jìn)后出”組織數(shù)據(jù),因此本題答案為

B).

8.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過(guò)程屬于()。

(分?jǐn)?shù):1.00)

A.需求分析階段

B.概念設(shè)計(jì)階段

C.邏輯設(shè)計(jì)階段V

D.物理設(shè)計(jì)階段

解析:將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型是把圖形分析出來(lái)的聯(lián)系反映到數(shù)據(jù)庫(kù)中,即設(shè)計(jì)出表,因此屬于邏

輯設(shè)計(jì)階段,答案為C)。

9.有三個(gè)關(guān)系R、S和T如下:

由關(guān)系R和S通過(guò)運(yùn)算得到關(guān)系T,所使用的運(yùn)算為()。

(分?jǐn)?shù):1.00)

A.并

B.自然連接

C.笛卡兒積

D.交J

解析:自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在

結(jié)果中把重復(fù)的屬性列去掉,因此B)錯(cuò)誤。笛卡兒積是用R集合中的元素為第一元素,S集合中的元素為

第二元素構(gòu)成的有序?qū)Γ虼薈)錯(cuò)誤。根據(jù)關(guān)系T可以很明顯地看出是從關(guān)系R與關(guān)系S中取得相同的

關(guān)系組,所以使用的是交運(yùn)算,選擇D)。

10.下列敘述中錯(cuò)誤的是()。

(分?jǐn)?shù):1.00)

A.一個(gè)C語(yǔ)言程序只能實(shí)現(xiàn)一種算法J

B.C程序可以由多個(gè)程序文件組成

C.C程序可以由一個(gè)或多個(gè)函數(shù)組成

D.一個(gè)C函數(shù)可以單獨(dú)作為一個(gè)C程序文件存在

解析:一個(gè)C程序可以有一個(gè)或多個(gè)程序文件,也可以有一個(gè)或多個(gè)函數(shù),所以一個(gè)C語(yǔ)言程序可以實(shí)現(xiàn)

多種算法。

11.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課

名),選課SC(學(xué)號(hào),課號(hào),成績(jī)),則表SC的關(guān)鍵字(鍵或碼)為()。

(分?jǐn)?shù):1.00)

A.課號(hào),成績(jī)

B.學(xué)號(hào),成績(jī)

C.學(xué)號(hào),課號(hào)V

D.學(xué)號(hào),姓名,成績(jī)

解析:學(xué)號(hào)是學(xué)生表S的主鍵,課號(hào)是課程表C的主鍵,因此選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能

夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),故本題答案為0。

12.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是()。

(分?jǐn)?shù):1.00)

A.115LJ

B.0118

C.1.5el.5

D.0115

解析:選項(xiàng)中U5L表示115是長(zhǎng)整型數(shù)據(jù),合法。B)選項(xiàng)是八進(jìn)制常量的表示方法,但是在八進(jìn)制中不

能含有數(shù)字8,因此B)選項(xiàng)錯(cuò)誤.C)選項(xiàng)中e后面應(yīng)該是整數(shù),不能是小數(shù)(1.5),因此。選項(xiàng)錯(cuò)誤。D)

選項(xiàng)中八進(jìn)制常量應(yīng)該是以數(shù)字“0”開(kāi)始,而不是以字母飛”開(kāi)始。故本題答案為A)。

13.按照C語(yǔ)言規(guī)定的用戶標(biāo)識(shí)符命名規(guī)則,不能出現(xiàn)在標(biāo)識(shí)符中的是()。

(分?jǐn)?shù):1.00)

A.下畫(huà)線

B.大寫(xiě)字母

C.數(shù)字字符

D.連接符V

解析:C語(yǔ)言中標(biāo)識(shí)符由字母、下畫(huà)線或數(shù)字組成,且開(kāi)頭必須是字母或下畫(huà)線。因此D)選項(xiàng)中的連接符

不合法。

14.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。

(分?jǐn)?shù):1.00)

A.x=y+z+5,++yJ

B.int(15.8%5)

C.x=y*5=x+z

D.x=25%5.0

解析:B)與D)選項(xiàng)中取模運(yùn)算符%的左右兩個(gè)操作數(shù)均應(yīng)為整數(shù),因此B)、D)選項(xiàng)錯(cuò)誤。C)選項(xiàng)中不能

將x+z的值賦給表達(dá)式y(tǒng)*5,因此C)選項(xiàng)錯(cuò)誤。故本題答案為A)。

15.設(shè)有定義“intx=2;",以下表達(dá)式中,值不為6的是()。

(分?jǐn)?shù):1.00)

A.x++,2*x

B.2*x,x+=2J

C.x*=(l+x)

D.x*=x+l

解析:選項(xiàng)B)中,2**對(duì)乂的值沒(méi)有影響,x仍為2,"x+=2”執(zhí)行后,表達(dá)式值為4。故本題答案為B)。

16.有以下程序

#include

main()

{intx,y,z;

x=y=l;

z=x++,y++,++y;

printf("%d,%d,%d\n”,x,y,z);

)

程序運(yùn)行后的輸出結(jié)果是()。

(分?jǐn)?shù):1.00)

A.2,3,1V

B.2,3,2

C.2,3,3

D.2,2,1

解析:對(duì)于表達(dá)式“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(tǒng)++,此時(shí)y的值為1,y++的值為2。最后計(jì)

算第三個(gè)表達(dá)式++y,y的值為3,故本題答案為A)。

17.有以下程序^include

main()

{charcl,c2;

cl=,A,+'8,4,;

c2='A'+'8'5';

printf(*%c,%d\n*,cl,c2);

}

已知字母A的ASCII碼為65,程序運(yùn)行后的輸出結(jié)果是()。

(分?jǐn)?shù):1.00)

A.E,D

B.D,69

C.E,68J

D.輸出無(wú)定值

解析:本題中字符變量cl是字符'A'的ASCH碼加上4,即69所對(duì)應(yīng)的字符'E'。字符變量c2是字符‘A'

的ASCII碼加上3,即68所對(duì)應(yīng)的字符'D、但是打印輸出時(shí),口以%<:的格式輸出,因此是E,c2以版1

的格式輸出,因此是68。故本題答案為C)。

18.有以下程序

Sinclude

main()

{intx=l,y=0;

if(!x)y++;

elseif(x==0)

if(x)y+=2;

elsey+=3;

printf(“%d\n",y);

程序運(yùn)行后的輸出結(jié)果是()。

(分?jǐn)?shù):1.00)

A.3

B.2

C.1

D.OJ

解析:在ifelse語(yǔ)句中else總是與離它最近的if配對(duì)。本題目中x為1,因此“!x”為0,所以執(zhí)行

elseif語(yǔ)句中的內(nèi)容,判斷“x==0”是否成立,因?yàn)閤為1,所以條件不成立,因此elseif內(nèi)部的

“if...else”語(yǔ)句不再執(zhí)行,所以y的值還是初始值0。

19.若有定義“intx,y;”并已正確給變量賦值,則以下選項(xiàng)中與表達(dá)式“(x-y)?(x++):(y++)”中的

條件表達(dá)式(x-y)等價(jià)的是()。

(分?jǐn)?shù):1.00)

A.(x-yO)V

B.(x-y<0)

C.(x-y>0)

D.(x-y==O)

解析:條件表達(dá)式“x二表達(dá)式1?表達(dá)式2:表達(dá)式3”的含義是:先求解表達(dá)式1,若其值為非0(真),則

求解表達(dá)式2,將表達(dá)式2的值賦給x;若表達(dá)式1的值為0(假),則求解表達(dá)式3,將表達(dá)式3的值賦給

X。在本題中與表達(dá)式(x-y)等價(jià)的是“(x-y〈O||x-y>0)”,A)選項(xiàng)正確。

20.有以下程序

#include<stdio.h>

main()

{inty=9;

for(;y>0;y-)

if(y%3==0)printf("%d",-y);

程序運(yùn)行后的輸出結(jié)果是()o

(分?jǐn)?shù):LOO)

A.852J

B.963

C.741

D.875421

解析:第一次執(zhí)行for循環(huán),y的值為9,y%3的值為0,滿足條件打印,所以執(zhí)行“一y”語(yǔ)句,即先減1

后打印,因此打印8;第二次執(zhí)行for循環(huán),y的值為7,y%3的值為1,不執(zhí)行打印語(yǔ)句;第三次執(zhí)行for

循環(huán),y的值為6,巡3的值為0,滿足條件打印,所以執(zhí)行“一y”語(yǔ)句,即先減1后打印,因此打印5;第

四次執(zhí)行for循環(huán),y的值為4,不滿足if條件,不執(zhí)行打印語(yǔ)句;第五次執(zhí)行for循環(huán),y的值為3,滿

足if條件,打印輸出2;第六次執(zhí)行for循環(huán),y的值為1,不滿足條件,不執(zhí)行打印語(yǔ)句。故本題答案

為A)。

21.若有定義“floatx=l.5;inta=l,b=3,c=2;w,則正確的switch語(yǔ)句是()。

(分?jǐn)?shù):1.00)

A.

B.

C.

D.

解析:B)選項(xiàng)的"switch((int)x);”語(yǔ)句中不應(yīng)該有最后的分號(hào)。"switch(exprl)”中的exprl不能用

浮點(diǎn)類型或long類型,也不能是一個(gè)字符串,因此C)錯(cuò)誤。case后面只能是常量表達(dá)式,因此D)錯(cuò)

誤。

22.有以下程序

程序運(yùn)行后的輸出結(jié)果是()。

(分?jǐn)?shù):1.00)

A.m=4

B.m=2

C.m=6J

D.m=5

解析:第一次外循環(huán)i的值為1,第一次內(nèi)循環(huán)j的值為3,不滿足條件,則執(zhí)行〃m*二i*j〃,即m的值為3;

第二次j的值為2,不滿足條件,則執(zhí)行m*二i*j,即m的值為6;第三次j的值為1,不滿足條件,則執(zhí)行

即m的值仍為6。第二次外循環(huán)i的值為2,j的值為3,滿足條件,執(zhí)行break語(yǔ)句,跳出循環(huán)。

故本題答案為Oo

23.有以下程序

程序運(yùn)行后的輸出結(jié)果是()。

(分?jǐn)?shù):1.00)

A.6J

B.3

C.8

D.12

解析:本題中第一次調(diào)用為“fun(8,fun(5,6))”,因?yàn)椤癴un(5,6)”返回值為5,所以第二次調(diào)用為

“fun(8,5)=6”,因此選擇A)。

24.有以下程序

則以下函數(shù)調(diào)用語(yǔ)句錯(cuò)誤的是()。

(分?jǐn)?shù):1.00)

A.k=f(a,b);

B.k=add(a,b);

C.k=(*f)(a,b);

D.k=*f(a,b);J

解析:D)選項(xiàng)中“*f(a,b)”表示調(diào)用后返回一個(gè)指向整型數(shù)據(jù)的地址指針,即該函數(shù)的返回值為指針類

型,因此不能將其賦值給整型變量匕

25.有以下程序

該程序試圖通過(guò)指針P為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語(yǔ)句正確的是()。

(分?jǐn)?shù):1.00)

A.intn,*p=NULL;J

B.*p=&n;

C.scanf(w%dw,&p)

D.printf("%d\n",p);

解析:選項(xiàng)B)的正確寫(xiě)法應(yīng)為“P4n;",選項(xiàng)C)的正確寫(xiě)法應(yīng)為“scanf(〃%d〃,p);",選項(xiàng)D)的正確

寫(xiě)法應(yīng)為“print為〃%d\n",*p);"。故本題答案為A)。

26.下列定義數(shù)組的語(yǔ)句中,正確的是()。

(分?jǐn)?shù):1.00)

D.intx[];

解析:數(shù)組說(shuō)明的一般形式為:類型說(shuō)明符數(shù)組名[常量表達(dá)式]。A)中N是變量,不能用變量定義數(shù)組長(zhǎng)

度。C)選項(xiàng)中數(shù)組長(zhǎng)度是非法的一串?dāng)?shù)字,定義數(shù)組時(shí)必須為其指明長(zhǎng)度。D)選項(xiàng)中數(shù)組長(zhǎng)度為空,因此

非法。故本題答案為B)。

27.以下語(yǔ)句中存在語(yǔ)法錯(cuò)誤的是()。

(分?jǐn)?shù):1.00)

A.charss[6][20];ss[l]="right?”;V

B.charss[][20]={"right?”};

C.char*ss[6];ss[1]="right?”;

D.char*ss[]={"right?”};

解析:數(shù)組定義后,不能對(duì)數(shù)組整體賦值,SS是二維數(shù)組,因?yàn)閟s[l]是一維字符數(shù)組,即字符串,字符

串賦值可以使用“StrcP可SS使]「right");”的形式,而選項(xiàng)A)中對(duì)二維數(shù)組中的第“1”維(相當(dāng)于一

個(gè)一維數(shù)組)賦值,是不可以的。選項(xiàng)B)和D)是在定義時(shí)對(duì)數(shù)組同時(shí)進(jìn)行初始化,這是可以的。選項(xiàng)C)

中,將字符串在內(nèi)存中的首地址賦給指針數(shù)組的一個(gè)元素,這是可以的。故本題答案為A)。

28.有以下程序

程序運(yùn)行后的輸出結(jié)果是(),

(分?jǐn)?shù):1.00)

A.3040J

B.2050

C.3344

D.0304

解析:第一次循環(huán)i為0,i%2為0,執(zhí)行“switch(a[0]%2)”中的case。語(yǔ)句后內(nèi)容即a[0]++,a[0]的值

變成3;第二次循環(huán)i的值為1,i%2為1,執(zhí)行"easel:a[i]=0;,>后a[l]的值變成0;第三次循環(huán)i的值為

2,設(shè)2為0,執(zhí)行“switch(a[2]%2)”中的“easel:a[2]一;"a[2]的值變成4;第四次循環(huán)i的值為3,i%2

為1,執(zhí)行“casel:a[i]=0;",因此a[3]的值變成0。故本題答案為A)。

29.有以下程序

程序運(yùn)行后的輸出結(jié)果是()。

(分?jǐn)?shù):1.00)

A.3

B.4J

C.1

D.9

解析:每次內(nèi)循環(huán)只循環(huán)一次就結(jié)束,第一次外循環(huán)時(shí)“t=t+b[0][b[0][0]]=l+b[0][0]=l+0=l;",第二

次外循環(huán)時(shí)“t=t+b[l]b[l][l]]=l+b[l][11=1+1=2;",第三次外循環(huán)時(shí)

“l(fā)=t+b[2][b[2][2]]=2+b[2][2]=2+2=4”。故本題答案為B)。

30.以下不能將s所指字符串正確復(fù)制到t所指存儲(chǔ)空間的是()。

(分?jǐn)?shù):1.00)

A.while(*t=*s){t++;s++;}

B.for(i=0;t[i]=s[i];i++);

C.do{*t++=*s++;}while(*s);-J

D.for(i=0,j=0;t[i++]=s[j++];);

解析:"do{*t++=*s++;}while(*s);”語(yǔ)句中,因?yàn)楫?dāng)"*s='\0'"時(shí),"while(*s)”跳出循環(huán),這樣字

符串結(jié)束標(biāo)志‘\。'沒(méi)有復(fù)制給*t,造成了*t不完整。注意,*t++=*s++是先執(zhí)行t=*s,然后才進(jìn)行

t=t+l,s=s+l。而選項(xiàng)B)、A)、D)都能將'\0',復(fù)制過(guò)去。

31.有以下程序

程序運(yùn)行后的輸出結(jié)果是()。

(分?jǐn)?shù):1.00)

A.Ibc,a23J

B.abc,123

C.123,abc

D.321,cba

解析:字符串是一個(gè)特殊的數(shù)組,按照數(shù)組的規(guī)則,si應(yīng)該指向的是數(shù)組的首地址,即“abc”的第一個(gè)

字符的地址。S2指向的是“123”的第一個(gè)字符的地址。調(diào)用swap函數(shù)之后交換的是兩個(gè)字符串的第一

個(gè)字符'a'和'1'的內(nèi)容,因此打印輸出為A)。

32.有以下函數(shù)

函數(shù)的功能是()。

(分?jǐn)?shù):1.00)

A.統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)4

B.查找x和y所指字符串中是否有‘\0'

C.將y所指字符串賦給x所指存儲(chǔ)空間

D.統(tǒng)計(jì)x和y所指字符串中相同的字符個(gè)數(shù)

解析:本題中由循環(huán)條件可知,當(dāng)遇到'\0'或"x與y所指的字符的值不相等”中的一個(gè)條件時(shí)就結(jié)束

循環(huán),因此本題函數(shù)的功能是統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)。

33.有以下程序

程序運(yùn)行后的輸出結(jié)果是()。

(分?jǐn)?shù):1.00)

A.30

B.10

C.0

D.64,

解析:本題口中靜態(tài)局部變量X,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元,在程序整個(gè)運(yùn)行期間都不釋放。因此第

一次循環(huán)s的值為2;第二次循環(huán)中,返回的x的值為4,因此S的值為8;第三次循環(huán),返回的x的值為8,

因此S的值為64。

34.在一個(gè)C源程序文件中所定義的全局變量,其作用域?yàn)椋ǎ?/p>

(分?jǐn)?shù):1.00)

A.所在文件的全部范圍

B.所在程序的全部范圍

C.所在函數(shù)的全部范圍

D.由具體定義位置和extern說(shuō)明來(lái)決定范圍V

解析:全局變量的作用域是從聲明處到文件的結(jié)束,因此選擇D)。

35.有以下程序

程序運(yùn)行后的輸出結(jié)果是()。

(分?jǐn)?shù);1.00)

A.21V

B.11

C.20

D.10

解析:聲明data是結(jié)構(gòu)S的數(shù)組。初始化時(shí)

Mdata[0].a=10;data[0].b=100;data[l].a=20;data[l].b=200w.主函數(shù)中p=data[l],即

**p.a=data[l].a;p.b=data[l].b;">執(zhí)行語(yǔ)句“printf(*%d\n”>++(p.A));"打印輸出時(shí)P.a先增1

再打印。即p.a=data[l],a=20,先增1等于21,因此程序運(yùn)行結(jié)果是21。

36.以下敘述中錯(cuò)誤的是()。

(分?jǐn)?shù):1.00)

A.用typedef定義新的類型名后,原有類型名仍有效

B.可以用typedef將己存在的類型用一個(gè)新的名字來(lái)代表

C.可以通過(guò)typedef增加新的類型J

D.用typedef可以為各種類型起別名,但不能為變量起別名

解析:關(guān)鍵字typedef的作用只是將C語(yǔ)言中已有的數(shù)據(jù)類型作置換,并不是增加新的類型,因此C)錯(cuò)

誤。

37.有以下程序

程序運(yùn)行后的輸出結(jié)果是()。

(分?jǐn)?shù):1.00)

A.31.5

B.程序有錯(cuò)無(wú)輸出結(jié)果J

C.7.5

D.14.0

解析:宏定義不是C語(yǔ)句,末尾不需要有分號(hào)。因此語(yǔ)句“printf魏4.lf\n",S(a+b));”展開(kāi)后為

“printf("4.3.5;*a+b*a+b;);",所以程序會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。

38.有以下程序

程序運(yùn)行后的輸出結(jié)果是()。

(分?jǐn)?shù):1.00)

A.4J

B.3

C.5

D.6

解析:“&”按位與,如果兩個(gè)相應(yīng)的二進(jìn)制位都為1,則該位的結(jié)果值為1,否則為0。“I”按位或,

即兩個(gè)相應(yīng)的二進(jìn)制位中只要有一個(gè)為1,該位的結(jié)果值為1。2的二進(jìn)制為00000010,4的二進(jìn)制為

00000100,因此做或運(yùn)算結(jié)果為00000110,該數(shù)與5即00000101做與運(yùn)算,結(jié)果為00000100,即4,選項(xiàng)

A)正確。

39.有以下程序

程序運(yùn)行后的輸出結(jié)果是()。

(分?jǐn)?shù):1.00)

A.1,1,3

B.2,2,3

C.1,2,3

D.3,3,3J

解析:malloc函數(shù)動(dòng)態(tài)分配一個(gè)整型的內(nèi)存空間,然后把函數(shù)返回的地址用(int*)強(qiáng)制類型轉(zhuǎn)換為整型

指針,再把它賦給a,b,c,即讓指針變量a,b,c都指向剛申請(qǐng)的內(nèi)存空間。因此只有最后一個(gè)賦值語(yǔ)

句*c=3的值保留在了該空間內(nèi),因?yàn)閍,b,c三個(gè)指針變量均指向該空間,所以打印該空間內(nèi)的數(shù)值均

為3,選項(xiàng)D)正確。

40.以下敘述中正確的是()。

(分?jǐn)?shù):1.00)

A.當(dāng)對(duì)文件的讀(寫(xiě))操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失,

B.打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋

C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫(xiě)操作后,必須先關(guān)閉該文件然后再打開(kāi),才能讀到第1個(gè)數(shù)據(jù)

D.C語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)

解析:B)選項(xiàng)中打開(kāi)一個(gè)已存在的文件并進(jìn)行了寫(xiě)操作后,原有文件中的全部數(shù)據(jù)不一定被覆蓋,也可以

對(duì)源文件進(jìn)行追加操作等。C)選項(xiàng)中在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫(xiě)操作后,不用先關(guān)閉該文件然后再打

開(kāi),才能讀到

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論