2021-2022年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第1頁(yè)
2021-2022年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第2頁(yè)
2021-2022年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第3頁(yè)
2021-2022年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第4頁(yè)
2021-2022年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(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)介

2021-2022年內(nèi)蒙古自治區(qū)巴彥淖爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.

2.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)劃分原則是()。

A.記錄長(zhǎng)度B.文件的大小C.聯(lián)系的復(fù)雜程度D.數(shù)據(jù)之間的聯(lián)系方式

3.

4.下面關(guān)于線性表的敘述中,錯(cuò)誤的是哪一個(gè)()。

A.線性表采用順序存儲(chǔ),必須占用一片連續(xù)的存儲(chǔ)單元

B.線性表采用順序存儲(chǔ),便于進(jìn)行插入和刪除操作

C.線性表采用鏈?zhǔn)酱鎯?chǔ),不必占用一片連續(xù)的存儲(chǔ)單元

D.線性表采用鏈?zhǔn)酱鎯?chǔ),便于進(jìn)行插入和刪除操作

5.有定義:“inta=2,b=3,c=4;”,則下列選項(xiàng)中值為0的表達(dá)式是()。A.(!a==1)&&(!b==0)B.(a<b)&&!c‖1C.a&&bD.a||(b+b)&&(c-a)

6.算法的時(shí)間復(fù)雜度是指A.算法的執(zhí)行時(shí)間B.算法所處理的數(shù)據(jù)量C.算法程序中的語(yǔ)句或指令條數(shù)D.算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)

7.有以下程序main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序運(yùn)行后的輸出結(jié)果是(選項(xiàng)D中的第一行是空行)A.n/NoYes/NoB./NoYesYesC.n/No/NoD.Yes/No

8.可用作C語(yǔ)言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof

9.

讀取二進(jìn)制文件的函數(shù)調(diào)用形式為:fread(buffersize,count,fp);,其中buffer代表的是()。

A.一個(gè)文件指針,指向待讀取的文件

B.一個(gè)整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)

C.一個(gè)內(nèi)存塊的首地址,代表讀人數(shù)據(jù)存放的地址

D.一個(gè)內(nèi)存塊的字節(jié)數(shù)

10.對(duì)于循環(huán)隊(duì)列()。

A.無(wú)法判斷隊(duì)列是否為空B.無(wú)法判斷隊(duì)列是否為滿C.隊(duì)列不可能滿D.以上說(shuō)法都不對(duì)

11.設(shè)有序表中的元素為(13,18,24,35,47,50,62),則在其中利用二分法查找值為24的元素需要經(jīng)過(guò)()次比較容易

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

12.

13.有以下程序

#include<stdio.h>

voidfun(char*t,char*s)

{while(*t!=0)t++;

while((*t++=*s++)!=0);

}

main()

{charss[10]="acc",aa[10]="bbxxyy";

fun(ss,aa);printf("%s,%s\n",ss,aa);

}

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

A.accxyy,bbxxyy

B.acc,bbxxyy

C.accxxyy,bbxxyy

D.accbbxxyy,bbxxyy

14.下列描述中正確的是()。

A.軟件工程只是解決軟件項(xiàng)目的管理問(wèn)題

B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問(wèn)題

C.軟件工程的主要思想是強(qiáng)調(diào)在軟件開(kāi)發(fā)過(guò)程中需要應(yīng)用工程化原則

D.軟件工程只是解決軟件開(kāi)發(fā)過(guò)程中的技術(shù)問(wèn)題

15.若變量已正確定義,要求程序段完成5!的計(jì)算,不能完成此操作的程序段是______。

A.for(i=1,p=1;i<=5;i++)p*=i;

B.for(i=1;i<=5;i++){p=1;p*=i;}

C.i=1;p=1;while(i<=5){p*=i;i++;}

D.i=1;p=1;do{p*=i;i++;}while(i<=5);

16.以下敘述中錯(cuò)誤的是()。

A.由3種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問(wèn)題

B.結(jié)構(gòu)化程序由順序、分支、循環(huán)3種基本結(jié)構(gòu)組成

C.C語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言

D.結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法

17.

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

A.floata[][4]={0,1,8,5,9};

