國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷8_第1頁(yè)
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷8_第2頁(yè)
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷8_第3頁(yè)
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷8_第4頁(yè)
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷8_第5頁(yè)
已閱讀5頁(yè),還剩114頁(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)介

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

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

10分。)

1、下列敘述中正確的是()。

A、線性鏈表的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的

B、線性鏈表的頭元素一定存儲(chǔ)在其他元素的前面

C、線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存

儲(chǔ)在其他元素的前面

D、線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)順

序也是任意的

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

知識(shí)點(diǎn)解析:在線性鏈表中,各元素在存儲(chǔ)空間中的位置是任意的,各元素的順

序也是任意的,依靠指針來(lái)實(shí)現(xiàn)數(shù)據(jù)元素的前后件關(guān)系。

2、假設(shè)線性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為

A^log2n

B、n2

C、0(nL5)

D、n(n-l)/2

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

知識(shí)點(diǎn)解析:假設(shè)線性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序要經(jīng)過(guò)n/2遍的

從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-l)/2o

3、在下列幾種排序方法中,要求內(nèi)存量最大的是o

A、插入排序

B、選擇排序

C、快速排序

D、歸并排序

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

知識(shí)點(diǎn)解析:快速排序的基本思想是,通過(guò)一趟排序?qū)⒋判蛴涗浄指畛瑟?dú)立的兩

部分,其中一部分記錄的關(guān)鍵字均比另一部分記錄的關(guān)鍵字小,再分別對(duì)這兩部分

記錄繼續(xù)進(jìn)行排序,以達(dá)到整個(gè)序列有序;插入排序的基本操作是指將無(wú)序序列中

的各元素依次插入到已經(jīng)有序的線性表中,從而得到一個(gè)新的序列;選擇排序的基

本思想是:掃描整個(gè)線性表,從中選出最小的元素,將它交換到表的前面(這是它

應(yīng)有的位置),然后對(duì)剩下的子表采用同樣的方法,直到表空為止;歸并排序是將

兩個(gè)或兩個(gè)以上的有序表組合成一個(gè)新的有序表。

4、下列程序的輸出結(jié)果是_____o#include<stdio.h>main(){inti,j,k,a=3,

b=2;i=(—a==b++)?—a;++b;j=a++;k=b:printf("i=%d,j=%d,k=%d\n",i,

j,k);}

A、i=2,j=l,k=3

B、i=l,j=l,k=2

C、i=4,j=2,k=4

D、i=Lj=Lk=3

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

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

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

階段是o

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

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

C、可行性分析

D、需求分析

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

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

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

6、在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,能表示類之間相似性質(zhì)的機(jī)制是()。

A、繼承

B、封裝

C、分類

D、動(dòng)態(tài)連接

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

知識(shí)點(diǎn)解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,繼承是表示類之間相似性的機(jī)制。

7、結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進(jìn)行需求分析的方法。

A、對(duì)象

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

C、數(shù)據(jù)流

D、目標(biāo)

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

知識(shí)點(diǎn)解析:結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、

逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的

邏輯模型。

8、關(guān)系代數(shù)運(yùn)算是以為基礎(chǔ)的運(yùn)算。

A、關(guān)系運(yùn)算

B、謂詞運(yùn)算

C、集合運(yùn)算

D、代數(shù)運(yùn)算

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

知識(shí)點(diǎn)解析:關(guān)系代數(shù)運(yùn)算是以關(guān)系代數(shù)作為運(yùn)算對(duì)象的一組高級(jí)運(yùn)算的集合。它

的基本操作是并、交、差、笛卡爾積,另外還包括垂直分割(投影)、水平分割(選

擇)、關(guān)系的結(jié)合(連接)等。

9、能將高級(jí)語(yǔ)言編寫(xiě)的源程序轉(zhuǎn)換為目標(biāo)程序的軟件是

A、匯編程序

B、編輯程序

C、解釋程序

D、編譯程序

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

知識(shí)點(diǎn)解析:此題考查考生對(duì)幾個(gè)常用術(shù)語(yǔ)的理解。匯編程序是把用匯編語(yǔ)言編寫(xiě)

的程序翻譯成二進(jìn)制目標(biāo)程序:編輯程序是對(duì)源程序進(jìn)行輸入、修改的過(guò)程,解釋

程序逐語(yǔ)句執(zhí)行,但不生成目標(biāo)程序。只有編譯程序是把高級(jí)語(yǔ)言編寫(xiě)的源程序轉(zhuǎn)

換為目標(biāo)程序。

10、從Windows環(huán)境進(jìn)入MS—DOS方式后,返回Windows環(huán)境的DOS命令為

A、EXIT

B、QUIT

C、RET

D、MSDOS

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

知識(shí)點(diǎn)解析:從Window*環(huán)境進(jìn)入MS-DOS方式后.要想返|口|Window*環(huán)境,可

使用EXIT命令。

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

分。)

11、若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):floatx=123.4567;則下列語(yǔ)句:

