2021-2022年山東省濱州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第1頁
2021-2022年山東省濱州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第2頁
2021-2022年山東省濱州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第3頁
2021-2022年山東省濱州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第4頁
2021-2022年山東省濱州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2021-2022年山東省濱州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.以下能正確定義字符串的語句是()。

A.charstr=“\x43”;

B.charstr[]=“\0”;

C.charstr=”;

D.charstr[]={‘\064’};

2.定義無符號(hào)整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是A)B)369C)0.369D)A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}

3.當(dāng)c的值不為0時(shí),在下列選項(xiàng)中不能正確將c的值賦給變量a、b的是()。

A.c=b=a;B.(a=c)||(b=c)C.(a=c)&&(b=c);D.a=c=b;

4.

5.設(shè)有定義“intx,y,z;”,且各變量已經(jīng)賦正整數(shù)值,則以下能正確表示代數(shù)式“”的C語言表達(dá)式是()。

A.1.0/x/y/zB.1/x*y*zC.1/(x*y*z)D.1/x/y/(double)z

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

A.x+1=yB.++x,y=x--C.x=x+10=x+yD.double(x)/10

7.下列選項(xiàng)中不是字符常量的是()。A.A.'\v'

B.'\x2a'

C.'a'

D."\0"

8.已知二叉樹后序遍歷序列是dabeC,中序遍歷序列是debaC,它的前序遍歷序列是()。

A.aChedB.deCabC.deabeD.Cedba

9.有以下程序:#include<stdio.h>#defineN8voidfun(int*x,inti){*x=*(x+i);)main(){inta[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=0;i<N/2;i++){printf(“%d”,a[i]);}printf(“\n”);}程序運(yùn)行后的輸出結(jié)果是()。A.1313B.2234C.3234D.1234

10.設(shè)數(shù)據(jù)結(jié)構(gòu)A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},則數(shù)據(jù)結(jié)構(gòu)A是()。

A.線性結(jié)構(gòu)B.樹形結(jié)構(gòu)C.圖狀結(jié)構(gòu)D.集合

11.

12.

13.以下敘述中正確的是

A.語句inta[4][3]={{1,2},{4,5}};是錯(cuò)誤的初始化形式

B.語句inta[4][3]={1,2,4,5};是錯(cuò)誤的初始化形式

C.語句inta[][3]={1,2,4,5};是錯(cuò)誤的初始化形式

D.在邏輯上,可以把二維數(shù)組看成是一個(gè)具有行和列的表格或矩陣

14.有以下程序:intfun(intn){if(n==l)returnl;elsereturn(n+fun(n一1)):}main{intx;scanf("%d",&x);x=fun(x);printf("%d\n",x):}執(zhí)行程序時(shí),給變量X輸入10,程序的輸出結(jié)果是()。A.55B.54C.65D.45

15.設(shè)char型變量x中的值為10100111,則表達(dá)式(2+x)(-3)的值為______。

A.10101001B.10101000C.11111101D.1010101

16.有以下程序執(zhí)行后的輸出結(jié)果是()。A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5

17.設(shè)有定義“doublea;chard;floatb;”,若想把1.2賦給變量a、字符‘k’賦給變量d、3.4賦給變量b,程序運(yùn)行時(shí)通過鍵盤輸入1.2k3.4并按<Enter>鍵,則以下正確的讀入語句是()。A.scanf(“%lf%c%f”,&a,&d,&b);

B.scanf(“%lf%c%f”,&a,&d,&b);

C.scanf(“%f%c%f”,&a,&d,&b);

D.scanf(“%f%c%f”,&a,&d,&b);

18.已知待排序的n個(gè)元素可分為n/k個(gè)組,每個(gè)組包含k個(gè)元素,且任一組內(nèi)的各元素均分別大于前一組內(nèi)的所有元素和小于后一組內(nèi)的所有元素,若采用基于比較的排序,其時(shí)間下界應(yīng)為()A.O(nlog2n)B.O(nlog2k)C.O(klog2n)D.O(klog2k)

19.在執(zhí)行inta[][3]={{1,2},{3,4}};語句后,a[1][2]的值是()

A.2B.4C.3D.0

20.有以下程序

#include<stdio.h>

main()

{intx=1,y=2,z=3;

if(x>y)

if(y<z)printf("%d",++z);

elseprintf("%d",++y);

printf("%d\n",x++);

}

