二級C語言考試復(fù)習(xí)題庫(500題)_第1頁
二級C語言考試復(fù)習(xí)題庫(500題)_第2頁
二級C語言考試復(fù)習(xí)題庫(500題)_第3頁
二級C語言考試復(fù)習(xí)題庫(500題)_第4頁
二級C語言考試復(fù)習(xí)題庫(500題)_第5頁
已閱讀5頁,還剩234頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

(新版)二級c語言考試復(fù)習(xí)題庫(500題)

一、單選題

1.關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算包括()。

A、排序、索引、統(tǒng)計

B、選擇、投影、連接

C、關(guān)聯(lián)、更新、排序

D、顯示、打印、制表

答案:B

解析:關(guān)系運算包括:①傳統(tǒng)集合運算,包括并、交、差、廣義笛卡爾積;②專

門關(guān)系運算,包括選擇、投影、連接、除等。答案選擇B選項。

2.下列敘述中錯誤的是()。

A、在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致

B、數(shù)據(jù)庫技術(shù)的根本目標是要解決數(shù)據(jù)的共享問題

C、數(shù)據(jù)庫設(shè)計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫

D、數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持

答案:A

解析:數(shù)據(jù)庫物理結(jié)構(gòu)主要指數(shù)據(jù)的存放位置和存儲結(jié)構(gòu),包括關(guān)系、索引、聚

簇、日志、備份等的存儲安排和存儲結(jié)構(gòu);數(shù)據(jù)庫的邏瑁結(jié)構(gòu)是用戶所看到和使

用的數(shù)據(jù)庫,表示了一個或一些特定用戶使用的數(shù)據(jù)集合,即邏輯記錄的集合。

A項錯誤,存儲位置的改變并不影響邏輯關(guān)系。答案選擇A選項。

3.有以下程序:#includemain(){char*s="12134";intk=0,a=0;while(s[k+l]!='

\0'){k++;if(k%2==0){a=a+s[k]-,0'+l;continue;}a=a+(s[k]-,0');}printf(nk=%

da=%d\n",k,a);}程序運行后的輸出結(jié)果是()。

A、k=6a=ll

B、k=3a=14

C、k=4a=12

D、k=5a=15

答案:C

解析:第一次循環(huán),k=l,s[l]=2,執(zhí)行a=a+s[l]?O=2;第二次循環(huán),k=2,

s[2]=l,執(zhí)行a=a+s[2]-O+l=2+2=4;第三次循環(huán),k=3,s[3]=3,執(zhí)行a

=a+s[3]-'0,=4+3=7;第四次循環(huán),k=4,s[4]=4,執(zhí)行a=a+s[k]?'0'+l=7+

5=12,可得到結(jié)果k=4,a=12o答案選擇C選項。

4有以下程序#includevoidfun(int*p,int*q){intt;t=*p;*p=*q;*q=t;*q=*p;}ma

in(){inta=0,b=9;fun(&a,&b);printf("%d%d\n"ab);}程序的輸出結(jié)果是()。

A、09

B、00

C、90

D、99

答案:D

解析:main函數(shù)中變量a和b以傳地址的方式傳遞參數(shù),形參的改變會導(dǎo)致實

參的改變。fun函數(shù)的作用是先交換兩個指針的指向的渣,即p指針指向的值是

9,q指針指向的值是0,然后將p指針指向的值賦給q指針,q指針指向的值

也成了9,所以a和b的值均為9,答案選擇D選項。

5.有以下程序:#includemain(){intx=0xl3;if(x=0xl2)printf("True");printf("F

alse'n");}程序運行后的輸出結(jié)果是()。

A、True

B、TrueFalse

C、False

D、TrueFalseTrue

答案:B

解析:if(x=0xl2)條件語句為賦值語句,注意賦值操作符與相等操作符“二

二"的區(qū)別,此處是賦值語句"="0x12即十進制的18,給x賦值18,因此if

的判斷條件為真,執(zhí)行輸出語句,輸出True;之后再執(zhí)行下一個輸出語句,輸

出False,答案選擇B選項。

6有以下程序(注:字符a的ASCII碼值為97):#includemain(){char*s={"

abc-};do{printf("%d",*s%10);++s;}while(*s);}程序運行后的輸出結(jié)果是()。

A、be

B、789

C、7890

D、979800

答案:B

解析:abc的ASCH值分別為97、98、99。程序中執(zhí)行輸出s中字符對應(yīng)的A

SCII碼與10進行模運算后的值,s是一個指針,首先指向字符a,先執(zhí)行97%

10,結(jié)果為7;然后++s,指針指向下一個字符b,執(zhí)行98%10,結(jié)果為8,

直到s所指為空,故最后輸出的結(jié)果為789。答案選擇B選項。

7.某二叉樹共有845個結(jié)點,其中葉子結(jié)點有45個,則度為1的結(jié)點數(shù)為()。

A、400

B、754

C、756

D、不確定

答案:C

解析:在二叉樹中,度為0的結(jié)點總是比度為2的結(jié)點多一個,那么,結(jié)點共

有845個,度為0的結(jié)點有45個,度為2的結(jié)點數(shù)有44個,所以度為1的結(jié)

點數(shù)有756個。答案選擇C選項。

8.對建立良好的程序設(shè)計風(fēng)格,下面描述正確的是()。

A、程序應(yīng)簡單、清晰、可讀性好

B、符號名的命名只要符合語法

C、充分考慮程序的執(zhí)行效率

D、程序的注釋可有可無

答案:A

解析:程序不僅僅要能夠正常運行,還要便于調(diào)湖口維護,所以程序語句結(jié)構(gòu)應(yīng)

該簡單直接,具有良好的可讀性,建立良好的程序設(shè)計風(fēng)格。答案選擇A選項。

9.支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()o

A、棧

B、樹

C、隊列

D、二叉樹

答案:A

解析:在高級語言中,函數(shù)的調(diào)用是通過棧來實現(xiàn)的。在進行函數(shù)調(diào)用時,系統(tǒng)

將所需的信息壓入棧中,如函數(shù)的局部變量、返回值等,每個函數(shù)的狀態(tài)是由函

數(shù)中的局部變量、函數(shù)參數(shù)值、函數(shù)的返回值地址決定的,存儲這些信息的數(shù)據(jù)

區(qū)域稱為活動記錄,或叫做棧幀,它是運行時系統(tǒng)棧上分配的空間。答案選擇A

選項。

10以下是if語句的基本形式:if(表達式)語句其中"表達式"()。

A、必須是邏輯表達式

B、必須是關(guān)系表達式

C、必須是邏輯表達式或關(guān)系表達式

D、可以是任意合法的表達式

答案:D

解析:if中的表達式一般是關(guān)系表達式或邏輯表達式,用于描述選擇結(jié)構(gòu)的條件,

但也可以是其他類型表達式,在其值非零時為真,所以任意合法的表達式都可以