printf("x=%5.2r,x);輸出的結(jié)果是()。

A、x=123.46

B、123.4567

C、x=123.4567

D、123.46

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

知識(shí)點(diǎn)解析:本題考查prinlf函數(shù)的格式。“%5.2f格式符中的“「表示以帶小數(shù)點(diǎn)

的形式輸出單精度或者雙精度數(shù);“5”表示指定數(shù)據(jù)輸出寬度為5;“2”表示指定輸

出數(shù)據(jù)小數(shù)位占兩位數(shù),并對(duì)截去的第一位小數(shù)做四舍五入處理。

12、已知各變量的類型說(shuō)明如下:intk,a,b;unsignedlongw=5;double

x=1.42;則以下不符合C語(yǔ)言語(yǔ)法的表達(dá)式是

A、x%(-3)

B、Wd+=-2

C、k=(a=2,b=3,a+

D、a+=9-=(b=4)*(a=3)

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

知識(shí)點(diǎn)解析:“%”是求余運(yùn)算符或模運(yùn)算符,“%”兩側(cè)均應(yīng)為整型數(shù)據(jù),選項(xiàng)A)中

的x是double型數(shù)據(jù)。

13、若二維數(shù)組a有m列,則在前的元素個(gè)數(shù)為()。

A、j*m+i

BNi*m+j

C、j*m+i+l

D、i*m+j+l

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

知識(shí)點(diǎn)解析:二維數(shù)組的元素可以看成是按矩陣形式存放的,總是先存放第一行的

元素,再存放第二行的元素。數(shù)組第一維的下標(biāo)是i,說(shuō)明它前面還有i行,有

i*m個(gè)元棗,數(shù)組第二維的下標(biāo)是j,說(shuō)明它前面還有j歹U,有j個(gè)元素,所以共有

i*m+j個(gè)元素。

14、下述語(yǔ)句中,在字符串si和s2相等時(shí)顯示“theyareEqual”的是()。

A、if(*sl==*s2)putsC'thcyarcEqual");

B、if(!strcmp(sl,s2))puts(44theyareEquaP,);

C^if(sl==s2)puts(4ttheyareEqual");

D>if(strcmp(sl,s2))puts(4tthcyarcEqual");

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

知識(shí)點(diǎn)解析:字符串比較不能用“==",要用stremp?,s2)函數(shù),字符串si和s2

相等時(shí)返回值為0,故!strcmp(sl,s2)==l,條件成立執(zhí)行后面的語(yǔ)句,輸出they

arcEquak

A

15、對(duì)下列二叉樹(shù)進(jìn)行中序遍歷的結(jié)果是()。GH

A、ABCDEFGH

B、ABDGEHCF

C、GDBEHACF

D、GDHEBFCA

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

知識(shí)點(diǎn)解析:遍歷就是不重復(fù)地訪問(wèn)二叉樹(shù)的所有結(jié)點(diǎn)。二叉樹(shù)遍歷的方法有3

種:前序遍歷、中序遍歷和后序遍歷。記住3種遍歷的順序:①前序,訪問(wèn)根一

按前序遍歷左子樹(shù)T按前序遍歷右子樹(shù)。②中序,按中序遍歷左子樹(shù)一訪問(wèn)根T

按中序遍歷右子樹(shù)。③后序,按后序遍歷左子樹(shù)一按后序遍歷右子樹(shù)—訪問(wèn)根。

所以對(duì)該二叉樹(shù)的中序遍歷結(jié)果為GDBEHACFo

16、下列程序執(zhí)行后的輸出結(jié)果是()。voidfune(int*a,intb[]){b[0]=*a+b;)

rnain(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);)

6

B、7

C、8

D、9

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

知識(shí)點(diǎn)解析:本題考查函數(shù)的調(diào)用,從主函數(shù)傳遞到調(diào)用函數(shù)中,*a的值為0,因

此當(dāng)執(zhí)行完調(diào)用函數(shù)后,b[0]的值為8

17、有以卜程序main(){inti;for(i=0;i<3;i++)switch(i){case0:prinft("%d",i);case

2:prinft("%dn,i);default:prinft("%dM,i);))程序運(yùn)行后的輸出結(jié)果是

A、22111

B、21021

C、122

D、12

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

知識(shí)點(diǎn)解析:本題考核的知識(shí)點(diǎn)是for循環(huán)和switch語(yǔ)句的混合應(yīng)用。程序中for

循環(huán)了三次,第一次i=0,執(zhí)行switch語(yǔ)句中case。:分支,直到遇到default語(yǔ)

句,退出swilch,這里共執(zhí)行?三個(gè)輸出語(yǔ)句分別輸出0,0,0,第二次循環(huán)汩,

switch語(yǔ)句中沒(méi)有匹配的分支,故只執(zhí)行default語(yǔ)句輸出1,退出switch語(yǔ)句:第

三此循環(huán)i=2,從switch語(yǔ)句中的case2:開(kāi)始執(zhí)行,共執(zhí)行了兩個(gè)輸出語(yǔ)句輸出

2、2o最后輸出的結(jié)果為000122.所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。

18、下面程序的執(zhí)行結(jié)果是omain(){charstr||="querl?",*p=str;

while(putchar(*p++)!=,?5);}

A、quert

B>Rvfsu

C、quert?

D、rvfsu?

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

知識(shí)點(diǎn)解析:*p++是先取*p的值,然后指針變量p指向下一個(gè)字符,putchar是先

執(zhí)行(輸出)再判斷,所以是可以顯示的。

19、有下列程序:#include<stdio.h>main(){inta=6,b=7,m=l;switch(a%2i

{case0:m++;break:case1:m++;switch(b%2){defaut:m++:caseO:

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

A、I

B、2

C、3

D、4

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

知火點(diǎn)解析:本題考查switch語(yǔ)句。笫一個(gè)switch語(yǔ)句,囚為a=6,a%2=0,所以

執(zhí)行caseO.將m加1,遇到break語(yǔ)句跳出switch語(yǔ)句,結(jié)束循環(huán)。

20、當(dāng)把以下四個(gè)表達(dá)式用作if語(yǔ)句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其他三個(gè)選

項(xiàng)含義不同,這個(gè)選項(xiàng)是O

A、k%2

B、k%2==l

C、(k%2)!=0

D、!k%2==l

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

知識(shí)點(diǎn)解析:本題選項(xiàng)A、B、C中表達(dá)式用作if語(yǔ)句表達(dá)式時(shí),其值一致,即判

斷k的值是否為奇數(shù),若為奇數(shù),其表達(dá)式為真,否則為假;而選項(xiàng)D的表達(dá)式

“!k%2=l”相當(dāng)于"!(k%2)=l,若k的值為奇數(shù),則此表達(dá)式的值為假。

21、已知字母A的ASCII代碼值為65,若變量kk為char型,下列不能正確判斷

出比中的值為大寫(xiě)字母的表達(dá)式是()。

A、kk>='A'&&kkV='Z'

B、!(kk>=,A,IIkkV=Z)

C、(kk+32)>=H&&(kk+32)V=,z'

D、isalpha(kk)&&(kk<91)

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

知識(shí)點(diǎn)解析:選項(xiàng)A)用邏輯與運(yùn)算符來(lái)連接關(guān)系表達(dá)式,A,〈二kk和kk<=,Z\以

此來(lái)判斷kk的字母是否是大寫(xiě)字母。選項(xiàng)C)用邏輯與運(yùn)算符來(lái)連接關(guān)系表達(dá)式

(kk+32)>=,a,fD(kk+32)<=,z\以此來(lái)判斷kk的字母是否是大寫(xiě)字母。選項(xiàng)D)調(diào)

用函數(shù)isalpha。,首先判斷kk是否為字母,接著通過(guò)與運(yùn)算(kk<=91)來(lái)判斷比是

否為大寫(xiě)字母;而選項(xiàng)B)中首先判斷語(yǔ)句(kk>=")假如為真時(shí),就不進(jìn)行(kk

V='Z。的判斷,直接進(jìn)入非運(yùn)算,故不能正確判斷kk是否為大寫(xiě)字母,故選項(xiàng)B)

符合題意。

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

分。)

22、以下能正確定義一維數(shù)組的選項(xiàng)是o

A、intnum[];

B、#dcfineN100intnum[N];

C、intnum[0..100];

D>intN=100:intnum[N];

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

知識(shí)點(diǎn)解析:C語(yǔ)言不允許對(duì)數(shù)組進(jìn)行動(dòng)態(tài)定義,先項(xiàng)D錯(cuò)誤;選項(xiàng)A沒(méi)有指定