程序的運(yùn)行結(jié)果是

A.A.331

B.41

C.2

D.1

二、2.填空題(20題)21.有以下程序段:

inta[l0]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;

b=p[5];

b中的值是【】。

22.若有定義語句chars[100],d[100];intj=0,i=0;且s中已賦字符串,請(qǐng)?zhí)羁找詫?shí)現(xiàn)拷貝。(注:不使用逗號(hào)表達(dá)式)

whi1e()s[i]){d[j]=【】:j++;}

d[j]=0;

23.己定義charch='$';inti=l,j;,執(zhí)行j=!ch&&ii++以后,i的值為【】。

24.常用的黑箱測(cè)試有等價(jià)類劃分法、【】和錯(cuò)誤推測(cè)法3種。

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

26.以下程序的功能是:從鍵盤輸入一字符串,要求將每個(gè)單詞中的第一個(gè)字母改成小寫(如果原來已是小寫字母,則不變),然后輸出轉(zhuǎn)換結(jié)果,補(bǔ)足所缺語句。

main()

{charstr[200];inti=0;

while((______=getchar())!='\n');

str[i-1)='\0';

for(i=0;str[i]!='\0';i++)

if((str[i-1]==''‖i==0)&&str[i]>='A'&&str[i]<='Z')

str[i]+=______;

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

}

27.若有定義:inta=10,b=8,c=4;然后順序執(zhí)行下列語句后,變量a中的值是()。c=(b-=(a-4));a=(c%2)+(b-1);

28.在面向?qū)ο蟮姆椒ㄖ校琠_____描述的是具有相似屬性與操作的一組對(duì)象。

29.若有定義intm=5,y=2,則執(zhí)行表達(dá)式y(tǒng)+=y-=m*=y后,y的值為【】。

30.設(shè)一棵完全二叉樹共有700個(gè)結(jié)點(diǎn),則在該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。

31.在對(duì)文件進(jìn)行操作的過程中,若要求文件的位置回到文件的開頭,應(yīng)當(dāng)調(diào)用的函數(shù)是【】函數(shù)。

32.對(duì)二叉排序樹進(jìn)行查找的方法是:用待查的值與根結(jié)點(diǎn)的值相比,若比根小,則繼續(xù)在【】子樹中找。

33.數(shù)據(jù)流的類型有______和事務(wù)型。

34.以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135,則輸出531,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{intn,s;

printf("Enteranumber:");scanf("%d",&n);

printf("Output:");

do

{s=n%10;printf("%d",s);();}

while(n!=0);

printf("\n");

}

35.軟件測(cè)試是保證軟件質(zhì)量的重要手段,而軟件測(cè)試的主要和重要的測(cè)試方法是通過測(cè)試數(shù)據(jù)和【】的設(shè)計(jì)來實(shí)現(xiàn)。

36.一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的【】。

37.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語言表達(dá)式是______。

38.以下程序段的輸出結(jié)果是【】。

inti=9;

prinff("%o\n",i);

39.以下程序運(yùn)行后的輸出結(jié)果是______。

main()

{inta=1,b=2,c=3;

if(c=A)printf("%d\n",C);

elseprintf("%d\n",B);

}

40.以下程序的輸出結(jié)果是【】。

main()

{inta=0;

a+=(a=8);

printf("%d\n",A);

}

三、1.選擇題(20題)41.C語言中各種基本數(shù)據(jù)類型的存儲(chǔ)空間長(zhǎng)度排列為()

A.char≤long≤int≤float≤double

B.double≤float≤long≤int≤char

C.char≤int≤long≤float≤double

D.float≤int≤long≤char≤double

42.需求分析階段的任務(wù)是確定()

A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費(fèi)用D.軟件系統(tǒng)功能

43.若有以下定義:intt[3][2];,能正確表示t數(shù)組元素地址的表達(dá)式是______。

A.&t[3][2]B.t[3]C.t[1]D.*t[2]

44.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):floatx=123.4567;則下列語句:printf("x=%5.2f",x);輸出的結(jié)果是()。

A.x=123.46B.123.4567C.x=123.4567D.123.46

45.下面能正確進(jìn)行字符串賦值操作的是

A.chars[5]={"ABCDE"};

B.chars[5]={′A′,′B′,′C′,′D′,′E′};

C.char*s;s="ABCDE";

D.char*s;scanf("%s",s);

