2021-2022年廣東省廣州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第1頁(yè)
2021-2022年廣東省廣州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第2頁(yè)
2021-2022年廣東省廣州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第3頁(yè)
2021-2022年廣東省廣州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第4頁(yè)
2021-2022年廣東省廣州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(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年廣東省廣州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.有以下程序:#include<stdio.h>main(){inta;scanf("%d",&a);if(a++<9)printf("%d\n",a);clscprintf("%d\n",a--);}程序運(yùn)行時(shí)從鍵盤輸入9<回車>,則輸出結(jié)果是()。A.10B.11C.9D.8

2.程序設(shè)計(jì)的任務(wù)包括()。

A.編寫程序代碼并上機(jī)調(diào)試B.確定所用數(shù)據(jù)結(jié)構(gòu)C.確定所用算法D.以上選項(xiàng)均正確

3.若有說(shuō)明chars1[30]="Thecity",s2[]="isbeautiful";,則在使用函數(shù)strcat(s1,s2)后,結(jié)果是()。

A.s1的內(nèi)容更新為Thecityisbeautiful\0

B.s1的內(nèi)容更新為isbeaut\0

C.s1的內(nèi)容更新為Thecity\0isbeautiful\0

D.s1的內(nèi)容更新為Thecityisbeautiful\0

4.有以下程序:#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.acc,bbxxyy

B.accbbxxyy,bbxxyy

C.accxxyy,bbxxyy

D.accxyy,bbxxyy

5.有以下程序:#include<stdio.h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i+=2)for(j=i+2;j<n;j+=2)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa,10);for(i=0;i<10;i++)printf("%d.",aa[i]);printf("\n");}其輸出結(jié)果是()。

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

B.10,9,8,7,6,5,4,3,2,1,

C.9,2,7,4,5,6,3,8,1,10,

D.1,10,3,8,5,6,7,4,9,2,

6.有以下函數(shù):charfun(char*p){returnP;}該函數(shù)的返回值是()。A.無(wú)確切的值B.形參p中存放的地址值C.一個(gè)臨時(shí)存儲(chǔ)單元的地址D.形參p自身的地址值

7.下列程序的執(zhí)行結(jié)果是______。#include<stdio.h>unionun{inti;charc[2};};voidmain(){unionunx;x.c[0]=10;x.c[1]=1;printf("\n%d",x.i);}

A.266B.11C.265D.138

8.以下說(shuō)法錯(cuò)誤的是:()

A.全局變量就是在函數(shù)外定義的變量,因此又叫做外部變量

B.一個(gè)函數(shù)中既可以使用本函數(shù)中的局部變量,也可以使用全局變量

C.局部變量的定義和全局變量的定義的含義不同

D.如果在同一個(gè)源文件中,全局變量和局部變量同名,則在局部變量的作用范圍內(nèi),全局變量通常不起作用

9.以下描述中正確的是

A.由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句

B.do-while循環(huán)由d。開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號(hào)

C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷

D.do-while循環(huán)中,根據(jù)情況可以省略while

10.有以下程序:#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}程序的運(yùn)行結(jié)果是()。

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

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

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

12.

13.

14.以下程序段運(yùn)行后x的值為()。inti,j,x=0;for(i=3;i>=1;i--)for(j=1;j<=i;j++)x=x+2A.8B.14C.10D.12

15.有以下程序:#include<stdio.h>main(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j>3)break;m*=i+j;}}printf("m=%d\n",m);}程序運(yùn)行后的輸出結(jié)果是()。A.m=6B.m=2C.m=4D.m=3

16.若程序中有宏定義行“#defineN100”,則下列敘述中正確的是()。

A.宏定義行中定義了標(biāo)識(shí)符N的值為整數(shù)100

B.在編譯程序?qū)語(yǔ)言源程序進(jìn)行預(yù)處理時(shí)用100替換標(biāo)識(shí)符N

C.上述宏定義行實(shí)現(xiàn)將100賦給標(biāo)識(shí)符N

D.在運(yùn)行時(shí)用100替換標(biāo)識(shí)符N

17.下列關(guān)于C語(yǔ)言數(shù)據(jù)文件的敘述中正確的是A.文件由ASCII碼字符序列組成,C語(yǔ)言只能讀寫文本文件

B.文件由二進(jìn)制數(shù)據(jù)序列組成,C語(yǔ)言只能讀寫二進(jìn)制文件