數(shù)組元素的個(gè)數(shù):選項(xiàng)C中定義格式錯(cuò)誤;正確答案為選項(xiàng)B,其中N是符號(hào)常

量。

23、下面程序的輸出結(jié)果是#include<stdio.h>#include<string.h>main(){char

*pl="abc",*p2="ABC",str[50]=,'xyz";strcpy(str+2,strcat(pl,p2)):

printf("%s\n",str);)

A、xyzabcABC

B、zabcABC

C、xyabcABC

D、yzabcABC

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

知識(shí)點(diǎn)解析:本題考查的重點(diǎn)是拷貝字符串——使用strcpyO函數(shù),該函數(shù)的調(diào)用

方式是:strcpy(字符數(shù)組,字符串),其中“字符串”可以是字符串常量,也可以是字

符數(shù)組。函數(shù)的功能是:將“字符串”完整地復(fù)制到“字符數(shù)組”中,字符數(shù)組中原有

的內(nèi)容被覆蓋。使用該函數(shù)時(shí)注意:①字符數(shù)組必須定義得足夠大,以便容納復(fù)

制過(guò)來(lái)的字符串。復(fù)制時(shí),連同結(jié)束標(biāo)志'\0'一起復(fù)制;②不能用賦值運(yùn)算符“:”

將一個(gè)字符串直接賦值給一個(gè)字符數(shù)組,只能用st「cpy()函數(shù)處理。另外,本題還

考查連接字符串的strcaK)函數(shù),其調(diào)用方