B.inta[3][4]

C.#defineN5floata[N][3]

D.inta[2][9.5];

19.以下不能將s所指字符串正確復(fù)制到t所指存儲(chǔ)空間的是()。A.while(*t=*s){t++;s++;}

B.for(i=0;t[i]=s[i];i++);

C.do{*t++:*s++;}while(*s);

D.for(i=0,j=0;t[i++]=s[j++];);

20.

二、2.填空題(20題)21.strcmp函數(shù)的功能是【】。

22.如下圖所示的二叉樹(shù)后序遍歷序列是【】。

23.若有定義floatb[15],*p=b;,且數(shù)組b的首地址為200H,則p+13所指向的數(shù)組元素的地址為_(kāi)_____。

24.已知字符'A'的ASCII碼值為65,以下語(yǔ)句的輸出結(jié)果是【】。

charch='B';

printf("%c%d\n",ch,ch);

25.下面的程序用來(lái)統(tǒng)計(jì)文件中字符的個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{FILE*fP;

longnum=0;

if((fp=fopen("fname.dat","r"))==NULL)

{printf("Can'topenfile!\n");sxit(0);}

while【】

{fgetc(fp);num++;}

printr("num=%d\n",num);

fclose(fp);

}

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

27.下列程序的運(yùn)行結(jié)果是______。

#include<stdio.h>

main()

{inta=10,b=3;

printf("%d,",a%b);

printf("%d,",(a-b,a+b));

printf("%d\n",a-b?a-b:a+b);

}

28.若有以下程序

main()

{inta=4,b=3,c=5,t=0;

if(a<b)t=a;a=b;b=t;

if(a<c)t=a;a=c;c=t;

printf("%d%d%dln",a,b,c);

}

執(zhí)行后輸出結(jié)果為_(kāi)_____。

29.在軟件開(kāi)發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法。詳細(xì)設(shè)計(jì)階段所采用的是【】方法。

30.程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中【】是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過(guò)閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。

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

structNODE

{inthum;structNODE*next;

};

main()

{structNODEs[3]={{1,'\0'},{2,'\0'},{3,'\0'}},*p,*q,*r;

intsum=0;

s[0].next=s+1;s[1].next=s+2;s[2].next=s;

p=S;q=p->next;r=q->next;

sum+=q=>next->num;sum+=r->next->next->num;

32.某二叉樹(shù)中度為2的結(jié)點(diǎn)有n個(gè),則該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。

33.下列程序的功能是將字符串s中所有的字符c刪除。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{chars[80];

inti,j;

gets(s);

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

if(s[i]!='c')

s[j]='\0';

puts(s);

}

34.源程序文檔化要求程序應(yīng)加注釋。注釋一般分為序言性注釋和【】。

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

#include<stdio.h>

#defineSIZE12

main()

{chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]='A'+i+321;

sub(s,7,SIZE-1);

for(i=0;i<SIZE;i++)printf("%c",s[i]);

printf("\n");}

sub(char*a,intt1,intt2)

{charch;

while(t1<t1)

{ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;}}

36.在深度為5的完全二叉樹(shù)中,度為2的結(jié)點(diǎn)數(shù)最多為【】。

37.數(shù)據(jù)庫(kù)技術(shù)的主要特點(diǎn)為數(shù)據(jù)的集成性、數(shù)據(jù)的高【】和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理與控制。

38.下列程序的輸出結(jié)果是______。

main()

{inta[]={31,27,20,12,6,1),*p=a;

p++;

printf("%d\n",*(p+2));

}

39.()的目的是分析數(shù)據(jù)間內(nèi)在語(yǔ)義關(guān)聯(lián),在此基礎(chǔ)上建立一個(gè)數(shù)據(jù)的抽象模型。

40.以下程序的功能是:從低位開(kāi)始取出長(zhǎng)整型變量s中奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。請(qǐng)?zhí)羁铡?include<stdio.h>main(){longs,t,s1=10;pfintf("\n.Pleaseenters:");scanf("%1d",&s);t=s%10;while(s>0){s=s/100;t=();s1=s1*10;}printf("Theresultis:%1d\n",t);}