C.文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

D.文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

18.

讀取二進(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ù)

19.有如下程序main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",s);}該程序的輸出結(jié)果是

A.69825B.63825C.6385D.693825

20.

二、2.填空題(20題)21.以下程序調(diào)用invert函數(shù)按逆序重新放置a數(shù)組元素的值。a數(shù)組中的值在main函數(shù)中讀入。

#include<stdio.h>

#defineN10

invert(s,i,j)

int*s,i,j;

{intt;

if(i<j)

{t=*(s+i);

*(s+i)=(s+j);

*(s+j)=t;

invert(s,【】,j-1);

}

}

main()

{

inta[N],i;

for(i=0;i<N;i++)scanf("%d",a+【】);

invert(a,0,N-1);

for(i=0,i<N;i++)printf("%d",a[i]);

printf("\n")

}

22.觀察題目要求,可以知道以下幾點(diǎn):}

23.結(jié)構(gòu)化程序設(shè)計(jì)的三種基本邏輯結(jié)構(gòu)為順序、選擇和【】。

24.數(shù)據(jù)庫(kù)系統(tǒng)其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。

25.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。

26.下面程序的功能是:計(jì)算1~10之間奇數(shù)和及偶數(shù)之和。

#include<stdio.h>

main()

{inta,b,c,i;

a=c=O;

for(i=O;i<=10;i+=2)

{a+=i;

【】;

c+=b;

}

printf("偶數(shù)之和=%d\n",a);

printf("奇數(shù)之和=%d\n",c-11);

}

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

intt(intx,inty,intcp,intdp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main()

{inta=4,b=3,c=5,d=6;

t(a,b,c,d);

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

}

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

longfun5(intn)

{longs;

if((n==1)||(n==2))

s=2;

else

s=n+fun5(n-1);

return(s);}

main()

{longx;

x=fun5(4);

printf("%ld\n",x);}

29.閱讀下面語(yǔ)句,則程序的執(zhí)行結(jié)果是【】。

#include"stdio.h"

main()

{inta=-1,b=1,k;

if((++a<0)&&!(b--<=0))

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

elseprintf("%d,%d\n",b,a);}

30.若a是int型變量,則下列表達(dá)式的值為______。

(a=2*3,a*2),a+4

31.已有定義如下:

structnode

{

intdata;

structnode*next;

}*p;

以下語(yǔ)句調(diào)用malloc函數(shù),使指針p指向一個(gè)具有stmctnode類型的動(dòng)態(tài)存儲(chǔ)空間。

請(qǐng)?zhí)羁铡?/p>

p=(structnode*)malloc();

32.有以下程序:

#include<stdio.h>

main()

{charc;

while((c=getchar())!='?')putchar(--c);

}

程序運(yùn)行時(shí),如果從鍵盤輸入Y?N?<回車>,則輸出結(jié)果為【】。

33.下列程序段是從鍵盤輸入的字符中統(tǒng)計(jì)小寫字母的個(gè)數(shù),用換行符結(jié)束循環(huán)。請(qǐng)?zhí)羁铡?/p>

intn=0,c;

c=getchar();

while(c!='\n')

{if(______)

n++;

}

34.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒(méi)有______。

35.在結(jié)構(gòu)化設(shè)計(jì)方法中,數(shù)據(jù)流圖表達(dá)了問(wèn)題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個(gè)______實(shí)際上對(duì)應(yīng)一個(gè)處理模塊。

36.在深度為7的滿二叉樹中,度為2的節(jié)點(diǎn)個(gè)數(shù)為()。

37.以下定義的結(jié)構(gòu)體類型擬包含兩個(gè)成員,其中成員變量info用來(lái)存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請(qǐng)將定義補(bǔ)充完整。

structnode

{intinfo;

【】link;};

38.設(shè)有如下宏定義

#defineMYSWAP(z,x,y)

{z=x;x=y;y=z;}

以下程序段通過(guò)宏調(diào)用實(shí)現(xiàn)變量a,b內(nèi)容交換,請(qǐng)?zhí)羁铡?/p>

floata=5,b=16,c;

MYSWAP(【】a,b);

39.若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請(qǐng)寫出完整的的輸出語(yǔ)句()。

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

main()