24、若執(zhí)行下面的程序時(shí),從鍵盤(pán)輸入5和2,則輸出結(jié)果是main(){inta,b,k;

scanf(n%d,%d'\&a,&b);k=a;if(a<b)k=a%b;elsek=b%a;printf("%d\n",k);)

A、5

B、3

C>2

D、0

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

知識(shí)點(diǎn)解析:本題考查簡(jiǎn)單的if…else語(yǔ)句。先執(zhí)行條件if(a〈b),顯然不成立,

再執(zhí)行else語(yǔ)句。

25、下列程序的功能:給「輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積s。程序在編譯時(shí)出

錯(cuò)。main()/*Beginning*/{intr;floats;scanf("%d",£r);star*r*r;printf("s

=%f\nH,s);}出錯(cuò)的原因是()。

A、注釋語(yǔ)句書(shū)寫(xiě)位置錯(cuò)誤

B、存放圓半徑的變量r不應(yīng)定義為整型

C、輸出語(yǔ)句中格式描述符非法

D、計(jì)算圓面積的賦值諾句使用非法變量

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

知識(shí)點(diǎn)解析:在C語(yǔ)言程序中,可以用一個(gè)符號(hào)名宋代表一個(gè)常量,稱為符號(hào)常

量。這個(gè)符號(hào)名必須在程序中進(jìn)行特別的“指定”,并符合標(biāo)識(shí)符的命令規(guī)則。在本

題中圓周率冗是一個(gè)符號(hào)常量,但在程序中并沒(méi)有指定其值,所以編譯器找不到其

值就會(huì)報(bào)錯(cuò)。所以選項(xiàng)D)正確。

26>有以卜程序point(char*p){p+=3;}main(){char

b[4]={'a','b'I','d'},*p=b;point(p);printf("%c\n",*p);}程序運(yùn)行

后的輸出結(jié)果是______v

A、a

B、b

C、c

D、d

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

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

27、有以下程序main(){inti=l,j=2,k=3;

if(i++==]&&(++j==3||k4.+==3))pfintf("%d%d%d\n”,i,j,k);}程序運(yùn)行后

的輸出結(jié)果是______o

A、123

B、234

C、223

D、233

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

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

28、有以卜程序#include#defineN5#defineMN+l#definef(x)(x*M)main(){int

il,i2;il=f(2);i2=f(l+l);printfC%d%d\n",il,i2);}程序的運(yùn)行結(jié)果是

A、1212

BsII7

C、1111

D、127

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

知識(shí)點(diǎn)解析:根據(jù)宏替段的替換規(guī)則,我們可

知,f(2)=2*N+l=2*5+l=ll,f(l+l)=l+l*N+l=l+l*5+l=7°

29、以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積s。include<

stdio,h>main()/*Beginning*/{intr;floats;scanff"%d'*?&r);s=*n*r*r;printf^"s

=%f\n”,s);程序在編譯時(shí)出錯(cuò),出錯(cuò)的原因是()。

A、注釋語(yǔ)句書(shū)寫(xiě)位置錯(cuò)誤

B、存放圓半徑的變量r不應(yīng)該定義為整型

C、輸出語(yǔ)句中格式描述符非法

D、計(jì)算圓面積的賦值語(yǔ)句中使用了非法變量

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

知識(shí)點(diǎn)解析:本題中表達(dá)式*FI*r*r非法,且未對(duì)變量“做任何定義,所以編譯時(shí)

會(huì)出現(xiàn)非法字符的錯(cuò)誤信息。

30、閱讀以下函數(shù):fun(char*s1,char*s2){inti=0;

while(s1[i]=s2[i]&&s2[i]!=,\0,)i++;retum(sl[i]=,\0,&&s2[i]=,\0,);}此函數(shù)的功

能是()。

A、將s2所指字符串賦給si

B、比較si和s2所指字符串的大小,若si比s2的大,函數(shù)值為1,否則函數(shù)值為

0

C、比較si和s2所指字符串是否相等,若相等,函數(shù)值為1,否則函數(shù)值為0

D、比較si和s2所指字符串的長(zhǎng)度,若si比s2的長(zhǎng),函數(shù)值為1,否則函數(shù)值為

0

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

知識(shí)點(diǎn)解析:在函數(shù)fun()中有兩個(gè)字符型指針變量si和s2,在函數(shù)中程序執(zhí)行

while循環(huán),該循環(huán)退出條件有兩個(gè):一個(gè)是si[i]!=s2[i](兩個(gè)字符串不相等):第二

個(gè)是sl[i]和s2[i]相等均為“\0”(兩個(gè)字符串相等)。循環(huán)退出后,執(zhí)行?urn語(yǔ)句,

即兩個(gè)字符串相等則返回1,不相等則返回0。所以,C選項(xiàng)為所選。

31、下面程序的輸出結(jié)果是。main(){charstr[10],c=,a,;inti=0;for(;i<

5;i++)Str[i]=c++;printf(”%s",str);}

A、abede

B、a

C、不確定

D、bedef

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

知識(shí)點(diǎn)解析:字符串少一個(gè)結(jié)束標(biāo)志,所以輸出的結(jié)果不確定。

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

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

a,b);)

A、a=1,b=2

B、a=2,b=1

C^a=1,b=1

D、a=2,b=2

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

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

33、有如下程序main(){intx=l,a=O,b=O;switch(x){case0:b++;case1:a++;case2:

a++;b++;}printf(,,a=%d,b=%d\n,',a,b);)該程序的輸出結(jié)果是。

A、a=2,b=l

B、a=l,b=l

C、a=1,b=0

D^a=2,b=2

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

知識(shí)點(diǎn)解析:在這個(gè)switch語(yǔ)句中,因?yàn)閄的值為1,所以執(zhí)行easel:后面的

a++,這樣a=l。但又由于其下沒(méi)有break語(yǔ)句,所以其后面的語(yǔ)句“a++;b++”也將

被執(zhí)行,這樣一來(lái),a=2,b=lo

34、有下面程序段#include"stdio.h"#include"string.h"main(){char

a[3][20]={("china"}:{"isa"),{bigcountry!"}};chark[100]={0},*p=k;inti;

for(j=0;j<3;i++){p=strcat(p,a|i|);}i=strlen(p);printf(u%d\nH,i);}則程序段

的輸出結(jié)果是

A、18

B、19

C、20

D、21

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

知識(shí)點(diǎn)解析:字符串連接函數(shù)strcat的調(diào)用形式如下:strcat(sl,s2)。此函數(shù)用來(lái)

把C所指字符串的內(nèi)容連接到"所指的字符串后面,并自動(dòng)覆蓋si串末尾的尾

標(biāo),函數(shù)返回si的地址值。

35、有以下程序:intf(intb[][4]){intij,s=0;for(j=0;i<4;i++){i=j;if(i>2)i=3-j;

s+=b[i][j];}returns;}main(){inta[4][4]={{1,2,3,4,},{0,2,4,6),{3,6,9,12),(3,2,1,0));

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

A、12

B、11

C、18

D、16

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

知識(shí)點(diǎn)解析:在主函數(shù)中首先定義了一個(gè)4行4列的二維數(shù)組a,并用該數(shù)組的數(shù)

組名作為實(shí)參調(diào)用函數(shù)f()。函數(shù)f()中的for循環(huán)作用,是將數(shù)組前3行中的對(duì)角

線上的元素,即b[0][0]、b[l][l].b⑵⑵和第一行的第四列元素即b[0][3]累加到變

量s中,s=a⑼⑼+a[l][l]+a⑵⑵+a⑼[3曰+2+9+4=16。然后將s的值返回在主函

數(shù)中輸出。

36、si和s2已正確定義并分別指向兩個(gè)字符串,若要求:當(dāng)si所指串大于s2所

指串時(shí),執(zhí)行語(yǔ)句S;則以下選項(xiàng)中正確的是

A、if(sl>s2)S;

BNif(strcmp(sl,s2))S;

C、if(strcmp(s2,s1)>0)S;

D、if(strcmp(s1,82)>0)S;

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

知識(shí)點(diǎn)解析:在C語(yǔ)言中字符串的比較用stremp()函數(shù),該函數(shù)有兩個(gè)參數(shù),分別

為被比較的兩個(gè)字符串。如果第一個(gè)字符串大于第二個(gè)字符串返回值大于0,若小

于返回值小于0,相等返回值為0。字符串比較大小的標(biāo)準(zhǔn)是從第一個(gè)字符開(kāi)始依

次向右比較,遇到某一個(gè)字符大,該字符所在的字符串就是較大的字符中,女B

果遇到某一個(gè)字符小,該字符所在的字符串就是較小的字符串。本題中要求當(dāng)si

所指字符串大于s2所指串時(shí),執(zhí)行語(yǔ)句s,因此應(yīng)該為stremp(sl,s2)>0或者

strcmp(s2,si)VO。

37,字符串,N\"ABCDEF\"\\”的長(zhǎng)度是()。

A、15

B、10

C、7

D、8

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

知識(shí)點(diǎn)解析:本題涉及字符串最基本的2個(gè)概念:①字符串的長(zhǎng)度是指字符串中

字符的個(gè)數(shù),但不包括字符串結(jié)束符;②以反斜杠開(kāi)頭的特殊字符序列,意思

是把反斜杠后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來(lái)的含義,不包含在字符

串長(zhǎng)度之內(nèi),連同后面的字符為一個(gè)長(zhǎng)度.

38、若有定義floata[15],*p=a;,且數(shù)組a的首地址為300H,則p+13所指向的數(shù)組

元素的地址為()。

A、334H

B、30DH

C、352H

D、31AH

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

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

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

間,應(yīng)該視具體情況而定。如果基本類型是im型,移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是

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

字節(jié)。所以p+13所指向的數(shù)組元素的地址為:300H+(13*4)H=352H。

39、在C語(yǔ)言中,函數(shù)返回值的類型最終取決于()。

A、函數(shù)定義時(shí)在函數(shù)首部所說(shuō)明的函數(shù)類型

B、return語(yǔ)句中表達(dá)式值的類型

C、調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類型

D、函數(shù)定義時(shí)形參的類型

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

知識(shí)點(diǎn)解析:在C語(yǔ)言中,應(yīng)當(dāng)在定義函數(shù)時(shí)指定函數(shù)值的類型.凡不加類型說(shuō)

明的函數(shù),默認(rèn)按整型處理。在定義函數(shù)時(shí)對(duì)函數(shù)值說(shuō)明的類型一般應(yīng)該和return

語(yǔ)句中的表達(dá)式類型一致。如果函數(shù)值的類型和return語(yǔ)句中的表達(dá)式類型不一

致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換。即函數(shù)類型決定返回值的類

型。

40、有以下程序:#include<stdiO.h>main(){FILE*fp;int

i=20,j=50,k,n;fp二fopen(”dl.dat","WH);fprintf(fp,

i);fprintf(fp,n%d\n",j):fclose(fp);fp=fopen("dl.dat",T',);

fscanf(fp,"%d%d",&k,&n);prinlf("%d%d\n",k,n);

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

A、2030

B、2050

C、3050

D、3020

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

知識(shí)點(diǎn)解析:本題首先通過(guò)函數(shù)fprinlf()將變量i,j的值輸出到已打開(kāi)的dl.dal

文件中,再由函數(shù)fscanf()從dl.dat中讀取i,j的值到k,I】。

41有以下程序voidf(intb[]){inti;

for(i=2;i<6:i++)b[i]*=2;)main(){int

a[10]={l.2.3.4.5.6.7,8.9.10).i;f(a):

for(i=0;i<10,i++)printf(”%d,n,a|i]);)程序運(yùn)行后的輸出結(jié)

果是

A、1,2,3,4,5,6,7,8,9,10,

B、1,2,6,8,10,12,7,8,9,10,

C、1,2,3,4,10,12,14,16,9,10,

D、1,2,6,8,10,12,14,16,9,10,

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

知識(shí)點(diǎn)解析:在main。中,f(a)語(yǔ)句的作用是對(duì)數(shù)組a[10]中從a[2]到a[5]的各個(gè)數(shù)

字乘以2,所以數(shù)組a"01中的數(shù)字就變成了“,2,6,8,10,12,7,8,9,

10),最后在屏幕上輸出。

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

分。)

42、在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型這個(gè)工具來(lái)抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信

息。常見(jiàn)的數(shù)據(jù)模型有3種,它們分別是層次模型、網(wǎng)狀模型和。

標(biāo)準(zhǔn)答案:關(guān)系模型

知識(shí)點(diǎn)解析:在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型這個(gè)工具來(lái)抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)

據(jù)和信息。通俗地講,數(shù)據(jù)模型就是現(xiàn)實(shí)世界的反映,它分為兩個(gè)階段:把現(xiàn)實(shí)世

界中的客觀對(duì)象抽象為概念模型;把概念模型轉(zhuǎn)換為某一DBMs支持的數(shù)據(jù)模

型。常見(jiàn)的數(shù)據(jù)模型有3種,它們分別是層次模型、網(wǎng)狀模型和關(guān)系模型。

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

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

知識(shí)點(diǎn)。析:在面向?qū)ο蠓椒ㄖ?,類是具有共同屬性、共同方法的?duì)象的集合。所

以,類是對(duì)象的抽象,它描述了屬于該對(duì)象類型的所有對(duì)象的性質(zhì)。而一個(gè)具體的

對(duì)象則是其對(duì)應(yīng)類的一個(gè)實(shí)例。由此可知,類是關(guān)于對(duì)象性質(zhì)的描述,它包括一組

數(shù)據(jù)屬性和在數(shù)據(jù)上的一組合法操作。類之間這種共享屬性和操作的機(jī)制稱為分類

性。

44、一個(gè)模塊直接訪問(wèn)另一個(gè)模塊的內(nèi)容,稱為【】藕合。

標(biāo)準(zhǔn)答案:內(nèi)容

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

45、軟件測(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è)試。

46、算法復(fù)雜度主要包括時(shí)間復(fù)雜度和【】復(fù)雜度。

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

知識(shí)點(diǎn)解析:程序在計(jì)算機(jī)上運(yùn)行時(shí)所耗費(fèi)的時(shí)間由下列因素所決定:程序運(yùn)行時(shí)

所需輸入的數(shù)據(jù)總量,對(duì)源程序進(jìn)行編譯所需時(shí)間,計(jì)算機(jī)執(zhí)行每條指令所需時(shí)

間,程序中的指令重復(fù)執(zhí)行的次數(shù)。前一條取決于實(shí)現(xiàn)算法的計(jì)算機(jī)欺、硬件系

統(tǒng),習(xí)慣上常常把語(yǔ)句重復(fù)執(zhí)行的次數(shù)作為算法運(yùn)行時(shí)間的相對(duì)量度,稱作算法的

時(shí)間復(fù)雜度。算法在運(yùn)行過(guò)程中需輔助存儲(chǔ)空間的大小稱為算法的空間復(fù)雜度。

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

47、下列程序的運(yùn)行結(jié)果是o#include<stdio.h>longfunc(intx){longp;

if(x==OIIx==l)return(l);p=x*func(x-l);retum(p);}main(){printf(,,%d\n",fiinc(4));}

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

知識(shí)點(diǎn)解析:本題考查函數(shù)的循環(huán)調(diào)用。p=x*func(x-l),當(dāng)x=4時(shí),不滿足if語(yǔ)句

的條件,p=4*func(3),x=3也不滿足條件,則func(3)=3*func(2),

func(2)=2*func(l),x=l滿足條件rcturn(l),則輸出結(jié)果為4*3*2*1-24。

48、在兩種基本測(cè)試方法中,()測(cè)試的原則之一是保證所測(cè)模塊中每一個(gè)獨(dú)立路徑

至少執(zhí)行一次。

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

知識(shí)點(diǎn)解析:按功能劃分測(cè)試可分為白盒測(cè)試和黑盒測(cè)試。白盒測(cè)試的原則是保證

所測(cè)試模塊中每一獨(dú)立路徑至少執(zhí)行一次;保證所測(cè)試模塊所有判斷的每一分支至

少執(zhí)行一次:保證所測(cè)試模塊每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一

次;驗(yàn)證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。

49、下列程序的功能是將輸入的正整數(shù)按逆序輸出。例如,若輸入135,則輸入

531,請(qǐng)?zhí)羁铡?includcmain(){intn,s;printf("Hntcranumber:");scant(u%

d",&n):printf("Output:");do{s=n%10;printf("%d">s);;}

while(n!=0);printf(H\n");}

標(biāo)準(zhǔn)答案:n/=10或n=n/10。

知識(shí)點(diǎn)解析:在主函數(shù)的每次循環(huán)中變量s=n%10,所以變量s的值是n的個(gè)位上

的數(shù)字,每次將其輸出。在空白處填寫(xiě)n/10或n==n/10,就是每次循環(huán)時(shí),將

n的值縮小10倍,這樣直到n的值等于。時(shí),就完成數(shù)字n的逆序輸出。

50、設(shè)有定義"struct{inta;floatb;charc;}abc,*p_abc=&abc;",則對(duì)結(jié)構(gòu)體成員a的

引用方法可以是abc.a和p_abc[]a?

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

知識(shí)點(diǎn)解析:若結(jié)構(gòu)體變量abc有成員a,并有指針p_abc指向結(jié)構(gòu)變量abc,則引用

變量abc成員a的標(biāo)記形式有abc.a和p_abc->ao

51、mysulen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。請(qǐng)?zhí)?/p>

空。intmystrlen(Char*slr){inti;for{i=0;!='\0';i++);return();)

標(biāo)準(zhǔn)答案:*(srt+i)或str[i]i

知識(shí)點(diǎn)解析:求str指向的字符串長(zhǎng)度的算法是:用?個(gè)變量i表示字符串中字符

的位置,一開(kāi)始賦值為0,取出i位置的字符,判斷是否為“\0”,若不是則i的值加

1,如此循環(huán)直到取出的字符是為止,此時(shí)i的值就是字符串的長(zhǎng)度。由此可

知,第一個(gè)空處應(yīng)填第i位置上的字符*(st「+i);第二個(gè)空格應(yīng)該填字符串的長(zhǎng)度

52、若有以下函數(shù)定義,函數(shù)返回值的類型是【】。fun(doubleA){return

a*a*a;)

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

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

53、設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且fun函數(shù)為void類型;請(qǐng)寫(xiě)出

fun函數(shù)的首部[]。要求形參名為b。main(){doubles[10][22];intn;

fun(s);}

標(biāo)準(zhǔn)答案:voidfun(doubleb|IO]|22])

知識(shí)點(diǎn)解析:本題答案:voidfun(doubleb|10][22])o

54、設(shè)有以下變量定義,并已賦確定的值,charw;intx;floaty;doubleZ;則表

達(dá)式:w*x+z-y所求得的數(shù)據(jù)類型為上【】。

標(biāo)準(zhǔn)答案:double型或雙精度型

知識(shí)點(diǎn)解析:①先進(jìn)行w*x的運(yùn)算,先將字符型w轉(zhuǎn)換成整型,運(yùn)算結(jié)果為整

型;②再將w*x的結(jié)果與z相加,要先將第一步的整型轉(zhuǎn)換為double型,運(yùn)算結(jié)

果為double型;③最后將w*x+z的結(jié)果與y相減,要先將float型y轉(zhuǎn)換成double

型,結(jié)果為double型。

55、下面rotate函數(shù)的功能是:將n行n列的矩陣A轉(zhuǎn)置未AT,例如:

123415913

5678261014

當(dāng)4:,則AT=

9101112371115

13141516481216

請(qǐng)?zhí)羁?defincN4void

rotate(inta[][]){inti,j,t;for(i=0;i<N;i++)for(j=0;[];j++){t=a[i][j];[];

a[j|[i]=l;}}

標(biāo)準(zhǔn)答案:j<=ia[i][j]=aU][i]

知識(shí)點(diǎn)解析:將矩陣轉(zhuǎn)置就是將行列互換,所以第一處應(yīng)填jV=i,第二處應(yīng)填

56、下面程序的功能是將字符串a(chǎn)下標(biāo)值為偶數(shù)的元素由小到大排序,其他元素不

變,請(qǐng)?zhí)羁铡?include<stdio.h>main(){chara[]=nlabchmfye,',t;inti,j;for(i=0;i<

7;i+=2)for(j=i+2;j<9;[])if([]){t=a[i];a[i]=a[j];a[j]=ty+4-;}puts(a);