46.下面敘述正確的是______。A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)

B.算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)

C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止

D.以上三種描述都不對(duì)

47.若有定義int(*pt)[3];,則下列說法不正確的是()。

A.int(*pt)[3]是一個(gè)數(shù)組指針

B.指針pt指向一個(gè)有3個(gè)整型變量的數(shù)組

C.定義了一個(gè)名為*pt、具有三個(gè)元素的整型數(shù)組

D.定義了一個(gè)名為pt的指針變量,它可以指向每行有三個(gè)整數(shù)元素的二維數(shù)組

48.變量m的值為8,m的地址為1010,若欲使p為指向m的指針變量,則下列賦值正確的是()。

A.&m=8B.*p=8C.*p=1010D.p=&m

49.C語言中邏輯表達(dá)式的值為()

A.0或1B.非零值或者零值C.ture或falseD.'ture'或者'false'

50.若有如下定義:structstu{charname[9];intage;floatscore;);structstuclass[10]={{"Li",17,67},{"Song",19,80},{"guo",18,79},{"Zhao",16,69}};根據(jù)上面的定義,若執(zhí)行“printf("%s:%d%f",class[3].name,class[3].age,class[3].score);"則輸出的正確結(jié)果是()。

A.Song:19,80.000000

B.Zhao:16,69.000000

C.Li:17,67Song;19,80

D.guo:18,79Zhao;16,69

51.以下只有在使用時(shí)才為該類型變量分配內(nèi)存的存儲(chǔ)類說明是______。

A.auto和static

B.auto和registet

C.register和static

D.extern和register

52.以下能正確定義二維數(shù)組的是()。

A.inta[][3];

B.inta[][3]={2*3};

C.inta[][3]={};

D.inta[2][3]={{1},{2},{3,4}}:

53.下列不是合法的C語言語句是()。

A.a=5B.{inti;i++;}C.;D.{;}

54.下列敘述中正確的是A.線性表是線性結(jié)構(gòu)B.棧與隊(duì)列是非線性結(jié)構(gòu)C.線性鏈表是非線性結(jié)構(gòu)D.二叉樹是線性結(jié)構(gòu)

55.對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較的次數(shù)為()。

A.125B.n/2C.nD.n+1

56.有如下函數(shù)調(diào)用語句func(rec1,rec2+rec3,(rec4,rec5));該函數(shù)調(diào)用語句中,含有的實(shí)參個(gè)數(shù)是______。

A.3B.4C.5D.有語法錯(cuò)誤

57.軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合

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

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

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

58.下列程序的輸出結(jié)果是______。main(){intn[5]={0,0,0},i,k=2;for(i=0;i

A.不確定的值B.2C.1D.0

59.相對(duì)于數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。

A.可重用性差B.安全性差C.非持久性D.冗余性

60.下列有關(guān)數(shù)據(jù)庫的描述,正確的是()

A.數(shù)據(jù)庫設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫管理系統(tǒng)

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

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

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

四、選擇題(20題)61.C源程序中不能表示的數(shù)制是

A.十進(jìn)制B.八進(jìn)制

C.二進(jìn)制D.十六進(jìn)制

62.有以下程序main(){union{charch[2];intd;}s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是______。A.21,43B.43,21C.43,00D.21,00

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

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

A.并B.自然連接C.笛卡爾積D.交

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

A.軟件測(cè)試的目的是確定程序中錯(cuò)誤的位置

B.軟件測(cè)試的目的是發(fā)現(xiàn)程序中的錯(cuò)誤

C.軟件調(diào)試的目的是發(fā)現(xiàn)程序中的錯(cuò)誤

D.軟件調(diào)試后一般不需要再測(cè)試

65.函數(shù)fseek的正確調(diào)用形式是()。

A.fseek(位移量,起始點(diǎn),文件類型指針);

B.fseek(文件類型指針,位移量,起始點(diǎn));

C.fseek(文件類型指針,起始點(diǎn),位移量);

D.fseek(起始點(diǎn),位移量,文件類型指針);

66.

67.以下程序的輸出結(jié)果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}

A.19B.17C.15D.12

68.

69.有下列程序:

main()

{char*P[]={"3697","2584");

inti,j;longnum=0;

for(i=0;i<2;i++)

{j=0;

while(p[i][j]!=\0)

{if((p[i][j]-t\0)%2)num=10*num+p[j][j]-0;

j+=2;

}

}

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

}

程序執(zhí)行后的輸出結(jié)果是()。

A.35B.37C.39D.3975

70.在關(guān)系數(shù)據(jù)庫系統(tǒng)中,當(dāng)關(guān)系的模型改變時(shí),用戶程序可以不變,這是

A.?dāng)?shù)據(jù)的物理獨(dú)立性B.?dāng)?shù)據(jù)的邏輯獨(dú)立性C.?dāng)?shù)據(jù)的位置獨(dú)立性D.?dāng)?shù)據(jù)的存儲(chǔ)獨(dú)立性

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

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

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

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