{inti,j,a[][3]={1,2,3,4,5,6,7,8,9};

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

for(j=i+1;j<3;j++)a[j][i]=0;

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

{for(j=0;j<3;j++)printf("%d",a[i][j]);

printf("\n");

}

}

三、1.選擇題(20題)41.有下列函數(shù):intfun(char*s){char*t=s;while(*t++);reurn(t-s);}該函數(shù)的功能是()。

A.比較兩個(gè)字符串的大小

B.計(jì)算s所指字符串占用內(nèi)存字節(jié)的個(gè)數(shù)

C.計(jì)算s所指字符串的長(zhǎng)度

D.將s所指字符串復(fù)制到字符串t中

42.以下程序的輸出結(jié)果是_______。#include<stdio.h>main(){inti;for(i=1;i<5;i++){if(i%2)printf("*");elsecontinue;printf("#");}printf("$\n");}

A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$

43.關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)及更新操作必須遵循______等完整性規(guī)則。

A.實(shí)體完整性和參照完整性

B.參照完整性和用戶定義的完整性

C.實(shí)體完整性和用戶定義的完整性

D.實(shí)體完整性、參照完整性和用戶定義的完整性

44.請(qǐng)讀程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}上面程序的輸出結(jié)果是______。

A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值

45.設(shè)有以下說(shuō)明語(yǔ)句:structex{intx;floaty;charz;}example;在下面的敘述中,不正確的一條是______。

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

B.example是結(jié)構(gòu)體類型名

C.x,y,2都是結(jié)構(gòu)體成員名

D.structex是結(jié)構(gòu)體類型

46.有以下程序

#include<string.h>

main()

{charp[]={′a′,′b′,′c′},q[10]={′a′,′b′,′c′};

printf("%d%d\n",strlen(p),strlen(q));}

以下敘述中正確的是

A.在給p和q數(shù)組置初值時(shí),系統(tǒng)會(huì)自動(dòng)添加字符串結(jié)束符,故輸出的長(zhǎng)度都為3

B.由于p數(shù)組中沒(méi)有字符串結(jié)束符,長(zhǎng)度不能確定,但q數(shù)組中字符串長(zhǎng)度為3

C.由于q數(shù)組中沒(méi)有字符串結(jié)束符,長(zhǎng)度不能確定,但p數(shù)組中字符串長(zhǎng)度為3

D.由于p和q數(shù)組中都沒(méi)有字符串結(jié)束符,故長(zhǎng)度都不能確定

47.以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是

A.在C語(yǔ)言中調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳給形參,形參的值不能傳送給實(shí)參

B.C函數(shù)既可以嵌套定義又可以遞歸調(diào)用

C.函數(shù)必須有返回值,否則不能使用函數(shù)

D.函數(shù)必須有返回值,返回值類型不定

48.在軟件生存周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()。

A.概要設(shè)計(jì)B.詳細(xì)設(shè)計(jì)C.可行性分析D.需求分析

49.在C語(yǔ)言中,函數(shù)調(diào)用時(shí)()。

A.實(shí)參和形參各占獨(dú)立的存儲(chǔ)單元

B.實(shí)參和形參共用存儲(chǔ)單元

C.由系統(tǒng)自動(dòng)確定實(shí)參和形參是否共用存儲(chǔ)單元

D.由用戶指定實(shí)參和形參是否共用存儲(chǔ)單元

50.下列程序的輸出結(jié)果是______。main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",s);}

A.69825B.63825C.6385D.693825

51.下面程序的輸出結(jié)果是()。chars()="ABCD",*p;main(){for(p=s;p<s+4;p++)printf("%s\n",p);)

A.ABCDBCDCDDB.ABCDC.DCBAD.ABCDABCABA

52.為了使模塊盡可能獨(dú)立,要求()。

A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)

B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱

C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱

D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)

53.以下正確的實(shí)型常量是()

A.1.2EB.0.579899C.1.2e0.6D.8

54.C語(yǔ)言函數(shù)返回值的類型是由______決定的。

A.return語(yǔ)句中的表達(dá)式類型B.調(diào)用函數(shù)的主調(diào)函數(shù)類型C.調(diào)用函數(shù)時(shí)臨時(shí)D.定義函數(shù)時(shí)所指定的函數(shù)類型

55.有以下程序:main(){inta=15,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0;m++;break;}}printf("%d\n",m);}程序運(yùn)行后的輸出結(jié)果是()。

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