printfCXn");)

標(biāo)準(zhǔn)答案:j++a[i]>a[j]^a[j]<a[i]

知識(shí)點(diǎn)解析:題目要求排序的元素是下標(biāo)值為偶數(shù)的元素,外循環(huán)循環(huán)4次,i的

值分別為0、2、4、6,所以內(nèi)循環(huán)也循環(huán)4次,iE勺值就應(yīng)為2、4、6、8,在循環(huán)

體中已經(jīng)有了對(duì)j加1的操作,因此for后括號(hào)中的語(yǔ)句應(yīng)再對(duì)j加1,保訐下標(biāo)為

偶數(shù)。if語(yǔ)句的功能是如果后一個(gè)數(shù)比前一個(gè)數(shù)小則交換位置。

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

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

10分。)

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

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

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

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

D、算法執(zhí)行過(guò)程中所需要的存儲(chǔ)空間

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

知識(shí)點(diǎn)解析:算法的空間復(fù)雜度一般是指這個(gè)算法執(zhí)行時(shí)所需耍的內(nèi)存空間,其中

包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法執(zhí)行過(guò)程中所

需要的額外空間,其中額外空間還包括算法程序執(zhí)行過(guò)程的工作單元以及某種數(shù)據(jù)

結(jié)構(gòu)所需要的附加存儲(chǔ)空間。