72.

73.

74.(75)下列不屬于結(jié)構(gòu)化分析的常用工具的是()

A.數(shù)據(jù)流圖

B.數(shù)據(jù)字典

C.判定樹

D.PAD圖

75.

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

A.線性表是由n個(gè)元素組成的一個(gè)有限序列

B.線性表是一種線性結(jié)構(gòu)

C.線性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件

D.線性表可以是空表

77.有以下程序:

main

{inti,j;

for(j=10;j<11;j++)

{for(i=9;i<j;i++)

if(!(j%i))break;

if(i==j-1)

printf("%d",j);

}

}

輸出結(jié)果是()。A.A.11B.10C.9D.1011

78.下面程序的運(yùn)行結(jié)果是()。

main

{

inty=5,x=14;y=((x=3*y,x+6),x-1);

printf("x=%d,y=%d",x,y);

}

A.x=27,y=27

B.x=12,y=13

C.x=15,y=14

D.x=y=27

79.下面程序的輸出結(jié)果是()。

#inclde<stdio.h>

#defineSUB(X,Y)(X)*Y

main()

{inta=3,b=4;

printf("%d\n",SUB(a++,b++));

}

A.12B.15C.16D.20

80.

有以下函數(shù):

charfun(char*p)

{returnP;}

該函數(shù)的返回值是()。

A.無確切的值B.形參p中存放的地址值C.一個(gè)臨時(shí)存儲(chǔ)單元的地址D.形參p自身的地址值

五、程序改錯(cuò)題(1題)81.下列給定程序的功能是:讀入一個(gè)整數(shù)n(2<;=n<;=5000),打印它的所有為素?cái)?shù)的因子。例如,若輸入整數(shù)1234,則應(yīng)輸出2,617。請(qǐng)修改程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不能增選或刪行,也不能更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),該函數(shù)的功能是:將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)的個(gè)數(shù)存放在形參n所指的存儲(chǔ)單元中。例如,若二維數(shù)組中的數(shù)據(jù)為:132333431424344415253545則一維數(shù)組中的內(nèi)容應(yīng)該是132333431424344415253545。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。試題程序:

參考答案

1.BC語言中,字符串是用一對(duì)雙引號(hào)標(biāo)識(shí)的字符序列,并用字符型數(shù)組來存放。C選項(xiàng)和D選項(xiàng)不屬于字符串,A選項(xiàng)定義的是一個(gè)字符變量str,但賦值字符串,顯然也不正確。故本題答案為B選項(xiàng)。

2.B

3.C選項(xiàng)A是先將a的值賦給變量b,再將變量b的值賦給變量c,不合題意;B選項(xiàng)中由于c的值不為0,在將c的值賦給變量a后,表達(dá)式a=c的值為1,不再對(duì)表達(dá)式b=c計(jì)算;對(duì)于c選項(xiàng),表達(dá)式a=c的值為1,再求表達(dá)式b=c的值為1,然后進(jìn)行邏輯與運(yùn)算;D選項(xiàng)將b的值賦給c后再賦給e,故選擇C選項(xiàng)。

4.D

5.A代數(shù)式“”的結(jié)果為小數(shù),轉(zhuǎn)為C語言的表達(dá)式必須是浮點(diǎn)數(shù)。A選項(xiàng)由于1.0為浮點(diǎn)數(shù),計(jì)算結(jié)果自動(dòng)轉(zhuǎn)換為浮點(diǎn)數(shù)。選項(xiàng)B、C、D的表達(dá)式均為0,因此只有選項(xiàng)A正確。故本題答案為A選項(xiàng)。