56.有下列二叉樹,對(duì)此二叉樹中序遍歷的結(jié)果為()。

A.BDYEACFXZB.DYBEAFCZXC.ABCDEFXYZD.ABDYECFXZ

57.以下正確的函數(shù)頭定義形式是()。

A.doublefun(intx,inty)

B.doublefun(intx;inty)

C.doublefun(intx,inty);

D.doublefun(intx,y);

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

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

59.若已定義:inta=25,b=14,c=19;執(zhí)行以下三目運(yùn)算符(?:)所構(gòu)成的語(yǔ)句:a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d,c=%d\n",a,b,c);輸出結(jié)果是()。

A.***a=25,b=13,c=19

B.***a=26,b=14,c=19

C.###a=25,b=13,c=19

D.###a=26,b=14,c=19

60.若有運(yùn)算符:>、=、<<、%、sizeof,則它們按優(yōu)先級(jí)(由高至低)的正確排列順序?yàn)?)。

A.%、sizeof、>、<<、=

B.sizeof、%、>、=、<<

C.sizeof、<<、>、%、=

D.sizeof、%、<<、>、=

四、選擇題(20題)61.若變量已正確定義,在if(W)printf(”%d、n”,k);中,以下不可替代w的是()。A.ab+1:B.ch=getchar()C.a==b+cD.a++

62.有以下程序:

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

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

63.設(shè)有以下說(shuō)明語(yǔ)句:

則下面的敘述中不正確的是()。

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

B.example是結(jié)構(gòu)體類型名

C.x,y,z都是結(jié)構(gòu)體成員名

D.struetex是結(jié)構(gòu)體類型名

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

A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC

65.(9)下列敘述中正確的是()

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

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

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

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

66.

67.計(jì)算機(jī)能直接執(zhí)行的程序是()。

A.源程序B.目標(biāo)程序C.匯編程序D.可執(zhí)行程序

68.HTTP協(xié)議的消息有()兩種類型。

A.發(fā)送消息和接收消息B.請(qǐng)求消息和響應(yīng)消息C.消息頭和消息體D.實(shí)體消息和控制消息

69.

若變量已正確定義,有以下程序段

i—o;

doprintf("%d,",i);while(i++);

printf("%d",i)

其輸出結(jié)果是()。

A.0,0B.0,1C.1,1D.程序進(jìn)入無(wú)限循環(huán)

70.有以下程序intfun(intx,inty){return(x+y);}main{inta=1,b=2,C=3,sum;sum=fun((a++,b++,a+b),c++);printf("%d\n",sum);}執(zhí)行后的輸出結(jié)果是()。A.6B.7C.8D.9

71.下列是用戶自定義標(biāo)識(shí)符的是

A._w1B.3_xyC.intD.LINE-3

72.

73.有以下程序

#include<stdio.h>

#include<string.h>

main()

{chara[10]=”abcd”;

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

}

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

A.7,4

B.4,10

C.8,8

D.10,10

74.執(zhí)行下列程序時(shí)輸入:123<空格>456<空格>789<回車>,輸出結(jié)果是

main()

{chars[100];intc,i;

scanf("%c",&c);scanf("%d",&i);scanf("%s",s);

prinnf("%c,%d,%s\n",c,i,s);}

A.123,456,789B.1,456,789

C.1,23,456,789D.1,23,456

75.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件),下面屬于系統(tǒng)軟件的是()。A.學(xué)生管理系統(tǒng)B.C語(yǔ)言編譯程序C.UNIX操作系統(tǒng)D.數(shù)據(jù)庫(kù)管理系統(tǒng)

76.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體之間聯(lián)系的是()。

A.二維表B.E—R圖C.元組D.文件

77.若變量已確定義,則以下語(yǔ)句的輸出結(jié)果是()。

78.以下關(guān)于C語(yǔ)言的敘述中正確的是()。

A.C語(yǔ)言的數(shù)值常量中夾帶空格不影響常量值的正確表示

B.C語(yǔ)言中的變量可以在使用之前的任何位置進(jìn)行定義

C.在C語(yǔ)言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致\

D.C語(yǔ)言中的注釋不可以?shī)A在變量名或關(guān)鍵字的中間

79.

80.有以下程序:

當(dāng)執(zhí)行程序時(shí),按下列方式輸人數(shù)據(jù)(從第l列開始,<CR>代表回車,注意,回車也是—個(gè)字符)l<CR>

234<CR>

則輸出結(jié)果是()。

A.34

B.134

C.123

D.1234

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:依次取出字符串中所有的數(shù)字字符,形成新的字符串,并取代原字符串。例如原始字符串是“ab45c6djfd789”,則輸出后的字符是“456789”。請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.編寫fun()函數(shù),它的功能是:利用以下所示的簡(jiǎn)單迭代方法求方程cos(y)-y=0的一個(gè)實(shí)根。

yn+1=cos(yn)

迭代步驟如下:

(1)取y1初值為0.0;

(2)y0=y1,把y1的值賦給y0;

(3)y1=cos(y0),求出一個(gè)新的y1;

(4)若y0=y1的絕對(duì)值小于0.000001,則執(zhí)行步驟

(5),否則執(zhí)行步驟(2);

(5)所求y1就是方程COS(y)-y=0的一個(gè)實(shí)根,作為函數(shù)值返回。

程序?qū)⑤敵鼋Y(jié)果Result=0.739085。

請(qǐng)勿改動(dòng)main()函數(shù)與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入所編寫的若干語(yǔ)句。

部分源程序給出如下。

試題程序:

參考答案

1.A本題考查簡(jiǎn)單的運(yùn)算符操作.當(dāng)輸入9時(shí),(a++<9)為假,所以執(zhí)行else語(yǔ)句中的printf("%d\n",a--),在執(zhí)行時(shí)此時(shí)a經(jīng)過(guò)a++操作a=10,所以答案為A。

2.D程序設(shè)計(jì)是一門技術(shù),需要相應(yīng)的理論、技術(shù)、方法和工具來(lái)支持。程序設(shè)計(jì)的任務(wù)包括選項(xiàng)A)、B)、c)等方面。

3.D解析:該函數(shù)用來(lái)使兩個(gè)字符串連接成為一個(gè)字符串。strcat(str1,str2)將str2中的字符連接到str1的字符后面,并在最后加一個(gè)“\\0”。連接后新的字符串存放在strl中。注意:用于字符串處理的函數(shù)。

4.B在函數(shù)fun中,前一個(gè)while循環(huán)的作用是,如果形參指針t所指內(nèi)容不為0,則讓t增1,直到它指向0;后一個(gè)while循環(huán)的作用是,將s所指內(nèi)容賦給t所指地址,然后兩者同時(shí)增1,直到賦給t的內(nèi)容為0。由此可見,函數(shù)fun的作用就是將形參s所指字符串連接到形參t所指字符串末尾,相當(dāng)于庫(kù)函數(shù)strcat。主函數(shù)中使用fun將數(shù)組aa中的字符串連接到數(shù)組ss中原有字符串之后,所以執(zhí)行完后,ss中的字符串為“accbbxxyy”。程序最后輸出的結(jié)果是accbbxxyy,bbxxyy。故本題答案為B選項(xiàng)。

5.C解析:sort函數(shù)的功能實(shí)際上是對(duì)數(shù)組中奇數(shù)位置上的數(shù)進(jìn)行從大到小排序。排序后的結(jié)果應(yīng)該為9,2,7,4,5,6,3,8,1,10。

6.B

7.A解析:由于本題定義的是共用體,所以成員表列中的整型變量x與字符數(shù)組c共占用同一個(gè)存儲(chǔ)單元,且此存儲(chǔ)單元為2個(gè)字節(jié),通常c[0]位于低字節(jié),c[1]位于高字節(jié),所以x.i的值為266。

8.A

9.C解析:do-while語(yǔ)句的一般形式為:do循環(huán)體語(yǔ)句while(表達(dá)式);,其中循環(huán)體語(yǔ)句可以是復(fù)合型語(yǔ)句,但必須用花括號(hào)括起來(lái)。while后必須要有分號(hào)作為語(yǔ)句的結(jié)束,在do-while循環(huán)中,不可以省略while。

10.D執(zhí)行語(yǔ)句“intm=1,n=2,*p=&m,*q=&n,*r;”,即指針變量p指向m,指針變量q指向n。執(zhí)行語(yǔ)句“r=p;p=q;q=r;”,即通過(guò)指針變量r,將指針p和指針q的指向交換。因此最后輸出1,2,2,1。故本題答案為D選項(xiàng)。

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