三、1.選擇題(20題)41.有以下程序:main(){intx[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",s[2]);}程序運(yùn)行后的輸出結(jié)果是______。

A.隨機(jī)值B.0C.5D.6

42.如果進(jìn)棧序列為e1,e2,e3,e4,則可能的出棧序列是

A.快速排序B.冒泡排序C.直接插入排序D.堆排序

43.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示______。

A.控制程序的執(zhí)行順序B.模塊之間的調(diào)用關(guān)系C.數(shù)據(jù)的流向D.程序的組成成分

44.設(shè)有以下定義和語(yǔ)句,輸出的結(jié)果是(用small模式編譯,指針變量占2個(gè)字節(jié))______。structdate{long*cat;structdate*next;doubledog;}too;printf("%d",sizeof(too));

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

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

A.排序、索引、統(tǒng)計(jì)B.選擇、投影、連接C.關(guān)聯(lián)、更新、排序D.顯示、打印、制表

46.以下有4組用戶標(biāo)識(shí)符,其中合法的—組是______。

A.FOR-subCase

B.4dDOSize

C.f2_G3IFabc

D.WORDvoiddefine

47.#define能作簡(jiǎn)單的替代,用宏來(lái)替代計(jì)算多項(xiàng)式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語(yǔ)句為()。

A.#definef(x)5*x*x+5*x+5

B.#definef5*X*x+5*x+5

C.#definef(a)(5*a*a+5*a+5)

D.#define(5*x*x+5*x+5)f(x)

48.下列程序的運(yùn)行結(jié)果是#include"stdio.h"main(){intx=-9,y=5,z=8;if(x<y)if(y<0)z=0;elsez+=1;printf("%d\n",z);}

A.6B.7C.8D.9

49.字符串"\\\"ABCDEF\"\\"的長(zhǎng)度是()。

A.15B.10C.7D.8

50.若程序中已包含頭文件stdio.h,以下選項(xiàng)中,正確運(yùn)用指針變量的程序段是()。

A.int*i=NULL;

B.float*f=NULL;

C.chart='m',*c=&t;

D.long*Lscanf("%d",i);*f=10.5;*c=&t;L='\0';

51.有如下程序段:inta=14,b=15,x,charc='A';x=(a&&B)&&(c<'B');執(zhí)行該程序段后,x的值為()

A.1B.0C.FALSED.TRUE

52.設(shè)有下列語(yǔ)句inta=1,b=2,c;c=a^(b《2);執(zhí)行后,C的值為()。

A.6B.7C.8D.9

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

A.334HB.30DHC.352HD.31AH

54.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是()

A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭

55.下列函數(shù)的運(yùn)行結(jié)果是

main()

{inti=2,p;

intj,k;

j=i;k=++i;p=f(j,k);

printf("%d",p);}

intf(inta,intb)

{intc;

if(a>b)c=1;

elseif(a==b)c=0;

elsec=-1;

return(c);}

A.-1B.1C.2D.編譯出錯(cuò),無(wú)法運(yùn)行

56.以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是______。

A.隊(duì)列B.線性表C.二叉樹(shù)D.棧

57.有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*P,*q,*r;P=&a;q=&b;r=f(p,q);print("%d,%d,%d\n",*P,*q,*r);}執(zhí)行后的輸出結(jié)果是______。

A.7,8,8B.7,8,7C.8,7,7D.8,7,8

58.有以下程序

#include<stdio.h>

#include<string.h>

typedefstruct{charname[9];charsex;floatscore[2];}STU;

voidf(STUa)

{STUb={"Zhao",′m′,850,900};inti;

strcpy(,);

a.sex=b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

}

main()

{STUc={"Qian",′f′,95.0,92.0};

f(c);

printf("%s,%c,%2.0f,%2.0f\n",,c.sex,c.score[0],c.score[1]);

}

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

A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,90

59.棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是

A.ABCEDB.DCBEAC.DBCEAD.CDABE

60.在下列選項(xiàng)中,沒(méi)有構(gòu)成死循環(huán)的是()。

A.inti=100;while(1){i=i%100+1;if(i>100)break;}

B.for(;;);

C.intk=10000;do{k++;}while(k>10000);

D.ints=36;while(s)--s;

四、選擇題(20題)61.有以下程序(注:字符a的ASCIl碼值為97)

#include<stdio.h>

main()

{char*s={"abc")

do

{printf("%d",*S%10");++S;}

while(*s);

}

隉序運(yùn)行后的輸出結(jié)果是()。

A.abcB.789C.7890D.979899

62.

63.

64.

65.

66.

67.已有定義:chara[]="xyz",b[]={′x′,′y′,′z′};,以下敘述中正確的是()。

A)數(shù)組a和b的長(zhǎng)度相同B)a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度

C)a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度D)上述說(shuō)法都不對(duì)

