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

家二級(jí)(C語(yǔ)言)筆試模擬試卷11

(共9套)

(共558題)

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

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

70分。)

1、己知8個(gè)數(shù)據(jù)元素為(34,76,45,18,26,54,92,65),按照依次插入結(jié)點(diǎn)

的方法生成一棵二叉排序樹(shù)后,最后2層上的結(jié)點(diǎn)總數(shù)為o

A、1

B、2

C、3

D、4

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

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

2、一個(gè)棧的輸入序列為1,2,3,4,下列選項(xiàng)中的序列不可能是這個(gè)棧的

輸出序列。

A、1,3,2,4

B、2,3,4,1

C、4,3,1,2

D、3,4,2,1

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

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

3、循環(huán)鏈表的主要優(yōu)點(diǎn)是_____o

A、不再需要頭指針了

B、已知某個(gè)結(jié)點(diǎn)的位置后,能夠容易找到它的直接前驅(qū)

C、在進(jìn)行插入、刪除運(yùn)算時(shí),能更好地保證鏈表不斷開(kāi)

D、從表中任一結(jié)點(diǎn)出發(fā)都能掃描到整個(gè)鏈表

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

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

4、軟件測(cè)試是軟件開(kāi)發(fā)過(guò)程中重要且不可缺少的階段,測(cè)試過(guò)程中的是基

礎(chǔ)測(cè)試。

A、系統(tǒng)測(cè)試

B、有效性測(cè)試

C、單元測(cè)試

D、集成測(cè)試

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

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

5、在瀑布模型中,將軟件開(kāi)發(fā)劃分為若干時(shí)期,而軟件的可行性研究一般被屬于

A、計(jì)劃時(shí)期

B、維護(hù)時(shí)期

C、運(yùn)行時(shí)期

D、開(kāi)發(fā)時(shí)期

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

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

6、在數(shù)據(jù)庫(kù)技術(shù)中,面向?qū)ο髷?shù)據(jù)模型是一種o

A、概念模型

B、結(jié)構(gòu)模型

C、物理模型

D、形象模型

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

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

7、在C語(yǔ)言中提供的合法的關(guān)鍵字是o

A、swicth

cher

C、Case

D、default

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

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

8、若定義staticinta[2M2]={l,2,3,4},則a數(shù)組的各數(shù)組元素分別為

A、a[O][O]=l>a[0][l]=2>at[l][0]=3>a[l][l]=4

B、a[O][O]=l>a|0][l]=3>a[l][0]=2^a[l][l]=4

C、a⑼⑼=4、a[0][l]=3>a[l][0]=2.s[l][l]=l

D、a[0][0]=4^a[0][l]=2sa[l][0]=3.a[l]|l|=l

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

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

9、下列變量說(shuō)明語(yǔ)句中,正確的是

A、char:abc;

chara:b;c;

C、intx;z;

D、intx,z;

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

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

10、若有以下定義和語(yǔ)句,則輸出的結(jié)果是_____<,charcl=,b"c2=,e,;

printf("%d,%c\n",c2-cl,c2-'a'+”A”);

A、2,M

B、3,E

C、2,E

D、輸出結(jié)果不確定

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

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

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

分。)

11、下列不正確的轉(zhuǎn)義字符是。

A、3,

B、

C、’074,