6.B不能將變量賦給表達(dá)式,故A、C選項(xiàng)錯(cuò)誤。D選項(xiàng)中強(qiáng)制類型轉(zhuǎn)換表達(dá)式應(yīng)寫成“(double)x/10”。故本題答案為B選項(xiàng)。

7.Dc語言規(guī)定,一個(gè)字符常量代表ASCII碼字符集里的一個(gè)字符,在群序中用單引號(hào)括起來,以便區(qū)分。'\v'表示的是豎向跳格:'kx2a'表示的是兩位十六迸制數(shù);'a'表示的是字符a對(duì)應(yīng)的ASCII碼值。"\0"用雙引號(hào)故不正確。

8.D二叉樹的遍歷有3種:前序、中序和后序。①前序遍歷訪問根結(jié)點(diǎn),然后按左右順序遍歷子結(jié)點(diǎn);②中序首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹;③后序遍歷首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點(diǎn)。本題根據(jù)后序和中序遍歷的結(jié)果可以得出二叉樹的結(jié)構(gòu),然后再對(duì)其進(jìn)行前序遍歷,正確答案選項(xiàng)為D。

9.C本題考查了宏定義與局部變量的區(qū)別,宏定義的作用范圍為整個(gè)程序,而變量的作用范圍只在定義它的函數(shù)體的部分,因此,主函數(shù)中定義的i與fun中的i互不相干。

10.A

11.D

12.B

13.D二維數(shù)組在初始化時(shí),可以省第1維,但是不可以省第2維??梢詾椴糠?jǐn)?shù)組元素初始化。A選項(xiàng)、B選項(xiàng)和C選項(xiàng)內(nèi)的初始化都沒有錯(cuò)誤。因此D選項(xiàng)正確。

14.A函數(shù)intfun(intn)的功能是求1+2+…+n的值并返回。所以執(zhí)行程序時(shí),給變量x輸入10后,執(zhí)行語句“x=fun(x);”,X的值將變?yōu)?到10中10個(gè)整數(shù)的累加和,即55。

15.D解析:異或運(yùn)算符(^)的運(yùn)算規(guī)則是:參加運(yùn)算的兩個(gè)相應(yīng)位同號(hào),則結(jié)果為0(假);異號(hào)則為1(真)。取反運(yùn)算符(-)的運(yùn)算規(guī)則是:對(duì)一個(gè)二進(jìn)制數(shù)按位取反,即將0變?yōu)?,1變?yōu)?。本題(-3)是對(duì)3(二進(jìn)制形式為00000011)按位取反即11111100。表達(dá)式(2+x)(-3)的值就等價(jià)于(00000010+10100111)^11111100,結(jié)果為01010101。

16.B

17.B變量a是double類型,輸入格式符為%lf;變量d是char類型,輸入格式符為%c;變量b是float類型,輸入格式符為%f,選項(xiàng)C、D錯(cuò)誤。由于輸入的數(shù)據(jù)之間使用空格間隔,因此scanf函數(shù)中的格式控制字符串中,格式字符之間也要使用空格。故本題答案為B選項(xiàng)。

18.B

19.D

20.D本題考查if-else語句的使用。if-else語句可以在條件為“真”或?yàn)椤凹佟睍r(shí)執(zhí)行指定的動(dòng)作,由if引導(dǎo)條件為“真”時(shí)執(zhí)行的操作;由else引導(dǎo)條件為“假”時(shí)執(zhí)行的操作。else語句要與上面最近的if語句進(jìn)行匹配,如果要嵌套調(diào)用if-else語句,需要將嵌套部分用{}括起來,避免程序報(bào)錯(cuò)。題目中給出了一個(gè)if語句和一個(gè)if-else語句,if-else語句為第一個(gè)if語句的子語句。首先執(zhí)行外層if語句,執(zhí)行條件為x>y,由于x=1,y=2,故該條件為假,不執(zhí)行if的子語句,直接執(zhí)行語句printf("%d\\n",x++);,該語句先輸出x的值,然后進(jìn)行x++操作。x的初始值為1,輸出結(jié)果為1。

21.99解析:p是一個(gè)指針變量,指向數(shù)組a的元素a[3],所以b=p[5]=a[5+3]=a[8]=9。

22.s[i++]s[i++]解析:本題中為了能實(shí)現(xiàn)字符串的拷貝,需要使字符數(shù)組s從頭到尾依次遍歷其所有元素。本題應(yīng)使用i的自增后置來實(shí)現(xiàn)。