12.D

13.C

14.D

15.A本題考查了多重for循環(huán)。當(dāng)(i*j)>3時(shí),跳出循環(huán),本題中i=1,j=3,i*J后值為3,所以執(zhí)行下邊語(yǔ)句:m*=i+j,也可寫成m=m*i+j,這時(shí)要注意優(yōu)先級(jí),所以m的值為6。

16.B宏定義在編譯程序時(shí)做了一個(gè)簡(jiǎn)單的替換,所以B選項(xiàng)正確。故本題答案為B選項(xiàng)。

17.D解析:C語(yǔ)言把文件看成是一個(gè)字符(字節(jié))的序列,即由一個(gè)一個(gè)字符(字節(jié))的數(shù)據(jù)順序組成。根據(jù)數(shù)據(jù)的組織形式,可分為ASCII文件和二進(jìn)制文件。ASCII文件又稱文本文件,它的每一個(gè)字節(jié)放一個(gè)ASCII代碼,代表一個(gè)字符。二進(jìn)制文件是把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中的存儲(chǔ)形式原樣輸出到磁盤上存放。

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

19.C解析:該題稍微難一點(diǎn)。主要要搞清楚以下幾點(diǎn):①定義了一個(gè)指針數(shù)組char*p[2]后,程序中第一個(gè)循環(huán)for(i=0;i<2;i++)p[i]=ch[i];的作用,是使指針數(shù)組的p[0]元素(它本身是一個(gè)指針)指向了二維數(shù)組ch的第一行字符串,并使指針數(shù)組的p[1]元素指向二維數(shù)組ch的第二行字符串,這樣,就使指針數(shù)組p和二維數(shù)組ch建立起了一種對(duì)應(yīng)關(guān)系,以后對(duì)二維數(shù)組ch的某個(gè)元素的引用就有兩種等價(jià)的形式:ch[i][j]或p[i][j]。②對(duì)二維數(shù)組ch的初始化,使其第一行ch[0]中存入了字符串“693

20.B

21.i+1i

22.p=i;i>=pi<=Np=i;\r\ni>=p\r\ni<=N解析:本題主要考查了插入排序。由于程序中的數(shù)組在開始已經(jīng)按從小到的大順序排好。在插入時(shí),首先要查到第一個(gè)大于待插入數(shù)的數(shù)組下標(biāo),即當(dāng)待插入元素小于數(shù)組中當(dāng)前元素時(shí),記下數(shù)組的當(dāng)前下標(biāo)p,并結(jié)束循環(huán)。故第一空目的是為了記下數(shù)組下標(biāo),應(yīng)填p=i;插入的第二部是將大于待插入元素的所有元素都向后移動(dòng)一位,故在循環(huán)時(shí),要從最后一個(gè)元素到第p個(gè)元素都要后移一位,因此第二空應(yīng)填i>=p。最后一個(gè)循環(huán)是將N+1個(gè)元素都輸出,故最后一空應(yīng)為i<=N。(注:本題有多種答案,以上僅提供一種)

23.重復(fù)(或循環(huán))重復(fù)(或循環(huán))

24.外模式外模式解析:數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫(kù)的物理存儲(chǔ)結(jié)構(gòu)和存取方法;概念模式是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述;外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。

25.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)

26.b=i+1

27.5656解析:本題中a,b,c,d足實(shí)參,x,y,cp,dp是形參。C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。因此,程序的輸出結(jié)果是56。

28.9

29.101,0解析:與運(yùn)算兩邊的語(yǔ)句必須同時(shí)為真時(shí),結(jié)果才為真。當(dāng)執(zhí)行完if((++a<0)&&!(b--<=0))時(shí),a,b的值已經(jīng)發(fā)生了變化。

30.1010解析:此題考查逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的值是最后一個(gè)表達(dá)式的值,所以本題的返回值是a+4。前面已經(jīng)給a賦值6,所以追回值a+4=6+4=10。

31.sizeof(structnode)或4sizeof(structnode)或4解析:本題考核的知識(shí)點(diǎn)是動(dòng)態(tài)存儲(chǔ)分配函數(shù)malloc()的用法。C標(biāo)準(zhǔn)規(guī)定malloc()函數(shù)返回值的類型為void*,函數(shù)的調(diào)用形式為:malloc(size)。要求aize的類型為unsignedint,所以該空格處應(yīng)該填sizeof(structnode)或4。