做if語句的判斷條件。答案選擇D選項。

11.以下關(guān)于指針的敘述正確是()。

A、所有類型的指針變量所占內(nèi)存的大小是一樣的

B、指針變量所占內(nèi)存的大小與具類型有關(guān),char型指針變量只占1個字節(jié),d

ouble型指針變量占8個字節(jié)

C、指針變量可直接指向任何類型的變量,而不會出現(xiàn)編譯或運行錯誤

D、指針變量既可以直接指向結(jié)構(gòu)體,也可直接指向結(jié)溝體中某個成員,而不會

出現(xiàn)編譯或運行錯誤

答案:A

解析:所有變量地址值所占字節(jié)都相同,故指針變量所占內(nèi)存大小相同,A項正

確,B項錯誤。只能把具有相同類型的變量地址,存放到指針變量中,結(jié)構(gòu)體變

量與某個成員類型不同,不能用同樣的指針指向它們,C、D兩項錯誤。答案選

擇A選項。

12.設(shè)變量已正確定義,以下不能統(tǒng)計出一行中輸入字符個數(shù)(不包含回車符)

的程序段是()。

A、n=O;while((ch=getchar())!="\nM)n++;

B、n=O;while(getchar()!="\n";n++);

C、for(n=0;getchar()!="\n";n++);

D、n=0;for(ch=getchar()!="\n";n++);

答案:D

解析:要統(tǒng)計一行中輸入寧符個數(shù)(不包含回車符)的程序?qū)崿F(xiàn),首先定義一個用

作統(tǒng)計的變量n,賦初值為0;因為字符結(jié)束應(yīng)該有換行符,所以該行字符是否

結(jié)束的判斷條件應(yīng)為"getchar()!="\n"";D項中for循環(huán)表達式格式錯誤,

應(yīng)在ch前添加丁,注意for循環(huán)中有三個表達式,必須有兩個分號,D項編

譯錯誤。答案選擇D選項。

13.下面描述不屬于軟件特點的是()。

A、軟件是一種邏輯實體,具有抽象性

B、軟件在使用中不存在磨損、老化問題

C、軟件復(fù)雜性高

D、軟件使用不涉及知識產(chǎn)權(quán)

答案:D

解析:軟件具有以下特點:①軟件是一種邏輯實體,具有抽象性;②軟件沒有明

顯的制作過程;③軟件在使用期間不存在磨損、老化問題;④軟件對硬件和環(huán)境

具有依賴性;⑤軟件復(fù)雜性高,成本昂貴;⑥軟件開發(fā)涉及諸多的社會因素,如

知識產(chǎn)權(quán)等。答案選擇D選項。

14.下列選項中不屬于面向?qū)ο蟪绦蛟O(shè)計特征的是()。

A、分類性

B、多態(tài)性

C、類比性

D、封裝性

答案:C

解析:面向?qū)ο笤O(shè)計是建立在"對象”概念上的方法學(xué),對象是面向?qū)ο笳Z言中

類的實體,其特點包括:①標識唯一性,對象可區(qū)分;②分類性,可以將具有相

同屬性和操作的對象抽象成類:③多態(tài)性,同一個操作對于不同對象表現(xiàn)不同的

行為;④封裝性,屏蔽數(shù)據(jù)的具體結(jié)構(gòu)以及操作的算法;⑤模塊獨立性好,對象

內(nèi)部各種元素結(jié)合緊密,內(nèi)聚性強。答案選擇C選項。

15.設(shè)有定義而此位[10]即二4以下能給數(shù)組x下標為6的元素讀入數(shù)據(jù)的正

確語句是()。

A、scanf("%f",&x[6]);

B、scanf("%lf",*(x+6));

C、scanf("%lf",p+6);

D、scanf("%lf",p[6]);

答案:C

解析:scanf函數(shù)的一般形式為:scanf(格式控制字符串,地址列表)"其中的地

址列表應(yīng)當(dāng)是存放輸入數(shù)據(jù)變量的地址。A項,"%f”格式符對應(yīng)的是float類

型的變量;BD兩項,*僅-6)和p⑹都表示下標為6的元素的值而非其地址;C

項,P+6表示數(shù)組x下標為6的元素的地址。答案選擇C選項。

16.若函數(shù)調(diào)用時的實參為變量時,以下關(guān)于函數(shù)形參和實參的敘述中正確的是

()o

A、函數(shù)的形參和實參分別占用不同的存儲單元

B、形參只是形式上的存在,不占用具體存儲單元

C、同名的實參和形參占同一存儲單元

D、函數(shù)的實參和其對應(yīng)的形參共占同一存儲單元

答案:A

解析:函數(shù)體中,變量(包括形參)只在函數(shù)被調(diào)用時才臨時開辟存儲單元,當(dāng)

退出函數(shù)時,這些臨時開辟的存儲單元全被釋放掉。C語言中函數(shù)調(diào)用可以分成

傳值和傳引用,傳值調(diào)用,形參是實參的數(shù)據(jù)拷貝;傳引用調(diào)用,形參是實參的

指針拷貝;所以,形參和實參占用不同的存儲單元。答案選擇A選項。

17.若變量已正確定義并賦值,則錯誤的賦值語句是()。

A、=a+l;

B、a=sizeof(double);

C、a=d||c;

D、a+l=a;

答案:D

解析:賦值號的左邊必須是一個代表某個存儲單元的變量名,賦值號的右邊必須

是C語言中合法的表達式。賦值運算的功能是先求出右邊表達式的值,然后把

此值賦給賦值號左邊的變量。答案選擇D選項。

18.某二叉樹的前序序列為ABCDEFG,中序序列為DCBAEFG,則該二叉樹的后

序序列為()。

A、EFGDCBA

B、DCBEFGA

C、BCDGFEA

D、CBGFEA

答案:D

解析:二叉樹的前序序列為ABCDEFG,A為根結(jié)點。中序序列為DCBAEFG,

可知DCB為左子樹結(jié)點,EFG為右子樹結(jié)點。依此類推,畫出該二叉樹,二叉

樹的后序序列為DCBGFEA。答案選擇D選項。

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

A、C程序總是以main。作為程序執(zhí)行的起始行

B、main。函數(shù)若不帶參數(shù),其后面的一對圓括號可省略

C、函數(shù)體內(nèi)的定義語句和可執(zhí)行語句允許任意穿插出現(xiàn)

D、C語言中的語句之間必須用分號1乍為分隔符

答案:A

解析:main函數(shù)后面的括號告訴編譯器這是一個函數(shù),不可以省略,排除B選

項;在復(fù)合語句中,不僅可以有執(zhí)行語句,還可以有定義語句,定義語句應(yīng)該出

現(xiàn)在執(zhí)行語句的前面,故^除C選項;C語言中的某些語句可以不用分號,例如

if語句,宏定義,故D選質(zhì)錯誤。答案選擇A選項。

20.有以下程序#includemain(){char

