國(guó)家二級(jí)(C語言)筆試模擬試卷19(共527題)_第1頁
國(guó)家二級(jí)(C語言)筆試模擬試卷19(共527題)_第2頁
國(guó)家二級(jí)(C語言)筆試模擬試卷19(共527題)_第3頁
國(guó)家二級(jí)(C語言)筆試模擬試卷19(共527題)_第4頁
國(guó)家二級(jí)(C語言)筆試模擬試卷19(共527題)_第5頁
已閱讀5頁,還剩130頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

國(guó)家二級(jí)(C語言)筆試模擬試卷19

(共9套)

(共527題)

國(guó)家二級(jí)(C語言)筆試模擬試卷第1

一、公共基礎(chǔ)選擇題(本題共10題,每題7.0分,共

10分。)

1、算法的時(shí)間復(fù)雜度是指O

A、執(zhí)行算法程序所需要的時(shí)間

B、算法程序的長(zhǎng)度

C、算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)

D、算法程序中的指令條數(shù)

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。

2、卜列敘述中止確的是。

A、線性表是線性結(jié)構(gòu)

B、棧與隊(duì)列是非線性結(jié)構(gòu)

C、線性鏈表是非線性結(jié)構(gòu)

D、二叉樹是線性結(jié)構(gòu)

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線形結(jié)構(gòu)。線性表、棧

與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。

3、下面關(guān)于完全二叉樹的敘述中,錯(cuò)誤的是_____。

A、除了最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值

B、可能缺少若干個(gè)左右葉子結(jié)點(diǎn)

C、完全二叉樹一般不是滿二叉樹

D、具有結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+l

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)露析:滿二叉扔指除最后一層外每一層上所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉

樹。完全二叉樹指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上

只缺少右邊的若干子結(jié)點(diǎn)(葉子結(jié)點(diǎn))的二叉數(shù)。

4、結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是_____o

A、程序的規(guī)模

B、程序的易讀性

C、程序的執(zhí)行效率

D、程序的可移植性

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是結(jié)構(gòu)化程序清嘶易讀,可理解性好,程

序員能夠進(jìn)行逐步求精、程序證明和測(cè)試,以保證程序的正確性。

5、在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的

階段是。

A、概要設(shè)計(jì)

B、詳細(xì)設(shè)計(jì)

C、可行性分析

D、需求分析

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)露析:需求分析是對(duì)待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)

確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊(cè),提交評(píng)審。

6、數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)

成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是_____o

A、控制流

B、加工

C、數(shù)據(jù)存儲(chǔ)

D、源和潭

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移

動(dòng)變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)

源)、源和潭。

7、軟件需求分析一般應(yīng)確定的是用戶對(duì)軟件的o

A、功能需求

B、非功能需求

C、性能需求

D、功能需求和非功能需求

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:軟件需求分析中需要構(gòu)造一個(gè)完全的系統(tǒng)邏輯模型,理解用戶提出的

每一功能與性能要求,使用戶明確自己的任務(wù)。因此,需求分析應(yīng)確定用戶對(duì)軟件

的功能需求和非功能需求。

8、下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘述中正確的是o

A、數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余

B、數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余

C、數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致

D、數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:由于數(shù)據(jù)的集成性使得數(shù)據(jù)可為多個(gè)應(yīng)用所共享,特別是在網(wǎng)絡(luò)發(fā)達(dá)

的今天,數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)的結(jié)合擴(kuò)大了數(shù)據(jù)關(guān)系的應(yīng)用范圍。數(shù)據(jù)的共享自身又可極

大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲(chǔ)空間,更為重要的是可以避兔數(shù)據(jù)

的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的

值,而數(shù)據(jù)的不一致性指的是同一個(gè)數(shù)據(jù)在系統(tǒng)的不同拷貝處有不同的值。

9、關(guān)系表中的每一橫行稱為一個(gè)。

A、

B、

、

C碼

D、

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:在關(guān)系數(shù)據(jù)庫(kù)中,關(guān)系模型采用二維表來表示,簡(jiǎn)稱“表二維表是

由表框架及表元組組成。在表框架中,按行可以存放數(shù)據(jù),每行數(shù)據(jù)稱為元組。

10、數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是______o

A、概念設(shè)計(jì)和邏輯設(shè)計(jì)

B、模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)

C、內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)

D、結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)設(shè)計(jì)可分為概念設(shè)計(jì)與邏輯設(shè)計(jì)。概念設(shè)計(jì)的目的是分析數(shù)據(jù)

間內(nèi)在語義關(guān)聯(lián),在此基礎(chǔ)上建立一個(gè)數(shù)據(jù)的抽象模型。邏輯設(shè)計(jì)的主要工作是將

ER圖轉(zhuǎn)換為指定的RDBMS中的關(guān)系模型。

二、選擇題(1分)(本題共70題,每題,.0分,共70

分。)

11、以下有4組用戶標(biāo)識(shí)符,其中合法的一組是_____。

A^FOR-subCase

B、4dDoSize

C、f2G3IFabc

D^WoRDvoiddefine

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:C語言的標(biāo)識(shí)符的定義為:以字母或F劃線開頭的由字母、數(shù)字字

符、下劃線組成的字符串。而且標(biāo)識(shí)符不能與關(guān)鍵字相同。

12、下列敘述中正確的是______。

A、C程序中注釋部分可以出現(xiàn)在程序中任伺合適的地方

B、花括號(hào)"”「和只能作為函數(shù)體的定界符

C、構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名