32.XX解析:程序是從鍵盤緩沖區(qū)循環(huán)接收字符,并輸出接收到的字符在ASCII碼表中的前一個(gè)字符,直到接收到‘?’為止。

33.c>='a'&&c<='z'c>='a'&&c<='z'解析:小寫字母在內(nèi)存中以ASCII的形式存入,且從a到z依次遞增,所以可以直接用c>='a'&&c<='z'判斷是不是小寫字母;c!='\\n'判斷是用換行符結(jié)束循環(huán)。

34.前件前件

35.加工加工解析:數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。其中的每一個(gè)加工對(duì)應(yīng)一個(gè)處理模塊。

36.6363解析:滿二叉樹的第k層上有2k-1個(gè)結(jié)點(diǎn),度為k的滿二叉樹一共有2k-1個(gè)結(jié)點(diǎn),由二叉樹的性質(zhì)可知:除去第k層上的結(jié)點(diǎn),其他所有結(jié)點(diǎn)都是度為2的結(jié)點(diǎn),所以度為2的結(jié)點(diǎn)數(shù)為2k-1-2k-1,即27-1-27-1=63。

37.structnode*structnode*解析:本題中的結(jié)構(gòu)類型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個(gè)指向自身的結(jié)構(gòu)體指針。

38.cc解析:該題考查以下兩個(gè)知識(shí)點(diǎn):

(1)用一個(gè)指定的標(biāo)識(shí)符(即名字)來(lái)代表一個(gè)字符串,它的一般形式為#define標(biāo)識(shí)符字符串

(2)在MYSWAP宏定義中,利用中間變量z來(lái)交換x和y的值,所以要實(shí)現(xiàn)a和b的交換,只需通過(guò)中間變量即可,所以,此處應(yīng)填c。

39.printf(“a=%db=%d”aB);printf(“a=%d,b=%d”,a,B);解析:printf函數(shù)的一般格式為:“printf(格式控制,輸出表列)”。

40.123056009123\r\n056\r\n009解析:數(shù)組a中元素的初值為:a[0][0]=1、a[0][1]=2、a[0][2]=3、a[1][0]=4、a[1][1]=5、a[1][2]=6、a[12][0]=7、a[2][1]=8、a[2][2]=9。執(zhí)行第1個(gè)for循環(huán)后a[1][0]=0、a[2][0]=0、a[2][1)=0;第2個(gè)for循環(huán)的功能是將數(shù)組元素按照3行3列的格式輸出。

41.C解析:在函數(shù)fun(char*s)中,首先用字符指針變量t指向s,而循環(huán)語(yǔ)句while(*t++);的功能是使指針變量t指向字符串變量s的末尾,這時(shí)退出循環(huán),因而語(yǔ)句return(t-s);回的就是字符串s所指字符串的長(zhǎng)度。

42.C解析:當(dāng)i不可以整除2時(shí)打印“*”然后打印“#”,不能整除2則執(zhí)行continue,跳撾printf('#');語(yǔ)句,結(jié)束本次循環(huán),返回到循環(huán)的起始點(diǎn)。當(dāng)循環(huán)結(jié)束后,打印“$”。

43.D解析:關(guān)系模型中包括關(guān)系的數(shù)據(jù)結(jié)構(gòu)、關(guān)系的操縱和關(guān)系中的數(shù)據(jù)約束。關(guān)系完整性約束即數(shù)據(jù)完整性,包括實(shí)體完整性、參照完整性和用戶自定義完整性。

44.A解析:本題考查字符串比較函數(shù)strcmp()的應(yīng)用。strcmp(s1,s2)是中比較函數(shù),當(dāng)s1>s2時(shí)返回值為正數(shù),當(dāng)s1<s2時(shí)返回值為負(fù)數(shù),當(dāng)s1=s2時(shí)返回值為零。本題中s1,s2分別表示兩個(gè)串中第一個(gè)字符的地址,s1++和s2++是將指針指向串的第二個(gè)字符,指針變量s1指向的是串“bCdEf”的首地址,即字符b的地址,而指針變量s2指向的是字符'B'的地址。而在字符串比較中,寧符串大小的確定是各個(gè)字符串相應(yīng)位置字符的ASCII碼值的大小決定的,字符'B'的ASCII碼值為66,字符“b”的ASCII碼值為98,所以s1>s2,返回值為正數(shù)。