B,c;inti;b='a';c=,A';for(i=0;i<6;i++){if(i%2)putchar(i+b);elseputchar(i+c);}

printf("\n");}程序運行后的輸出結(jié)果是()。

A、BcDeF

B、ABCDEF

C、AbCdEf

D、abcdef

答案:C

解析:本題中,當(dāng)i為偶數(shù)時,即0、2、4,執(zhí)行pu析har(i+c)會依次輸出AC

E;當(dāng)i為奇數(shù)時,即1、3、5,執(zhí)行putchar(i+b)會依次輸出bdf,所以最終

輸出AbCdEf。答案選擇C選項。

21.若有定義語句:intx=12,y=8,乙在其后執(zhí)行語句:z=0.9+x/y;則z的值為()。

A、1.9

B、1

C、2

D、2.4

答案:B

解析:由于X,y,z都是整型數(shù)據(jù),所以x除以y的值為整型數(shù)值1,之后1和

0.9相加得到1.9,再轉(zhuǎn)換為整型數(shù)1賦給整型變量z。答案選擇B選項。

22.有兩個關(guān)系R和T如下:則由關(guān)系R得到關(guān)系T的操作是()。

A、投影

B、交

C、選擇

D、并

答案:A

解析:關(guān)系T是由關(guān)系R的第1、3列的元組組成,這是對關(guān)系R進行投影運算

的結(jié)果??梢院唵卫斫鉃椋哼x擇運算是對行(元組)的噪作,投影運算是對列的

操作。投影運算是對列的操作。投影是從表中選出指定的屬性值組成新表,是單

目運算,答案選擇A選項,

23若a是數(shù)值類型,則邏輯表達式(a=二l)||(a!=l)的值是()。

A、1

B、0

C、2

D、不知道a的值,不能確定

答案:A

解析:運算符"II"為邏輯或運算符,即只要兩邊的條件表達式中有一個為"真",

則“邏輯或"的運算結(jié)果就為"真"。當(dāng)a==l時,運算符左邊的表達式為"真";

當(dāng)a!=l時,運算符右邊的表達式為"真"。因此,邏輯表達式(a==l)||(a!=l)

的值恒為1。答案選擇A選項。

24.有兩個關(guān)系R與S如下,由關(guān)系R和S得到關(guān)系T,則所使用的操作為()。

A、并

B、自然連接

C、除法

D、交

答案:C

解析:除運算可以近似地看作笛卡爾積的逆運算。R-S=T,T稱為R除以S的

商。S中屬性為A和Al,T中屬性為B和B1,在R元組中找到對應(yīng)于S中兩

個元組的中元組為與中最后一個元組與中無對應(yīng)關(guān)系,所以在

Tf3n2oRST

中也不會出現(xiàn)。答案選擇C選項。

25.若變量已正確定義,在if(W)printf("%d\n",k);中以下不可替代W的是()。

A、<>b+c

B、c=getchar()

C、a==b+c

D、a++

答案:A

解析:在C語言中,表示不等于不能用,而只能使用"!="。答案選擇

A選項。

26.關(guān)于C語言的變量名,以下敘述正確的是()。

A、變量名不可以與關(guān)鍵字同名

B、變量名不可以與預(yù)定義標識符同名

C、變量名必須以字母開頭

D、變量名是沒有長度限制的

答案:A

解析:合法的標識符由字母(大、小寫均可)、數(shù)字和下劃線組成,并且必須以

字母或下劃線開頭。關(guān)鍵字是指被C語言保留的,不能用作其他用途的標識符,

它們在程序中都代表著固定的含義,用戶不可重新定義,A項正確、BC兩項錯

誤。變量名沒有長度限制,但不可超過編譯器可以辨識的范圍,D項錯誤。答案

選擇A選項。

27有以下程序#includemain(){intx,y,z;x=y=l;z=x++,y++,++y;printf("%d,%

d,%d\n",x,y,z);}程序運行后的輸出結(jié)果是()。

A、231

B、2,3,2

C、2,3,3

D、2,2,1

答案:A

解析:考查逗號表達式。注意區(qū)分,z=x++是先將x的值賦給z,在令x臼增;

z=++x是先將x自增,再將自增后的值賦給z;而無論是++x還是x++,都會

完成x自增的運算。對于表達式"z=x++?++,++%”,因為賦值運算符的優(yōu)先

級高于逗號運算符的優(yōu)先級,所以可以將上式改成"(z=x++),(y++),(++y『。

然后從左向右先計算表達式z=x++,后綴自增運算先進行其他運算,再執(zhí)行自

增運算,所以z的值為1,x的值為2,再計算逗號表達式第二個表達式y(tǒng)++,

此時y的值為1,y++的值為2,最后計算第三個表達式++y,y的值為3。答

案選擇A選項。

28.數(shù)據(jù)庫管理系統(tǒng)是()。

A、操作系統(tǒng)的一部分

B、在操作系統(tǒng)支持下的系統(tǒng)軟件

C、一種編譯系統(tǒng)

D、一種操作系統(tǒng)

答案:B

解析系統(tǒng)軟件主要包括:①操作系統(tǒng)軟件;②各種語言的解釋程序和編譯程序;

③各種服務(wù)性程序;④各種數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng)是一種系統(tǒng)軟件,

負責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)組操縱、數(shù)據(jù)維護、控制和保護以及數(shù)據(jù)服務(wù)等。

答案選擇B選項。

29.以下選項中,不能對主函數(shù)中變量i和j的值進行交換的程序是()。

、

A#includevoidswap(int*p,int*q){int*t;*t=*p;*p=*q;*q=*t;}main(){inti=10/

j=20,*a=&i,*b=&j;swap(a,b);printf("i=%dj=%d\n",i,j);}

B、#includevoidswap(int*pjnt*q){intt;t=*p;*p=*q;*q=t;}main(){inti=10j=

20,*a-84i,*b-84j;swap(a,b);printf("i-%dj=%d\n"/i,j);}

C、#include#includevoidswap(int*pjnt*q){int*t;t=(int*)malloc(sizeof(int));

*t=*p;*p=*q;*q=*t;free(t);}main(){inti=10/j=20;swap(&i/&j);printf("i=%dj

=%d\n\ij);}

D、#includevoidswap(int*p,int*q){intt;t=*p;*p=*q;*q=t;}main(){inti=10j=