23.11解析:本題中的ch是一個(gè)字符變量,其初始值為'$'(非0值即為真),所以!ch的結(jié)果為假,此時(shí)&&右邊的i++被“短路”,即不會(huì)被計(jì)算。由此可見,i的值不會(huì)改變,故本題應(yīng)該填1。

24.邊界值分析法邊界值分析法解析:黑箱測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例。常用的黑箱測(cè)試有等價(jià)類劃分、邊界值分析法和錯(cuò)誤推測(cè)法3種。

25.結(jié)構(gòu)結(jié)構(gòu)解析:路徑測(cè)試是白盒測(cè)試方法中的—種,它要求對(duì)程序中的每條路徑最少檢查一次,目的是對(duì)軟件的結(jié)構(gòu)進(jìn)行測(cè)試。

26.str[i++]32。str[i++]32。解析:while語句的循環(huán)控制條件既要將相應(yīng)元素賦予從鍵盤輸入的字符,又要改變?cè)氐南聵?biāo)值,以便接受下一個(gè)字符,可用下標(biāo)變量的后置加實(shí)現(xiàn);小寫字母的ASCII碼值比相對(duì)應(yīng)的大寫形式大32。

27.22解析:本題考查的是基本賦值運(yùn)算符和賦值表達(dá)式。表達(dá)式c=(b-=a-4)等價(jià)于c=(b=b-a+4)等價(jià)于c=b=2;表達(dá)式a(c%2+(b-1))等價(jià)于a=1+2-1=2;因此最后a的值為2。

28.類類解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的?duì)象稱為類,類是對(duì)象的抽象,對(duì)象是類的實(shí)例。

29.-16-16解析:將賦值運(yùn)算符右側(cè)的“表達(dá)式”的值賦給左側(cè)的變量,并且賦值運(yùn)算符按照“自右而左”的結(jié)合順序,本題表達(dá)式應(yīng)先算m的值為10,再運(yùn)算y的值為8,最后計(jì)算y=y+(-8)=-8+(-8)=-16。

30.350350解析:在任意一棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。在根據(jù)完全二叉樹的定義,在一棵完全二叉樹中,最多有1個(gè)度為1的結(jié)點(diǎn)。因此,設(shè)一棵完全二叉樹具有n個(gè)結(jié)點(diǎn),若n為偶數(shù),則在該二叉樹中有n/2個(gè)葉子結(jié)點(diǎn)以及n/2-1個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn):若n為奇數(shù),則在該二叉樹中有[n/2]+1個(gè)葉子結(jié)點(diǎn)以及[n/2]個(gè)度為2的結(jié)點(diǎn),沒有度為1的結(jié)點(diǎn)。本題中,完全二叉樹共有700個(gè)結(jié)點(diǎn),700是偶數(shù),所以,在該二叉樹中有350個(gè)葉子結(jié)點(diǎn)以及349個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn)。所以,本題的正確答案為350。

31.rewind()或fseek()rewind()或fseek()

32.左左解析:對(duì)二叉排序樹進(jìn)行查找,若待查的值與根結(jié)點(diǎn)的值相比,若比根小,則繼續(xù)在左子樹中找;若比根大,則在右子樹中找。

33.變換型變換型

34.n/=10n/=10解析:正整數(shù)按逆序輸出,即從低位到高位順序取出該正整數(shù)個(gè)數(shù)位的值輸出。“s=n%10”為除10取余,第一次循環(huán)取出該正整數(shù)小數(shù)位,為順序移位,該空應(yīng)為n/=10。

35.測(cè)試實(shí)例測(cè)試實(shí)例解析:進(jìn)行軟件測(cè)試時(shí),應(yīng)精心設(shè)計(jì)測(cè)試實(shí)例和選擇測(cè)試數(shù)據(jù),以對(duì)系統(tǒng)進(jìn)行全面測(cè)試。

36.可重用性繼承的優(yōu)點(diǎn):相似的對(duì)象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。

37.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”,即整數(shù)x的絕對(duì)值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語言表達(dá)式為:(x>-5)&&(x<5)。

38.1111解析:格式字符。是以八進(jìn)制無符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0),因?yàn)檎麛?shù)9的八進(jìn)制為11,所以輸出結(jié)果為11。