45.B解析:example是結(jié)構(gòu)體類型變量名,因此選項(xiàng)B的說(shuō)法是不正確的。

46.A解析:在給p和q數(shù)組賦初值時(shí),系統(tǒng)會(huì)自動(dòng)添加字符串結(jié)束符,從題目中可以看出數(shù)組p和q都有3個(gè)字符,所以長(zhǎng)度均為3。

47.A解析:C語(yǔ)言中的函數(shù)可以進(jìn)行遞歸調(diào)用,但不能在函數(shù)中定義函數(shù),即函數(shù)不能嵌套定義。函數(shù)可以沒(méi)有返回值,若有返回值,則返回值類型必須確定。

48.D解析:在需求分析階段中,根據(jù)可行性研究階段所提交的文檔,特別是從數(shù)據(jù)流圖出發(fā),對(duì)目標(biāo)系統(tǒng)提出清晰、準(zhǔn)確和具體的要求,即要明確系統(tǒng)必須做什么的問(wèn)題。本題的正確答案為D。

49.A解析:本題考查函數(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ǔ)單元,彼此之間不影響。

50.C

51.A解析:p為指針型變量。第一次循環(huán),p=s,p的值為字符數(shù)組s的首地址,輸出字符串'ABCD'。p++,第二次循環(huán),p的值為字符數(shù)組s的首地址加1,輸出字符串'BCD'。p++,第三次循環(huán),p的值為字符數(shù)組s的首地址加2,輸出字符串'CD'。p++,第4次循環(huán),p的值為字符數(shù)組s的首地址加3,輸出字符串\'D'。

52.B解析:模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。本題答案為B。

53.B

54.D解析:函數(shù)值的類型應(yīng)當(dāng)是在定義函數(shù)時(shí)指定的。在定義函數(shù)時(shí)對(duì)函數(shù)值說(shuō)明的類型一般應(yīng)該和return語(yǔ)句中的表達(dá)式類型—致,如果不—致,則以函數(shù)類型為準(zhǔn),即函數(shù)類型決定返回值的類型。

55.A解析:在switch語(yǔ)句中break語(yǔ)句的作用是退出分支語(yǔ)句,若沒(méi)有break語(yǔ)句則一直向下執(zhí)行。本題中首先計(jì)算switch后面括號(hào)里的表達(dá)式a%3,即15%3為0:執(zhí)行case0:后面的語(yǔ)句“m++;”,m自加1,即m為1;遇到break語(yǔ)句;然后跳出switch語(yǔ)句,所以最后輸出的m值為1。所以選項(xiàng)A正確。

56.B對(duì)二叉樹的中序遍歷是指:首先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹。在遍歷左、右子樹時(shí),注意依舊按照“左子樹一根結(jié)點(diǎn)一右子樹”的順序。本題的遍歷順序是這樣的:①首先訪問(wèn)左予樹:BDEY;②在左子樹BDEY中,也按中序遍歷,先訪問(wèn)左子樹DY;在左子樹DY中,也按中序遍歷,先訪問(wèn)左子樹,左子樹沒(méi)有,則訪問(wèn)根結(jié)點(diǎn)D,然后訪問(wèn)右子樹Y;③接著訪問(wèn)根B,再訪問(wèn)右子樹E;④訪問(wèn)左子樹BDEY后,接著訪問(wèn)根結(jié)點(diǎn)A,接著訪問(wèn)右子樹CFXZ;⑤右子樹CFXZ的訪問(wèn)順序同理可得:FCZX。

57.A解析:函數(shù)的形式參數(shù)之間以逗號(hào)“,”隔開,且每個(gè)變量均需說(shuō)明其數(shù)據(jù)類型,圓括號(hào)后面不能有分號(hào)。只有選項(xiàng)A)符合要求。

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

評(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ù)。

59.C解析:此題綜合考查多種運(yùn)算符的使用:首先計(jì)算表達(dá)式a<=25&&b--<=2&&c的值,很容易看出b--<=2的值為假,因此表達(dá)式為假;根據(jù)三目運(yùn)算的特點(diǎn),由于表達(dá)式為假,所以應(yīng)該執(zhí)行printf('###a=%d,b

溫馨提示

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