D、分號(hào)是C語句之間的分隔符,不是語句的一部分

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:C程序中注釋部分用“/*”和“*尸括起來,可以出現(xiàn)在程序中任何合適

的地方;花括號(hào)和"}”不僅可作為函數(shù)體的定界符,也可作為復(fù)合語句的定界

符:構(gòu)成C程序的基本單位是函數(shù);一個(gè)語句必須在最后出現(xiàn)分號(hào),分號(hào)是C語

句中不可缺少的部分。

13、以下合法的賦值語句是。

A、X=Y=100

B、D-;

C、X+Y

D、C=int(A+B)

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:本題中的答案A與D都缺少“;”,而答案C中,表達(dá)式是不能獨(dú)立

成為語句的,答案B使用了C語言的自減運(yùn)算符它就相當(dāng)于口=?1,所以答案B

為一賦值語句。

14、設(shè)x為int型變量,執(zhí)行以下語句,X=10;X+=X-=X-X;X的值為。

A、10

B、20

C、30

D、40

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:本題x=10,表達(dá)式%+=^^;”的求解步驟如下:先進(jìn)行x?=x?x的

運(yùn)算,相當(dāng)于x=x?(x?x)=x=10;再進(jìn)行乂+=乂的運(yùn)算,即x=x+x=20。

15、以下程序的輸出結(jié)果是______。main(){inta=3;printf(',%\n",(a4-=a-=a*a));}

A、{

B、1

C、2

D、-12

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:賦值運(yùn)算符的結(jié)合方向是自右至左,所以表達(dá)式a+a-=a*a先運(yùn)算最

右邊的a*a得9,再運(yùn)算a二a-9,即a=3-9,所以此時(shí)a的值由3變成了-6,最后運(yùn)

算a=a+(-6)?即a-(-6)+(-6)=-12o

16、設(shè)int型占2個(gè)字節(jié),則unsignedint所能表示的數(shù)據(jù)范圍是。

A、。?65535

B、-32769?32767

C、1-65536

D、0-32767

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:本題int型占2個(gè)字節(jié),即16位,unsignedini所能表示的數(shù)據(jù)范圍

是0?(2(上標(biāo))16-1),即。?65535。

17、設(shè)a、b、c、d、m.n均為血型變量,且a=5、b=6^c=7>d=8、m=2>n=2,

則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為。

A、0

B、1

C、2

D、3

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:C語言中比較表達(dá)式的運(yùn)算結(jié)果為0或1。0代表不成立,1表示成

立。

18、下面的關(guān)鍵字中,不能夠從循環(huán)體中跳到循環(huán)體外的是o

A、goto

B、break

C、return

D、continue

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:在C語言中,可以用break語句和continue語句跳出本層循環(huán)和結(jié)束

本次循環(huán)。golo語句可跳出多層循環(huán),如果在函數(shù)的循環(huán)體內(nèi)使用relurn語句,就

會(huì)直接結(jié)束循環(huán)返回函數(shù)值。

19、以下各選項(xiàng)企圖說明一種新的類型名,其中正確的是o

A、typedefvlint;

typedefv2=int;

C、typedefintv3;

D、typedefv4:int

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:C語言中可以使用typedef來重新定義已有的數(shù)據(jù)類型,相當(dāng)于為數(shù)

據(jù)類型取個(gè)別名。

20、在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是

A、地址傳遞

B、單向值傳遞

C、由實(shí)參傳給形,再由形參傳回實(shí)參

D、傳遞方式由用戶指定

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)常析:C語言函數(shù)中的參數(shù)傳遞方式有傳值與傳址兩種方式,傳值方式是指

將實(shí)參的值復(fù)制一份傳遞給形參,面?zhèn)髦贩绞绞侵笇?shí)參的變量地址傳遞給形參,

也就是實(shí)參的引用。

三、選擇題(2分)(本題共70題,每題7.0分,共70

分。)

21、下列程序的輸出結(jié)果是omain(){inti,k,ai[0],p[3];k=5;for(i=0;i<

10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+I)];for(i=0;i<3;i++)k+=p[i]*2;printf

("%d\n';k);)

A、20

B、21

C、22

D、23

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:暫無解析

22、下列程序的執(zhí)行結(jié)果是opoint(char*pl);main(){char

b[4]={'a','c','s',f},*pt=b;point(pt);printf("%c\n",*pt);)point(char*p){p+=3;)

A、s

B、c

C、f

D^a

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:暫無解析

23、已知chara=15,則a,-a和!a的整型值分別為。

A、240、-15、0

B、-16、-15.0

C、0、-15、240

D、0、-15、0

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:暫無解析

24、設(shè)ch是char型變量,其值為A,且有表達(dá)式:ch=(ch>=,A,&&chV

=,Z,)?(ch+32):cho該表達(dá)式的值是o

A、A

B、a

C、Z

D、z

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:暫無解析

25、若tp是指向某文件的指針,且已讀到文件木尾,則庫(kù)函數(shù)teof(tp)的返回值是

A、EOF

B、-1

C、非零值

D、NULL

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:暫無解析

26,下列程序執(zhí)行后的輸出結(jié)果是_____vmain(){intx=,P;printf("%c

\n",'A'+(x-'a'+l));}

A、G

B、H

C、I

D、J

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:暫無解析

27、若輸入1,2,下列程序的運(yùn)行結(jié)果為o#defineSWAP(a,b)t=b;b=a;a=t

main(){inta,b,I;scanf("%d,%d",&a,&b);SWAP(a,b);printf("a=%d,b=%d\nn,

a,b);)

A^a=l,b=2

B、a=2,b=1

C、a=1,b=1

D、a=27b=2

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:暫無解析

28、運(yùn)行以下程序后,如果從鍵盤上輸入china#V回車>,則輸了結(jié)果為

#include<stdio.h>main(){intvl=0,v2=0;charch;while((ch=getchar())!='#')

switch(ch){case'a':case'h':default:vi++;case'O':v2++;}printf

(”%d,%d\n,',vl,v2);}

A、2,0

B、5,0

C、5,5

D、2,5

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:暫無解析

29、下列程序中的foi?循環(huán)執(zhí)行的次當(dāng)次數(shù)是_____o#defineN2#defineMN+i

#defineNUM2*M+1#main()(inti;for(i=l;i<=NUM;i++)printf("%d\n",i);}

A、5

B、6

C、7

D、8

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:暫無解析

30、下列程序的輸出結(jié)果是omain(){inti;for(i=l;i<6;i++)

{if(i%2){printf("#");continue;}printf("*");}printf("\nM);}

A、#*#*#

B、#####

C、****

D、*#*#*

標(biāo)準(zhǔn)答案:I

知識(shí)點(diǎn)解析:暫無解析

四、公共基礎(chǔ)填空題(本題共5題,每題7.0分,共5

分。)

31、若采用直接插入法對(duì)字母序列(W,S,E,L,X,G,I)進(jìn)行排序,使字母按

升序排列,那么第一次排序的結(jié)果為【】。

標(biāo)準(zhǔn)答案:S,W,E,L,X,G,I

知識(shí)點(diǎn)解析:暫無解析

32、對(duì)于一棵具有n個(gè)結(jié)點(diǎn)的樹,則該樹中所有結(jié)點(diǎn)的度之和為【】。

標(biāo)準(zhǔn)答案:n-1

知識(shí)點(diǎn)解析:暫無解析

33、單獨(dú)測(cè)試一個(gè)模塊時(shí),有時(shí)需要一個(gè)【】程序驅(qū)動(dòng)被測(cè)試的模塊。

標(biāo)準(zhǔn)答案;驅(qū)動(dòng)

知識(shí)點(diǎn)解析:暫無解析

34、僅依據(jù)規(guī)格說明書描述的程序功能來設(shè)計(jì)測(cè)試實(shí)例的方法稱為【】。

標(biāo)準(zhǔn)答案:黑箱法

知識(shí)點(diǎn)解析:暫無解析

35、在進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)時(shí),應(yīng)遵循的最主要原理是【】。

標(biāo)準(zhǔn)答案:模塊獨(dú)立原理

知識(shí)點(diǎn)解析:暫無解析

五、填空題(本題共70題,每題1.0分,共70分。)

36、x、y、x均為血型變量,描述“x、y和z中至少有兩個(gè)為正數(shù)”的表達(dá)式是

標(biāo)準(zhǔn)答案:((x>0)&&Vy>0))II(x>0)&&(z>0)IIy>0)&&(z>0))

知識(shí)點(diǎn)解析:題目要求“x、y和z中至少有兩個(gè)為E數(shù)”,即x、y和x這3個(gè)數(shù)中

必須有兩個(gè)是正數(shù),且這3個(gè)數(shù)中的哪兩個(gè)數(shù)都有可能是正數(shù),所以它們之間是或

的關(guān)系。

37、與表達(dá)式a+=b等價(jià)的另一書寫形式是o

標(biāo)準(zhǔn)答案:a=a+b

知識(shí)點(diǎn)解析:a+=b與a=a+b等價(jià),作用是把變量a的值加b后再賦給變量a。

38、下列程序的輸出結(jié)果是o#include<stdio.h>main(){int

x=1,y=1,a=1,b=1;switch(x){case1:switch(y){case0:a++;break;caseI:b++;

break;}case2:a++;b++;break;}printf("a=%d,b=%d\n,',a,B);}

標(biāo)準(zhǔn)答案:a=2,b=3

知識(shí)點(diǎn)解析:分析程序,程序從語句開始執(zhí)行,之后執(zhí)行第一個(gè)switch語

句,switch(x)=switch(1),所以執(zhí)行easel,easel語句中包含一個(gè)復(fù)合switch語

句:這時(shí)執(zhí)行第二個(gè)switch語句,此時(shí)y=l,所以switch(y尸switch(l),因此執(zhí)行

case1,將b加L得到b=2,遇到break語句,退出第二個(gè)switch語句,則整個(gè)

case1的復(fù)合語句執(zhí)行完畢,由于在這個(gè)case1的后面沒有break語句使其退出第

一個(gè)switch語句,所以接著執(zhí)行下列的case2后面的語句,即將a,b各加1,得

到a=2,b=3o

39、C語言用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是_____、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

標(biāo)準(zhǔn)答案:順序結(jié)構(gòu)

知識(shí)點(diǎn)解析:結(jié)構(gòu)化程序有3種摹本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)(包括if語句和

switch語句)和循環(huán)結(jié)構(gòu)(包括for語句、while語句、do…while語句)。

40、下列循環(huán)的循環(huán)次數(shù)是ointk=2;while(k=0)printfl"%d",k);k-;

prinlf("\n");

標(biāo)準(zhǔn)答案:0

知識(shí)點(diǎn)解析:解答本題需要注意表達(dá)式“k=0",它是賦值表達(dá)式而不是關(guān)系表達(dá)

式,不論k為何值,表達(dá)式k=0總會(huì)使k為0,所以不能進(jìn)入循環(huán)。

41、若有定義flo又b[15],*p=b;,且數(shù)組b的首地址為200H,則p+13所指向的數(shù)

組元素的地址為。

標(biāo)準(zhǔn)答案:252H

知識(shí)點(diǎn)解析:要解答本題,首先要明白在對(duì)指針進(jìn)行加,減運(yùn)算時(shí),數(shù)字“1”不是

十進(jìn)制數(shù)的力”,而是指“1”個(gè)存儲(chǔ)單元長(zhǎng)度。1個(gè)存儲(chǔ)單元長(zhǎng)度占存儲(chǔ)空間的多

少,應(yīng)該視具體情況而定,如果存儲(chǔ)單元的基類型是血型,則移動(dòng)1個(gè)存儲(chǔ)單元的

長(zhǎng)度就是位移2個(gè)字節(jié);如果存儲(chǔ)單元基類型是float型,則移動(dòng)1個(gè)存儲(chǔ)單元的

長(zhǎng)度就是位移4個(gè)字節(jié)。所以p+13所指向的數(shù)組元素的地址為:2OOH+(13M)

H=252Ho

42、“printfC%d\n”,sWen(”\t\"023\xABC\n”);”語句的輸出結(jié)果是_____。

標(biāo)準(zhǔn)答案:6

知識(shí)點(diǎn)解析:strlcn。函數(shù)的作用是計(jì)算字符串的長(zhǎng)度并作為函數(shù)的返回值,這里的

長(zhǎng)度不包括串尾的結(jié)束標(biāo)志‘\0‘。'\t'f是轉(zhuǎn)義字符,代表橫向跳若干格:,'是轉(zhuǎn)義

字符,代表雙引號(hào);3023,只代表一個(gè)字符,而不管轉(zhuǎn)義字符后面有幾個(gè)字符:‘僅

AB,是以兩位十六進(jìn)制、數(shù)AB表示的ASCII碼字符,只代表一個(gè)字符;'\n'是轉(zhuǎn)義

字符,代表回車換行。5個(gè)字符常量各代表一個(gè)字符,再加上字母C,所以返回的

長(zhǎng)度是6。

43、設(shè)有下列宏定義:#defineA2#defincBA+3則執(zhí)行賦值語句;t=B*2;t為int

型變量后的值是_____。

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算.運(yùn)算過程為:

l=B*2=A+3*2=2+3*2=8,

44、下列程序的功能是將字符串s中所有的字符c刪除。請(qǐng)?zhí)羁铡?include<

stdio.h>main(){chars[80];inti,j;gcts(s);fbr(i=j=O;s[i]!='\O';i++)if(s[i]!=,c,)

s[j]='\O';puts(s);)

標(biāo)準(zhǔn)答案:S[j++]=s[i]

知識(shí)點(diǎn)解析:循環(huán)開始后如果數(shù)組s中儲(chǔ)存值與字符c相同,則i++直接跳過當(dāng)前

值;如果不相同,則將當(dāng)前值賦予數(shù)組指定位置,并通過j++將下標(biāo)加1,指向下

一元素要存儲(chǔ)的位置。

45N下列程序的運(yùn)行結(jié)果是o#include<stdio.h>func(a,b){staticint

m=0,i=2;i+=m+1;m=i+a+b;return(m);}main(){intk=5,m=3,p;p=fune(k,m);

printf("%dn,p);p=func(k,m);printf("%d\n".p);}

標(biāo)準(zhǔn)答案:1123

知識(shí)點(diǎn)解析:在主函數(shù)中第一次調(diào)用中nc子函數(shù)時(shí),m=0,i=2,i=i+m+l=3,

m=i+a+b=3+5+3=11o因?yàn)樵谟诤瘮?shù)中將m和i定義成了static類型,所以在于函數(shù)

中對(duì)m和i進(jìn)行的改變?cè)谙乱淮握{(diào)用子函數(shù)時(shí)能進(jìn)行保存,所以第二次調(diào)用于函數(shù)

時(shí),m=11,i=3?則i=i+m+l=15,m=i+a+b=15+5+3=23o

國(guó)家二級(jí)(C語言)筆試模擬試卷第2

一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共

10分。)

1、下面關(guān)于完全二叉樹的敘述中,錯(cuò)誤的是。

A、除了最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值

B、可能缺少若干個(gè)左右葉子結(jié)點(diǎn)

C、完全二叉樹一般不是滿二叉樹

D、具有結(jié)點(diǎn)的完全二叉樹的深度為[log2n]+l

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:滿二叉樹指除最后一層外每一層上所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉

樹。完全二叉樹指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上

只缺少右邊的若干子結(jié)點(diǎn)(葉子結(jié)點(diǎn))的二叉樹。

2、設(shè)有如圖所示二叉樹,對(duì)此二叉樹后序遍歷的結(jié)果為()。

B、ATBZXCYP

C、TZBACYXP

D、ATBZXCPY

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:后序遍歷首先訪問左子樹,然后右子樹,最后根結(jié)點(diǎn),即左右根。故

該二乂樹的前序遍歷結(jié)果為“ATBZXCYP”。后序遍歷和中序遍歷的結(jié)果分別為

“ZBTYCPXA”和“TZBACYXP”。

3、軟件生命周期中花費(fèi)費(fèi)用最多的階段是

A、詳細(xì)設(shè)計(jì)

B、軟件編碼

C、軟件測(cè)試

D、軟件維護(hù)

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:軟件生命周期分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。本

題中,詳細(xì)設(shè)計(jì)、軟件編碼和軟件測(cè)試都屬于軟件開發(fā)階段;維護(hù)是軟件生命周期的

最后一個(gè)階段,也是持續(xù)時(shí)間最長(zhǎng),花費(fèi)代價(jià)最大的一個(gè)階段,軟件工程學(xué)的一個(gè)目的

就是提高軟件的可維護(hù)性,降低維護(hù)的代價(jià)。

4、以下不是面向?qū)ο笏枷胫械闹饕卣鞯氖?/p>

A、多態(tài)

B、繼承

C、封裝

D、垃圾回收

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:面向?qū)ο笏枷胫械娜齻€(gè)主要特征是:封裝性、繼承性和多態(tài)性。

5、數(shù)據(jù)處理的最小單位是()。

A、數(shù)據(jù)

B、數(shù)據(jù)元素

C、數(shù)據(jù)項(xiàng)

D、數(shù)據(jù)結(jié)構(gòu)

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:數(shù)據(jù)處理的最小單位是數(shù)據(jù)項(xiàng)。由若干數(shù)據(jù)項(xiàng)組成數(shù)據(jù)元素,而數(shù)據(jù)

是指能夠被計(jì)算機(jī)識(shí)別、存儲(chǔ)和加工處理的信息載體,數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)之間的相

互關(guān)系和數(shù)據(jù)運(yùn)算。故正確答案為選項(xiàng)C)。

6、在結(jié)構(gòu)化程序設(shè)計(jì)方法中,下面哪種內(nèi)聚的內(nèi)聚性最弱?

A、邏輯內(nèi)聚

B、時(shí)間內(nèi)聚

C、偶然內(nèi)聚

D、過程內(nèi)聚

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:內(nèi)聚有很多種類,其中內(nèi)聚性由弱到強(qiáng)的順序?yàn)椋号既粌?nèi)聚、邏輯內(nèi)

聚、時(shí)間內(nèi)聚、過程內(nèi)聚.所以本題的答案為C。

7、下列敘述中錯(cuò)誤的是()。

A、在數(shù)據(jù)庫(kù)設(shè)計(jì)的過程中,需求分析階段必須考慮具體的計(jì)算機(jī)系統(tǒng)

B、在數(shù)據(jù)庫(kù)設(shè)計(jì)的過程中,概念結(jié)構(gòu)設(shè)計(jì)與具體的數(shù)據(jù)庫(kù)管理系統(tǒng)有關(guān)

C、在數(shù)據(jù)庫(kù)設(shè)計(jì)的過程中,邏輯結(jié)構(gòu)設(shè)計(jì)與具體的數(shù)據(jù)庫(kù)管理系統(tǒng)有關(guān)

D、在數(shù)據(jù)庫(kù)設(shè)計(jì)的過程中,物理結(jié)構(gòu)設(shè)計(jì)依賴于具體的計(jì)算機(jī)系統(tǒng)

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)設(shè)計(jì)主要分4個(gè)步驟:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)

計(jì)、物理結(jié)構(gòu)設(shè)計(jì)。選次B錯(cuò)誤,應(yīng)為本題的正確答案,因?yàn)楦拍罱Y(jié)構(gòu)設(shè)計(jì)在需

求分析的基礎(chǔ)上對(duì)客觀世界做抽象,獨(dú)立于數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),也獨(dú)立于具體的數(shù)

據(jù)庫(kù)管理系統(tǒng),與具體的數(shù)據(jù)庫(kù)管理系統(tǒng)無關(guān)。

8、個(gè)人計(jì)算機(jī)屬于()

A、小巨型機(jī)

B、中型機(jī)

C、小型機(jī)

D、微機(jī)

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:暫無解析

9、與十進(jìn)制數(shù)96等值的二進(jìn)制是()

A、1100000

B、10010110

C、1100001

D、1100011

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:暫無解析

10、如果一個(gè)算法顯式地調(diào)用自己則稱為()

A、直接遞歸

B、自用遞歸

C、間接遞歸

D、外用遞歸

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:暫無解析

二、選擇題(1分)(本題共“題,每題7.0分,共〃

分。)

11設(shè)有定義:intk=l,m=2;noatf=7:則下列選項(xiàng)中錯(cuò)誤的表達(dá)式是()。

A、k=k>=k

B、-k++

C^k%int(f)

D、k>=f>=m

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:在C語言中,求余運(yùn)算符“%”兩邊的運(yùn)算對(duì)象都應(yīng)為整型數(shù)據(jù),所

以需要對(duì)變量f進(jìn)行強(qiáng)制類型轉(zhuǎn)換,正確的寫法為k%(int)f。在C語言中,邏輯運(yùn)

算符與賦值運(yùn)算符、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符之間從高到低的運(yùn)算優(yōu)先次序

是:?。ㄟ壿嫛胺恰保?、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、&&(邏輯“與”卜11(邏輯“或”卜賦值

運(yùn)算符。根據(jù)運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,對(duì)于選項(xiàng)A),先計(jì)算k>=k的值(為

真,即1),再用1對(duì)k進(jìn)行賦值。對(duì)于選取項(xiàng)B),先計(jì)算k什的值,再對(duì)其取負(fù)

數(shù)。對(duì)于選項(xiàng)D),先計(jì)算k>=f的值(為假,即0),再用0與m進(jìn)行比

12、若變量已正確定義并賦值,以下符合C語言語法的表達(dá)式是

A、a:=b+l

B、a=b=c+2

C、int18.5%3

D、a=a+7=c+b

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:選項(xiàng)A)中包含一個(gè)不合法的運(yùn)算符“:=";選項(xiàng)C)應(yīng)改為

(int)18.5%3;選項(xiàng)D)可理解為兩個(gè)表達(dá)式:a+7=c+b和a=a+7,其中第一個(gè)是錯(cuò)

的,因?yàn)镃語言規(guī)定賦值號(hào)的左邊只能是單個(gè)變量,不能是表達(dá)式或常量等。因

此,正確答案是選項(xiàng)B),它實(shí)際上相當(dāng)于a=(b=c+2),進(jìn)而可分解為兩個(gè)表達(dá)式:

b=c+2和a=b?

13、設(shè)整型數(shù)型5,則printf(“%d"i+++++i);的輸出為。

A、10

B、II

C、12

D、語法錯(cuò)誤

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:C語言中有基本的算術(shù)運(yùn)算符(+、-、*、/)還包括自增自減運(yùn)算符

(++、-),在C語言解析表達(dá)式時(shí),它總是進(jìn)行貪婪咀嚼,這佯,該表達(dá)式就被解

析為i+++++i,顯然該表達(dá)式不合C語言語法。

14、設(shè)R是一個(gè)2元關(guān)系,有3個(gè)元組,S是一個(gè)3元關(guān)系,有3個(gè)元組。如

T=RxS,則T的元組的個(gè)數(shù)為()。

A、6

B、8

C、9

D、12

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:R為n元關(guān)系,有P個(gè)元組S為m元關(guān)系,有q個(gè)元組。兩個(gè)關(guān)系

笛卡兒積是一個(gè)n+m元的關(guān)系,元組個(gè)數(shù)是qxp。所以T的元組的個(gè)數(shù)為9個(gè)。

15、設(shè)a和b均為double型變量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是

()。

A、6.500000

B、6

C、5.500000

D、6.000000

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:在這個(gè)表達(dá)式中,優(yōu)先級(jí)最高的是(int)a,也就是對(duì)5.5取整,結(jié)果是

5,其次是b/b,即2.5/2.5,結(jié)果是1.000000,最后相加結(jié)果為6.000000(表達(dá)式的

最終結(jié)果為實(shí)型),所以4個(gè)選項(xiàng)中D正確。

16、若變量已正確定義并賦值,卜.面符合C語言語法的表達(dá)式是

A、m:=5

c=b=a=l

C、float8%5

D、x+5=y+2

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:選項(xiàng)A)中的賦值方法為Pascal語言賦值格式;C語言中賦值直接為

“=",無冒號(hào);選項(xiàng)D)口“x+5=y+2”賦值格式錯(cuò)誤,賦值號(hào)左邊不可以出現(xiàn)常量,

也不可以同時(shí)出現(xiàn)兩個(gè)變量。選項(xiàng)C)應(yīng)改為(float)8%3

17、已知在ASCII字符集中,數(shù)字0的序號(hào)為48,下列程序的輸出結(jié)果為

omain()}chara=,0\b=,9,;printf("%d,%c\n'\a,b);}

A、因輸出格式不合法

B、48,57

C、0,9

D、48,9

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:注意輸出控制符%<1,%c,分別表示以十進(jìn)制形式輸出字符的ASCH

碼值和字符。

18、下列可用于C語言標(biāo)識(shí)符的一組是0

A、voidWORDdefine

B、a6$sysFor

C、2asizeofabc

D^Intdefinesizeof

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:C語言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一

個(gè)字符必須為字母或下劃線。注意,大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字

符。C語言中的關(guān)鍵字不能用作標(biāo)識(shí)符。

19、以下合法的賦值語句是()

A^x=y=100

d--;

C、x+y;

D^c=int(a+B)

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:暫無解析

20、假定所有變量均已正確說明,下列程序段運(yùn)行后x的值是()。a=b=c=0;

x=12;if(!a)x-;elsex=5;if(c)x=3;elsex=4;

A、11

B、4

C、12

D、3

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:本題考查ifelse語句。第一個(gè)if語句,先判斷條件,發(fā)現(xiàn)a=0,則!a

成立,執(zhí)行下列的語句,X--,得x=ll:第二個(gè)if語句,判斷條件,發(fā)現(xiàn)c=o,則條

件不成立,執(zhí)行下列的else語句,得x=4。

21、設(shè)在C語言中,float類型數(shù)據(jù)占4個(gè)字節(jié),則double類型數(shù)據(jù)占()個(gè)字節(jié)。

A、1

B、2

C、8

D、4

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:在C語言中各種數(shù)據(jù)類型在內(nèi)存中所占的字節(jié)數(shù)和機(jī)器的指令周期

有關(guān),若im類型占2個(gè)字節(jié),貝Ifloat類型數(shù)據(jù)占4個(gè)字節(jié),double類型數(shù)據(jù)占8

個(gè)字節(jié)。

三、選擇題(2分)(本題共20題,每題1.0分,共20

分。)

22、以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請(qǐng)選擇正確答案填入。#include<

stdio.h>main(){inta[10]=0;while(i<10)scan(H%d"):::}

A、a+(i++)

B、&a[i+l]

C、a+i

D、&a[++i]

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:a就是數(shù)組a的首地址,而a+x是數(shù)組中第x個(gè)元素的地址,所以在

四個(gè)選項(xiàng)中,選項(xiàng)B和C只能輸入一個(gè)數(shù)據(jù),選項(xiàng)D不能給a[0]輸入數(shù)據(jù),只有

A可以完成給數(shù)組所有的元素輸入數(shù)據(jù)的任務(wù)。

23、以下數(shù)組定義中不正確的是______o

A>inta[2][3];

B、intb[][3]={0,l,2}

intc[100][100]={0};

D、intd⑶[]={{1,2},{123},{1,2,3,4}};

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:一維數(shù)組的定義方式為:類型說明符數(shù)組名[常量表式];選項(xiàng)A符

合此定義形式,正確;C語言中多維數(shù)組賦初值時(shí)可以部分賦值,也可以不指定除

第一維以外的其他維的大小,故選項(xiàng)C正確;另外,如果對(duì)全部數(shù)組元素都賦初

值,則定義數(shù)組時(shí)對(duì)第一維的長(zhǎng)度可以不指定,但第二錐的長(zhǎng)度不能省,所以選項(xiàng)

B正確,而選項(xiàng)D是錯(cuò)誤的。

24>有下列程序段:typcdefstructNODE(intnum:structNODE*next:}OLD;

下列敘述中正確的是()c

A、以上的說明形式非法

13、NODE是一個(gè)結(jié)構(gòu)體類型

C、OLD是一個(gè)結(jié)構(gòu)體類型

D、OLD是一個(gè)結(jié)構(gòu)體變量

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:C語言允許用lypedef說明一種新類型名,其一般形式為:typedef類

型名標(biāo)識(shí)符。typedef語句的作用僅僅是使“標(biāo)識(shí)符”來代表已存在的“類型名”,并

未產(chǎn)生新的數(shù)據(jù)類型。原有類型名依然有效。此題中,用使typcdef定義了新的類

型OLD結(jié)構(gòu),所以O(shè)LD為結(jié)構(gòu)體類型。

25,下列程序的輸出結(jié)果是()□#include<stdio.h>#include<string.h>main()

{chara[]="\n!23\\";printf("%d,%d\n",strlcn(a),sizcof(a));}

A、5,6

B、5,5

C>6,6

D、6,5

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:轉(zhuǎn)義字符'\n,表示換行,'\V表示反斜杠,函數(shù)strlen()是計(jì)算字符串

的長(zhǎng)度,不包括文件結(jié)束標(biāo)志('\0'),函數(shù)sizeof()統(tǒng)計(jì)字符串所占的字節(jié)數(shù)。

26、下列選項(xiàng)中不會(huì)引起二義性的宏定義是()。

A、#defineS(x)x*x

B、#defineS(x)(x)*(x)

C^#defineS(x)(x*x)

D、#defineS(x)((x)*(x))

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:本題考查帶參數(shù)的宏的替換。有些參數(shù)表達(dá)式必須加括號(hào),否則,

在實(shí)參表達(dá)式替換時(shí),會(huì)出現(xiàn)錯(cuò)誤。

27、主程序調(diào)用findmax函數(shù)求出數(shù)組中最人元素在數(shù)組中的下標(biāo),拈號(hào)中需填寫

的內(nèi)容是#includeVstdio.h>findmax(int*s,intt,int*k){intp:for(p=0,*k=p;p

<t;p++)if(s[p]>s[*k])();}main(){inta[10],i>k;fbr(i=O;i<10;

i++)scanf("%d",&a[i]);findmax(a,10,&k);prinlf("

A^k=p

B>*k=p

CNk=p-s

D、*k=p-s

標(biāo)準(zhǔn)答案:B

知識(shí)點(diǎn)解析:暫無解析

28>有以下程序:structS{intn;inta[20];|;voidf(structS*P)(intfor(i=0;i<

P->n-l;i++)for(j=j+1;j<P->n-1;j++)if(p->a[i]>p->a|j]){t=P->a[i];p->a[i]=P->

}main。{inti;structSs{10,{2,3,1,6,8,7,5,4,10,9}};f(&s);

for(i=U;i<s.n;i++)printf("%d,1,s.aLiJ);)程序運(yùn)行后的輸出結(jié)果是()。

A、3

B、4

C、5

D、6

標(biāo)準(zhǔn)答案:A

知識(shí)點(diǎn)解析:在主函數(shù)main()中定義了一個(gè)整型變量i和一個(gè)結(jié)構(gòu)體變量s。f()函

數(shù)中,定義了一個(gè)結(jié)構(gòu)體指針類型的指針p,外層循環(huán)變量i表示數(shù)組的第i個(gè)元

素,內(nèi)層循環(huán)j表示數(shù)組的第i+1個(gè)元素,調(diào)用f()函數(shù),通過指針變量p來引用結(jié)

構(gòu)體成員,并把它們進(jìn)行從小到大排序,最后輸出。

29、以下關(guān)于邏輯運(yùn)算將兩側(cè)運(yùn)算對(duì)象的敘述中正確的是()。

A、只能是整數(shù)0或1

B、只能是整數(shù)。或非0整數(shù)

C、可以是結(jié)構(gòu)體類型的數(shù)據(jù)

D、可以是任意合法的表達(dá)式

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:邏輯運(yùn)算的對(duì)象可以是C語言中任意合法的表達(dá)式。

30、若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系,|x-y|V10的是

A、abs(x-y)<10

x-y>-10&&x-y<10

C、(x-y)<-10||!(y-x)>10

D、(x-y)*(x-y)<100

標(biāo)準(zhǔn)答案:C

知識(shí)點(diǎn)解析:暫無解析

31、若要說明一個(gè)類型名CHARP,使得定義語句“CHARPs;”等價(jià)于“char

*S;",以下選項(xiàng)中正確的是O

A、typedefCHARPchar*s;

B、typedef*charCHARP;

C^typedefCHARPxchar:

D、typedefchar*CHARP;

標(biāo)準(zhǔn)答案:D

知識(shí)點(diǎn)解析:暫無解析

32、有以卜程序:#include<stdio.h>main(){chara|]=,,abcdefg'\b[10]="abcdefg";

printf("%d%d\n",sizeof(a),sizeof(b));)執(zhí)行后的輸出結(jié)果是()。

A、77

B、88

C、810

D、1010

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:用a[]="abcdefg”對(duì)數(shù)組a進(jìn)行初始化,是用一個(gè)字符串作初值。數(shù)組

a的長(zhǎng)度包括由系統(tǒng)加上的、0、因此是8。"10]=匕瓦加£浮只初始化了前7個(gè)元

素,后3個(gè)元素為0(,\0)所以長(zhǎng)度為10。

33、有以下程序:#inckide<stdio.h>main(){charc1,c2,c3,c4,c5,c6;

scanf(%c%c%c%c,&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(cl);

putchar(c2);printf(%c%c\n,c5,c6);)程序運(yùn)行后,若從鍵盤輸入(女第I列開始)123

V同車〉45678〈問車〉則輸出結(jié)果是().

A、1267

B、1256

C、1278

D、1245

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:在題目中,程序執(zhí)行到scanf()函數(shù)時(shí),會(huì)暫停等待用戶輸入4個(gè)字

符,按題意輸入123V回車〉后,字符1?3被分別輸入到cl?c3中,而c4會(huì)得到

一個(gè)換行符'\n'。然后執(zhí)行第1個(gè)getchar。函數(shù),由于前面的scanf()函數(shù)讀完了緩

沖區(qū)中的所有字符,所以此時(shí)程序會(huì)又暫停等待用戶輸入,按題意輸入45678V回

車》后,緩沖區(qū)第1個(gè)字符⑷被讀入并賦給c5,第2個(gè)gctchar()函數(shù)會(huì)讀入緩沖

區(qū)第2個(gè)字符,5、所以最后依次輸出cl、c2、c5、c6的值后,屏幕上的結(jié)果是

1245o故應(yīng)該選擇D。

34>有以下程序:main(){intx[]={l,3,5,7,2,4,6,0),i,j,k;for(i=0;i<3;i++)for(j=2;j>

=i;j-)if(x|j+l]>x[j]){k=x|j|;x[j|=x|j+l];x[j+l]=k;}for(i=0;i<3;i++)for(j=4;j<7-

i;j++)if(x[j]>x[j+l]){k=x(j];x[j]=x[j4-l];x[j+l]=k;}for(i=0;i<8;i++)

printf("%d",x[i]);printf("\nn);)程序運(yùn)行后的輸出結(jié)果是()°

A、75310246

B、1234567

C、76310462

D、13570246

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:主函數(shù)中定義了一個(gè)整型數(shù)組X,并初始化。接著執(zhí)行了一個(gè)二重

for循環(huán),在該二重循環(huán)的作用是將數(shù)組的前4個(gè)元素按從大到小排序,接著用了

一個(gè)二重循環(huán)(也是冒泡算法)將數(shù)組的后4個(gè)元素按從小到大的順序排序,故最后

依次輸出數(shù)組的個(gè)元素的值為75310246,所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。

35、fseek函數(shù)的正確調(diào)用形式是

A、fseek(文件指針,起始點(diǎn),位移量)

B、fseek(文件指針,位移量,起始點(diǎn))

C、fseek(位移量,起始點(diǎn),文件指針)

D、tseek(起始點(diǎn),位移量,文件指針)

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:fseek(文件指

針,位移量,起始點(diǎn))“起始點(diǎn)”用0,1或2代替,0代表“文件開始”,1為“當(dāng)前位

置”,2為“文件末尾”?!拔灰屏俊敝敢浴捌鹗键c(diǎn)”為基點(diǎn),向前移動(dòng)的字節(jié)數(shù)。ANSIC

和大多數(shù)C版本要求位移量是long型數(shù)據(jù)。這樣當(dāng)文件的長(zhǎng)度大于64k時(shí)不致出

現(xiàn)問題。ANSIC標(biāo)準(zhǔn)規(guī)定在數(shù)字的末尾加一個(gè)字母L,就表示long型。

36、設(shè)有以卜語句:structSS{intno;charname|10|;)PERSON;則下面敘述中

錯(cuò)誤的是()

A、struct是結(jié)構(gòu)體類型的關(guān)鍵字

B、structSS是結(jié)構(gòu)體類型

C、PERSON是結(jié)構(gòu)體類型名

D^name是結(jié)構(gòu)體成員名

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:暫無解析

37、有以下程序main(){intp[8]={ll,12,13,14,15,16,17,18},i=0,

j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("%d\n",j);)程序運(yùn)行后的輸出結(jié)果是

A、42

B、45

C、56

D、60

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:本題考查while語句和if語句的嵌套,程序段實(shí)現(xiàn)的功能是將p[l]至

p⑺中的奇數(shù)相加求和并輸出,j=13+15+17=45。

38、有以下程序main(){char*p|10]={uabc,\aabdfg,\"dedbe,\"abbd,';,cd"};

printf("%d\n",stxlen(p[4]));)執(zhí)行后輸出結(jié)果是

A、2

B、3

C、4

D、5

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:本題中首先定義了一個(gè)長(zhǎng)度為10的指針數(shù)組,并賦初值,因此執(zhí)行

strlen(p[4])后的返回值為字符串“cd”的長(zhǎng)度為2。

39、有以卜.函數(shù)char*fun(char*p){returnp;)該函數(shù)的返回值是。

A、無確切的值

B、形參p中存放的地址值

C、一個(gè)臨時(shí)存儲(chǔ)單元的地址

D、形參p自身的地址值

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:p本身就是一個(gè)字符型指針變量,返回p也就是返回變量p中存放的

地址值。

40、下列程序的執(zhí)行結(jié)果是______o#includc<stdio.h>unionun(inti:char

c[2];);voidmain(){unionunx;x.c|0]=10;x.c[l]=l;printf("\n%d",x.i);}

A、266

B、Il

C、265

D、138

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:由于本題定義的是共用體,所以成員表列中的整型變量x與字符數(shù)組

c共占用同一個(gè)存儲(chǔ)單元,且此存儲(chǔ)單元為2千字節(jié),通常c[0]位于低字節(jié),c[l]

位于高字節(jié),所以x.i的值為266。

41、卜列程序的輸出結(jié)果是()。#include<stdio.h>main(){structst{inty,x,

z;};union{longi;intj;chark;Jun;printf("%d,%d\n",sizeof(structst),

sizeof(un));}

A、6,2

B、6,4

C、8,4

D、8,6

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)解析:本題主要考查結(jié)構(gòu)體和聯(lián)合內(nèi)存使用的區(qū)別:結(jié)構(gòu)中不同的成員分別

使用不同的內(nèi)存空間,一個(gè)結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個(gè)成員所占內(nèi)存空

間大小的總和,結(jié)構(gòu)中舔個(gè)成員相互獨(dú)立:聯(lián)合所占用的內(nèi)存空間為最長(zhǎng)的成員所

占用的空間。

四、公共基礎(chǔ)填空題(本題共5題,每題7.0分,共5

分。)

42、數(shù)據(jù)庫(kù)系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高——和低冗余性、數(shù)據(jù)獨(dú)立性

和數(shù)據(jù)統(tǒng)一管理和控制。

標(biāo)準(zhǔn)答案:共享性

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實(shí)現(xiàn)了數(shù)據(jù)的高度共

享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫(kù)的主要目的。

43、在運(yùn)算過程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是【】。

標(biāo)準(zhǔn)答案:循環(huán)鏈表

知識(shí)點(diǎn)解析:在鏈表的運(yùn)算過程中,采用鏈接方式即循環(huán)鏈表的結(jié)構(gòu)把空表與非空

表的運(yùn)算統(tǒng)一起來。循環(huán)鏈表具有兩個(gè)特點(diǎn):①在循環(huán)鏈表中增加了一個(gè)表頭結(jié)

點(diǎn),其數(shù)據(jù)域?yàn)槿我饣蚋鶕?jù)需要來設(shè)置,指針域指向線性表的第一個(gè)元素的結(jié)點(diǎn)。

循環(huán)鏈表的頭指針指向表頭結(jié)點(diǎn)。②循環(huán)表中最后一個(gè)結(jié)點(diǎn)的指針不是空,而是

指向表頭結(jié)點(diǎn)。

44、如果一個(gè)工人可管理多個(gè)設(shè)備,而一個(gè)設(shè)備只被一個(gè)工人管理,則賣體“工人”

與實(shí)體“設(shè)備”之間存在【】關(guān)系。

標(biāo)準(zhǔn)答案:一對(duì)多

知識(shí)點(diǎn)解析:實(shí)體之間的聯(lián)系有3類:一對(duì)一,一對(duì)多,多對(duì)多。設(shè)有兩個(gè)實(shí)體集

E1和E2,如果E2中的每一個(gè)實(shí)體與E1中的任意個(gè)實(shí)體(包括零個(gè))有聯(lián)系,而E1

中的每一個(gè)實(shí)體最多與E2中的一個(gè)實(shí)體有聯(lián)系,則稱這樣的聯(lián)系為“從E2到E1

的一對(duì)多的聯(lián)系”,通常表示為“l(fā):n的聯(lián)系”。由此可見,工人和設(shè)備之間是一對(duì)多

關(guān)系。

45、在關(guān)系運(yùn)算中,查找滿足一定條件的元組的運(yùn)算稱之為【】o

標(biāo)準(zhǔn)答案:選擇

知識(shí)點(diǎn)解析:在關(guān)系數(shù)據(jù)庫(kù)中,選擇運(yùn)算也是一個(gè)元運(yùn)算,關(guān)系R通過選擇運(yùn)算

(并由該運(yùn)算給出所選擇的邏輯條件)后仍為一個(gè)關(guān)系。這個(gè)關(guān)系是由R中的那些滿

足邏輯條件的元組所組成。

46、軟件測(cè)試中路徑覆蓋測(cè)試是整個(gè)測(cè)試的基礎(chǔ),它是對(duì)軟件【】進(jìn)行測(cè)試。

標(biāo)準(zhǔn)答案:結(jié)構(gòu)

知識(shí)點(diǎn)解析:路徑測(cè)試是白盒測(cè)試方法中的一種,它要求對(duì)程序中的每條路徑最少

檢查一次,目的是對(duì)軟件的結(jié)構(gòu)進(jìn)行測(cè)試。

五、填空題(本題共10題,每題1.0分,共10分。)

47、若a=l,b=2,c=3,d=4;則條件表達(dá)式a>b?a:cVd?c:d的結(jié)果為()。

標(biāo)準(zhǔn)答案:3

知識(shí)點(diǎn)解析:暫無解析

48、以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計(jì)

算:y1=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6請(qǐng)?zhí)羁?。doublefun(doublc

x){return(x*x-2*x+6);}{doublex,y1,y2;printf(HEnterx:");scanf(,,%lf,,

&x);yl=fun([6]);y2=fun([7]);printf("yl=%lf,y2=%lf\n",yl,y

A、[6]x+8[7]sin(x)

標(biāo)準(zhǔn)答案:

知識(shí)點(diǎn)解析:暫無解析

49、在數(shù)據(jù)庫(kù)管理系統(tǒng)斃供的數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言和數(shù)據(jù)控制語言中,()

負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。

標(biāo)準(zhǔn)答案:數(shù)據(jù)定義語言

知識(shí)點(diǎn)解析:數(shù)據(jù)定義語言負(fù)責(zé)數(shù)據(jù)的模式定義和數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱

語言負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢及增、刪、改等操作;數(shù)據(jù)控制語言負(fù)責(zé)數(shù)據(jù)完整

性、安全性的定義與檢查以及并發(fā)控制、數(shù)據(jù)恢復(fù)等功能。

50、以下程序運(yùn)行后的輸出結(jié)果是()。structNODE{intk;struct

NODE*link;};main(){structNODEm|5|,*p=m,*q=m+4;inti=0;while(p!=q)

{p->k=++i;p++;q->k=i++;q—;)q->k=i;for(i=0;i<5;i++)printf("%d'',m[i]Jc);

printfC'Xn");}

標(biāo)準(zhǔn)答案:13431

知識(shí)點(diǎn)解析:暫無解析

51、在面向?qū)ο蠓椒ㄖ校愔g共享屬性和操作的機(jī)制稱為o

標(biāo)準(zhǔn)答案:繼承

知識(shí)點(diǎn)解析:暫無解析

52>有以下程序:main(){intt=l,i=5;for(;i>=0;i-)t*=i;printf("%d\n",t);}執(zhí)行后

輸出結(jié)果是【】。

標(biāo)準(zhǔn)答案:0

知識(shí)點(diǎn)解析:本題中的for循環(huán)共執(zhí)行了6次,每執(zhí)行一次將相應(yīng)i的值相乘,最

后當(dāng)i=-l時(shí)停止循環(huán)。該「or循壞執(zhí)行完后I的值為5*4*3*2*1*0=0,故最后輸出I

的值為0o

53、函數(shù)sub的功能是根據(jù)下面近似分式求兀的值。

(兀*兀)/6=1+1/(2*2)+1/(3*3)+…+l/(n*n)現(xiàn)在請(qǐng)?jiān)谙旅娴暮瘮?shù)中填空,完成求兀值的

功能。#include"math.h"doublesub(longm){doublesum=0.0,t;longn;for(n=1;n<

=m;n++)sum+=[];t=sqrt(6*sum);rcturn(t);}

標(biāo)準(zhǔn)答案:1.0/(n*n)

知識(shí)點(diǎn)解析:sam中累加的值是l+l/(2*2)+l/(3*3)+…+1//(n*n),如果寫為

l/(n*n),則會(huì)因?yàn)?和n都為整型,結(jié)果則為實(shí)型,將1變?yōu)?.0,結(jié)果則為實(shí)

型。

54、下列程序的運(yùn)行結(jié)果是:【】。#inckide<stnngh>char*ss(char*s){return

s+strlen(s)/2;}main(){char*p,*str="abcdefgh";p=ss(str);printf(n%s\n",p);)

標(biāo)準(zhǔn)答案:etgh

知識(shí)點(diǎn)解析:函數(shù)SS的作用是讓形參指針S指向該字符串的右半部分。主函數(shù)中

首先定義了一個(gè)字符型指針變量P和字符型指針str,并初始化為“abcdefgh”,然后

調(diào)用函數(shù)ss,將實(shí)參str傳給形參s,因此可知該函數(shù)返回的指針,指向str所指的

字符串“abedergh”的右半部分,即指向字符串“efgh”,所以最后輸出指針p(指針p

的值為調(diào)用函數(shù)ss(str)的返回值)所指向的字符串為“efgh”。

55>有以下程序:#include<stclio.h>main()(charc;

while((c=getchar())!=,?5)putchar(-c);}程序運(yùn)行時(shí),如果從鍵盤輸入:Y?N?〈回

車〉,則輸出結(jié)果為【】。

標(biāo)準(zhǔn)答案:X

知識(shí)點(diǎn)解析:主函數(shù)中首先定義了一個(gè)字符型變量c,接著執(zhí)行下面while語句,

在while循環(huán)中,首先從鍵盤上讀入一個(gè)字符Y并給賦給字符變量c,賦值表達(dá)式

的值不為'?',執(zhí)行輸出語句,輸出字符X。接著判斷while中的循環(huán)條件,讀入一

個(gè)字符'?'并賦值給c,賦值表達(dá)式的值為?循環(huán)條件不再滿足,退出循環(huán)。

56、設(shè)y為血型變量,請(qǐng)寫出描述“y是偶數(shù)”的表達(dá)式______。

標(biāo)準(zhǔn)答集:(y%2)==0

知識(shí)點(diǎn)解析:因符合偶數(shù)的條件是對(duì)2取余為0,所以要描述y是偶數(shù)的表達(dá)式是

(y%2)==0?

57、以下程序把三個(gè)NODEIYPE型的變量鏈接成一個(gè)簡(jiǎn)單的鏈表,并在while循

環(huán)中輸出鏈表結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)據(jù)。請(qǐng)?zhí)羁铡?include<stdio.h>structnode{int

data;structnode*next;);typedefstructnodeNODETYPE;main()

{NODETYPEa,b,c,*h,*p;a.data=10;b.data=20;c.data=30;h=&a;

ancxt=&b;b.ncxt=&c;c,ncxt=,\O,;p=h;whilc(p){printfi"%d,",p->data):[];)

printf("\n");}

標(biāo)準(zhǔn)答案:P++

知識(shí)點(diǎn)解析:本題主要考查的是將NODETYPE型的變量鏈接成一個(gè)簡(jiǎn)單的鏈表,

利用typedef把NODETYPE變成structnode的另U名,當(dāng)執(zhí)行while循環(huán)時(shí),首先判

斷是否到了最后一個(gè)鏈表結(jié)點(diǎn),如果沒有則引用結(jié)構(gòu)體中的成員dala,然后指向下

—個(gè)鏈表結(jié)點(diǎn),繼續(xù)判斷,因此,此處應(yīng)填的是p++指向下一個(gè)鏈表結(jié)點(diǎn)。

國(guó)家二級(jí)(C語言)筆試模擬試卷第3

一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共

10分。)

1、算法的空間復(fù)雜度是指

A、算法程序的長(zhǎng)度

B、算法程序中的指令條數(shù)

C、算法程序所占的存儲(chǔ)空間

D、執(zhí)行算法需要的內(nèi)存空間

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂

算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指

執(zhí)行這個(gè)算法所需要的內(nèi)存空間。

2、用鏈表表示線性表的優(yōu)點(diǎn)是

A、便于隨機(jī)存取

B、花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少

C、便于插入和刪除操作

D、數(shù)據(jù)元素的物理順序與邏輯順序相同

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)克服了順序存儲(chǔ)結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申

請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來指示,不需要移動(dòng)數(shù)據(jù)元素。

故鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)下的線性表便于插入和刪除操作。

3、數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的

A、存儲(chǔ)結(jié)構(gòu)

B、物理結(jié)構(gòu)

C、邏輯結(jié)構(gòu)

D、物理和存儲(chǔ)結(jié)構(gòu)

標(biāo)準(zhǔn)答案:4

知識(shí)點(diǎn)解析:數(shù)據(jù)結(jié)構(gòu)概念一般包括3個(gè)方面的內(nèi)容,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)

及數(shù)據(jù)卜的運(yùn)算集合°數(shù)據(jù)的邏輯結(jié)構(gòu)只抽象的反映數(shù)據(jù)元素之間的邏輯關(guān)系.一而

不管它在計(jì)算機(jī)中的存儲(chǔ)表示形式。

4、結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是

A、程序的規(guī)模

B、程序的效率

C、程序設(shè)計(jì)語言的先進(jìn)性

D、程序易讀性

標(biāo)準(zhǔn)答案:8

知識(shí)點(diǎn)解析:結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下、逐步求精、模

塊化及限制使用got。語句,總的來說可使程序結(jié)構(gòu)良好、易讀、易理解、易維

護(hù)。

5、軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計(jì),其中軟件的過程設(shè)計(jì)是指

A、模塊間的關(guān)系

B、系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述

C、軟件層次結(jié)構(gòu)

D、軟件開發(fā)過程

標(biāo)準(zhǔn)答案:2

知識(shí)點(diǎn)露析:軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)和過程設(shè)計(jì)。其中

結(jié)構(gòu)設(shè)計(jì)是定義軟件系統(tǒng)各主要部件之間的關(guān)系;數(shù)據(jù)設(shè)計(jì)是將分析時(shí)創(chuàng)建的模型

轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義;接口設(shè)計(jì)是描述軟件內(nèi)部、軟件和操作系統(tǒng)之間及軟件與

人之間如何通信;過程沒計(jì)則是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程性描述。

6、檢查軟件產(chǎn)品是否符合需求定義的過程稱為

A、確認(rèn)測(cè)試

B、集成測(cè)試

C、驗(yàn)證測(cè)試

D、驗(yàn)收測(cè)試

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:確認(rèn)測(cè)試的任務(wù)是驗(yàn)證軟件的功能和性能,以及其他特性是否滿足需

求規(guī)格說明中確定的各種需求;集成測(cè)試的主要目的是發(fā)現(xiàn)與接口有關(guān)的錯(cuò)誤。

7、數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)

成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是

A、控制流

B、加工

C、數(shù)據(jù)存儲(chǔ)

D、源和潭

標(biāo)準(zhǔn)答案:1

知識(shí)點(diǎn)解析:數(shù)據(jù)流圖包括

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論