D、)(r

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

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

12^設(shè)有如下定義,則執(zhí)行表達(dá)式(nFa>b)&&(n=c>d)后,n的值為。int

a=l,b=2,c=3,d=4,m=2,n=2;

A、1

B、2

C>3

D、0

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

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

13、若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是。

A、,a,<=c<,z,

B、(c>=,a,)||(c<=,z,)

C、(‘a(chǎn)'V'c')and('z'>=C)

D、(c>='a')&&(cV='z')

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

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

14、在下列敘述中,正確的一條是_____。

A、計(jì)(表達(dá)式)語(yǔ)句中,表達(dá)式的類型只限于邏輯表達(dá)式

B、語(yǔ)句“goto12;”是合法的

C、for(;;)語(yǔ)句相當(dāng)于while(l)語(yǔ)句

D、break語(yǔ)句可用于程序的任何地方,以終止程序的執(zhí)行

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

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

15、設(shè)i是int型變量,f是float型變量,用下面的語(yǔ)句給這2個(gè)變量輸入值。為

了將,100和765.12分別賦給i和f,則正確的輸入為oscanf(',i=%d,

4%廣,&i,&f):

A、AOV空格>765.12V回車,

B、i=100,f=765.12〈回車》

C、COV回車>765.12V回車〉

D、x=100V回車〉y=765.12V回車〉

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

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

16、下面程序執(zhí)行后的輸出結(jié)果是(小數(shù)點(diǎn)后只寫一位)omain(){doubled;

floatf;longI;inti;i=f=l=d=20/3;printf(n%d%ld%f%f\n",i,l,f,d);)

A、666.06.0

B、666.76.7

C、666.06.7

D、666.76.0

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

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

17、當(dāng)下面的程序運(yùn)行后,變量c的值為omain(){inta=45,b=27,c=0;

c=max(a,b);}intmax(x,y)intx,y;{intz;if(x>y)z=x;elsez=y;return(z);}

A、45

B、27

C>0

D、72

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

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

18、若有語(yǔ)句scanf("%d%c%f',&a,&b,&c),假設(shè)輸入序列為2223al23o.12,則a.b.c

的值為。

A、無(wú)值

B、2223,a,123o.12

C^2223,a,無(wú)

D、2223,a,123

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

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

19、若輸入lamaboy!”,下列程序的運(yùn)行結(jié)果為。char

connect(string1,string2,string)charstring11],string2||,string|];{inti,j;for

(i=O;stringl[i]!=*\0,;i++)string[i]=stringl[i];fbr(j=0;string2[j]!=,\0,;j++)

string[i+j]=string2[j];string[i+j]=,\0,;}main(){charsi[100],s2[100],s[100];

printf("\n輸入string1:\n");scanf("%s",sl);printf("\n輸入string?:\n");scanf("%s",

s2);connect(si,s2,s);printf("%s\n'\s);)

A、Iamaboy!

B、輸入string2:

C、Iam

D、Iamaboy!

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

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

20、下面能正確進(jìn)行字符串賦值操作的語(yǔ)句是______。

A、chars[5]={HABCDE");

B、chars[5]

C、char*s;s="ABCDEF'

D、char*s;suanf("%s",s);

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

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

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

分。)

21、下列程序的輸出結(jié)果是()。main(){inti=lj=2,k=3;if(i++==1&&(++j=

=3IIk++==3))printf(H%d%d%d\n",ij,k);)

A、123

B、234

C、223

D、233

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

知識(shí)點(diǎn)解析:本題考查自增運(yùn)算符“什”、邏輯與運(yùn)算符“&&”和邏輯或運(yùn)算符

“II”。自增運(yùn)算符“++”,出現(xiàn)在變量之前(如題中的中++n),表示先使變量的值加

1,再使用變量的值進(jìn)行運(yùn)算:出現(xiàn)在變量之后(如題中的n++),表示先使用變量

的值進(jìn)行運(yùn)算,再使變量的值加1。當(dāng)邏輯與運(yùn)算符“&&”兩邊的運(yùn)算對(duì)象都為真

時(shí),邏輯表達(dá)式的值才為真;當(dāng)邏輯或運(yùn)算符“II”左邊的運(yùn)算對(duì)象為真時(shí),其值就

為真,不用計(jì)算其右邊的運(yùn)算對(duì)象的值.所以根據(jù)運(yùn)算符的優(yōu)先級(jí),題中應(yīng)先計(jì)算

內(nèi)層括號(hào)中的值。++j是先自加后運(yùn)算,因此運(yùn)算時(shí)j的值等于3,所以表達(dá)式++j

=3成立,即表達(dá)式的值為1;由于1與任何數(shù)都為進(jìn)行或(II)運(yùn)算,結(jié)果都為1,

因此k=3;最后計(jì)算“&&”之前的表達(dá)式,i++是先運(yùn)算后自加,因此運(yùn)算時(shí)i為

1,所以i++=l成立,自加1后i=2。if語(yǔ)句的條件為真即力”,所以輸出i、j、k

的值分別是2,3,3o

22、卜列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=O,i;for(i=l;i<

5;i++){switch(i){case0:case3:a+=l;case1:case2:a+=2;default:a+=3;}

printf("%d';A);)

A、19

B、18

C、6

D、8

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

知識(shí)點(diǎn)解析:本題考查switch語(yǔ)句。當(dāng)i=l時(shí),執(zhí)行easel,因?yàn)闆](méi)有遇到break

語(yǔ)句,所以依次往下運(yùn)行,a=a+2=2,a=a+3=5;當(dāng)i=2時(shí),執(zhí)行case2,因?yàn)闆](méi)有

遇到break語(yǔ)句,所以依次往下運(yùn)行,a=a+2=7,a=a+3=10;當(dāng)i=3時(shí),執(zhí)行case

3,a=a+l=ll,因?yàn)闆](méi)有遇到break語(yǔ)句,所以依次往下運(yùn)行,a=a+2=13,

a=a+3=16;當(dāng)i=4時(shí),執(zhí)行default,a=a+3=19,結(jié)束循環(huán)。

23、在C語(yǔ)言中,while和do…while循環(huán)的主要區(qū)別是()。

A、do…while的循環(huán)體不能是復(fù)合語(yǔ)句

do...while允許從循環(huán)體外轉(zhuǎn)到循環(huán)體內(nèi)

C、while的循環(huán)體至少被執(zhí)行一次

D、do…while的循環(huán)體至少被執(zhí)行一次

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

知識(shí)點(diǎn)解析:本題考查while和do…while循環(huán)的區(qū)別。while循環(huán)的控制出現(xiàn)在循

環(huán)體之前,只有當(dāng)while后面的表達(dá)式的值為非零時(shí),才可能執(zhí)行循環(huán)體:在

do…while構(gòu)成的循環(huán)體中,總是先執(zhí)行一次循環(huán)體,然后再求表達(dá)式的值,因此

無(wú)論表達(dá)式的值是否為零,循環(huán)體至少要被執(zhí)行一次。

24、若各選項(xiàng)中所用變量已正確定義,fun()函數(shù)中通過(guò)return語(yǔ)句返回一個(gè)函數(shù)

值,下列選項(xiàng)中錯(cuò)誤的程序是()。

A、main().......x=fun(2,10);.......}floatfun(inta,intb){.........}

floatfun(inta,intb){........}main(){.......x=fun(i,j);.......}

C、floatfun(int,int);main(){....x=fun(2J0);.....}floatfun(inta,intb){.....}

D^main(){floatfiin(intI,intj);x=fun(i,j);}floatfiin(inta,intB){}

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

知識(shí)點(diǎn)解析:C語(yǔ)言規(guī)定,函數(shù)必須先定義,后調(diào)用(函數(shù)的返回值類型為im或

char時(shí)除外)。在選項(xiàng)A)中,調(diào)用的子函數(shù)在調(diào)用后面定義,所以不正確。在選項(xiàng)

B)、C)中,被調(diào)用函數(shù)在主調(diào)函數(shù)之前定義,再在主函數(shù)中調(diào)用,所以是正確的:

在選項(xiàng)D)中,在主調(diào)函數(shù)中先對(duì)于函數(shù)(10沆向11(血幣110)進(jìn)行了定義,然后進(jìn)行

調(diào)用。

25、判斷char型變量cl是否為小寫字母的正確表達(dá)式為()。

A、'a'V=clV='z'

B、(cl>=A)ll(cl<=z)

C、(,a,=>clIICz,V=cl)

D、(cl>=,a,)&&(cl<=,z,)

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

知識(shí)點(diǎn)解析:C語(yǔ)言規(guī)定,字符常量在程序中要用單引號(hào)括起來(lái)。判斷cl是否為

小寫字母的充要條件">二4和clV=,z1用邏輯與(&&)來(lái)表示。A選項(xiàng)的這種

形式在C語(yǔ)言中沒(méi)有,所以選項(xiàng)D)正確.

26、有下列程序:main(){intk=5;while(-k)printf("%dn,k-=3);printf("\n");)執(zhí)行

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

A、1

B、2

C、4

D、死循環(huán)

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

知識(shí)點(diǎn)解析:在程序語(yǔ)句中,k的初始值為5,進(jìn)行第1次while循環(huán)后,k自減I

為4,非0,執(zhí)行循環(huán)體里的printf語(yǔ)句,輸出1,此時(shí)k的值變?yōu)長(zhǎng)程序執(zhí)行第

2次循環(huán)時(shí),k自減I變?yōu)?,為假,退出while循環(huán)語(yǔ)句。所以程序的最后結(jié)果為

lo