2、線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是一種

A、隨機(jī)結(jié)構(gòu)

B、順序結(jié)構(gòu)

C、索引結(jié)構(gòu)

D、散列結(jié)構(gòu)

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

知識(shí)點(diǎn)解析:線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的每一個(gè)存儲(chǔ)結(jié)點(diǎn)不僅含有一個(gè)數(shù)據(jù)元素,

還包括指針,每一個(gè)指針指向一個(gè)與本結(jié)點(diǎn)有邏輯關(guān)系的結(jié)點(diǎn)。此類存儲(chǔ)方式屬于

順序存儲(chǔ)。

3、設(shè)有下列二叉樹(shù):對(duì)此二義樹(shù)先序遍歷的結(jié)果是

A、ABCDEF

B、DBEAFC

C、ABDECF

D、DEBFCA

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

知識(shí)點(diǎn)解析:二義樹(shù)的遍歷分為先序、中序、后序三種不同方式。本題要求先序遍

歷;遍歷順序應(yīng)該為:訪問(wèn)根結(jié)點(diǎn)■,先序遍歷左子樹(shù)->先序遍歷右子樹(shù)。按照定

義,先序遍歷序列是ABDECF。

4、編制一個(gè)好的程序,首先要保證它的正確性和可靠性,還應(yīng)強(qiáng)調(diào)良好的編程風(fēng)

格,在書(shū)寫(xiě)功能性注釋時(shí)應(yīng)考慮

A、僅為整個(gè)程序作注釋

B、僅為每個(gè)模塊作注釋

C、為程序段作注釋

D、為每個(gè)語(yǔ)句作注釋

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

知識(shí)之解析4:功能性注釋是嵌在源程序體中的,用以描述其后的語(yǔ)句或程序段是在

做什么工作,或者執(zhí)行了下面的語(yǔ)句會(huì)怎么樣。所以它描述的是一段程序,是為程

序段做注釋,而不是每條語(yǔ)句。

5、下列哪個(gè)面向?qū)ο蟪绦蛟O(shè)計(jì)不同于其他語(yǔ)言的主要特點(diǎn)

A、繼承性

B、消息傳遞

C、多態(tài)性

D、靜態(tài)聯(lián)編

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

知識(shí)點(diǎn)解析:繼承是一個(gè)子類直接使用父類的所有屬性和方法。它可以減少相似的

類的重復(fù)說(shuō)明,從而體現(xiàn)出一般性與特殊性的原則,這使得面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言

有了良好的重用性,也是其不同于其他語(yǔ)言的主要特點(diǎn)。

6、需求分析最終結(jié)果是產(chǎn)生

A、項(xiàng)目開(kāi)發(fā)計(jì)劃

B、需求規(guī)格說(shuō)明書(shū)

C、設(shè)計(jì)說(shuō)明書(shū)

D、可行性分析報(bào)告

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

知識(shí)點(diǎn)解析:需求分析應(yīng)交付的主要文檔就是需求規(guī)格說(shuō)明書(shū)。

7、在進(jìn)行單元測(cè)試時(shí),常用的方法是

A、采用白盒測(cè)試,輔之以黑盒測(cè)試

B、采用黑盒測(cè)試,輔之以白盒測(cè)試

C、只使用白盒測(cè)試

D、只使用黑盒測(cè)試

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

知識(shí)點(diǎn)解析:白盒測(cè)試是測(cè)試程序內(nèi)部邏輯結(jié)構(gòu),黑盒測(cè)試只依據(jù)程序的需求規(guī)格

說(shuō)明書(shū),檢查程序的功能是否符合它的功能說(shuō)明。從程序內(nèi)部的邏轉(zhuǎn)結(jié)構(gòu)對(duì)系統(tǒng)進(jìn)