20,*x=&i/*y=&j;swap(x,y);printf("i=%dj=%d\n",iJ);)

答案:A

解析:A項,定義了一個臨時指針t,實現(xiàn)兩個指針地址的交換,而傳入的參數(shù)

是兩個變量i和j的地址,但是函數(shù)內(nèi)部交換的是地址值,并沒有交換主函數(shù)中

變量i與j的值;B項,調(diào)用函數(shù)傳入的是i與j地址,函數(shù)體內(nèi)交換的是地址內(nèi)

元素,臨時變量t為整型變量,能實現(xiàn)i與j值交換;C項,調(diào)用函數(shù)傳入的是i

與j地址,函數(shù)體內(nèi)交換的是地址內(nèi)元素,臨時變量t為整型指針,且已正確開

辟內(nèi)存,能實現(xiàn)i與j值交換;D項與B項相同,能實現(xiàn)i與j值交換。答案選

擇A選項。

30.下列敘述中正確的是()。

A、棧是〃先進先出"的線性表

B、隊列是“先進后出"的線性表

C、循環(huán)隊列是非線性結(jié)構(gòu)

D、有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用睫式存儲結(jié)構(gòu)

答案:D

解析:有序的線性表既可采用順序存儲結(jié)構(gòu),也可以采用鏈式存儲結(jié)構(gòu)。A項錯

誤,棧是"先進后出”的線性表;B項錯誤,隊列是“先進先出"的線性表;C

項錯誤,循環(huán)隊列是線性結(jié)構(gòu)的,有序的線性表既可采用順序存儲結(jié)構(gòu),也可采

用鏈式存儲結(jié)構(gòu)。答案選擇D選項。

31.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征

的描述是()。

A、外模式

B、邏輯模式

C、概念模式

D、物理模式

答案:A

解析:數(shù)據(jù)庫的標準結(jié)構(gòu)為三級模式結(jié)構(gòu),包括:①外模式;②模式;③內(nèi)模式。

其中,外模式也稱用戶模式,它是數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯

結(jié)構(gòu)和特征描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表

示。答案選擇A選項。

32.若函數(shù)中有定義語句:intk則()。

A、系統(tǒng)將自動給k賦初值0

B、這時k中的值無定義

C、系統(tǒng)將自動給k賦初值-1

D、這時k中無任何值

答案:B

解析:intk;這條語句是定義一個整型變量k,這是動態(tài)定義,編譯程序僅為k開

辟存儲單元,而沒有在存儲單元中存放彳玉可初值,此時變量中的值時無意義的。

若是靜態(tài)定義,則會臼動初始化,其默認值為答案選擇選項。

O0B

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

A、C語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))

B、C語言程序是由過程和函數(shù)組成的

C、語言函數(shù)不可以單獨編譯

D、C語言中除了main團數(shù),具他函數(shù)不可作為單獨文件形式存仕

答案:A

解析:一個函數(shù)的返回值可以作為參數(shù)然后彳專給另一個函數(shù),因此函數(shù)是可以嵌

套調(diào)用的。B項錯誤,C語言程序只有函數(shù)構(gòu)成,沒有過程;C項錯誤,編譯系

統(tǒng)的任務(wù)在于檢查語法錯誤,只要符合語法規(guī)則的C程序都可以通過編譯,就

算是單獨的函數(shù)也可以;D項錯誤,在C語言中除main。函數(shù)以外的其他函數(shù)

可以和main。函數(shù)在同一個C文件中,也可以單獨處于其他的C文件,只要在

使用到這些函數(shù)的main。函數(shù)的C文件中用預(yù)編譯指令^include"包含進來

即可。答案選擇A選項。

34.以下描述中,不是線性表順序存儲結(jié)構(gòu)特征的是()。

A、可隨機訪問

B、需要連續(xù)的存儲空間

C、不便于插入和刪除

D、邏輯相鄰的數(shù)據(jù)物理位置上不相鄰

答案:D

解析:在計算機中用一組地址連續(xù)的存儲單元依次存儲線性表的各個數(shù)據(jù)元素稱

為順序存儲,其中邏輯上相鄰的元素在物理位置上也相鄰。順序存儲結(jié)構(gòu)中可以

隨機訪問元素,但插入和刪除需要移動大量數(shù)據(jù),耗費資源。答案選擇D選項。

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

課程C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC的關(guān)鍵字(鍵

或碼)為().

A、課號,成績

B、學(xué)號,成績

C、學(xué)號,課號

D、學(xué)號,姓名,成績

答案:C

解析:學(xué)號是學(xué)生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關(guān)鍵

字應(yīng)該是與前兩個表能夠直接聯(lián)系且能唯一定義的學(xué)號和課號。答案選擇C選

項。

36.已知a=5,b=6,c=7,d=8,m=2,n=2,執(zhí)行(m=a>b)&&(n二c<d)后

n的值為()。

A、1

B、0

C、2

D、-1

答案:C

解析:"="優(yōu)先級低于"<"、。"&&"邏輯與表達式。expl&&exp

2,規(guī)則為:對expl求值,若為0,則表達式為0,則不計算exp2;若expl

非0,則求exp2值,作為表達式值。本題計算過程為:先判斷a、b為假,m二

0,整個邏輯表達式為假,不計算右表達式,n=2e答案選擇C選項。

37.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖牵ǎ?/p>

A、多態(tài)性

B、標識唯一性

C、封裝性

D、耦合性

答案:D

解析:面向?qū)ο笤O(shè)計是建立在"對象"概念上的方法學(xué),對象是面向?qū)ο笳Z言中

類的實體,其特點包括:①標識唯一性,對象可區(qū)分;②分類性,可以將具有相

同屬性和操作的對象抽象成類:③多態(tài)性,同一個操作對于不同對象表現(xiàn)不同的

行為;④封裝性,屏蔽數(shù)據(jù)的具體結(jié)構(gòu)以及操作的算法;⑤模塊獨立性好,對象

內(nèi)部各種元素結(jié)合緊密,內(nèi)聚性強。答案選擇D選項。

38.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進行查找的是()。

A、順序存儲的有序線性表

B、線性鏈表

C、二叉鏈表

D、有序線性鏈表

答案:A

解析:二分查找只適用于順序存儲的有序表。此處所說的有序表是指線性表中的

元素按值非遞減排列或非遞增排列。答案選擇A選項。

39.線性表常采用的兩種存儲結(jié)構(gòu)是()。

A、散列方法和索引方式

B、鏈表存儲結(jié)構(gòu)和數(shù)組

C、順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)

D、線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)

答案:C

解析:線性表常用的存儲結(jié)構(gòu)為:①順序存儲結(jié)構(gòu),物理上連續(xù)存儲,空間位置

隱含邏輯位置;②鏈式存儲結(jié)構(gòu),各元素物理存儲上不連續(xù),通過指針相連。答

案選擇C選項。

40.以下敘述中錯誤的是()。

A、基類型不同的指針可以直接相互賦值

B、函數(shù)可以通過指針形參向所指單元傳回數(shù)據(jù)

C、字符型指針可以指向一個字符串

D、一般情況下,指針的運用可使程序代碼效率更高

答案:A

解析:把一個指針變量的值賦給另一個指針變量,但一定要確保這兩個指針變量

的基類型是相同的。答案選擇A選項。

41有以下程序#includeintk=5;voidf(int*s){s=&k;*s=7;}main(){intm=3;f(&

m);printf("%d,%d\n",m,k);濯序運行后的輸出結(jié)果是()。

A、3,5

B、7.7

C、5,7

D、3,7

答案:D

解析:函數(shù)f的功能是定義一個整型的指針變量s,指向全局變量k,然后修改s

指向地址中的值為7,因此f函數(shù)只是修改全局變量k的值為7,與main函數(shù)

中臨時變量m無關(guān),因此最后輸出為3,7。答案選擇D選項。

42.在E-R圖中,用來表示實體聯(lián)系的圖形是()。

A、橢圓形

B、矩形

C、菱形

D、三角形

答案:C

解析:在E-R圖中,菱形表示聯(lián)系,矩形表示實體,橢圓形表示屬性。答案選

擇C選項。

43.設(shè)棧的順序存儲空間為S(0:49),棧底指針bottom=49,棧頂指針top

=30(指向棧頂元素)。則棧中的元素個數(shù)為()。

A、30

B、29

C、20

D、19

答案:C

解析:棧是一種特殊的線性表,它所有的插入與刪除操作都限定在表的同一端進

行。入棧運算即在棧頂位置插入一個新元素,退棧運算即取出棧頂元素賦予指定

變量。在內(nèi)存中,棧的增大方向是地址遞減,元素依次存儲在單元30:49中,

個數(shù)為:49-30+1=20個。答案選擇C選項。

44.有以下函數(shù):#includevoidexch(intt[]){t[0]=t[5];}main(){intx[10]={1,2,3,

4f5/6/7,8,9,10}/i=0;while(i<=4){exch(&x[i]);i++;}for(i=0;i<5;i++)printf("%d

\n",x[i]);}程序運行后的輸出結(jié)果是()。

A、246810

B、13579

C、12345

D、678910

答案:D

解析:函數(shù)exch的作用就是把數(shù)組某個元素的值變?yōu)檫@個元素位置加5后對應(yīng)

的元素值,所以執(zhí)行完之后輸出數(shù)組x的前五個元素的值,其實就是數(shù)組x的后

五個元素的值,答案選擇D選項。

45.下面不屬于軟件設(shè)計階段任務(wù)的是()。

A、軟件的功能確定

B、軟件的總體結(jié)構(gòu)設(shè)計

C、軟件的數(shù)據(jù)設(shè)計

D、軟件的過程設(shè)計

答案:A

解析:軟件設(shè)計階段的任務(wù)包括:①結(jié)構(gòu)設(shè)計;②數(shù)據(jù)設(shè)計;③接口設(shè)計;④過

程設(shè)計。軟件的功能確定是在需求分析階段完成的。答案選擇A選項。

46.下列選項中屬于面向?qū)ο笤O(shè)計方法主要特征的是()。

A、繼承

B、自頂向下

C、模塊化

D、逐步求精

答案:A

解析:面向?qū)ο笤O(shè)計方法的主要特征有封裝性、繼承性和多態(tài)性。而結(jié)構(gòu)化程序

設(shè)計方法的主要原則有自頂向下、逐步求精、模塊化、限制使用goto語句。B

CD三項是結(jié)構(gòu)化程序的主要特征。答案選擇A選項。

47.設(shè)有定義:doublex=2.12;,以下不能完整輸出變量x值的語句是()。

A、pnntf("x=%5.0f\n",x);

B、printf("x=%f\n",x);

C、printf(wx=%lf\n",x);

D、printf("x=%0.5An';x);

答案:A

解析:printf函數(shù)控制字符%f輸出float類型,%lf輸出double類型。格式控

制%01.吊,表示數(shù)據(jù)輸出總的寬度為m位,其中小數(shù)部分占n位。當(dāng)數(shù)據(jù)的小

數(shù)位多于指定寬度n時,截去右邊多余的小數(shù),并對截去的第一位小數(shù)做四舍

五入處理;而當(dāng)數(shù)據(jù)的小數(shù)位少于指定寬度n時,在小數(shù)的右邊補零;當(dāng)m小

于有效位數(shù)時,整數(shù)部分輸出所有有效數(shù)字并且自動龍齊,小數(shù)部分按照n指

定位數(shù)輸出。A項按照flcat格式輸出數(shù)據(jù),寬度為5位,保留小數(shù)。位,輸出

為2,不能完整輸出x。B項按照float格式輸出數(shù)據(jù),輸出為2.120000。C項

按照double格式輸出數(shù)據(jù),輸出為2.120000.D項按照float格式輸出數(shù)據(jù),

保留小數(shù)位數(shù)為5,輸出為2.12000.答案選擇A選項。

48.以下選項中,當(dāng)x為大于1的奇數(shù)時,值為0的表達式是()。

A、x%2==l

B、x/2

C、x%2!=0

D、x%2==0

答案:D

解析:當(dāng)x為大于1的奇數(shù),x%2==l,則表達式x%2==0為假(即值為0),

答案選擇D選項。

49.軟件生命周期可分為定義階段、開發(fā)階段和維護階段。詳細設(shè)計屬于()。

A、定義階段

B、開發(fā)階段

C、維護階段

D、上述三個階段

答案:B

解析:軟件生命周期可分為:①定義階段,包括可行性研究、需求分析;②開發(fā)

階段,包括概要設(shè)計、詳細設(shè)計、實現(xiàn)、測試;③維護階段,包括使用、維護、

退役。答案選擇B選項。

50.數(shù)據(jù)庫系統(tǒng)在其內(nèi)部具有3級模式,用來描述數(shù)據(jù)庫中全體數(shù)據(jù)的全局邏輯

結(jié)構(gòu)和特性的是()。

A、外模式

B、概念模式

C、內(nèi)模式

D、存儲模式

答案:B

解析:概念模式,也稱邏輯模式,是對數(shù)據(jù)庫系統(tǒng)中全局數(shù)據(jù)邏輯結(jié)構(gòu)的描述,

由若干個概念記錄類型組成,還包含記錄間聯(lián)系、數(shù)據(jù)的完整性、安全性等要求。

它不涉及具體的硬件環(huán)境與平臺,與具體的軟件環(huán)境也無關(guān)。答案選擇B選項。

51.有以下函數(shù):#includevoidfunc(intn){inti;for(i=0;i<=n;i++)printf("*");pri

ntf("#");}main(){func(3);printf("????");func(4);printf("\n");}程序運行后的輸

出結(jié)果是()。

A、****#????***#

B、***#????*****#

C、**#????*****#

D****#????*****#

答案:D

解析:從main函數(shù)開始,執(zhí)行func()函數(shù),for循環(huán)執(zhí)行4次,連續(xù)輸出四個

“,然后輸出一個"#;輸出"????”;再次調(diào)用func(),for循環(huán)執(zhí)行5

次,連續(xù)輸出五個,然后輸出一個“鏟’;最后輸出換行符。答案選擇D

選項。

52.對有序線性表(23,29,34,55,60,70,78)用二分法查找值為60的

元素時,需要比較次數(shù)為()。

A、1

B、2

C、3

D、4

答案:C

解析:二分法查找法不斷的將序列分為可能包含和必然不包含的兩部分,本題流

程為:①將60與中間的元素55進行比較,60>55,所以60不可能在前4個

元素中;②第二次將60與中間的元素70進行比較,60<70,所以60不可能在

后2個元素中;③第三次將60與中間元素60比較,這時食找成功。答案選擇

C選項。

53.有以下程序:#includemain(){inta=l,b=2;for(;a<8;a++){b+=a;a+=2;}pri

ntf("%d,%d\n”ab);}程序運行后的輸出結(jié)果是()。

A、9,18

B、8,11

C、7,11

D、10,14

答案:D

解析:初始值a=l,b=2,第一次循環(huán):b=b+a=2+l=3,a=a+2=l+2=3,a

=a+l=3+l=4;第二次循環(huán):b=b+a=3+4=7,a=a+2=4+2=6,a=a+l=6

+1=7;第三次循環(huán):b=b+a=7+7=141a=a+2=7+2=9,a=a+l=9+l=10,

不滿足for循環(huán)條件退出循環(huán),最終a=10,b=14。答案選擇D選項。

54.以下關(guān)于C語言的敘述中正確的是()。

A、C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間

B、C語言中的變量可以在使用之前的任何位置進行定義

C、在C語言算術(shù)表達式的書寫中,運算符兩側(cè)的運算數(shù)類型必須一致

D、C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示

答案:A

解析:A項正確,C語言中,程序中的注釋可以出現(xiàn)在程序中任何合適的地方,

但是,不能寫在變量名或關(guān)鍵字的中間,一旦寫在其中旬,將會失去變量名或關(guān)

鍵字的意義,導(dǎo)致報錯;B項錯誤,條件沒有說全,應(yīng)該是在有效的范圍內(nèi),變

量可以在任何位置定義,例如注釋中定義無效。C項錯誤,在C語言的算術(shù)運算

符中,取余運算符"%〃的兩個運算分量必須是整數(shù),但對于其他運算符,如,

來說,兩側(cè)的運算符類型也可以不一樣,例如左側(cè)為一個字符類型,右側(cè)

為一個整數(shù)類型,系統(tǒng)在執(zhí)行程序時會自動將字符類型轉(zhuǎn)換為ASCH值進行運算;

D項錯誤,C語言的數(shù)值表示時各個數(shù)位必須緊靠在一起,否則編譯系統(tǒng)只會識

別緊靠運算符的一部分數(shù)值,另一部分數(shù)值會發(fā)生語法錯誤。答案選擇A選項。

55.以下選項中可用作C程序合法實數(shù)的是()。

A、leO

B、3.0e0.2

C、E9

D、9.12E

答案:A

解析:C程序的合法實數(shù)有小數(shù)和指數(shù)兩種表示形式。其中,對于用指數(shù)形式表

示的實數(shù)來說,字母e或E之前必須要有數(shù)字,且字母e或E后面的指數(shù)必須

為整數(shù)。B項,e后的指數(shù)不能為小數(shù)形式;C項,E前必須要有數(shù)字;D項,E

后缺少整數(shù)形式的指數(shù)。答案選擇A選項。

56.在黑盒測試方式中,設(shè)計測試用例的主要根據(jù)是()。

A、程序外部功能

B、程序內(nèi)部邏輯

C、程序數(shù)據(jù)結(jié)構(gòu)

D、程序流程圖

答案:A

解析:黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,完全不考慮程序內(nèi)部邏輯結(jié)構(gòu)和

具體代碼,把程序看作是一個不能打開的黑盒子,依據(jù)軟件需求規(guī)格說明書,檢

查程序的功能是否符合它的功能說明,主要針對軟件界面和軟件功能進行測試。

答案選擇A選項。

57.若有定義語句intabdoublex;則下列選項中沒有錯誤的是()。

A、switch(x%2){case0:a++;break;casel:b++;break:default:a++;b++;}

B、switch((int)x/2.0){case0:a++;break;casel:b++;break;default:a++;b++;}

C、switch((int)x%2){case0:a++;break;casel:b++;break;default:a++;b++;}

D、switch((int)(x)%2){case0.0:a++;break;casel.0:b4-+;break;default:a++;

b++;}

答案:C

解析:switch語句中,表達式的類型應(yīng)與case語句后的常量類型保持一致,并

且switch的判斷條件只能為整型或字符型,case后面為常量表達式。A項,x%

2得到的是浮點型數(shù)據(jù),而case語句后的常量是整型數(shù)據(jù),類型不一致;B項,

(int)x/2.。得到的也是浮點型數(shù)據(jù),類型不一致;口項,(int)x%2.0得到的是整

型數(shù)據(jù),而case語句后的常量是浮點型數(shù)據(jù),類型也不一致。答案選擇C選項。

58.有以下程序:#includemain(){intA-O,B-O,C=O;C=(A-A-5);(A=B,B+-4);

printf("%d,%d,%d\n",ABC);}程序運行后輸出的結(jié)果是()。

A、0,4,5

B、4,4,5

C、4,4,4

D、0,0,0

答案:A

解析:C語言中可以將多條語句放在同一行,用丁隔開。賦值運算和逗號運

算都是從左到右結(jié)合。首先執(zhí)行A-=A-5,即A=A-(A-5),得A的值為5,然

后執(zhí)行C=(A-=A-5),即將A的值5賦給變量C,使得C的值也為50然后執(zhí)

行下句逗號表達式中的A二B,把B的值。賦給A,此E寸A的值為0,然后執(zhí)行

B=B+4,使得B的值為4,最后打印輸出。答案選擇A選項。

59.下列敘述中,不符合良好程序設(shè)計風(fēng)格要求的是()。

A、程序的效率第一,清晰第二

B、程序的可讀性好

C、程序中要有必要的注釋

D、輸入數(shù)據(jù)前要有提示信息

答案:A

解析:"清晰第一,效率第二"是當(dāng)今主導(dǎo)的程序設(shè)計風(fēng)格。對程序的要求不僅

是能夠運行正常,還要便于調(diào)試和維護,所以程序要具有良好的可讀性,語句結(jié)

構(gòu)應(yīng)該簡單直接,這有利于程序的開發(fā)與維護。答案選擇A選項。

60.若有以下程序#includemain(){inta=-2,br0;do{++b;}while(a++);printf("%

d,%d\n"ab);}則程序的輸出結(jié)果是()。

A、2,3

B、0,2

C、1,2

D、1,3

答案:D

解析:while(a++)是先判定a是否為0,不管判定結(jié)果如何,都執(zhí)行a++。當(dāng)

a++的值為。時,a的值為1,即a增加了3,因此,b也增加3。答案選擇D

選項。

6L有以下程序#includemain(){inta=l,b=3,c=5;int*pl=&a,*p2=&b,*p=&c;

*p=*pl*(*p2);printf("%d\n"?;}執(zhí)行后的輸出結(jié)果是()。

A、4

B、2

C、1

D、3

答案:D

解析本題中*p=*pl*(*p2)=a*b=3,也就是將指針p所指存儲空間的值改為3,

即c改為3。答案選擇D選項。

62.下列敘述中正確的是()。

A、所謂有序表是指在順序存儲空間內(nèi)連續(xù)存放的元素序列

B、有序表只能順序存儲在連續(xù)的存儲空間內(nèi)

C、有序表可以用鏈接存儲方式存儲在不連續(xù)的存儲空間內(nèi)

D、任何存儲方式的有序表均能采用二分法進行查找

答案:C

解析:"有序”是指線性表中的元素按照升序或降序(允許相鄰元素相同)的方

式排列。有序是一個邏輯概念,與物理存儲無關(guān)。二分法食找時涉及下標運算,

要求有序表必須順序存儲。答案選擇C選項。

63.有如下程序:#includemain(){inta=O,b=l;if(++a==b++)printf(',T");elsep

rintf(nF");printf("a=%d,b=%d\n"ab);printf("\n");}程序運行后的輸出結(jié)果是

()o

A、Ta=O,b=l

B、Fa=l,b=2

C、Ta=l,b=2

D、Fa=0,b=2

答案:C

解析:程序執(zhí)行過程為:判斷++a==b++是否成立,++a前置運算先加1,則

運算符二二左邊表達式值為1,a=l,b++后置運算先取值,則二二右邊表達式值

我1,b=2,即是判斷1==1,成立,輸出T,輸出a=l,b=2。答案選擇C選

項。

64.在E-R圖中,用()來表示實體之間聯(lián)系。

A、矩形

B、菱形

C、橢圓形

D、正方形

答案:B

解析:E-R圖是實體聯(lián)系模式圖,其中用矩形表示實體集;用橢圓形表示屬性;

用菱形表示聯(lián)系。答案選擇B選項。

65.以下程序段中,不能實現(xiàn)條件〃如果a

A、x=(a>=b)?-10:10;

B、if(a<b)x=10;elsex=-10;

C、x=-10;if(b>a)x=10;

D、if(a<b)x=10;if(b<a)x=-10;

答案:D

解析:A項:條件運算符?運算過程為:如果a>=b,x=-10,否則x=10,能

實現(xiàn)題目中功能。B項:如果a<b,則x=10,否則x=-10,能實現(xiàn)題目中功能。

c項:首先賦值x=-10,如果a<b,則x=10,即在a>二b情況下有x=-10,

能實現(xiàn)題目中功能。D項:如果a<

B,貝I」x=10,如果b<a,貝Ux=-10,其中沒有對a=b進行判斷,不能實現(xiàn)題

目中功能,答案選擇D選項。

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

A、多態(tài)性

B、自頂向下

C、模塊化

D、逐步求精

答案:A

解析:結(jié)構(gòu)化程序設(shè)計的基本原則包括:①模塊化;②自頂向下;③逐步求精;

④限制使用got。語句。多態(tài)性是面向?qū)ο蟮脑O(shè)計思想。答案選擇A選項。

67.某二叉樹共有7個結(jié)點,其中葉子結(jié)點只有1個,則該二叉樹的深度為()。

(假設(shè)根結(jié)點仕第1層)

A、3

B、4

c、6

D、7

答案:D

解析:在任意一個二叉樹中,度為0的葉子結(jié)點總比度為2的結(jié)點多一個,所

以本題中度為2的結(jié)點為1-1=0個,即二叉樹的每一個結(jié)點都只有一個孩子,7

個結(jié)點共7層。答案選擇D選項。

68.有以下程序:#includemain(){char*s="120119110";intn0,nl,n2,nn/i;n0=

nl=n2=nn=i=0;do{switch(s[i++]){default:nn++;case'0':n0++;case'l,:nl+

+;case'2':n2++;}}while(s[i]);printf("n0=%d,nl=%d,n2=%d,nn=%d\n",n0,

r)Ln2,nn);}程序的運行結(jié)果是()。

A、n0=3,nl=8,n2=9,nn=l

B、n0=2,nl=5,n2=l,nn=l

Gn0=2,nl=7,n2=10,nn=l

D、n0=4,nl=8,n2=9,nn=l

答案:A

解析:本題執(zhí)行過程為:s[0]='l',匹配caseT,nl=l,n2=l;s[l]='2',匹

,,

配case2,n2=2;s[2]='0',匹配case'。',n0=l,nl=2,n2=3;s[3]=lz

匹配caseT,nl=3,n2=4;s[4]='l',匹配caseT,nl=4,n2=5;s[5]='

9',匹配default,nn=l,n0=2,nl=5,n2=6;s[6]='l',匹配caseT,nl

=6,n2=7;s[7]=*r,匹配case'l',nl=7,n2=8;s[8]='O',匹配ease'?!?/p>

n0=3,nl=8,n2=9;s[9]='\0'f退出循環(huán)。輸出nO,nl,n2,nn為3,8,

9,1,答案選擇A選項。

69.若實體A和B是一對一的聯(lián)系,實體B和C是多對一的聯(lián)系,則實體A和C

的聯(lián)系是()。

A、多對一

B、一對多

C、一對一

D、多對多

答案:A

解析:實體集之間必須通過聯(lián)系來建立聯(lián)接關(guān)系,分為:①一對一聯(lián)系,即1:

1;②一對多聯(lián)系,即1:m;③多對多聯(lián)系,即m:n。本題中,A與B是1:

1聯(lián)系,B與C是m:1聯(lián)系,所以A與C是m:1聯(lián)系,即多對一。答案選

擇A選項。

70.當(dāng)數(shù)據(jù)庫中數(shù)據(jù)總體邏輯結(jié)構(gòu)發(fā)生變化,而應(yīng)用程序不受影響,稱為數(shù)據(jù)的

()。

A、邏輯獨立性

B、物理獨立性

C、應(yīng)用獨立性

D、空間獨立性

答案:A

解析:數(shù)據(jù)獨立性是指數(shù)據(jù)獨立于程序,包括:①物理獨立性,指數(shù)據(jù)的物理結(jié)

構(gòu)改變,應(yīng)用程序不用改變;②邏輯獨立性,指數(shù)據(jù)的邏輯結(jié)構(gòu)改變,應(yīng)用稗*

不用改變。答案選擇A選項。

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

A、x=y*5=x+z

B、intQ5.8%5)

C、x=y+z+5,++y

D、x=25%5.0

答案:C

解析:賦值運算左邊必須是單一變量名。A項錯誤,"y*5=x+z"部分是非法賦

值。BD兩項錯誤,求余運算中的操作對象只能是整型,C項,為逗號表達式。

答案選擇C選項。

72.有如下程序:#includeintsub(doublea,doubleb){return(int)(a-b);}main()

{primf("%d\n",sub(3.8,2.1));}程序運行后的輸出結(jié)果是()。

A、2.0

B、1.7

C、2

D、1

答案:D

解析:在類型轉(zhuǎn)換過程中,如果較高類型轉(zhuǎn)換成較低類型,直接忽略多余位數(shù)。

程序執(zhí)行過程為:調(diào)用函數(shù)sub(3.8,2.1),3.8-21=1.7(double類型),(int)

強制轉(zhuǎn)換將1.7轉(zhuǎn)換成int類型1,然后返回1并輸出。答案選擇D選項。

73.下列敘述中正確的是()。

A、數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)必定是一一對應(yīng)的

B、由于計算機存儲空間是向量式的存儲結(jié)構(gòu),因此,數(shù)據(jù)的存儲結(jié)構(gòu)一定是線

性結(jié)構(gòu)

C、程序設(shè)計語言中的數(shù)據(jù)一般是順序存儲結(jié)構(gòu),因此,利用數(shù)組只能處理線性

結(jié)構(gòu)

D、以上三種說法都不對

答案:D

解析:A項錯誤,數(shù)據(jù)的邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間邏輯關(guān)系,與存儲的物理結(jié)

構(gòu)并沒有——對應(yīng)關(guān)系;B項錯誤,線性結(jié)構(gòu)和非線性結(jié)構(gòu)是關(guān)于邏輯結(jié)構(gòu)的兩

種不同分類,存儲結(jié)構(gòu)上沒有線性和非線性之分;C項,利用數(shù)組也能處理非線

性結(jié)構(gòu),比如用數(shù)組存儲二叉樹。答案選擇D選項。

74.在醫(yī)院,每個醫(yī)生只屬于某一個診療科,醫(yī)生同一天可為多位患者看病,而

一名患者可在多個科室治療,則實醫(yī)生和患者之間的聯(lián)系是()。

A、多對多

B、多對一

C、一對多

D、一對一

答案:A

解析:一般來說,實體集之間必須通過聯(lián)系來建立連接關(guān)系,分為三類:①一對

一聯(lián)系(1:1);②一對多聯(lián)系(l:m);③多對多聯(lián)系(m:n)。醫(yī)生可

為多位患者看病,患者也可以找多位醫(yī)生看病,實體醫(yī)生與患者聯(lián)系是多對多,

答案選擇A選項。

75后以下程序段:inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%

db=%dc=%d",abc);程序的輸出結(jié)果是()。

A、=10b=50c=10

B、a=10b=50c=30

C、a=10b=30c=10

D、a=10b=30c=50

答案:A

解析:因為a=10,b=50,所以a<b,if語句判斷條件不成立,于是執(zhí)行c=a,

得到c=10,a和b的值不變。答案選擇A選項。

76.結(jié)構(gòu)化程序由順序、選擇、循環(huán)三種基本結(jié)構(gòu)組成,以下相關(guān)敘述錯誤的是

()。

A、三種基本結(jié)構(gòu)不可以嵌套使用

B、順序結(jié)構(gòu)是按語句在程序中的先后JI質(zhì)序逐條執(zhí)行,沒有分支,沒有轉(zhuǎn)移

C、選擇結(jié)構(gòu)是根據(jù)不同的條件執(zhí)行不同分支中的語句

D、循環(huán)結(jié)構(gòu)是根據(jù)條件決定是否重復(fù)、重復(fù)執(zhí)行多少次循環(huán)體語句

答案:A

解析結(jié)構(gòu)化程序主要由3種基本控制結(jié)構(gòu)組成順序結(jié)構(gòu)是最基本的算法結(jié)構(gòu),

當(dāng)執(zhí)行由這些語句構(gòu)成的程序時,將按這些語句在程序中的先后順序逐條執(zhí)行,

沒有分支,沒有轉(zhuǎn)移,沒有步驟之間的相互約束,沒有對某一步驟的多次使用,

完全按照步驟的原有次序依次執(zhí)行,B選項敘述正確。選擇結(jié)構(gòu)根據(jù)不同的條件

去執(zhí)行不同分支中的語句,C選項敘述正確。循環(huán)結(jié)構(gòu)就是根據(jù)各自的條件,使

同一組語句重復(fù)執(zhí)行多次,D選項敘述正確。三種結(jié)構(gòu)可以嵌套使用,A選項敘

述錯誤,答案選擇A選項,

77.數(shù)據(jù)流程圖(DFD圖)是()。

A、軟件概要設(shè)計的工具

B、軟件詳細設(shè)計的工具

C、結(jié)構(gòu)化方法的需求分析工具

D、面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?/p>

答案:C

解析:數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,

它直接支持系統(tǒng)的功能建模,是結(jié)構(gòu)化方法的需求分析工具。答案選擇C選項。

78.有以下程序:#includemain(){chara,b,c,d;scanf("%c%c",&a,&b);c=getch

ar();d=getchar();printf("%c%c%c%c\n"abcd);}當(dāng)執(zhí)行程序時,按下列方式

輸入數(shù)據(jù)(從第一列開始,代表回車,注意:回車是一人字符)1234則輸出結(jié)果

是()O

A、123

B、12

C、1234

D、1234

答案:A

解析:scanf()函數(shù)的一般調(diào)用形式為:scanf(格式控制,輸入地址列表)。其中,

格式控制是用雙引號括起來的字符串,包括格式字符和普通字符格式是由"%"

和格式字符組成。getchar()函數(shù)的功能是從標準輸入設(shè)備上讀入一個字符。根

據(jù)程序中的格式控制可知,接收輸入時分別把1賦給了a,2賦給了b,然后g

etchar()函數(shù)提取一個換行符賦給c,再提取一個字符3賦給了d。所以程序的

輸出結(jié)果為:123。答案選擇C選項。

79.在教師表中,如果要找出職稱為"教授"的教師,所采用的關(guān)系運算是()。

A、投影

B、選擇

C、聯(lián)接

D、自然選擇

答案:B

解析:投影表示從關(guān)系模式中指定若干屬性組成新的關(guān)系。選擇表示從關(guān)系中找

出滿足給定條件的元組的操作。聯(lián)接是關(guān)系的橫向結(jié)合,聯(lián)接運算將兩個關(guān)系模

式拼接成一個更寬的關(guān)系模式,生成新的關(guān)系中包含滿足聯(lián)接條件的元組。屬性

同為〃教授"的教師組成新的關(guān)系。答案選擇B選項。

80.有以下程序:#includevoidfun(intajntb){intt;t=a;a=b;b=t;}main(){intc[l

0]={l/23A5/6/7/8/9/0}J;for(i=0;i<10;i+=2)fun(c[i]/c[i+l]);for(i=0;i<10;i++)

primf(-%d,,c[i]);primf(”\n");}程序運行的結(jié)果是()。

A、1,2345678,

溫馨提示

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

評論

0/150

提交評論