39.11解析:本題是一個(gè)陷阱題。在if語句的判斷表達(dá)式中,使用的不是邏輯運(yùn)算符==而是賦值運(yùn)算符=,使該表達(dá)式返回的結(jié)果正好相反。如果是c==a,則結(jié)果為假。但是c=a則是將a賦給c,且表達(dá)式的結(jié)果是賦值之后的c的值,因此結(jié)果為1是真.故最后輸出c的值1。

40.1616解析:在程序中首先將8賦值給變量a,然后在進(jìn)行復(fù)合賦值運(yùn)算。即a=a+a=8+8=16,所以該空格處應(yīng)該填16。

41.C

42.D解析:結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說明書

評(píng)析,需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織,部門、企業(yè)等),充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能.選項(xiàng)A)軟件開發(fā)方法是在總體設(shè)計(jì)階段完成的任務(wù);選項(xiàng)B)軟件開發(fā)工具是在實(shí)現(xiàn)階段需完成的任務(wù):選項(xiàng)C)軟件開發(fā)費(fèi)用是在可行性研究階段需完成的任務(wù)。

43.C解析:選項(xiàng)A和B兩個(gè)表達(dá)式都越界了;選項(xiàng)D中,*t[2]是目標(biāo)變量,即—個(gè)整型值,而不是地址值。

44.A解析:本題考查printf函數(shù)的格式?!?5.2f”格式符中的“f”表示以帶小數(shù)點(diǎn)的形式輸出單精度或者雙精度數(shù):“5”表示指定數(shù)據(jù)輸出寬度為5;“.2”表示指定輸出數(shù)據(jù)小數(shù)位占2位數(shù),并對(duì)截去的第一位小數(shù)做四舍五入處理。

45.C解析:考查了一維字符數(shù)組的定義和初始化。選項(xiàng)A)和B)定義的數(shù)組空間太小,至少應(yīng)該為6個(gè)字符的長(zhǎng)度才可以。選項(xiàng)D)中的指針s未賦初值,所以指向一個(gè)不確定的地址,因而不能用scanf輸入數(shù)據(jù)到這一指針?biāo)赶虻牡刂分小?/p>

46.C解析:算法的執(zhí)行效率與數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)都有很緊密的關(guān)系。算法的空間復(fù)雜度是指執(zhí)行該算法需要的內(nèi)存空間,并非算法程序中指令的條數(shù)。算法一般應(yīng)該具有以下4個(gè)特征:可行性、確定性、有窮性和擁有足夠情報(bào)。其中,有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止,否則可能失去實(shí)際意義。

47.D解析:首先,pt跟*結(jié)合,所以是一個(gè)指針,所指向的對(duì)象是含有3個(gè)元素的數(shù)組。所定義的指針沒加const,所以是個(gè)指針變量,還可以指向類似對(duì)象的其他元素,也就是說還可以指向其他含有3個(gè)元素的數(shù)組。

48.D解析:指針變量是通過指向變量地址來指定變量值的。這里只要取m的地址賦給p,即可實(shí)現(xiàn)使p為指向m的指針變量。

49.A

50.B解析:class[10]是結(jié)構(gòu)體型的數(shù)組,class[3]為{'Zhao',16,69}。

51.B

52.B解析:(1)二維數(shù)組的定義

二維數(shù)組的定義方式為:類型說明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]。

二維數(shù)組在內(nèi)存中是按行優(yōu)先的順序存放的,即先存放第一行的元素,再存放第二行的元素,依次類推。

(2)二維數(shù)組元素的引用

二維數(shù)組元素的表示形式為:數(shù)組名[下標(biāo)][下標(biāo)],下標(biāo)可以是整型常量或整型表達(dá)式其范圍為:0~(常量表達(dá)式-1)。

(3)二維數(shù)組的初始化

可以用以下方法對(duì)二維數(shù)組元素初始化:

①分行給二維數(shù)組賦初值

例如:inta[2][2]={{1,2},{3,4}};

這種賦值方式比較直觀,把第1個(gè)大括號(hào)內(nèi)的數(shù)據(jù)賦給第1行的元素,第2個(gè)大括號(hào)內(nèi)的數(shù)據(jù)賦給第2行的元素,即按行賦值。

②可以將所有數(shù)據(jù)寫在一個(gè)大括號(hào)內(nèi),按數(shù)組排列的順序?qū)Ω鱾€(gè)元素賦初值。

③可以對(duì)部分元素賦初值,沒有初始化的元素值為0。