27、若函數(shù)調(diào)用時(shí),參數(shù)為基本數(shù)據(jù)類型的變量,下列敘述中正確的是()。

A、實(shí)參與其對(duì)應(yīng)的形參共占存儲(chǔ)單元

B、只有當(dāng)實(shí)參與其對(duì)應(yīng)的形參同名時(shí)才共占存儲(chǔ)單元

C、實(shí)參與其對(duì)應(yīng)的形參分別占用不同的存儲(chǔ)單元

D、實(shí)參將數(shù)據(jù)傳遞給形參后,立即釋放原先占用的存儲(chǔ)單元

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

知識(shí)點(diǎn)解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。函數(shù)的形參是函數(shù)定義時(shí)由用戶定

義的形式上的變量,實(shí)參是函數(shù)調(diào)用時(shí),主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。在

函數(shù)調(diào)用時(shí),實(shí)參和其所對(duì)應(yīng)的形參分別占用不同的存儲(chǔ)單元,彼此之間不影響。

28、在C語(yǔ)言程序中,下列說(shuō)法正確的是()。

A、函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套

B、函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套

C、函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套

D、函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套

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

知識(shí)點(diǎn)解析:本題考查函數(shù)調(diào)用的基本概念。因?yàn)楹瘮?shù)的結(jié)果是個(gè)未知量,而函數(shù)

定義時(shí)不能使用未知量,所以函數(shù)定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。

29、下列說(shuō)法中不正確的是()。

A、指針是一個(gè)變量

B、指針中存放的是數(shù)值

C、指針可以進(jìn)行加、減等算術(shù)運(yùn)算

D、指針變量占用存儲(chǔ)空間

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

知識(shí)點(diǎn).析:指針中存放的是變量的地址,指針也可以進(jìn)行增減運(yùn)算,這時(shí)指針移

動(dòng)的最小單位是一個(gè)存儲(chǔ)單元,而不是一個(gè)字節(jié)。

30、若有定義和語(yǔ)句:int**pp,*p,a=20,b=10;

pp=&p;p=&a;p=&b;printf(%d,%d\n",*p,**pp);則輸出結(jié)果是()°

A、20,10

B、20,20

C、10,20

D、10,10

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

知識(shí)點(diǎn)解析:本題考查指針變量的賦值。**pp是定義了一個(gè)指向指針的指針變

量,語(yǔ)句pp=&p的意思是將pp指向指針p,*p和**pp都是指針p所指的內(nèi)存空間

的內(nèi)容,即b的值。

31、下列二維數(shù)組的說(shuō)明中,不正確的是()。

A、floata[][4]={0,l,8,5,9};

Bsinta[3]|4];

C、#defineN5

inta[2][9.5];floata[N][3];

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

知識(shí)點(diǎn)解析:C語(yǔ)言規(guī)定,對(duì)于二維數(shù)組,只可以省略第一個(gè)方括號(hào)中的常量表達(dá)

式,而不能省略第二個(gè)方括號(hào)中的常量表達(dá)式;二維數(shù)組的一般定義格式是:類型

說(shuō)明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]。

32、若有定義:則對(duì)a數(shù)組的第i行第j列元素的正確引用為()。

A、*(*(a+i)+j)

B、(a+i)[j]

C、*(a+i+j)

D、*(a+i)+j

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

知識(shí)之解析:1本題考查如何通過(guò)地址來(lái)引用數(shù)組元素。通過(guò)地址來(lái)引用數(shù)組元素的

方法有下列5種:@a|i]|j];@*(a[i]+j);③*(*(a+i)+j);④*(a[i])[j];

(5)*(&a[0][0]+3*i+j)o

33、下列能正確進(jìn)行字符串賦值的是()。

A、chars[5]={nABCDE");

B、chars[5]={,A\,B,,,C,,,D\,E,};

C、char*s;s="ABCDE”;

D、char*s;printf("%s",s);

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

知識(shí)點(diǎn)解析:字符串存儲(chǔ)要有結(jié)束符“\0”且要占用一個(gè)空間,選項(xiàng)A)、B的空間不

夠:printf用來(lái)輸出字符,不能輸入字符串.

34、若有說(shuō)明charsl[30]="abc",s2[]="defghi”;,則在使用函數(shù)strcat(sl,s2)后,結(jié)

果是()。

A、si的內(nèi)容更新為abcdefghi

B、si的內(nèi)容更新為defghi'O

C、si的內(nèi)容更新為dcfghiabc'O

D、si的內(nèi)容更新為abcdefghi'O

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

知識(shí)點(diǎn)解析:strcat(sl,s2)是把s2字符串連接到si字符串的末尾,要保證si能容

納下連接后的字符串。

35、設(shè)有變量說(shuō)明int(*p)[m],其中的標(biāo)識(shí)符p是()。

A、m個(gè)指向整型變量的指針

B、指向m個(gè)整型變量的指針

C、一個(gè)指向具有m個(gè)整型元素的一維數(shù)組的指針

D、具有m個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都指向整型變量

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

知識(shí)點(diǎn)解析:本題考查去向數(shù)組的指針變量的聲明。這里的p表示一個(gè)指向數(shù)組的

指針;*p表不指針p指向地址的內(nèi)容。

36、下列描述中正確的是()。

A、在C語(yǔ)言程序中預(yù)處理是指完成宏替換和文件包含指定的文件的調(diào)用

B、預(yù)處理指令只能位于C源程序文件的首部

C、預(yù)處理命令可以放左程序中的任何位置

D、預(yù)處理命令結(jié)尾需要加分號(hào)

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

知識(shí)點(diǎn)解析:本題考查預(yù)處理命令的特點(diǎn),編譯預(yù)處理命令的特點(diǎn):①為了區(qū)別

一般的語(yǔ)句,預(yù)處理命令行都必須以號(hào)開(kāi)始,結(jié)尾不加分號(hào);②預(yù)處理命令可

以放在程序中的任何位置;③在程序中凡是以號(hào)開(kāi)始的語(yǔ)句行都是預(yù)處理命令

行。

37、若有結(jié)構(gòu)體定義:structstufintnum;charsex:intage:|al,a2;則下列語(yǔ)

句中錯(cuò)誤的是()。