行測(cè)試才是測(cè)試的根本,更容易發(fā)現(xiàn)和解決程序中的問(wèn)題,因此單元測(cè)試時(shí)應(yīng)該以

白盒測(cè)試為主,而黑盒測(cè)試為輔。

8、數(shù)據(jù)庫(kù)是0的集合,它具有統(tǒng)一的結(jié)構(gòu)格式并存放于統(tǒng)一的存儲(chǔ)介質(zhì),可被各

個(gè)應(yīng)用程序所共享

A、視圖

B、消息

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

D、關(guān)系

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

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放

的,它能構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復(fù)雜的關(guān)系。

9、下列敘述中,不正確的是

A、數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問(wèn)題

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

C、數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)一個(gè)能滿足用戶要求,性能良好的數(shù)據(jù)庫(kù)

D、數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),但是需要操作系統(tǒng)的支持

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

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)應(yīng)該具有物理獨(dú)立性和邏輯獨(dú)立性,改變其一而不影響另一

個(gè)。

10、規(guī)范化理論中,分解()是消除其中多余的數(shù)據(jù)相關(guān)性

A、關(guān)系運(yùn)算

B、內(nèi)模式

C、外模式

D、視圖

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

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)規(guī)范化的基本思想是逐步消除數(shù)據(jù)依賴中不合適的部分,根本

思想是通過(guò)分解關(guān)系運(yùn)算來(lái)消除多余的數(shù)據(jù)相關(guān)性。

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

分。)

11、以下敘述中正確的是

A、構(gòu)成C語(yǔ)言程序的基本單位是函數(shù)

B、可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)

C、main。函數(shù)必須放在其他函數(shù)之前

D、所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義

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

知識(shí)點(diǎn)解析:根據(jù)函數(shù)的定義語(yǔ)法規(guī)定,在C語(yǔ)言程序中,不能嵌套定義,即不

能在函數(shù)中再定義函數(shù);main。函數(shù)在C語(yǔ)言程序中是必須的,但函數(shù)可以放在程

序中的任意位置;當(dāng)在所有函數(shù)的外部、被調(diào)用之前說(shuō)明函數(shù)時(shí),在函數(shù)說(shuō)明后面

的任何位置上都可以對(duì)函數(shù)進(jìn)行調(diào)用。函數(shù)說(shuō)明也可以放在調(diào)用函數(shù)的說(shuō)明部分,

如在main函數(shù)內(nèi)部進(jìn)行說(shuō)明,則只能在main函數(shù)內(nèi)部才能識(shí)別函數(shù)。

12、以下選項(xiàng)中合法的實(shí)型常數(shù)是

A、5E2.0

B、E-3

C、2.00E+00

D、I.3E

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

知識(shí)點(diǎn)解析:在C語(yǔ)言中,實(shí)數(shù)有兩種表示形式:十進(jìn)制數(shù)形式與指數(shù)形式。1)

一般形式的實(shí)數(shù):小數(shù)形式的實(shí)數(shù)由整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分組成(必須要有

小數(shù)點(diǎn))。2)指數(shù)形式的小數(shù):指數(shù)形式的實(shí)數(shù)由尾數(shù)部分、e(E)和指數(shù)部分組成

(字母e或E的前后必須要有數(shù)字,且其后面的指數(shù)必須為整數(shù))。選項(xiàng)A中,

5E2.0中E后面的2.0不是整數(shù);選項(xiàng)B中,E前面沒(méi)有數(shù)字;選項(xiàng)D中,E后面

沒(méi)有數(shù)字。

13、以下選項(xiàng)中合法的用戶標(biāo)識(shí)符是

A、long

B、_2Test

C、3Dmax

D、A.dat

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

知識(shí)點(diǎn).析:在C語(yǔ)言中,合法的標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,并且第一

個(gè)字符必須為字母或者下劃線,long為C語(yǔ)言的保留字,不能作為用戶標(biāo)識(shí)符。

3Dmax開(kāi)頭的第一個(gè)字符為數(shù)字,而C語(yǔ)言規(guī)定,第一個(gè)字符必須為字母或者下

劃線;A.dat中的字符“『不符合C語(yǔ)言中用戶標(biāo)識(shí)符規(guī)定。

14、已知大寫(xiě)字母A的ASCII碼值是65,小寫(xiě)字母a的ASCH碼是97,則用八進(jìn)

制表示的字符常量201'是

A、字符A

B、字符a

C、字符e

D、非法的常量

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

知識(shí)點(diǎn)解析:題目中的關(guān)鍵是八進(jìn)制101的十進(jìn)制是多少。八進(jìn)制的101轉(zhuǎn)換為十

進(jìn)制為65.也就是字符A的ASCII??

15、以下非法的賦值語(yǔ)句是

A、n=(i=2,++i);

B、j++;

C、++(i+l);

D、x=j>0;

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

知識(shí)點(diǎn)解析:在表達(dá)式的運(yùn)算中,雙目賦值運(yùn)算符的格式為“變量二表達(dá)式“,單目

運(yùn)算符一般形式為“運(yùn)算符表達(dá)式”或“表達(dá)式運(yùn)算符常量和表達(dá)式是不能被賦值

的。選項(xiàng)A為夏合表達(dá)式,首先計(jì)算(i=2,++i)的值,然后賦值給n;選項(xiàng)B為簡(jiǎn)

單自加運(yùn)算;選項(xiàng)C在表達(dá)式++(i+l);中,(i+1)不是變量,該表達(dá)式的值為常

量,而在++運(yùn)算中,其運(yùn)算對(duì)象必須為變量;選項(xiàng)D中為復(fù)合賦值表達(dá)式。

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

A、6.5

B、6

C、5.5

D、6

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

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

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

最終結(jié)果為實(shí)型)。

17、已知i、j、k為int型變量,若從鍵盤(pán)輸入:1,2,3〈回車〉,使i的值為1、

j的值為2、k的值為3,以下選項(xiàng)中正確的輸入語(yǔ)句是

A、scanfC%2d%2d%2d\&i,&j,&k);

B、scanfT%d%d%d“,&i,&j,&k);