④如果對(duì)全部數(shù)組元素賦初值,則定義數(shù)組時(shí)對(duì)第一維的長(zhǎng)度可以不指定,但第二維的長(zhǎng)度不能省略。

53.A解析:選項(xiàng)A)是一個(gè)表達(dá)式,它后面沒有分號(hào)結(jié)尾(C語言中規(guī)定語句必須以分號(hào)結(jié)束),所以它不是語句;選項(xiàng)B)用一個(gè)花括號(hào)把幾條語句括起來了,這是一個(gè)復(fù)合語句;選項(xiàng)C)中只有一個(gè)分號(hào),是一個(gè)空語句;選項(xiàng)D)是個(gè)復(fù)合語句,也是一個(gè)空語句。

54.A根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件:1,有且只有一根節(jié)結(jié)點(diǎn),2,每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱線性表。所以線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。

55.CC。【解析】對(duì)線性表進(jìn)行順序查找時(shí),從表中的第一個(gè)元素開始,將給定的值與表中逐個(gè)元素的關(guān)鍵字進(jìn)行比較,直到兩者相符,查找到所要找的元素為止。在最壞情況下,要查找的元素是表的最后一個(gè)元素或查找失敗,這兩種情況都需要將這個(gè)元素與表中的所有元素進(jìn)行比較,因此比較次數(shù)為n。

56.A解析:(rec4,rec5)是逗號(hào)表達(dá)式,它的值是rec5的值。所以該函數(shù)調(diào)用語句含有的實(shí)參個(gè)數(shù)是3。

57.B解析:耦合性和內(nèi)聚性足模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn)。內(nèi)聚性是一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度量,作為軟件結(jié)構(gòu)設(shè)計(jì)的設(shè)計(jì)原則,要求每個(gè)模塊的內(nèi)部都具有很強(qiáng)的內(nèi)聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個(gè)模塊與其他模塊的耦合性越強(qiáng)則該模塊的獨(dú)立性越弱。一般優(yōu)秀的軟件設(shè)計(jì)應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。

58.D

59.D解析:文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨(dú)立的,因此相對(duì)于數(shù)據(jù)庫系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個(gè)缺點(diǎn),數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡(jiǎn)稱為數(shù)據(jù)依賴)。注意:文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫系統(tǒng)三代的特點(diǎn)。

60.BB)【解析】數(shù)據(jù)庫設(shè)計(jì)的目的實(shí)質(zhì)上是設(shè)計(jì)出滿足

\n實(shí)際應(yīng)用需求的實(shí)際關(guān)系模型。數(shù)據(jù)庫技術(shù)的主要目的是有效地管理和存取大量的數(shù)據(jù)資源,包括:提高數(shù)據(jù)的共享性,使多個(gè)用戶能夠同時(shí)訪問數(shù)據(jù)庫中的數(shù)據(jù);減小數(shù)據(jù)的冗余,以提高數(shù)據(jù)的一致性和完整性:提供數(shù)據(jù)與應(yīng)用程序的獨(dú)立性,從而減少應(yīng)用程序的開發(fā)和維護(hù)代價(jià)。

61.C本題考查C語言基礎(chǔ)知識(shí),C語言中只能夠表示十進(jìn)制整數(shù)、八進(jìn)制整數(shù)和十六進(jìn)制整數(shù)。

62.A結(jié)構(gòu)體和共用體;在“聯(lián)合”中,各成員共享一段內(nèi)存空間,一個(gè)聯(lián)合變量的長(zhǎng)度等于各成員中最長(zhǎng)的長(zhǎng)度。應(yīng)該說明的是,這里所謂的共享不是指把多個(gè)成員同時(shí)裝入一個(gè)聯(lián)合變量?jī)?nèi),而是指該聯(lián)合變量可被賦予任一成員值,但每次只能賦一種值,賦入新值則沖去舊值

63.D關(guān)系R與s經(jīng)交運(yùn)算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的共有元組組成的,記為RnS。

64.B軟件測(cè)試的目的是為了發(fā)現(xiàn)程序中的錯(cuò)誤,而軟件調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤,改正以后還需要再測(cè)試。

65.B解析:改變文件位置的指針函數(shù)fseek()的調(diào)用形式為:fseek(fp,offset,position);。fseek函數(shù)參數(shù)說明:“fp”是指

溫馨提示

  • 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. 人人文庫網(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)論