68.有以下程序程序運(yùn)托舌的輸出結(jié)果是()。

A.1,2B.1,0C.3,2D.0,0

69.

70.有以下程序:

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

A.y=一1B.Y=0C.y=1D.while構(gòu)成無(wú)限循環(huán)

71.有以下程序:

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

A.OB.2C.3D.5

72.

73.

74.

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

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

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

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

76.現(xiàn)有如下程序段:

則程序的輸出結(jié)果為()。

A.78B.23C.21D.28

77.有以下程序:

#include<stdio.h>

main()

{inta,b,k,m,*pl,*p2;

k=1,m=8;

p1=&k,p2=&m;

a=/*pl-m;b=*p1+*p2+6;

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

}

編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語(yǔ)句是()。

A.a=/*pl-m;

B.b=*p1+*p2+6;

C.k=1,m=8;

D.pl=&k,p2-&m;

78.

79.以下選項(xiàng)中,能表示邏輯值“假”的是()

A.1B.0.000001C.0D.100.0

80.專門的關(guān)系運(yùn)算不包括下列的()運(yùn)算。

A.連接運(yùn)算B.選擇運(yùn)算C.投影運(yùn)算D.并運(yùn)算

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將m(1≤m≤10)個(gè)字符串反著連接起來(lái),組成一個(gè)新串,放入pt所指字符串中,例如,把“ab、cd、ef9”3個(gè)字符串反著串連起來(lái),結(jié)果是efgcdab。

請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。

注意:不要改動(dòng)main()函數(shù),不得增行或者刪行,也不得改變程序的結(jié)構(gòu)!

試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是將a、b兩個(gè)兩位正整數(shù)合并成一個(gè)新的整數(shù)放在c中。合并的方式是將a中的十位數(shù)和個(gè)位數(shù)依次放在變量c的千位和十位上,b中的十位數(shù)和個(gè)位數(shù)依次放在變量c的個(gè)位和百位上。例如,當(dāng)a=45,b=12,調(diào)用該函數(shù)后c=4251。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語(yǔ)句。試題程序:#include<conio.h>#include<stdio.h>voidfun(inta,intb,long*c){}main(){ inta,b; longc; printf(“Inputa,b:”); scanf(“%d%d”,&a,&b); fun(a,b,&c); printf(“Theresultis:%ld\n”,c);}

參考答案

1.D

2.D層次模型的基本結(jié)構(gòu)是樹(shù)形結(jié)構(gòu),網(wǎng)狀模型是一個(gè)不加任何條件限制的無(wú)向圖,關(guān)系模型采用二維表來(lái)表示,所以三種數(shù)據(jù)庫(kù)的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。

3.B

4.B

5.A本題考查邏輯與運(yùn)算“&&”與邏輯或運(yùn)算“||”。在選項(xiàng)A中,因?yàn)?a=0,所以關(guān)系表達(dá)式!a=1為0,又因?yàn)檫壿嬇c運(yùn)算符“&&”兩邊的表達(dá)式只要一個(gè)等于零,則整個(gè)表達(dá)式為零,所以選項(xiàng)A正確。在選項(xiàng)8中,關(guān)系表達(dá)式a<b為真,表達(dá)式(a<b)&&!C為假,而表達(dá)式(a<b)&&!||1為真,所以整個(gè)表達(dá)式的值為真。選項(xiàng)C中,a&&b的結(jié)果為真。在選項(xiàng)D中,a||(b+b)&&(C-a)的結(jié)果為真。

6.DD。【解析】算法的時(shí)間復(fù)雜度是指算法需要消耗的時(shí)間資源。一般來(lái)說(shuō),計(jì)算機(jī)算法是問(wèn)題規(guī)模。09函數(shù)fin),算法的時(shí)間復(fù)雜度也因此記做T(n)=O(f(n))。因此,問(wèn)題的規(guī)模n越大,算法執(zhí)行的時(shí)間的增長(zhǎng)率與f(n)的增長(zhǎng)率正相關(guān),稱作漸進(jìn)時(shí)間復(fù)雜度(AsymptoticTimeComplexity)。簡(jiǎn)單來(lái)說(shuō)就是算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)。

7.B本題考核的知識(shí)點(diǎn)是puts()函數(shù)的應(yīng)用。主函數(shù)中定義了一個(gè)字符數(shù)組s并賦初值,一個(gè)字符串指針變量ps并讓它指向s。程序中p+4的地址為數(shù)組第5個(gè)元素的地址,而調(diào)用put(str_adr)函數(shù)時(shí),將從str_adr這一地址開(kāi)始,依次輸出存儲(chǔ)單元中的字符,遇到第一個(gè)“\\0”時(shí)結(jié)束輸出,并自動(dòng)輸出一個(gè)換行符。所以put(p++4)將輸出n/No,put(s)將從s第一個(gè)元素開(kāi)始輸出到第3個(gè)元素結(jié)束(因?yàn)閳?zhí)行*(p4)c0語(yǔ)句后s中的第5個(gè)元素的值為0,而s中的第4個(gè)元素為“\\”,puts將遇到“\\0”,結(jié)束輸出),即輸出yes。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。

8.B

9.Cfread函數(shù)中的參數(shù)buffer是內(nèi)存塊的首地址,輸入的數(shù)據(jù)存入此內(nèi)存塊中。

10.D

11.C

12.A

13.D解析:本題中fun函數(shù)實(shí)現(xiàn)了字符串函數(shù)strcat的功能,將字符串a(chǎn)a連接到字符串ss的末尾。調(diào)用fun函數(shù)時(shí),形參t和s分別指向了字符串ss和aa,然后通過(guò)一個(gè)while循環(huán)使t指向字符串ss的結(jié)束符的位置,第二個(gè)while循環(huán)將字符串a(chǎn)a中的字符(包括結(jié)束符'\\0')逐個(gè)復(fù)制到字符串ss的末尾處。

14.CC?!窘馕觥寇浖こ淌侵笇⒐こ袒乃枷霊?yīng)用于軟件的開(kāi)發(fā)、應(yīng)用和維護(hù)的過(guò)程,包括軟件開(kāi)發(fā)技術(shù)和軟件工程管理。

15.B解析:選項(xiàng)B中每次執(zhí)行循環(huán)體都要執(zhí)行p=1,無(wú)法保存上次的運(yùn)算結(jié)果,執(zhí)行完while循環(huán)后p=5。

16.A由順序、選擇(分支)、循環(huán)3種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問(wèn)題,而不只是解決簡(jiǎn)單問(wèn)題,所以A選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。

17.C

18.D解析:C語(yǔ)言規(guī)定,對(duì)于二維數(shù)組,只可以省略第一個(gè)方括號(hào)中的常量表達(dá)式,而不能省略第二個(gè)方括號(hào)中的常量表達(dá)式:二維數(shù)組的一般定義格式是:類型說(shuō)明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]。

19.C解析:C項(xiàng)復(fù)制時(shí)沒(méi)有復(fù)制結(jié)束串“\0”。

20.A

21.字符串的比較strcmp函數(shù)的原型是intstrcmp(char*s1,char*s2);功能是對(duì)s1和s2所指字符串進(jìn)行比較,若s1<s2返回負(fù)數(shù),若s1==s2返回0,若s1>s2返回正數(shù)。

22.GDBHIEFCAGDBHIEFCA解析:后序遍歷二叉樹(shù)的順序?yàn)椋汉笮虮闅v左子樹(shù)→后序遍歷右子樹(shù)→訪問(wèn)根結(jié)點(diǎn)。按照定義,后序遍歷序列是GDBHIEFCA。

23.252H252H解析:要解答本題,首先要明白在對(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)該視具體情況而定,如果存儲(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ù)組元素的地址為:200H+(13*4)H=252H。

24.B66B66解析:字符B的ASCII碼值為66,因此,按%c形式輸出B,按%d形式輸出66,輸出結(jié)果為:B66。

25.(!feof(fp))或feof(fp):=0(!feof(fp))或feof(fp):=0

26.空間空間解析:程序在計(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ù)雜度。

27.11371,13,7解析:本題考查3個(gè)知識(shí)點(diǎn):①余數(shù)的計(jì)算,題中的a=10,b=3,a%b=1;②(表達(dá)式1,表達(dá)式2)形式的結(jié)果為最后一個(gè)表達(dá)式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運(yùn)算符的使用,題中的a-b?a-b:a+b,判斷語(yǔ)句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。

28.503503解析:此處需注意的是:如果if后面的條件為真,只執(zhí)行其后的一條語(yǔ)句或一條復(fù)合語(yǔ)句,如果if后面的條件為假,只執(zhí)行else后面的一條語(yǔ)句或一條復(fù)合語(yǔ)句。先判斷表達(dá)式“a<b”為假,不執(zhí)行“t=a”,但執(zhí)行“a=b;b=t;”,s的值為3,b的值為0。在判斷表達(dá)式“a<c”,值為真,所以執(zhí)行后面的3條語(yǔ)句“t=a;a=c;c=t”,結(jié)果a的值為5,c的值為3,所以最后輸出的結(jié)果為5、0和3。

29.結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)解析:在軟件開(kāi)發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法。詳細(xì)設(shè)計(jì)階段所采用的是結(jié)構(gòu)化設(shè)計(jì)方法。

30.靜態(tài)分析靜態(tài)分析解析:程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中,靜態(tài)分析是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過(guò)閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。

31.解析:程序通過(guò)語(yǔ)句“s[0]next=s+1;s[1].next=s+2;s[2].next=s;”將結(jié)構(gòu)體變量s中各結(jié)點(diǎn)連接成了一個(gè)循環(huán)鏈表,即最后一個(gè)結(jié)點(diǎn)的指針域指向了頭結(jié)點(diǎn),整個(gè)鏈表形成了一個(gè)環(huán),并通過(guò)語(yǔ)句“p=s;q=p->next;r=q->next;”將結(jié)構(gòu)體指針變量p、q、r指向了各結(jié)點(diǎn)。

32.n+1n+1解析:在任意一棵二叉樹(shù)中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為0的結(jié)點(diǎn)多一個(gè)。

33.S[j++]=s[i]S[j++]=s[i]解析:循環(huán)開(kāi)始后如果數(shù)組s中儲(chǔ)存值與字符c相同,則i++直接跳過(guò)當(dāng)前值;如果不相同,則將當(dāng)前值賦予數(shù)組指定位置,并通過(guò)j++將下標(biāo)加1,指向下一元素要存儲(chǔ)的位置。

34.功能性注釋功能性注釋解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個(gè)程序的開(kāi)頭部分,它給出程序的整體說(shuō)明;功能性注釋的位置一般嵌在源程序體之中戶主要描述其后的語(yǔ)句或程序做什么。

35.abcdefglkjihabcdefglkjih解析:本題主要考查了字符變量可參與的運(yùn)算。因?yàn)樽址谟?jì)算機(jī)中是以ASCII碼的形式存放的,所以字符變量可看作整型變量來(lái)處理,如參與算術(shù)運(yùn)算等,某字符的大寫字母的ASCII碼值比它對(duì)應(yīng)的小寫字母ASCII碼值小32。

36.1515解析:在深度為5的完全二叉樹(shù)中,度為2的結(jié)點(diǎn)數(shù)最多的是深度為5的滿二叉樹(shù)。在深度為5的滿二叉樹(shù)中,前4層中所有結(jié)點(diǎn)的度為2。即在深度為5的完全二叉樹(shù)中,度為2的結(jié)點(diǎn)數(shù)最多相當(dāng)于深度為4的滿二叉樹(shù)中的結(jié)點(diǎn)數(shù)。深度為4的滿二叉樹(shù)中的結(jié)點(diǎn)數(shù)為24(上標(biāo))-1=15。

37.共享性共享性解析:數(shù)據(jù)庫(kù)技術(shù)的主要特點(diǎn)有以下幾個(gè)方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)的獨(dú)立性,數(shù)據(jù)統(tǒng)一管理與控制。

38.1212解析:本題考查如何用指針引用數(shù)組元素。分析程序,首先定義了一個(gè)指向數(shù)組a的指針p,p指向數(shù)組的首地址,通過(guò)p++,將p指向a[1],p+2是將指針后移2位指向a[3],*(p+2)即是取a[3]的值12。

39.數(shù)據(jù)庫(kù)概念設(shè)計(jì)數(shù)據(jù)庫(kù)概念設(shè)計(jì)解析:數(shù)據(jù)庫(kù)概念設(shè)計(jì)的目的是分析數(shù)據(jù)間內(nèi)在語(yǔ)義關(guān)聯(lián),在此基礎(chǔ)上建立一個(gè)數(shù)據(jù)的抽象模型。

40.s%10*s1+t

41.B解析:本題定義了數(shù)組x[8]和指針變量s,由C語(yǔ)言規(guī)定,指針加1的含義是使指針指向數(shù)組的下一個(gè)元素,而不是指針值簡(jiǎn)單的加1,因此通過(guò)s=x+3;使s指向數(shù)組元素x[3]。由于指向數(shù)據(jù)的指針變量可以帶下標(biāo)表示,如s[i]與*(s+i)等價(jià)。因此題目要求輸出s[2]的值,即*(s+2)的值,也就是x[5]的值,為0。

42.D解析:在最壞情況下,快速排序、冒泡排序和直接插入排序需要的比較次數(shù)都為n(n-1)/2,堆排序需要的比較次數(shù)為nlogn2。

43.C解析:數(shù)據(jù)流相當(dāng)于一條管道,并有一級(jí)數(shù)據(jù)(信息)流經(jīng)它。在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實(shí)體流向系統(tǒng)或從系統(tǒng)流向外部實(shí)體。

44.D解析:sizeof函數(shù)計(jì)算已知類型所占的字節(jié)數(shù)。結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。指針變量占2個(gè)字節(jié),所以cat和*next各占2個(gè)字節(jié);double型占8個(gè)字節(jié),故too共占12個(gè)字節(jié)。

45.B解析:此題為數(shù)據(jù)庫(kù)的基本概念,可以對(duì)照辦工軟件的電子表格進(jìn)行如下理解:選擇:我們根據(jù)某條件選擇出一行或多行元組(一個(gè)元組即為二維表中的一行)。投影:按字段(也稱屬性,比如學(xué)生關(guān)系(學(xué)號(hào),姓名,出生年月,性別),學(xué)號(hào)、姓名…都是屬性)選取一列或多列(一個(gè)二維表中所有元組在某一列或幾列上截取出來(lái))。連接:2個(gè)或2個(gè)以上的表連接組成一張新的表,通常有條件連接。比如學(xué)生關(guān)系(學(xué)號(hào),姓名,系號(hào)),又有一張系表(系號(hào),系名,主任),2張表可以合并為一張這樣的表(學(xué)號(hào),姓名,系號(hào),系名,主任)。

46.C解析:C語(yǔ)言的標(biāo)識(shí)符的定義為:以字母或下劃線開(kāi)頭的由字母、數(shù)字字符、下劃線組成的字符串。而且標(biāo)識(shí)符不能與關(guān)鍵字相同。

47.C解析:帶參數(shù)宏的格式為:#define標(biāo)識(shí)符(形參表)形參表達(dá)式。其功能是:在預(yù)處理程序中將程序中出現(xiàn)的所有帶實(shí)參的宏名,展開(kāi)成由實(shí)參組成的表達(dá)式。

48.D解析:if...else語(yǔ)句的執(zhí)行過(guò)程如下,首先計(jì)算if后面一對(duì)圓括號(hào)內(nèi)表達(dá)式的值,若表達(dá)式的值為非0,執(zhí)行if子句,然后跳過(guò)else子句,去執(zhí)行if語(yǔ)句后的下一條語(yǔ)句;若表達(dá)式的值為0,跳過(guò)if子句,去執(zhí)行else子句,接著去執(zhí)行if語(yǔ)句后的下一條語(yǔ)句。C語(yǔ)言的語(yǔ)法規(guī)定,else子句總是與前面最近的不帶else的if匹配,與書寫格式無(wú)關(guān),本題目的后一個(gè)ifelse相當(dāng)于嵌套在第一個(gè)if子句里,相當(dāng)于x<y&&y<0時(shí),z=0;當(dāng)x<y&&y>=0時(shí),z=z+1。

49.B解析:本題涉及字符串最基本的兩個(gè)概念:①字符串的長(zhǎng)度是指字符串中字符的個(gè)數(shù),但不包括字符串結(jié)束符;②以反斜杠“\\”開(kāi)頭的特殊字符序列,意思是把反斜杠后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來(lái)的含義,不包含在字符串長(zhǎng)度之內(nèi),“\\”連同后面的字符為一個(gè)長(zhǎng)度。

50.D解析:選項(xiàng)A定義了一個(gè)整型變量i,并且初始化讓它指向NULL,接著通過(guò)scanf()函數(shù),改變i指向的存儲(chǔ)空間的值,選項(xiàng)A中首先定義了整型指針變量i并初始化為NULL,即表示指針i不指向任何內(nèi)存,即此時(shí)程序還沒(méi)有為i在內(nèi)存中開(kāi)辟存儲(chǔ)單元,而在scanf0函數(shù)中第二個(gè)參數(shù)是地址參數(shù),顯然在這里i不在表示地址,所以下面的scanf('%d',i)語(yǔ)句足不正確的,故選項(xiàng)A不正確;選項(xiàng)B定義了一個(gè)浮點(diǎn)型變量f并初始化讓它指向NULL,而當(dāng)一個(gè)指針變量指向NULL以后不能在給它賦值,而接下來(lái)的程序中為其賦了一值;故選項(xiàng)B錯(cuò)誤;選項(xiàng)C中首先定義了一個(gè)字符變量t并給它賦初值\'m\',然后定義個(gè)字符型指針c并讓它指向了變量t,這一部分正確,然后接著用了—個(gè)語(yǔ)句“*c=&t;”應(yīng)該將該語(yǔ)句中c前的“,”去掉,故選項(xiàng)C運(yùn)用指針變量不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

51.A解析:a=14,b=15,第一個(gè)&&兩側(cè)均為非零值。c='A',表達(dá)式c<'B'的值為真即1,第二個(gè)&&兩側(cè)也均為非零值。表達(dá)式(a&&b)&&(c<'B')的值為1,賦值給變量x。

52.D解析:變量b的初值等于2,所以表達(dá)式b<<2表示b的值二進(jìn)制左移兩位,即擴(kuò)大4倍,所以變量b的等于8。然后與a的值1進(jìn)行異或運(yùn)算,得9。

53.C解析:解答本題,首先要明白在對(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)該視具體情況而定。如果基本類型是int型,移動(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*上標(biāo))4)H=352H。

54.A解析:數(shù)據(jù)流圖包括4個(gè)方面,即加工(轉(zhuǎn)換)(輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出)、數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名)、存儲(chǔ)文件(數(shù)據(jù)源)(表示處理過(guò)程中存放各種數(shù)據(jù)的文件)、源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體)。不包括選項(xiàng)中的控制流。

55.A解析:函數(shù)調(diào)用相當(dāng)于f(2,3),程序運(yùn)算應(yīng)得結(jié)果為'-1'。

56.C解析:線性表、棧和隊(duì)列所表達(dá)和處理的數(shù)據(jù)以線性結(jié)構(gòu)為組織形式。棧是一種特殊的線性表,它只能在固定的一端進(jìn)行插入和刪除操作,又稱后進(jìn)先出表(LastInFirstOut);隊(duì)列是插入在一端進(jìn)行,刪除在另一端進(jìn)行的線性表,又稱先進(jìn)先出表(FirstInFirstOut)。

57.B解析:函數(shù)f是一個(gè)返回值為指針的函數(shù),其功能是比較兩個(gè)數(shù)中的最小值,并返回最小值的

溫馨提示

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