C、scant("%d,%d,%d”,&i,&j,&k);

D、scanf("i=%d,j=%d,k=%d,\&i,&j,&k);

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

知識(shí)點(diǎn)解析:輸入函數(shù)scanf使用該語(yǔ)句時(shí),要求除格式控制符以外的字符都要原

樣輸入,”為非格式符,要原樣輸入。選項(xiàng)A,輸入格式描述為

“%2d%2d%2d1輸入要用空格隔開(kāi),不滿足鍵盤(pán)輸入1,2,3的條件;選項(xiàng)B

中,輸入格式描述符為“%d%。d%d",輸入也要用空格隔開(kāi);選項(xiàng)D中,輸入格

式描述符為“i=%d,j=%d,k=%d",應(yīng)該從鍵盤(pán)輸入i=l,j=2,k=3,才能使得i,

j,k的值為1,2,3。

3x"

18、與數(shù)學(xué)式子n應(yīng)的C語(yǔ)言表達(dá)式是

A、3*xn/(2*x-l)

3*x**n/(2*x-l)

C^3*pow(x,n)*(l/(2*x-l))

D、3*pow(n,x)/(2*x-l)

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

知識(shí)點(diǎn)解析:在該題中,x的n次方應(yīng)該調(diào)用函數(shù)pow(x,n)計(jì)算,pow(x,n)的參

數(shù)寫(xiě)反了。

19、設(shè)有定義:longx=-123456L:,則以下能夠正確輸出變量x值的語(yǔ)句是

A、printf("x=%d\n",x);

B、print^4x=%ld\nM,x);

C>printf(<tx=%8dL\n,\x);

D、pfint可“x=%LD\n”,x);

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

知識(shí)點(diǎn)解析:x為一個(gè)長(zhǎng)整型的變量,而且是一個(gè)十進(jìn)制的數(shù),它的輸出控制符是

“%ld”;由于C語(yǔ)言中是區(qū)分大小寫(xiě)的,“Id”中的“d”不能為大寫(xiě)。

20、若有以卜程序:main()(inik=2,i=2,m;m=(k+=i*=k);

printf(u%d,%d\n”,m,i);}執(zhí)行后的輸出結(jié)果是

A、8,6

B、8,3

C、6,4

D、7,4

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

知識(shí)點(diǎn)解析:在復(fù)合賦值語(yǔ)句中,應(yīng)該由右向左依次賦值,在表達(dá)式中,右端由

i*=k得i=2*2為4,k=k+i?即k值為6,m=k故m=6o

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

分。)

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

則運(yùn)算后,n的值為o

A、0

B、1

C、2

D、3

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

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

22、以下程序的輸出結(jié)果是omain(){intnum=0;while(num<=2)

{num++;printf(,'%d\n,',num);)}

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

知識(shí)點(diǎn)露析:while的執(zhí)行過(guò)程是:先計(jì)算條件表達(dá)式的值,若成立則執(zhí)行循環(huán)

體,重復(fù)上述過(guò)程,直到條件表達(dá)式的值為“假"(值為零)時(shí),退出循環(huán),并轉(zhuǎn)下一

語(yǔ)句去執(zhí)行。本題在輸出num的值為3之后,再判斷while的循環(huán)條件3不

成立,所以不再輸出num的值,故本題的答案選B。

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

A、goto

B、break

C、return

D、continue

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

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

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

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

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

A、typedefvlint;

typedefv2=int

C、typedefintv3;

D、typedefv4:int

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

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

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

25、為了避免嵌套的if-else的二義性,C語(yǔ)言規(guī)定:else與配對(duì)。

A、縮排位置相同的計(jì)

B、其之前最近的if

C、其之后最近的if

D、同一行上的if

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

知識(shí)點(diǎn)解析:在if語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句稱為if語(yǔ)句的嵌套。應(yīng)當(dāng)注意

if與else的配對(duì)關(guān)系,在C語(yǔ)言中,從最內(nèi)層開(kāi)始,else總是與它上面最近的(未

曾配對(duì)的)if配對(duì)。

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

Vo

A、地址傳遞

B、單向值傳遞

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

D、傳遞方式由用戶指定

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

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

將實(shí)參的值復(fù)制一份傳潴給形參,而傳址方式是指將實(shí)參的變量地址傳遞給形參,

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

27、以下函數(shù)值的類型是。fun(floatx){floaty;y=3*x-4;returny;)

A、int

不確定

C、void

D、float

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

知識(shí)點(diǎn)解析:C語(yǔ)言中如果函數(shù)前不加任何數(shù)據(jù)類型時(shí),默認(rèn)函數(shù)的類型為整型,

函數(shù)的類型就是函數(shù)返回值的類型。

28、以下選項(xiàng)中,非法的字符常量是o

A、

B、27'

C、\n

D、,\xaa,

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

知識(shí)之解析:C語(yǔ)言中字符常量是以單引號(hào)括起來(lái)的單個(gè)字符,或?yàn)橐耘c三位

八進(jìn)制數(shù)或兩位十六進(jìn)制數(shù)值代替單個(gè)字符。

29、以下程序的輸出結(jié)果是o#include<stdio>main(){inta=200;#define

a100printf("%d",a);#undefaprintf("%d",a);}

A、200100

B、100100

C、100200

D、200200

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

知識(shí)點(diǎn)解析:#deflnc宏名的有效范圍為定義命令之后到本源文件結(jié)束,可以在程

序中使用#undef命令終上宏定義的作用域。本題由于#undef的作用,使a的作用范

圍在#definea100到#undefa之間,故答案為Co

30、若有說(shuō)明inti,j=2,*p=&i;,則能完成i=j賦值功能的語(yǔ)句是o

A、i=*p;

B、*p=&j:

C、i=&j;

D、i=**p;

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

知識(shí)點(diǎn)解析:指針是一種用宋存放變量地址的特殊變量。本題中指針變量p用于存

放整型變量i的地址,改變*p的值即為改變i的值。又因?yàn)楹汀?”兩個(gè)運(yùn)算符的

優(yōu)先級(jí)別相同,按自右而左的方向結(jié)合,所以*&j運(yùn)算,得j的地址,再進(jìn)行*運(yùn)

算,取所得地址里面的值,故*&j與i等價(jià)。

31、假定int類型變量占用兩個(gè)字節(jié),若有定義:imx[10]={0,2,4);,貝數(shù)組x在

內(nèi)存中所占字節(jié)數(shù)是o

A、3

B、6

C、10

D、20

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

知識(shí)點(diǎn)解析:當(dāng)數(shù)組定義后,系統(tǒng)就為其分配內(nèi)存空間,而不論其中有沒(méi)有內(nèi)容。

因此,本題中數(shù)組x(10)不論是否為其元索初始化,它所分配的存儲(chǔ)空間仍為

2*10=20個(gè)字節(jié)。

32、執(zhí)行以下的程序段后,m的值是ointa[2][3]={{(l,2,3),{4,5,6))

intm,*p;p=aa[0][0];m=p[4];

A、4

B、5

C、3

D^不確定

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

知識(shí)點(diǎn)解析:程序中定義了一個(gè)指向整型變量的指針變量,并對(duì)其賦值為二維整型

數(shù)組a的首元素的地址1p[4]等價(jià)于*(p+4),即二維數(shù)組a中第四個(gè)元素的值,而a

是一個(gè)2*3的二維數(shù)組,其第四個(gè)元素為即5。

33、以下程序的輸出結(jié)果是omain(){inti,a[10];for(i=9;i>=0;i-

-)a[i]=10-i;prin

溫馨提示

  • 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)論