A、printf("%d,%c,%d\al);

B、a2.age=al.age;

C、al.age++;

D、al.num=5;

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

知識(shí)點(diǎn)解析:題中al和a2兩個(gè)結(jié)構(gòu)體變量名所對(duì)應(yīng)的成員相同,可以與運(yùn)算“++,

相結(jié)合。結(jié)構(gòu)體變量的輸出格式為:printf(”要輸出變量名;%d\t",結(jié)構(gòu)變量

名.要輸出的成員變量名),

38、C語(yǔ)言結(jié)構(gòu)體類型變量在程序執(zhí)行期間()。

A、所有成員一直駐留在內(nèi)存中

B、沒(méi)有成員駐留在內(nèi)存中

C、部分成員駐留在內(nèi)存中

D、只有一個(gè)成員駐留在內(nèi)存中

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

知識(shí)點(diǎn)解析:C語(yǔ)言結(jié)構(gòu)體類型變量在程序執(zhí)行期間所有成員一直駐留在內(nèi)存中,

39、在位運(yùn)算中,操作數(shù)每右移兩位,其結(jié)果相當(dāng)于()。

A、操作數(shù)乘以2

B、操作數(shù)除以2

C、操作數(shù)除以4

D、操作數(shù)乘以4

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

知識(shí)點(diǎn)解析:在位運(yùn)算中,操作數(shù)每右移兩位,相當(dāng)于在操作數(shù)的左側(cè)添0,最右

面的兩位被移出,即操作數(shù)除以4。

40、在“文件包含”預(yù)處理語(yǔ)句的使用形式中,當(dāng)?shù)姆?11(1?后面的文件名用””,(雙撇

號(hào))括起時(shí),尋找被包含文件的方式是()。

A、直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄

B、先在源程序所在的目錄搜索,如沒(méi)找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索

C、僅僅搜索源程序所在目錄

D、僅僅搜索當(dāng)前目錄

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

知識(shí)點(diǎn)解析?:本題考查庫(kù)函數(shù)調(diào)用的知識(shí)點(diǎn)。格式1:include(文件名),預(yù)處理程

序在標(biāo)準(zhǔn)目錄下查找指定的文件:格式2:include”文件名”,預(yù)處理程序首先在

引用被包含文件的源文件所在的目錄下搜索指定的文件,如沒(méi)找到,再按系統(tǒng)指定

的標(biāo)準(zhǔn)目錄搜索。

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

分。)

41、一棵二叉樹(shù)第六層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)數(shù)最多為【】個(gè)。

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

知識(shí)點(diǎn)解析:根據(jù)二叉樹(shù)的性質(zhì):二叉樹(shù)第i(iNl)層上至多有2i-l個(gè)結(jié)點(diǎn),得到第

六層的結(jié)點(diǎn)數(shù)最多是201=32。

42、算法復(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ù)等決定。習(xí)慣上常常把語(yǔ)句重復(fù)執(zhí)行的次數(shù)作為算法運(yùn)行時(shí)間的相對(duì)

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

的空間復(fù)雜度。

43、在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承

接模塊(樁模塊),其中【】的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)

試模塊所產(chǎn)生的結(jié)果。

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

知識(shí)點(diǎn)解析:在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)

模塊和承接模塊(樁模塊)。其中,驅(qū)動(dòng)模塊相當(dāng)于被測(cè)試模塊的主程序,它接收測(cè)

試數(shù)據(jù),并傳給被測(cè)試模塊,輸出實(shí)際測(cè)試結(jié)果。承接模塊通常用于代替被測(cè)試模

塊調(diào)用的其他模塊,其作用僅做少量的數(shù)據(jù)操作,是一個(gè)模擬子程序,不必將子模

塊的所有功能帶入。

44、數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程經(jīng)過(guò)人工管理、文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)三個(gè)階段,其

中數(shù)據(jù)獨(dú)立性最高的階段是【】。

標(biāo)準(zhǔn)答案:數(shù)據(jù)庫(kù)系統(tǒng)階段

知識(shí)點(diǎn)解析:在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段

和數(shù)據(jù)庫(kù)系統(tǒng)階段,其中數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫(kù)系統(tǒng)階段。

45、數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),循環(huán)隊(duì)列屬于【】結(jié)構(gòu)。

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

知識(shí)點(diǎn)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu),它在計(jì)算

機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)(也稱數(shù)據(jù)的物理結(jié)構(gòu))。在數(shù)據(jù)的存

儲(chǔ)結(jié)構(gòu)中,不僅要存放各數(shù)據(jù)元素的信息,還需要存放各數(shù)據(jù)元素之間的前后件關(guān)

系的信息。而循環(huán)隊(duì)列就是將隊(duì)列存儲(chǔ)空間的最后一個(gè)位置繞到第一個(gè)位置,形成

邏輯上的環(huán)狀空間,供隊(duì)列循環(huán)使用。所以循環(huán)隊(duì)列不需要存放元素之間的前后件

關(guān)系,故它屬于邏輯結(jié)閡。

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

46、以下程序運(yùn)行時(shí),若從鍵盤輸入:102030V回車〉,輸出的結(jié)果是【】。

#includc<stdio.h>main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,

&k);prinff("%d%d%d\n%i,j,k);)

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

知識(shí)點(diǎn)解析:在scanf格式控制符中有一個(gè)“”附加說(shuō)明符,表示跳過(guò)它指定的列

數(shù)。程序中”%d%*d%d”表示首先將10賦給i,然后遇%。d讀入整數(shù)但不賦給任何

變量,最后將讀人的整數(shù)30賦給變量j,變量k并沒(méi)有重新賦值,仍為初始值0。

所以輸出的結(jié)果為10300。

47、以下程序運(yùn)行后的輸出結(jié)果是【】。#include<stdio.h>#defineS(x)4*x*x

+1main(){inti=6j=8;prinff(H%d\n",S(i+j));)

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

知識(shí)點(diǎn)解析:帶參數(shù)的宏定義是按#deflne命令行中指定的字符串從左到右進(jìn)行替

換。本題替換后得到:4*i+j*i+j+h代入i,j的值得81。

48>以下程序運(yùn)行后的輸出結(jié)果是[]o#include<stdio,h>main(){int

a=3,b=4,c=5,t=99;if(b<a&&a<c)t=a;a=c;c=t;if(a<e&&b<c)t=b;b=a;a=t;

printf("%d%d%d\n',,a,b,e);)

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

知識(shí)點(diǎn)解析:要注意每條證語(yǔ)句后面是三條語(yǔ)句,而不是一條語(yǔ)句。執(zhí)行第一條if

語(yǔ)句時(shí),條件表達(dá)式不成立,執(zhí)行a二c;c=l;,此時(shí)a=5,c=99;執(zhí)行第二條if語(yǔ)

句時(shí),條件表達(dá)式成立,執(zhí)行t=b;b=a;a=t;交換a,b的值,輸出結(jié)果為4,5

和99。

49、已知字符,A,的ASCII代碼值為65,以下程序運(yùn)行時(shí)若從鍵盤輸入:B33〈回

車〉,則輸出結(jié)果是【】c#inchide<stdio.h>main(){chara,h;a=

getchar();seanf("%d",&b);a=a-'A'+'0';b=b*2;prinff("%c%c\n",a,b);)

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

知識(shí)點(diǎn)解析:本題輸入B33,字符,B,被輸入給字符變量a,33賦給b,執(zhí)行

a=a-'A'+'O';得到a的值T;執(zhí)行b=b*2;得到b值66,最后以字符型輸出為1

Bo

50、以下程序運(yùn)行后的輸出結(jié)果是[]#include<stdio,h>fun(inta){intb=0;

staticintc=3;b++;c++;return(a+b+c);}main()inti,a=5;for(i=0;i<3;i++)

prinff("%d%d",i,fun(a));printf("\nu);}

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

知識(shí)點(diǎn)解析:用static關(guān)鍵字聲明的變量稱為靜態(tài)局部變量。靜態(tài)局部變量只在編

譯時(shí)賦一次初值,以后再次調(diào)用函數(shù)時(shí)不再重新賦初值,而是保留上次函數(shù)調(diào)用結(jié)

束時(shí)的值。程序中的變量c為靜態(tài)變量,當(dāng)再次調(diào)用fun函數(shù)時(shí),變量c不再被賦

初值,變量c的值為上次調(diào)用fun函數(shù)時(shí)所保留下來(lái)的值,具體在程序運(yùn)行過(guò)程中

的體現(xiàn)如下:當(dāng)i=0時(shí),第一次調(diào)用fun(5),這時(shí)a=5,b=0,c=3,執(zhí)行b++,

C++,得到b=l,c=4,則a+b+c=10,返回主函數(shù)輸出010;當(dāng)i=l時(shí),第二次調(diào)用

fun(5)>這時(shí)a=5,b=0,c=4,執(zhí)行b++,C++,得到b=l,c=5,則a+b+c=ll,返

回主函數(shù)輸出111;當(dāng)i=2時(shí),第三次調(diào)用fun(5),這時(shí)a=5,b=0,c=5,執(zhí)行

b++,C++,得到b=l,c=6,則a+b+c=12,返回主函數(shù)輸出212;當(dāng)i=3時(shí),循環(huán)

結(jié)束,所以輸出結(jié)果為:OIOH1212o

51、以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素中的最大值。請(qǐng)

填空。#inckide<stdio,h>voidfun(int,int,int(*)[4],int*);main(){inta[3][4]=

{{12,41,36,28},{19,33,15,27},{3,27,19,1}),b[3],i;fun(3,4,a,b);for(i=0;i<3;i++)

printf("%4d",b[i|);prinff("\n");}voidfun(intm,intn,intar[][4],int*br))intij,x;

for(i=0;i<m;i++){x=ar[i][0]fbr(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];

[1=x;}}

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

知識(shí)點(diǎn)解析:程序中的數(shù)組a是一個(gè)3行4列的二維數(shù)組,一維數(shù)組b用于存放每

行的最大數(shù)。在函數(shù)fun中,通過(guò)二重for循環(huán)求每行的最大數(shù),外層for循環(huán)用

于控制行數(shù),內(nèi)層for循環(huán)用于控制列數(shù),當(dāng)外層循環(huán)執(zhí)行一次時(shí),內(nèi)層循環(huán)則從

一行的4個(gè)數(shù)中找出最大數(shù)x,然后將最大值x賦給數(shù)組br,故空格處應(yīng)填br[i]或

*(br+i)o

52、有下面的程序:#include<stdio,h>main(){enumteam

{my,your=4,his,her=his+10};prinff(H%d%d%d%d\n*',my,your,his,her);此程序的輸

出結(jié)果是[]oA)0123B)04010C)04515D)14515

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

知識(shí)點(diǎn)腦析:枚舉的語(yǔ)法規(guī)定,當(dāng)枚舉元素沒(méi)有賦值時(shí),如果前面沒(méi)有其他枚舉元

素,其值為0;如果前面有其他枚舉元素,其值為前一個(gè)元素的值加1,所以his

的值為5,her的值為15。

53^以下程序運(yùn)行后的輸出結(jié)果是【】。#inckide<stdio,h>#include<stating,h

>voidfun(char*s,intk){inti;for(i=p;i<k-l;i++)s[i]=s[i+2];)main(){chars

[]="abedefg";fun(s,3,strlen(s));puts(s);}

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

知識(shí)點(diǎn)解析:fun函數(shù)中for循環(huán)語(yǔ)句的作用是將s所指的字符串中從第5個(gè)字符到

第7個(gè)字符依次向前移動(dòng)兩個(gè)位置。輸出結(jié)果為abcfg。

54、以下程序運(yùn)行后的輸出結(jié)果是[]。#include<stdio,h>#include<string,h

>main(){charch[]="abc".,x[3][4]:inti:for(i=0;i<3:i++)strcpy(x[i],ch):for(i=0;i

<3:i++)printf("%sM,&x[i][i]);printf(M\n")}

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

知識(shí)點(diǎn)解析:for循環(huán)用strcpy函數(shù)將字符數(shù)組ch的值“abc”,分別復(fù)制給二維數(shù)組

x的每一行,然后通過(guò)for循環(huán)先后打印出以x⑼⑼,x[l][l],x⑵⑵開(kāi)頭的字符

串“abe”,“be”,“c“,所以輸出結(jié)果為:abcbcco

55、以F程序運(yùn)行后輸出結(jié)果是【】。#include<stdio,h>voidswap(inty)

{intt;t=x;x=y;y=t:printf(n%d%dH,x,y);}main(){ihta=3,b=4:swap(a,b);

prinff(n%d%d",a,b);)

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

知識(shí)點(diǎn)解析:程序?qū)⒆兞縜,b的值傳給函數(shù)sw即的形參x,y,并在函數(shù)中kx,

y的值進(jìn)行交換,所以在函數(shù)swap中輸出x,y的值4,3,由于c程序的函數(shù)是僧

傳遞,實(shí)參a,b的值不會(huì)隨形參x,y的改變而改變,所以在主函數(shù)中輸出的a,

b的值為3,4。

56、以下程序運(yùn)行后的輸出結(jié)果是[1o#include<stdio,h>main()charcl,c2;

fbr(cl='0;c2='9';cl<c2;cl++,c2-)printf(n%c%cH,cl,c2);printf("\n");)

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

知識(shí)點(diǎn)解析:程序通過(guò)for循環(huán)將字符U?9從前向后,同時(shí)從后向前依次輸出,

所以輸出結(jié)果為:0918273645。

57、以下程序運(yùn)行后輸出結(jié)果是[]o#include<stdio,h>main(){inta,b,c;

a=10;b:20;c=(a%b<1)II(a/b>1);printf("%d%d%d\n",a,b,c);}

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

知識(shí)點(diǎn)解析:程序中(2%6<1)||(3/6>1)的運(yùn)算順序?yàn)橄人憷ㄌ?hào)-算術(shù)運(yùn)算符-關(guān)系

運(yùn)算符一邏輯運(yùn)算符。首先計(jì)算a%b=10,a/b=0,因?yàn)閍%bV1為假(0),a/b>l也

為假(0),所以整個(gè)表達(dá)式的結(jié)果為假(0),最后輸出a,b,c的值為10200。

58、以下程序中函數(shù)huiwen的功能是檢查一個(gè)字符串是否是回文,當(dāng)字符串是回

文時(shí),函數(shù)返回字符串“yes!”,否則函數(shù)返回字符串“no!”,并在主函數(shù)中輸出。所

謂回文即正向與反向的嫁寫都一樣,例如:adsdao請(qǐng)?zhí)羁铡?include<stdio,h>

#include<string,h>char*huiwen(char*str){char*pl,*p2;inti,l=0;pl=slr;p2=

[1;for(i=0;i<=strlen(str)/2;i++)if(*pl++!=*p2—){t=1;breakif([])

return("yes!");elsereturn(nno!");}main()(charstr[50];printf("laput:");scanf;"%

s”,str);printf("%s\n",[]);

標(biāo)準(zhǔn)答案:p1+(stfien(str)-1)或str+(strlen(str)-1)t==0或!thuiwen(str)或(strlen(str)-

l)+pl或(stden(str)-l)+str

知識(shí)點(diǎn)解析:回文字符串是指正向與反向拼寫都一樣。由huiwen函數(shù)可知,第三

處應(yīng)該填寫調(diào)用函數(shù)huiwen(str)。在函數(shù)huiwen中,執(zhí)行P1=str;使pl指向字符

串str中第一個(gè)字符的地址,則第一處應(yīng)該使p2指句字符串str中最后-一個(gè)字符的

地址,故填pl+(sklen(su■)-l)或str+(slrlen(slr)-l)。本題要求如果是回文,則返回

"yes!%否則,返回“no!”,故當(dāng)1=0時(shí),說(shuō)明字符串sir為回文,所以第二處應(yīng)填

t==0或!t。

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

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

10分。)

1、十進(jìn)制數(shù)555的十六進(jìn)制數(shù)表示形式為o

A、220

B、22A

C、22B

D、22C

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

知識(shí)點(diǎn)解析:本題考查不同進(jìn)制數(shù)間的轉(zhuǎn)換,(555)10=(1000101011)2=(22B)16。

2、計(jì)算機(jī)的存儲(chǔ)器完整的應(yīng)包括o

A、內(nèi)存儲(chǔ)器與外存儲(chǔ)器

B、磁盤、磁帶與光盤

C、RAM與ROM

D、軟盤與硬盤

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

知識(shí)點(diǎn)解析:存儲(chǔ)器包存內(nèi)部存儲(chǔ)器和外部存儲(chǔ)器,而選項(xiàng)B、D只能統(tǒng)稱為外部

存儲(chǔ)器,選項(xiàng)C屬于內(nèi)部存儲(chǔ)器。

3、在具有n(n>l)個(gè)結(jié)點(diǎn)的完全二叉樹(shù)中,結(jié)點(diǎn)i(2i>n)的左孩子結(jié)點(diǎn)是_____。

A、2i

B、2i+l

C、不存在

D、2i-l

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

知識(shí)點(diǎn)解析:完全二叉樹(shù)中葉子結(jié)點(diǎn)一定在最后一層或兩層。n個(gè)結(jié)點(diǎn)的完全二叉

樹(shù)中,其層數(shù)最多為log2n+l。結(jié)點(diǎn)i與雙親的關(guān)系是i*時(shí),i的雙親是

trunc(i/2)o結(jié)點(diǎn)i與子女的關(guān)系是:若2ign,則i的左孩子是標(biāo)號(hào)2i的結(jié)點(diǎn),若2i

>n,則不存在左孩子;若2i+lSn,則i的右孩子是標(biāo)號(hào)2i+l的結(jié)點(diǎn),若2i+l>

n,則該結(jié)點(diǎn)不存在右孩子。

4、結(jié)構(gòu)化程序流程圖中一般包含3種基本結(jié)構(gòu)。下述結(jié)構(gòu)中,不屬于其基

本結(jié)構(gòu)。

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

B、嵌套結(jié)構(gòu)

C、循環(huán)結(jié)構(gòu)

D、條件結(jié)構(gòu)

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

知識(shí)點(diǎn)解析:結(jié)構(gòu)化程序流程圖中包括順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)3種基本結(jié)

構(gòu),而不包含嵌套結(jié)構(gòu)。

5、計(jì)算機(jī)中,能夠用來(lái)與外存交換信息的是o

A、鍵盤

B、RAM

C、顯示器

D、ROM

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

知識(shí)點(diǎn)解析:RAM中存儲(chǔ)著當(dāng)前使用的程序、數(shù)據(jù)、中間結(jié)果和與外存交換的數(shù)

據(jù),CPU根據(jù)需要可以直接讀/寫RAM中的內(nèi)容。

6、堆排序是一種排序。

A^插入

B、選擇

C、交換

D、歸并

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

知識(shí)點(diǎn)解析:堆排序是一種選擇排序。選擇排序有直接選擇排序和堆排序兩種。

7、瀑布模型適合于o

A、大型軟件系統(tǒng)開(kāi)發(fā)

B、中型軟件系統(tǒng)開(kāi)發(fā)

C、小型軟件系統(tǒng)開(kāi)發(fā)

D、大、中、小型軟件系統(tǒng)開(kāi)發(fā)

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

知識(shí)點(diǎn)解析:根據(jù)瀑布模型的特點(diǎn)(連續(xù)無(wú)反饋)是對(duì)于每一個(gè)階段來(lái)說(shuō),前一個(gè)階

段工作的正確無(wú)誤是至關(guān)重要的。因此,瀑布模型不能很好地適應(yīng)那些需求不易確

定和多變的軟件項(xiàng)目的開(kāi)發(fā)。由于大項(xiàng)目在軟件開(kāi)發(fā)的前期階段,人們很難詳細(xì)地

了解系統(tǒng)的許多細(xì)節(jié),從而在項(xiàng)目進(jìn)行過(guò)程中常會(huì)出現(xiàn)需求變化。因此,瀑布模型

適用于小系統(tǒng)開(kāi)發(fā)項(xiàng)目,而不適用于大、中型軟件系統(tǒng)開(kāi)發(fā).

8、在多媒體計(jì)算機(jī)系統(tǒng)中,不能存儲(chǔ)多媒體信息的是。

A、光盤

B、磁盤

C、磁帶

D、光纜

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

知識(shí)點(diǎn)解析:光纜是多媒體信息的傳輸通道,不能存儲(chǔ)多媒體信息。

9、對(duì)一個(gè)關(guān)系投影操作以后,新關(guān)系的元組個(gè)數(shù)原來(lái)關(guān)系的元組個(gè)數(shù)。

A、小于

B、小于或等于

C、等于

D、大于

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

知識(shí)點(diǎn).析:投影操作是從關(guān)系中選擇某些列,投影后消去了某些屬性,就可能出

現(xiàn)重復(fù)元組,根據(jù)關(guān)系的性質(zhì),應(yīng)消去這些完全相同的元組。這樣使得新關(guān)系的元

組數(shù)小于或等于原來(lái)的元組數(shù)。

10、下列關(guān)于“數(shù)據(jù)庫(kù)系統(tǒng)(DBS)”的敘述中,正確的一條是______o

A、DBS是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成

B、DBS是幫助用戶建立、使用和管理數(shù)據(jù)庫(kù)的一種計(jì)算機(jī)軟件

C、DBS是用戶建立的若干數(shù)據(jù)庫(kù)文件的集合

D、DBS是一種新穎的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)

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

知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)系統(tǒng)DBS是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成。數(shù)

據(jù)庫(kù)系統(tǒng)是一種帶有數(shù)據(jù)庫(kù)的綜合系統(tǒng),它包括硬件、軟件(如操作系統(tǒng)、數(shù)據(jù)庫(kù)

管理系統(tǒng)、編譯系統(tǒng)及應(yīng)用開(kāi)發(fā)工具軟件等)、數(shù)據(jù)庫(kù)以及開(kāi)發(fā)者和使用者。

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

分。)

11、以下運(yùn)算符中優(yōu)先級(jí)最高的運(yùn)算符是_____O

A^++

B、?:

C、!二

D、&&

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

知識(shí)點(diǎn)解析:四個(gè)運(yùn)算符的優(yōu)先級(jí)由高到低依次是:++,&&,?:,!=。

12、下列4組選項(xiàng)中,均不是C語(yǔ)言關(guān)鍵字的選項(xiàng)是。

A、definesumtype

B、getccharprintf

C>includescanfcase

D、whilegopow

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

知識(shí)點(diǎn)解析:本題各選項(xiàng)中的關(guān)鍵字只有三個(gè):char,case,whileo

13、已知各變量的類型說(shuō)明如下:intk,a,b;unsignedlongw=5;doublex=142;則以

下不符合c語(yǔ)言語(yǔ)法的表達(dá)式是o

A、x%(-3)

B、w+=-2

C>k=(a=2,b=3,a+b)

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

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

知識(shí)點(diǎn)解析:求余運(yùn)算符“%”為雙目運(yùn)算符,要求兩個(gè)操作數(shù)都是整型。

14、表達(dá)式18/4*sqrt(4.D)/8值的數(shù)據(jù)類型為,

A^int

B、float

C、double

D^不確定

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

知識(shí)點(diǎn)解析:根據(jù)數(shù)據(jù)類型轉(zhuǎn)換時(shí)的就長(zhǎng)轉(zhuǎn)換規(guī)則,可以得到最后的結(jié)果應(yīng)是實(shí)

型。

15、設(shè)a=12,a定義為整型變量。表達(dá)式a+=a-=a*二a的值為。

A、12

B、144

C、0

D、132

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

知識(shí)點(diǎn)解析:表達(dá)式a+二a-=a*=a的運(yùn)算方向是自右向左,即先計(jì)算a*=a,a值為

a*a=144,再計(jì)算a-=a,a值為a-a=O,再計(jì)算計(jì)a+=a,故表達(dá)式和a的值都為

a+a=0o

16、在C語(yǔ)言中,合法的字符常量是_____。

A、)081

B、,\x43,

C、,ab,

D、\0

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

知識(shí)點(diǎn)解析:選項(xiàng)A錯(cuò)在表示轉(zhuǎn)義字符的三位八進(jìn)制數(shù)中不能出現(xiàn)8,選項(xiàng)C錯(cuò)

在字符串要用雙引號(hào)括起,選項(xiàng)D錯(cuò)在單個(gè)字符應(yīng)用單引號(hào)括起。選項(xiàng)B表示用

兩位16進(jìn)制數(shù)代表轉(zhuǎn)義字符。

17、以下程序片段的輸出結(jié)果是______ocharstr[]=,'abc\n\012\\Vn,;

printf("%d",strlen(slr));

A、4

B、5

C、6

D、7

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

知識(shí)點(diǎn)解析:abc后的四個(gè)字符都是由反斜線引出的轉(zhuǎn)義字符,\n是換行符,\012

也是換行符,\\表示反斜線本身,'”表示雙引號(hào),因此,一共是7個(gè)字符。

18、假定有以下變量定義,則能使值為3的表達(dá)式是ointk=7,x=12;

A、x%=(k%=5)

B、x%=(k-k%5)

C、x%=k-k%5

D、(x%=k)-(k%=5)

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

知識(shí)點(diǎn)解析:選項(xiàng)A,(k%=5)=2,(x%=2)=0;選項(xiàng)B,(k-k%5)=7-2=5,

(x%=5)=2:選項(xiàng)C,(k%5)=2,k-2=7-2=5,(x%5)=2;選項(xiàng)D,(x%=7)=5,

(k%=5)=2,5-2=3o

19、下面程序運(yùn)行的結(jié)果是______omain(){intx,y,z;x=O;y=z=-l;x+=-z—y;

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

A、x=4

B、x=0

C、x=2

D、x=3

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

知識(shí)點(diǎn)解析:表達(dá)式“x+=?z---y”等價(jià)于“x=x+(-z-(-(-y)))=0+(1-(-1))=2"。

20、下面語(yǔ)句中不能定義一個(gè)數(shù)組,元素值依次分別為1,1,1,0,0的是

A、staticinta|5]={1,1,1,0,0);

B、staticinta[5]={1,1,1);

C^staticinta[]=(1,1,1,0,0);

D、staticinta[5]={1*2,0*3};

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

知識(shí)點(diǎn)解析:不可能用表達(dá)式的方式來(lái)給數(shù)組元素一一賦值。

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

分。)

21、設(shè)a、b、c、d、m、n均為int型變量,且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語(yǔ)言中比較表達(dá)式的運(yùn)算結(jié)果為0或1。0代表不成立,1表示成

立。

22、以卜,程序的輸出結(jié)果是?main(){ininum=O;while(num<=2){num++;

printf("%d\n",num);})

A、1234

B、123

C、I2

D、1

標(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)條件3V=2,不

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

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

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)。goto語(yǔ)句可跳出多層循環(huán),如果在函數(shù)的循環(huán)體內(nèi)使用return語(yǔ)句,就

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

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

A、typedefvlint;

B、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、縮排位置相同的if

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ù)傳遞方式是

A、地址傳遞

B、單向值傳遞

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

D、傳遞方式由用戶指定

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

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

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

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

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

A、int

B、不確定

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)中,非法的字符常量是。

A、"

B、,\17,

C、\n

D、'\xaa'

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

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

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

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

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

A、200100

B、100100

C、100200

D、200200

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

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

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

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

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

A^i=*p;

B、*p=*&j;

C^i=&j;

D、i=**p;

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

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

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

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

進(jìn)行*迄算,取所得地址里面的值,故*&j與j等價(jià)。

31、假定int類型變量占用兩個(gè)字節(jié),若有定義:intxU。尸{。,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]={{1,2,3),(4,5,6));intm,*p;

p=&a[0][0];m=p[4];

A、4

B、5

C、3

D、不確定

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

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

數(shù)組a的首元素的地址,P[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;

printf(,,%d%d%dH,a[2],a[5],a[8]);}

A、258

B、741

C、852

D、369

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

知識(shí)點(diǎn)解析:在本題運(yùn)行時(shí)主要注意的是當(dāng)i=9時(shí),a[i]=10-9=l;i=8時(shí),a[i]=10-

8=2;i=7時(shí),a[i]=10-7=3;.......依此類推,直到i=0時(shí),a[i]=10-0=10:此時(shí),i的

值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a⑵,a[5],a⑻分x偽8,5,

20

34、下面程序的輸出結(jié)果為?#include<slring.h>main(){char

pI|7]="abc",p2||="ABC",str|50]=nxyz";strcpy(str,strcat(pI,p2));printf(n%s",str);)

A^xyzabcABC

B、abcABC

C、xyzabc

D、xyzABC

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

知識(shí)點(diǎn)解析:strcpy(strl,si):作用是將字符串si拷貝到字符數(shù)組strl中去。

strcat(字符數(shù)組1,字符數(shù)組2):把字符串2接到字符串1的后面,結(jié)果放在字符

數(shù)組1中,函數(shù)調(diào)用后返回字符數(shù)組1的地址。本題定義了三個(gè)字符數(shù)組

pl,p2,slr,strcat(pl,p2)函數(shù)的作用是將字符串?dāng)?shù)組p2接到字符串pl的后面,結(jié)果

放在字符數(shù)組pl,再通過(guò)strcpy。函數(shù)將該字符串拷貝到str數(shù)組中,原str數(shù)組中

的字符串xyz被覆蓋,因此打印輸出字符串str即可得到abcABCo

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

A、inta[2][3];

intb[][3]={0,l,2};

C.intc[100][100]={0);

D.intd[3][]={{l,2),{l,2,3),{l,2,3,4));

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

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

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

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

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

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

36、以下程序的輸出結(jié)果是_____omain(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7));

printf(',%d%d%d%d\n,,,a[O][3],a[1][2],a[2][1];a[3][0]);}

A、650

B、1470

C、5430

D、輸出值不定

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

知識(shí)點(diǎn)解析:對(duì)未給出初始值的整數(shù)數(shù)組元素,被默認(rèn)初始化為零。

37、在說(shuō)明語(yǔ)句int旺();中,標(biāo)識(shí)符f代表的是o

A、一個(gè)用于指向整型數(shù)據(jù)的指針變量

B、一個(gè)用于指向—維數(shù)組的行指針

C、一個(gè)用于指向函數(shù)的指針變量

D、一個(gè)返回值為指針型的函數(shù)名

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

知識(shí)點(diǎn)解析:帶回指針值的函數(shù),其一般定義形式為:類型標(biāo)識(shí)符*函數(shù)名(參數(shù)

表);例如,int*f(x,y);其中,f是函數(shù)名,調(diào)用它以后能得到一個(gè)指向整型數(shù)據(jù)的

指針(地址),x,y是函數(shù)f的形參。在f的兩側(cè)分別為*運(yùn)算符和()預(yù)算符,而()優(yōu)先

級(jí)高于*,因此「先與()結(jié)合,顯然是函數(shù)形式。這個(gè)函數(shù)前面有一個(gè)表示此函

數(shù)是指針型函數(shù)(函數(shù)值是指針)。前面的血表示返回的指針指向整型變量。

38、以下程序的輸出結(jié)果是______omain(){charst[20]="hello\0\t\V';

printf("%d%d\n",strlen(st),sizeof(st));}

A、99

B、520

C、1320

D、2020

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

知識(shí)點(diǎn)解析:C語(yǔ)言中字符串是以'(T字符結(jié)束的,且strlen()函數(shù)計(jì)算的是、(T字符

前的所有字符的個(gè)數(shù)。本題中strlen(sl)應(yīng)為5。數(shù)組定義以后系統(tǒng)就為其分配相應(yīng)

大小的內(nèi)存空間,而不論其中有沒(méi)有內(nèi)容。sizeof()函數(shù)是計(jì)算變量或數(shù)組的所分

配到的內(nèi)存空間的大小。所以本題的sizeof(st)為20o

39、以下程序運(yùn)行后的輸出結(jié)果是-intd=1;fnn(in

溫馨提示

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