2021年貴州省銅仁地區(qū)全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第1頁(yè)
2021年貴州省銅仁地區(qū)全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第2頁(yè)
2021年貴州省銅仁地區(qū)全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第3頁(yè)
2021年貴州省銅仁地區(qū)全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第4頁(yè)
2021年貴州省銅仁地區(qū)全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩68頁(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年貴州省銅仁地區(qū)全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下列敘述中正確的是()。

A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的

B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)

C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表

D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間

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

A.在C程序中,APH和aph是兩個(gè)不同的變量

B.C程序中的變量,代表內(nèi)存中的一個(gè)存儲(chǔ)單元,它的值可以根據(jù)需要隨時(shí)修改

C.在C程序中,無(wú)論是整數(shù)還是實(shí)數(shù),都能準(zhǔn)確無(wú)誤地表示

D.在C程序中,一個(gè)正整數(shù)可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制的形式來(lái)表示

3.假設(shè)某算法的計(jì)算時(shí)間可用遞推關(guān)系式T(n)=2T(n/2)+n,T(1)=1表示,則該算法的時(shí)間復(fù)雜度為()

A.O(logn)B.O(n*logn)C.O(n)D.O(n^2)

4.連通圖G中有n個(gè)頂點(diǎn),G的生成樹(shù)是()連通子圖。

A.包含G的所有頂點(diǎn)B.包含G的所有邊C.不包含G的所有頂點(diǎn)D.包含G的所有頂點(diǎn)和所有邊

5.

有以下程序

#include<stdio.h>

#include<string.h>

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

STUf(STUa)

{STUb={"Zhao",m,85.0,90.0);inti;

strcpy(aname,b.name);

sex:b.sex;

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

returna;

}

main

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

d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);

}

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

A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,m,85,90

D.Zhao,f,95,92

6.以下關(guān)于注釋的敘述中錯(cuò)誤的是()。

A.注釋的邊界符號(hào)“/”和“*”之間不允許加入空格

B.C語(yǔ)言允許注釋出現(xiàn)在程序中任意合適的地方

C.注釋的內(nèi)容僅用于閱讀,對(duì)程序的運(yùn)行不起作用

D.注釋的邊界符號(hào)“/*”和“*/”必須成對(duì)出現(xiàn)且可以嵌套

7.下述程序的輸出結(jié)果是()。#include<stdio.h>main(){inti;for(i=1;i<=10;i++){if(i*i>=20)(i*i<=lOO))break;}printf("%d\n",i*i);}A.49B.36C.25D.64

8.有以下程序:#include<stdio.h>#defineS(x)x*x/xmain(){intk=6,j=3;printf(“%d,%d\n”,S(k+j+2),S(j+k+2);}程序運(yùn)行后的輸出結(jié)果是()。

A.11,11B.29,29C.26,29D.121,121

9.若需要利用形參直接訪問(wèn)實(shí)參,則應(yīng)把形參變量說(shuō)明為_(kāi)___參數(shù)。

A.指針B.引用C.值D.變量

10.

11.結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進(jìn)行需求分析的方法A.A.對(duì)象B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)流D.目標(biāo)

12.以下敘述正確的是()。

A.“charc1,*c2,*c3[10];”是合法的變量定義語(yǔ)句

B.數(shù)組說(shuō)明符的方括號(hào)中不能使用表達(dá)式

C.數(shù)組元素下標(biāo)可以是非整數(shù)

D.若有定義“chararray[4];”,則語(yǔ)句“printf(“%c”,array[“3”]);”是合法的

13.當(dāng)很頻繁的對(duì)序列中部進(jìn)行插入和刪除操作時(shí),應(yīng)該選擇使用的容器是()

A.vectorB.listC.dequeD.stack

14.某完全二叉樹(shù)有256個(gè)節(jié)點(diǎn),則該二叉樹(shù)的深度為()。

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

15.

16.軟件詳細(xì)設(shè)計(jì)產(chǎn)生的圖如圖所示。該圖是()。A.N—S圖B.PAD圖C.程序流程圖D.E—R圖

17.在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是()。

A.程序外部功能B.程序內(nèi)部邏輯C.程序數(shù)據(jù)結(jié)構(gòu)D.程序流程圖

18.關(guān)于C語(yǔ)言中數(shù)的表示,以下敘述中正確的是()。

A.只有整型數(shù)在允許范圍內(nèi)能精確無(wú)誤地表示,實(shí)型數(shù)會(huì)有誤差

B.只要在允許范圍內(nèi)整型數(shù)和實(shí)型數(shù)都能精確地表示

C.只有實(shí)型數(shù)在允許范圍內(nèi)能精確無(wú)誤地表示,整形數(shù)會(huì)有誤差

D.只有用八進(jìn)制表示的數(shù)才不會(huì)有誤差

19.若有以下定義:floatx;inta,b,c=2;,則正確的switch語(yǔ)句是()

A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}

B.switch(int(x)){case1:printf("*\n");case2:printf("**\n");}

C.switch(a+b){case1:printf("*\n");case1+2:printf("**\n");}

D.switch(a+B){case1:printf("*\n");casec:printf("**\n");}

20.圖的深度優(yōu)先遍歷類(lèi)似于二叉樹(shù)的_______。

A.先序遍歷B.中序遍歷C.后序遍歷D.層次遍歷

二、2.填空題(20題)21.函數(shù)sstrcmp的功能是對(duì)兩個(gè)字符串進(jìn)行比較。當(dāng)s所指字符串和t所指字符串相等時(shí),返回值為0;當(dāng)s所指字符串大于t所指字符串時(shí),返回值大于0;當(dāng)s所指字符串小于t所指字符串時(shí),返回值小于0(功能等同于庫(kù)函數(shù)strcmp)。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intsstrcmp(char*s,char*t)

{while(*s&&*t&&*s==【】)

{s++;t++;}

return【】;

}

22.在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找。最壞的情況下,需要的比較次數(shù)為【】。

23.若從鍵盤(pán)輸入58,則以下程序的輸出結(jié)果是【】。

main()

{inta;

scanf(“%d”,&A);

if(a>50)printf(“%d”,A);

if(a>40)printf(“%d”,A);

if(a>30)printf(“%d”,A);

}

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

structNode}

intx;

charch;

};

fun(structNode*sn)

}statick=1;

sn->x=20;

Sn->ch='a'+k++;

}

main()

{inti;

staticstructNodest=}10,'a'};

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

fun(&st);

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

}

25.在ER圖中,矩形表示【】。

26.以下程序的輸出是【】。

main()

{

charstr1[]="Howdoyoudo",*p1=str1;

strcpy(str1+strlen(str1)/2,"esshe");

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

}

27.下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta=9,b=2;

floatx=【】,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

}

28.以下程序的功能是:利用指針指向三個(gè)整型變量,并通過(guò)指針運(yùn)算找出三個(gè)數(shù)中的最大值,輸出到屏幕上。請(qǐng)?zhí)羁铡?/p>

main()

{intx,y,z,max,*px,*py,*pz,*pmax;

scanf("%d%d%d",&x,&y,&z);

px=&x;py=&y;pz=&z;pmax=&max;

【】;

if(*pmax<*py)*pmax=*py;

if(*pmax<*pz)*pmax=*pz;

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

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

intx=5;

do{printf("%d",x-=4);

}while(!(--x));

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

#include<stdio.h>

main()

{FILE*fp;inta[10]={1,2,3,0,0},i;

fp=fopen("d2.dat","wb");

fwtite(a,sizeof(int),5,fp);

fwrite(a,sizeof(int),5,fp);

fclose(fp);

fp=fopen("d2.dat","rb");

fread(a,sizeof(int),10,fp);

fclose(fp);

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

}

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

main()

{

intarr[]={30,25,20,15,10,5},*p=arr;

p++;

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

}

32.在面向?qū)ο蠓椒ㄖ校?)是具有相似性質(zhì)的對(duì)象的集合。

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

#include<stdio.h>

intfun(intx,inty)

{staticintm0,i=2;

i+=m+1;

m=i+x+y;

returnm;

}

main()

{intj=4,m=1,k;

k=fun(j,m);printf("%d,",k);

k=fun(j,m);printf("%d\n",k);

}

34.以下程序的功能是從鍵盤(pán)上輸入一行字符,存入一個(gè)字符數(shù)組中,然后輸出該字符串。請(qǐng)?zhí)羁铡?/p>

main()

{charstr[81],*sptr;

inti;

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

{str[i]=getchar();

if(str[i]=='\n')break;

}

str[i]=【】;

sptr=str1

while(*sptr)putchar(*sptr【】);

}

35.模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類(lèi)模塊:驅(qū)動(dòng)模塊和承接模塊(樁模塊)。其中______的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果。

36.當(dāng)所有結(jié)點(diǎn)的權(quán)值都相等時(shí),用這些結(jié)點(diǎn)構(gòu)造的二叉排序樹(shù)是【】。

37.測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。

38.有以下程序:

intfa(intx){returnx*x;}

intfb(intx){returnx*x*x;}

intf(int(*f1)(),int(*f2)(),(intx)

{returnf2(x)-f1(x);}

main()

{inti;i=f(fa,fb,2);printf("%d\n",i);}

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

39.有以下程序:

fun(inta,intb)

{if(a>b)return(a);

elsereturn(b);

}

main()

{intx=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

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

}

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

40.軟件是程序、數(shù)據(jù)和【】的集合。

三、1.選擇題(20題)41.有以下程序main(){chars[]="159",*p;p=s;printf("%c",*p++);printf("%c",*p++);}程序運(yùn)行后的輸出結(jié)果是______。

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

42.線性表若采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)時(shí),要求內(nèi)存中可用存儲(chǔ)單元的地址()

A.必須是連續(xù)的B.部分地址必須是連續(xù)的C.一定是不連續(xù)的D.連續(xù)不連續(xù)都可以

43.下列程序的輸出結(jié)果是______。main(){intk=17;printf("%d,%0,%x\n",k,k,k);}

A.17,021,0x11B.17,17,17C.17,Ox11,021D.17,21,11

44.有如下程序:#include<stdio.h>intfunc(inta,intb){return(a+b):}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}該程序的輸出結(jié)果是()。

A.12B.13C.14D.15

45.現(xiàn)有如下程序段,此程序段編譯有錯(cuò)誤,則程序段的錯(cuò)誤出在#include<stdio.h>main(){inta=30,b=40,c=50,d;d=a>30?b:c;swish(d){casea:Printf("%d,",a);caseb:printf("%d,",b);casec:printf("%d,",c);defaultprintf("#");}}

A.default:printf("#");這個(gè)語(yǔ)句

B.d=a>30?b:c;這個(gè)語(yǔ)句

C.casea:printf("%d,",a);caseb:printf("%d,",b);casec:printf("%d,",c);這三個(gè)語(yǔ)句

D.switch(d)這個(gè)語(yǔ)句

46.下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是()。

A.層次模型B.網(wǎng)狀模型C.關(guān)系模型D.以上3個(gè)都是

47.以下程序段的輸出為()staticchara[]="language",b[]="progratne";char*ptr1,*ptr2;intk;ptr1=a;ptr2=b;for(k=0;k<7;k++)if(*(ptr1+k)==*(ptr2+k))printf("%c",*(ptr1+k));

A.gaeB.gaC.languageD.有語(yǔ)法錯(cuò)誤

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

A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)

B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率無(wú)關(guān)

C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)

D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的

49.八進(jìn)制數(shù)253.74轉(zhuǎn)換成二進(jìn)制數(shù)是()

A.10101011.1111

B.10111011.0101

C.11001011.1001

D.10101111.1011

50.6-5/2+1.2+5%2的值是()。

A.4.3B.4.8C.3.3D.3.8

51.有以下程序:#include<stdio.h>#defineN8voidfun(int*x,inti){*x=*(x+i)+1;}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.3234C.4234D.1234

52.下列寫(xiě)法正確的是()。

A.main(){inti=3,j;j=5}

B.main(){inti=3;

C.main()

D.main(){;}

53.算法的空間復(fù)雜度是指()。

A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.算法執(zhí)行過(guò)程中所需要的存儲(chǔ)空間

54.棧通常采用的兩種存儲(chǔ)結(jié)構(gòu)是()。

A.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B.散列方式和索引方式C.鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組D.線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)

55.設(shè)有定義:inta=2,b=3,c=4;,則下列選項(xiàng)中值為0的表達(dá)式是()。

A.(!a==1)&&(!b==0)

B.(a<b)&&!c‖1

C.a&&b

D.a‖(b+b)&&(c-a)

56.下列常數(shù)中,不合法的C常量是()

A.-0x3b1B.123e+2.3C.'}'D.6e+7

57.以下程序中函數(shù)reverse的功能是將a所指數(shù)組中的內(nèi)容進(jìn)行逆置。voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,8);for(i=6;i<10;i++)s+=b[i];printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是

A.22B.10C.34D.30

58.設(shè)有如下定義:structsk{inta;floatb;}data;int*p;若要使p指向data中的a域,正確的賦值語(yǔ)句是()

A.p=&a;B.p=data.a;C.p=&data.a,D.*p=data.a;

59.有以下程序:#include<stdio.h>voidfun(char*a,char*b){a=b;(*a)++;}main(){charc1='A',c2='a',*p1,*p2;p1=&c1;P2=&c2;fun(p1,p2);printf("%c%c\n",c1,c2);}程序運(yùn)行后的輸出結(jié)果是()。

A.AbB.aaC.AaD.Bb

60.以下錯(cuò)誤的定義語(yǔ)句是A.intx[][3]={{0},{1},{1,2,3}};

B.intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

C.intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

D.intx[][3]={1,2,3,4};

四、選擇題(20題)61.有以下程序

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

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

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

C.0,9,8,7,6,5,4,3,2,l,

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

62.

63.有以下程序:

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

A.3B.6C.9D.2

64.

65.在數(shù)據(jù)庫(kù)管理系統(tǒng)的層次結(jié)構(gòu)中,處于最上層的是()。

A.應(yīng)用層B.語(yǔ)言翻譯處理層C.數(shù)據(jù)存取層D.數(shù)據(jù)存儲(chǔ)層

66.

67.下列敘述中正確的是()。A.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的

B.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)

C.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要少于順序存儲(chǔ)結(jié)構(gòu)

D.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)在存儲(chǔ)空間的需求上沒(méi)有可比性

68.設(shè)有如下三個(gè)關(guān)系表:

69.

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

main

{inta[3][3],*p,i};

p=&a[0][0];

for(i=p;i<9;i++)p[i]=i+1;

printf("%d\n",a[1][2]);

}

A.3B.6C.9D.隨機(jī)數(shù)

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

#include<stdio.h>

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

x=(a^b)&c;printf("%d\n",x);}

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

71.

72.有以下程序

73.有以下函數(shù)函數(shù)的功能是()。

A.統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)

B.查找x和y所指字符串中是否有’\0’

C.將y所指字符串賦給x所指存儲(chǔ)空間

D.統(tǒng)計(jì)x和y所指字符串中相同的字符個(gè)數(shù)

74.下列工具中為需求分析常用工具的是()。

A.PADB.BFDC.N-SD.DFD

75.若有以下定義:floatx;inta,b,c=2;,則正確的switch語(yǔ)句是

76.

77.

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

A.X+1=yB.++X.Y=X一一C.X=X+10=X+YD.double(X)/10

79.若執(zhí)行下面的程序時(shí),從鍵盤(pán)輸入6和2,則輸出結(jié)果是()。

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

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)整型形參n,計(jì)算如下公式的值:A1=1,A2=1/(5+A1),A3=1/(5+A2),…,An=1/(5+A(n-1))例如,若n一10,則應(yīng)輸出0.192582。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),對(duì)長(zhǎng)度為9個(gè)字符的字符串,除首、尾字符外,將其余7個(gè)字符按ASCⅡ碼值降序排列。例如,原來(lái)的字符串為HabcdefA,則排序后輸出為HfedcbaA。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.A解析:順序存儲(chǔ)結(jié)構(gòu)就是用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)該線性表中的各個(gè)元素,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項(xiàng)A是正確的。兩者都可以存儲(chǔ)線性的、有序的邏輯結(jié)構(gòu),所以選項(xiàng)B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲(chǔ),鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰(shuí)節(jié)約空間的說(shuō)法,所以選項(xiàng)D不正確。

2.C

3.B

4.A

5.Cf函數(shù)的功能是對(duì)形參a的各個(gè)成員用結(jié)構(gòu)體變量b的各個(gè)成員進(jìn)行賦值后,然后返回變量a。

6.D在編寫(xiě)程序時(shí)可以在程序中加入注釋。在添加注釋時(shí),注釋內(nèi)容必須放在符號(hào)“/*”和“*/”之間,“/*”和“*/”必須成對(duì)出現(xiàn),“/*”與“*/”之間不可以有空格,選項(xiàng)A正確;注釋可以用英文,可以用中文,可以出現(xiàn)在程序中任意合適的地方,選項(xiàng)B正確;注釋部分只適用于閱讀,對(duì)程序的運(yùn)行不起作用,選項(xiàng)C正確;使用“/*”和“*/”的注釋之間不可再嵌套“/*”和“*/”,選項(xiàng)D錯(cuò)誤。故本題答案為D選項(xiàng)。

7.C當(dāng)if執(zhí)行到第一個(gè)滿足(i*i>=20)(i*i<=100)這個(gè)條件的i出現(xiàn)時(shí),通過(guò)break語(yǔ)句跳出循環(huán),執(zhí)行下面的prinlf語(yǔ)句。

8.B#define命令是C語(yǔ)言中的一個(gè)宏定義命令,為了區(qū)分其他標(biāo)識(shí)符,標(biāo)識(shí)符一般使用大寫(xiě)。將標(biāo)識(shí)符定義為一個(gè)字符串,該標(biāo)識(shí)符被稱(chēng)為宏名,被定義的字符串稱(chēng)為替換文本。宏定義不進(jìn)行其他操作,僅僅只是替換標(biāo)識(shí)符。題目中的S(k+j+2)=k+j+2*k+j+2/k+j+2”,經(jīng)計(jì)算可得29。“S(j+k+2)=j+k+2*k+j+2/j+k+2”,經(jīng)計(jì)算可得29。因此輸出為29,29。故本題答案為B選項(xiàng)。

9.A

10.D

11.CC。【解析】結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。

12.AC語(yǔ)言規(guī)定定義數(shù)組時(shí),數(shù)組的長(zhǎng)度必須是整型常量,數(shù)組說(shuō)明符的方括號(hào)中表達(dá)式只要是常量即合法,因此選項(xiàng)B錯(cuò)誤。C語(yǔ)言規(guī)定,數(shù)組元素下標(biāo)必須是非負(fù)整數(shù),因此選項(xiàng)C錯(cuò)誤。選項(xiàng)D中,“chararray[4]”數(shù)組的長(zhǎng)度為4,“army[“3”]”中“3”是常量字符串,與C語(yǔ)言規(guī)定數(shù)組的下標(biāo)必須是非負(fù)整數(shù)不符。故本題答案為A選項(xiàng)。

13.B

14.C

15.C

16.CN-S圖(也被稱(chēng)為盒圖或CHAPIN圖)、PAD(問(wèn)題分析圖)及PFD(程序流程圖)是詳細(xì)設(shè)計(jì)階段的常用工具。E—R圖即實(shí)體一聯(lián)系圖,是數(shù)據(jù)庫(kù)設(shè)計(jì)的常用工具。從題中圖可以看出該圖屬于程序流程圖。

17.A【答案】:A

【知識(shí)點(diǎn)】:黑盒測(cè)試

【解析】:黑盒測(cè)試也稱(chēng)功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試,它完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特征,只著眼于程序的外部結(jié)構(gòu),主要用來(lái)檢查程序功能是否按照需求規(guī)格說(shuō)明書(shū)的規(guī)定正常使用。故選A。

18.A當(dāng)數(shù)據(jù)類(lèi)型是實(shí)數(shù)時(shí),在存儲(chǔ)過(guò)程中,當(dāng)小數(shù)部分無(wú)限長(zhǎng)時(shí),會(huì)存在小數(shù)部分的截?cái)?,?huì)存在誤差,所以答案選擇A。

19.C

20.A

21.*t或t[0]*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]*t或t[0]\r\n*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]解析:函數(shù)sstrcmp()有兩個(gè)字符型指針變量,用來(lái)指向兩個(gè)字符串。比較兩個(gè)字符串的大小方法是:從第一個(gè)字符開(kāi)始依次向后比較,若對(duì)應(yīng)的字符相等則接著比較下一個(gè)字符,一直到兩個(gè)字符串中對(duì)應(yīng)字符不等,或者有一個(gè)為\\0,此時(shí)字符的ASCII碼大的字符串就大。故循環(huán)條件是*s和*t不為\\0,且*s和*t相同,第一處應(yīng)填“*t”或其他等價(jià)形式。根據(jù)題意可知第二處應(yīng)填*s-*t或其等價(jià)形式。

22.log2n

23.585858585858解析:在程序中,執(zhí)行scanf()語(yǔ)句后,a被賦值為58。接著執(zhí)行第一個(gè)if語(yǔ)句,因?yàn)?,a=58>50,執(zhí)行第一個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58;接著執(zhí)行第二個(gè)if語(yǔ)句,因?yàn)?,a=58>40,執(zhí)行第二個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58;接著執(zhí)行第三個(gè)if語(yǔ)句,因?yàn)?,a=58>30,執(zhí)行第三個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58,所以最后的輸出為585858。

24.20c。20,c。解析:函數(shù)fun的功能是給結(jié)構(gòu)體指針變量所指的結(jié)構(gòu)體變量的各成員賦值,主函數(shù)兩次調(diào)用函數(shù)fun,第一次調(diào)用,實(shí)參st兩個(gè)成員的值是20和字符b,調(diào)用結(jié)束時(shí),靜態(tài)局部變量k沒(méi)有釋放,值為2:第二次調(diào)用,實(shí)參st兩個(gè)成員的值是20和字符c,調(diào)用結(jié)束時(shí),靜態(tài)局部變量k沒(méi)有釋放,值為3;因此,輸出結(jié)果是20和c。

25.實(shí)體實(shí)體解析:在E-R圖中用矩形表示實(shí)體;橢圓形表示屬性;菱形表示聯(lián)系。

26.HowdoessheHowdoesshe解析:strcpy(str1,s1);字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組strl中去。strlen(str):測(cè)試字符串str的長(zhǎng)度,函數(shù)的值為字符串中實(shí)際長(zhǎng)度,不包括\'\\0\'在內(nèi)。本題中strlen(str1)的值為13,則strcpy(strl+strlen(strl)/2,'esshe');相當(dāng)于strcpy(strl+6,'esshe');,因此可得答案為Howdoesshe

解析:本題以浮點(diǎn)格式輸出z值,寬度為5,有2位小數(shù)。應(yīng)該注意的是,兩個(gè)整數(shù)運(yùn)算結(jié)果仍為整數(shù),如1/2的結(jié)果為0。本題可逐步求解:

16.00=9/2+2*x/1.1+1/2

16.00=4+2*x/1.1+0

12.00=2*x/1.1

所以,x的值為6.6。

28.*pmax=*px*pmax=*px解析:首先將變量x的值放到max中,然后依次和變量y、z進(jìn)行比較。若有比max大的數(shù),將該數(shù)存放到max中,這樣最后在max中的值就是x、y、z中的最大值。

29.1-41-4解析:題目中首先讓x=5,然后進(jìn)入do-while循環(huán)體,輸出x-4的值1,此時(shí)x為1,表達(dá)式!(--x)的值為!(0)為真(此時(shí)x變?yōu)?),所以再次執(zhí)行循環(huán)體,輸出x-4的值-4,此時(shí)x為-4,表達(dá)式!(--x)的值為!(—5)為假,退出循環(huán)。故輸出結(jié)果是1-4。

30.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫(xiě)函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結(jié)果為“1,2,3,0,0,1,2,3,0,0”。

31.1010解析:整型指針最初被賦的值是數(shù)組arr的頭指針,即指向數(shù)組的第一個(gè)元素30,p++后,指針指向數(shù)組的下一個(gè)元素,即*p=arr[1]=25,在執(zhí)行*(p+3)時(shí),則相當(dāng)于a[1+3],即10。因此,輸出應(yīng)為100。

32.類(lèi)類(lèi)解析:將屬性、操作相似的對(duì)象歸為類(lèi),也就是說(shuō),類(lèi)是具有共同屬性、共同操作性質(zhì)的對(duì)象的集合,是已經(jīng)定義了的關(guān)于對(duì)象的特征、外觀和行為的模板。所以類(lèi)是對(duì)象的抽象,它描述了屬于該對(duì)象類(lèi)型的所有對(duì)象的性質(zhì),而一個(gè)對(duì)象則是其劃應(yīng)類(lèi)的一個(gè)實(shí)例。

33.817

34.\0'++

35.在進(jìn)行單元測(cè)試時(shí),要用一些輔助模塊去模擬與被測(cè)模塊相聯(lián)系的其他模塊,即為被測(cè)模塊設(shè)計(jì)和搭建驅(qū)動(dòng)模塊和樁模塊。其中,驅(qū)動(dòng)模塊相當(dāng)于被測(cè)模塊的主程序,它接收測(cè)試數(shù)據(jù),并傳給被測(cè)模塊,輸出實(shí)際測(cè)試結(jié)果;而樁模塊是模擬其他被調(diào)用模塊,不必將子模塊的所有功能帶入。\r\n\r\n

36.右子樹(shù)(單支樹(shù))右子樹(shù)(單支樹(shù))解析:二叉排序樹(shù)對(duì)于任意新結(jié)點(diǎn),若大于等于根結(jié)點(diǎn),則在右子樹(shù)上建立。

37.調(diào)試調(diào)試

38.44解析:在主函數(shù)中調(diào)用函數(shù)f,函數(shù)f有三個(gè)參數(shù),形參f1與f2分別是兩個(gè)指向函數(shù)的指針。在f中執(zhí)行f2(x)-f1(x),實(shí)際上是執(zhí)行了fb(2)-fa(2),故執(zhí)行i=(fa,fb,2)后i的值為23-22=4。

39.1212解析:函數(shù)fun的功能是求兩個(gè)數(shù)當(dāng)中的最大值。語(yǔ)句r=fun(fun(x,y),2*z)的執(zhí)行過(guò)程為:首先計(jì)算fun(x,y),因x=3、y=8,所以結(jié)果為8;然后計(jì)算fun(8,2,*z),即計(jì)算fun(8,12),所以r=12。

40.文檔文檔解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。

41.A解析:自增運(yùn)算符“++”放在變量之前表示在使用變量之前,先使變量的值加1;放在變量之后表示在使用變量之后,再使變量的值加1。語(yǔ)句p=s;使指針p指向字符串s的首地址,第一次輸出語(yǔ)句先輸出字符'1',指針p再往后移一位,指向字符'5'的地址,第二個(gè)輸出語(yǔ)句,同樣先輸出字符'5',指針p再往后移一位,指向字符'9'的地址。

42.D解析:在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)空間可以不連續(xù),各數(shù)據(jù)接點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來(lái)確定的。

43.D

44.D解析:在表達(dá)式r=func(func(x,y),z)中,func(x,y)是第一次調(diào)用函數(shù),它的返回值7作為func函數(shù)第二次調(diào)用的實(shí)參,結(jié)果為15。

45.C解析:case也是關(guān)鍵字,與其后面的常量表達(dá)式合稱(chēng)case語(yǔ)句標(biāo)號(hào),常量表達(dá)式的類(lèi)型必須與switch后的表達(dá)式類(lèi)型相同。這個(gè)程序段主要考查的是case后是常量表達(dá)式。

46.C在數(shù)據(jù)庫(kù)設(shè)計(jì)中,目前常用的數(shù)據(jù)模型主要有三種,分別是層次模型、網(wǎng)狀模型和關(guān)系模型。

層次模型是數(shù)據(jù)庫(kù)系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型。我們通常把滿足以下兩個(gè)條件的數(shù)據(jù)模型稱(chēng)為層次模型。

(1)有且僅有一個(gè)結(jié)點(diǎn)無(wú)雙親,這個(gè)結(jié)點(diǎn)稱(chēng)為根結(jié)點(diǎn)。

(2)其他結(jié)點(diǎn)有且僅有一個(gè)雙親。

層次模型用樹(shù)形結(jié)構(gòu)來(lái)表示各實(shí)體與實(shí)體間的聯(lián)系。實(shí)體是數(shù)據(jù)庫(kù)中數(shù)據(jù)描述的對(duì)象,可以是一個(gè)人、一種商品等。在層次模型中,每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類(lèi)型,記錄之間的聯(lián)系用結(jié)點(diǎn)之間的連線表示,這種聯(lián)系是父子之間一對(duì)多的聯(lián)系。記錄就是描述實(shí)體的相關(guān)數(shù)據(jù)。

如果取消層次模型中的兩個(gè)限制,即允許一個(gè)以上的結(jié)點(diǎn)無(wú)雙親,則每一個(gè)結(jié)點(diǎn)可以有多個(gè)父結(jié)點(diǎn),便形成了網(wǎng)狀。我們把網(wǎng)狀表示實(shí)體之間聯(lián)系的模型稱(chēng)為網(wǎng)狀模型。

關(guān)系模型用表格形式表示實(shí)體類(lèi)型及其實(shí)體間的聯(lián)系。關(guān)系模型是目前最重要的一種模型,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的,具有最堅(jiān)實(shí)的理論基礎(chǔ)。關(guān)系模型的基本數(shù)據(jù)結(jié)構(gòu)是二維表,每一張二維表稱(chēng)為一個(gè)關(guān)系。

47.B

48.B解析:一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲(chǔ)結(jié)構(gòu),常用的存儲(chǔ)結(jié)構(gòu)有順序、鏈接、索引等,選項(xiàng)A和選項(xiàng)D正確。采用不同的存儲(chǔ)結(jié)構(gòu),其數(shù)據(jù)處理的效率不同,因此,在進(jìn)行數(shù)據(jù)處理時(shí),選擇合適的存儲(chǔ)結(jié)構(gòu)是很重要的,選項(xiàng)C正確,選項(xiàng)B錯(cuò)誤,應(yīng)為本題正確答案。

49.A

50.D

51.C解析:函數(shù)fun(int*x,inti)的功能是把數(shù)組元素x[i]的值加1賦給x[0]。所以在主函數(shù)中執(zhí)行fun(a,2)后,數(shù)組元數(shù)a[0]的值等于4。然后在for循環(huán)語(yǔ)句中,輸出數(shù)組a中的前4個(gè)元素的值,分別是4,2,3,4。

52.D解析:本題考查語(yǔ)句的基本構(gòu)成。選項(xiàng)A)中j=5后面少了一個(gè)分號(hào):選項(xiàng)B)中少了“}”;選項(xiàng)C)不是一個(gè)完整的函數(shù)定義格式,一個(gè)完整的函數(shù)定義格式還包括一對(duì)花括號(hào):選項(xiàng)D)正確,是一個(gè)空語(yǔ)句。

53.D【解析】算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。一個(gè)算法所占用的存儲(chǔ)空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法執(zhí)行中所需要的額外空間。其中額外空間包括算法程序執(zhí)行過(guò)程中的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲(chǔ)空間。如果額外空間量相對(duì)于問(wèn)題規(guī)模來(lái)說(shuō)是常數(shù),則稱(chēng)該算法是原地工作的。在許多實(shí)際問(wèn)題中,為了減少算法所占的存儲(chǔ)空間,通常采用壓縮存儲(chǔ)技術(shù),以便盡量減少不必要的額外空間。

54.A解析:和線性表類(lèi)似,棧也有兩種存儲(chǔ)方法,一是順序棧,二是鏈?zhǔn)綏!5捻樞虼鎯?chǔ)結(jié)構(gòu)是利用一組地址連續(xù)的存儲(chǔ)單元一次存儲(chǔ)自棧底到棧頂?shù)臄?shù)據(jù)元素,同時(shí)附設(shè)指針top指示棧頂元素的位置,由于棧的操作是線性表操作的特例,相對(duì)而言,鏈?zhǔn)綏5牟僮鞲子趯?shí)現(xiàn)。注意:這3種運(yùn)算方法在各種存儲(chǔ)結(jié)構(gòu)中的應(yīng)用。

55.A解析:在選項(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)B)中,關(guān)系表達(dá)式a<b為真,表達(dá)式(a<b)&&!c為假,而表達(dá)式(a<b)&&!c‖1為真,所以整個(gè)表達(dá)式的值為真。選項(xiàng)C)中,a&&b的結(jié)果為真。在選項(xiàng)D)中,a‖(b+b)&&(c-a)的結(jié)果為真。

56.B

57.A解析:本題考查的知識(shí)點(diǎn)是數(shù)組名作為函數(shù)參數(shù)及函數(shù)調(diào)用。reverse()數(shù)的功能是將具有n個(gè)元素的數(shù)組a反序存放。在主函數(shù)中調(diào)用語(yǔ)句是“reverse(b,8);”,實(shí)現(xiàn)的功能是把b數(shù)組的前八個(gè)元素逆置,所以b數(shù)組中依次存放的值為“8,7,6,5,4,3,2,1,9,10”。for循環(huán)了4次,分別把b[6]、b[7]、b[8]和b[9]的值(分別是2、1、9、10)加到了s中,s的結(jié)果是22,所以最后輸出的s值為22。所以4個(gè)選項(xiàng)中A正確。

58.C解析:data是—結(jié)構(gòu)體變量,a是它的成員,因此引用a域的正確方法是:data.a,取它的地址賦值給指針變量p的語(yǔ)句應(yīng)該是:p=&data.a。選項(xiàng)A,將a的地址直接賦給了p,而忽略了a為結(jié)構(gòu)體內(nèi)部的一個(gè)成員,而不是一單獨(dú)的變量,故選項(xiàng)A不正確;選項(xiàng)B在p=data.a表達(dá)式中右邊為一個(gè)結(jié)構(gòu)體變量的成員不是地址,而左邊為一指針應(yīng)該將一地址賦給它,故選項(xiàng)B不正確;選項(xiàng)D表達(dá)式*p=data.a是將結(jié)構(gòu)體變量中的成員a的值賦給指針p所指向的變量值,而不是使指針p指向data中的a域,故選項(xiàng)D不正確:4個(gè)選項(xiàng)中只有C正確。

59.A解析:本題中fun函數(shù)的形參是兩個(gè)指向字符型數(shù)據(jù)的指針,其功能是把b賦給a,然后將a所指存儲(chǔ)單元里的變量值加1。在main函數(shù)中,p1里存放的是c1的地址,p2里存放的是c2的地址,經(jīng)函數(shù)調(diào)用fun(p1,P2)后,p2的值賦給了p1,使p1和p2都指向了c2,而(*a)++又使'a'的值加1變成了'b',所以此時(shí)c2的值為'b',而c1的值沒(méi)變,仍為'A'。程序改變的是p1的地址和c2的值。

60.C解析:本題考查的是二維數(shù)組的定義和初始化方法。C語(yǔ)言中,在定義并初始化二維數(shù)組時(shí),可以省略數(shù)組第一維的長(zhǎng)度,但是不能省略第二維的長(zhǎng)度。故選項(xiàng)C)錯(cuò)誤。

61.A函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳遞是單向的,即只能把實(shí)參的值傳遞給形參。而不能把形參的值反向地傳遞給實(shí)參。因此在函數(shù)調(diào)用過(guò)程中,形參的值發(fā)生改變,而實(shí)參中的值不會(huì)變化,所以數(shù)組C中的元素的值并沒(méi)有變化,故選擇A)。

62.D

63.B本題的考查點(diǎn)是指向數(shù)組元素的指針變量的定義和賦值。所謂數(shù)組的指針是指數(shù)組的起始地址,數(shù)組元素的指針是數(shù)組元素的地址。P=&a[0][O]是把該數(shù)組的第一個(gè)元素的地址賦給指針變量P,而且此時(shí)指針變量P也是int型。a[1][2]剛好是數(shù)組中的第6個(gè)元素,此時(shí)也就是P所指的地址,所以輸出結(jié)果是6。

64.D

65.A在數(shù)據(jù)庫(kù)管理系統(tǒng)的層次結(jié)構(gòu)中,應(yīng)用層是直接面向終端客戶的,因此它是出于最上層得。

66.D

67.B線性鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中每個(gè)結(jié)點(diǎn)都由數(shù)據(jù)域與指針域兩部分組成,增加了存儲(chǔ)空間,所以一般要多于順序存儲(chǔ)結(jié)構(gòu)。

68.B兩個(gè)相同結(jié)構(gòu)關(guān)系的“并”是由屬于這兩個(gè)關(guān)系的元組組成的集合。

69.D

\n程序執(zhí)行在for循環(huán),當(dāng)i=p時(shí),i中放的是P的地址,類(lèi)型不符合,因此輸出隨機(jī)數(shù),故選擇D進(jìn)項(xiàng).

\n

70.D

71.C

72.A本題主要考查的是:數(shù)組名用作函數(shù)參數(shù)。數(shù)組名用作函數(shù)參數(shù)的情況類(lèi)似于指針,屬于傳地址,故對(duì)形參數(shù)組元素的修改會(huì)同時(shí)修改實(shí)參。本題中,f()函數(shù)通過(guò)一個(gè)for循環(huán)語(yǔ)句,將傳人數(shù)組的元素從下標(biāo)2到下標(biāo)5每個(gè)各自乘以2。因此,調(diào)用結(jié)束時(shí),數(shù)組a中的內(nèi)容為(l.2,6,8,10,12,7,8,9,101,故本題應(yīng)該選擇A)。

73.A本題中由循環(huán)條件可知,當(dāng)遇到l\0”’或“x與y所指的字符的值不相等”中的一個(gè)條件時(shí)就結(jié)束循環(huán),因此本題函數(shù)的功能是統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)。

74.D需求分析常用的工具有4種:數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判斷樹(shù)和判定表。PAD(問(wèn)題分析圖)、PFD(程序流程圖)、N—S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。

75.C本題考查switch語(yǔ)句的使用。

switch語(yǔ)句是多分支選擇語(yǔ)句,有些教程上介紹說(shuō)switch語(yǔ)句后面括弧里的表達(dá)式可以是任何類(lèi)型,實(shí)際上,由于float型的數(shù)據(jù)在內(nèi)存中的存儲(chǔ)會(huì)有誤差,絕大多數(shù)編譯器是不允許switch語(yǔ)句后面是float型的數(shù)據(jù)的。case后是常量表達(dá)式,只能是一個(gè)整數(shù)或整型常量表達(dá)式,也可以是一個(gè)字符常量或枚舉型常量,但不能是實(shí)型數(shù)據(jù)。

A選項(xiàng)中的case后面用的是實(shí)型常量,case語(yǔ)句后面不能跟實(shí)型常量。

B選項(xiàng)switch語(yǔ)句后面的語(yǔ)句是int(x),該表達(dá)式格式錯(cuò)誤,強(qiáng)制轉(zhuǎn)換為整型的語(yǔ)句應(yīng)該為(int)x。

C選項(xiàng)是正確的,switch后面的表達(dá)式和case后面的整型常量表達(dá)式都是規(guī)范的。

D選項(xiàng)的case語(yǔ)句后用到了變量,case后面是不允許用變量表達(dá)式的。

76.C

77.B

78.BA選項(xiàng)中不能將變量Y賦給表達(dá)式,c選項(xiàng)中錯(cuò)誤與A選項(xiàng)一樣,D選項(xiàng)中強(qiáng)制類(lèi)型轉(zhuǎn)換表達(dá)式應(yīng)寫(xiě)成(doub1e)x/10。

79.C本題考查簡(jiǎn)單的if…else語(yǔ)句。先執(zhí)行條件if(a<b),顯然不成立,然后執(zhí)行else語(yǔ)句。

80.C

81.(1)錯(cuò)誤:intA[100];

正確:floatA[100];

(2)錯(cuò)誤:for(i=1;i<=n;i++)

正確:for(i=2;i<=n;i++)

82.

【解析】按照題目中要求,求除首、尾字符外,將其余7個(gè)字符按ASCⅡ碼值降序排列。首先需要判斷除首、尾字符之外,其余7個(gè)字符ASCⅡ碼值的大小,將不符合順序要求的字符互換。

2021年貴州省銅仁地區(qū)全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.下列敘述中正確的是()。

A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的

B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)

C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表

D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間

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

A.在C程序中,APH和aph是兩個(gè)不同的變量

B.C程序中的變量,代表內(nèi)存中的一個(gè)存儲(chǔ)單元,它的值可以根據(jù)需要隨時(shí)修改

C.在C程序中,無(wú)論是整數(shù)還是實(shí)數(shù),都能準(zhǔn)確無(wú)誤地表示

D.在C程序中,一個(gè)正整數(shù)可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制的形式來(lái)表示

3.假設(shè)某算法的計(jì)算時(shí)間可用遞推關(guān)系式T(n)=2T(n/2)+n,T(1)=1表示,則該算法的時(shí)間復(fù)雜度為()

A.O(logn)B.O(n*logn)C.O(n)D.O(n^2)

4.連通圖G中有n個(gè)頂點(diǎn),G的生成樹(shù)是()連通子圖。

A.包含G的所有頂點(diǎn)B.包含G的所有邊C.不包含G的所有頂點(diǎn)D.包含G的所有頂點(diǎn)和所有邊

5.

有以下程序

#include<stdio.h>

#include<string.h>

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

STUf(STUa)

{STUb={"Zhao",m,85.0,90.0);inti;

strcpy(aname,b.name);

sex:b.sex;

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

returna;

}

main

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

d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);

}

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

A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,m,85,90

D.Zhao,f,95,92

6.以下關(guān)于注釋的敘述中錯(cuò)誤的是()。

A.注釋的邊界符號(hào)“/”和“*”之間不允許加入空格

B.C語(yǔ)言允許注釋出現(xiàn)在程序中任意合適的地方

C.注釋的內(nèi)容僅用于閱讀,對(duì)程序的運(yùn)行不起作用

D.注釋的邊界符號(hào)“/*”和“*/”必須成對(duì)出現(xiàn)且可以嵌套

7.下述程序的輸出結(jié)果是()。#include<stdio.h>main(){inti;for(i=1;i<=10;i++){if(i*i>=20)(i*i<=lOO))break;}printf("%d\n",i*i);}A.49B.36C.25D.64

8.有以下程序:#include<stdio.h>#defineS(x)x*x/xmain(){intk=6,j=3;printf(“%d,%d\n”,S(k+j+2),S(j+k+2);}程序運(yùn)行后的輸出結(jié)果是()。

A.11,11B.29,29C.26,29D.121,121

9.若需要利用形參直接訪問(wèn)實(shí)參,則應(yīng)把形參變量說(shuō)明為_(kāi)___參數(shù)。

A.指針B.引用C.值D.變量

10.

11.結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進(jìn)行需求分析的方法A.A.對(duì)象B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)流D.目標(biāo)

12.以下敘述正確的是()。

A.“charc1,*c2,*c3[10];”是合法的變量定義語(yǔ)句

B.數(shù)組說(shuō)明符的方括號(hào)中不能使用表達(dá)式

C.數(shù)組元素下標(biāo)可以是非整數(shù)

D.若有定義“chararray[4];”,則語(yǔ)句“printf(“%c”,array[“3”]);”是合法的

13.當(dāng)很頻繁的對(duì)序列中部進(jìn)行插入和刪除操作時(shí),應(yīng)該選擇使用的容器是()

A.vectorB.listC.dequeD.stack

14.某完全二叉樹(shù)有256個(gè)節(jié)點(diǎn),則該二叉樹(shù)的深度為()。

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

15.

16.軟件詳細(xì)設(shè)計(jì)產(chǎn)生的圖如圖所示。該圖是()。A.N—S圖B.PAD圖C.程序流程圖D.E—R圖

17.在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是()。

A.程序外部功能B.程序內(nèi)部邏輯C.程序數(shù)據(jù)結(jié)構(gòu)D.程序流程圖

18.關(guān)于C語(yǔ)言中數(shù)的表示,以下敘述中正確的是()。

A.只有整型數(shù)在允許范圍內(nèi)能精確無(wú)誤地表示,實(shí)型數(shù)會(huì)有誤差

B.只要在允許范圍內(nèi)整型數(shù)和實(shí)型數(shù)都能精確地表示

C.只有實(shí)型數(shù)在允許范圍內(nèi)能精確無(wú)誤地表示,整形數(shù)會(huì)有誤差

D.只有用八進(jìn)制表示的數(shù)才不會(huì)有誤差

19.若有以下定義:floatx;inta,b,c=2;,則正確的switch語(yǔ)句是()

A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}

B.switch(int(x)){case1:printf("*\n");case2:printf("**\n");}

C.switch(a+b){case1:printf("*\n");case1+2:printf("**\n");}

D.switch(a+B){case1:printf("*\n");casec:printf("**\n");}

20.圖的深度優(yōu)先遍歷類(lèi)似于二叉樹(shù)的_______。

A.先序遍歷B.中序遍歷C.后序遍歷D.層次遍歷

二、2.填空題(20題)21.函數(shù)sstrcmp的功能是對(duì)兩個(gè)字符串進(jìn)行比較。當(dāng)s所指字符串和t所指字符串相等時(shí),返回值為0;當(dāng)s所指字符串大于t所指字符串時(shí),返回值大于0;當(dāng)s所指字符串小于t所指字符串時(shí),返回值小于0(功能等同于庫(kù)函數(shù)strcmp)。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intsstrcmp(char*s,char*t)

{while(*s&&*t&&*s==【】)

{s++;t++;}

return【】;

}

22.在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找。最壞的情況下,需要的比較次數(shù)為【】。

23.若從鍵盤(pán)輸入58,則以下程序的輸出結(jié)果是【】。

main()

{inta;

scanf(“%d”,&A);

if(a>50)printf(“%d”,A);

if(a>40)printf(“%d”,A);

if(a>30)printf(“%d”,A);

}

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

structNode}

intx;

charch;

};

fun(structNode*sn)

}statick=1;

sn->x=20;

Sn->ch='a'+k++;

}

main()

{inti;

staticstructNodest=}10,'a'};

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

fun(&st);

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

}

25.在ER圖中,矩形表示【】。

26.以下程序的輸出是【】。

main()

{

charstr1[]="Howdoyoudo",*p1=str1;

strcpy(str1+strlen(str1)/2,"esshe");

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

}

27.下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta=9,b=2;

floatx=【】,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

}

28.以下程序的功能是:利用指針指向三個(gè)整型變量,并通過(guò)指針運(yùn)算找出三個(gè)數(shù)中的最大值,輸出到屏幕上。請(qǐng)?zhí)羁铡?/p>

main()

{intx,y,z,max,*px,*py,*pz,*pmax;

scanf("%d%d%d",&x,&y,&z);

px=&x;py=&y;pz=&z;pmax=&max;

【】;

if(*pmax<*py)*pmax=*py;

if(*pmax<*pz)*pmax=*pz;

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

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

intx=5;

do{printf("%d",x-=4);

}while(!(--x));

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

#include<stdio.h>

main()

{FILE*fp;inta[10]={1,2,3,0,0},i;

fp=fopen("d2.dat","wb");

fwtite(a,sizeof(int),5,fp);

fwrite(a,sizeof(int),5,fp);

fclose(fp);

fp=fopen("d2.dat","rb");

fread(a,sizeof(int),10,fp);

fclose(fp);

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

}

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

main()

{

intarr[]={30,25,20,15,10,5},*p=arr;

p++;

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

}

32.在面向?qū)ο蠓椒ㄖ校?)是具有相似性質(zhì)的對(duì)象的集合。

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

#include<stdio.h>

intfun(intx,inty)

{staticintm0,i=2;

i+=m+1;

m=i+x+y;

returnm;

}

main()

{intj=4,m=1,k;

k=fun(j,m);printf("%d,",k);

k=fun(j,m);printf("%d\n",k);

}

34.以下程序的功能是從鍵盤(pán)上輸入一行字符,存入一個(gè)字符數(shù)組中,然后輸出該字符串。請(qǐng)?zhí)羁铡?/p>

main()

{charstr[81],*sptr;

inti;

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

{str[i]=getchar();

if(str[i]=='\n')break;

}

str[i]=【】;

sptr=str1

while(*sptr)putchar(*sptr【】);

}

35.模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類(lèi)模塊:驅(qū)動(dòng)模塊和承接模塊(樁模塊)。其中______的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果。

36.當(dāng)所有結(jié)點(diǎn)的權(quán)值都相等時(shí),用這些結(jié)點(diǎn)構(gòu)造的二叉排序樹(shù)是【】。

37.測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。

38.有以下程序:

intfa(intx){returnx*x;}

intfb(intx){returnx*x*x;}

intf(int(*f1)(),int(*f2)(),(intx)

{returnf2(x)-f1(x);}

main()

{inti;i=f(fa,fb,2);printf("%d\n",i);}

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

39.有以下程序:

fun(inta,intb)

{if(a>b)return(a);

elsereturn(b);

}

main()

{intx=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

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

}

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

40.軟件是程序、數(shù)據(jù)和【】的集合。

三、1.選擇題(20題)41.有以下程序main(){chars[]="159",*p;p=s;printf("%c",*p++);printf("%c",*p++);}程序運(yùn)行后的輸出結(jié)果是______。

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

42.線性表若采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)時(shí),要求內(nèi)存中可用存儲(chǔ)單元的地址()

A.必須是連續(xù)的B.部分地址必須是連續(xù)的C.一定是不連續(xù)的D.連續(xù)不連續(xù)都可以

43.下列程序的輸出結(jié)果是______。main(){intk=17;printf("%d,%0,%x\n",k,k,k);}

A.17,021,0x11B.17,17,17C.17,Ox11,021D.17,21,11

44.有如下程序:#include<stdio.h>intfunc(inta,intb){return(a+b):}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}該程序的輸出結(jié)果是()。

A.12B.13C.14D.15

45.現(xiàn)有如下程序段,此程序段編譯有錯(cuò)誤,則程序段的錯(cuò)誤出在#include<stdio.h>main(){inta=30,b=40,c=50,d;d=a>30?b:c;swish(d){casea:Printf("%d,",a);caseb:printf("%d,",b);casec:printf("%d,",c);defaultprintf("#");}}

A.default:printf("#");這個(gè)語(yǔ)句

B.d=a>30?b:c;這個(gè)語(yǔ)句

C.casea:printf("%d,",a);caseb:printf("%d,",b);casec:printf("%d,",c);這三個(gè)語(yǔ)句

D.switch(d)這個(gè)語(yǔ)句

46.下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是()。

A.層次模型B.網(wǎng)狀模型C.關(guān)系模型D.以上3個(gè)都是

47.以下程序段的輸出為()staticchara[]="language",b[]="progratne";char*ptr1,*ptr2;intk;ptr1=a;ptr2=b;for(k=0;k<7;k++)if(*(ptr1+k)==*(ptr2+k))printf("%c",*(ptr1+k));

A.gaeB.gaC.languageD.有語(yǔ)法錯(cuò)誤

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

A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)

B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率無(wú)關(guān)

C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)

D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的

49.八進(jìn)制數(shù)253.74轉(zhuǎn)換成二進(jìn)制數(shù)是()

A.10101011.1111

B.10111011.0101

C.11001011.1001

D.10101111.1011

50.6-5/2+1.2+5%2的值是()。

A.4.3B.4.8C.3.3D.3.8

51.有以下程序:#include<stdio.h>#defineN8voidfun(int*x,inti){*x=*(x+i)+1;}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.3234C.4234D.1234

52.下列寫(xiě)法正確的是()。

A.main(){inti=3,j;j=5}

B.main(){inti=3;

C.main()

D.main(){;}

53.算法的空間復(fù)雜度是指()。

A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.算法執(zhí)行過(guò)程中所需要的存儲(chǔ)空間

54.棧通常采用的兩種存儲(chǔ)結(jié)構(gòu)是()。

A.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B.散列方式和索引方式C.鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組D.線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)

55.設(shè)有定義:inta=2,b=3,c=4;,則下列選項(xiàng)中值為0的表達(dá)式是()。

A.(!a==1)&&(!b==0)

B.(a<b)&&!c‖1

C.a&&b

D.a‖(b+b)&&(c-a)

56.下列常數(shù)中,不合法的C常量是()

A.-0x3b1B.123e+2.3C.'}'D.6e+7

57.以下程序中函數(shù)reverse的功能是將a所指數(shù)組中的內(nèi)容進(jìn)行逆置。voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,8);for(i=6;i<10;i++)s+=b[i];printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是

A.22B.10C.34D.30

58.設(shè)有如下定義:structsk{inta;floatb;}data;int*p;若要使p指向data中的a域,正確的賦值語(yǔ)句是()

A.p=&a;B.p=data.a;C.p=&data.a,D.*p=data.a;

59.有以下程序:#include<stdio.h>voidfun(char*a,char*b){a=b;(*a)++;}main(){charc1='A',c2='a',*p1,*p2;p1=&c1;P2=&c2;fun(p1,p2);printf("%c%c\n",c1,c2);}程序運(yùn)行后的輸出結(jié)果是()。

A.AbB.aaC.AaD.Bb

60.以下錯(cuò)誤的定義語(yǔ)句是A.intx[][3]={{0},{1},{1,2,3}};

B.intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

C.intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

D.intx[][3]={1,2,3,4};

四、選擇題(20題)61.有以下程序

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

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

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

C.0,9,8,7,6,5,4,3,2,l,

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

62.

63.有以下程序:

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

A.3B.6C.9D.2

64.

65.在數(shù)據(jù)庫(kù)管理系統(tǒng)的層次結(jié)構(gòu)中,處于最上層的是()。

A.應(yīng)用層B.語(yǔ)言翻譯處理層C.數(shù)據(jù)存取層D.數(shù)據(jù)存儲(chǔ)層

66.

67.下列敘述中正確的是()。A.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的

B.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)

C.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要少于順序存儲(chǔ)結(jié)構(gòu)

D.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)在存儲(chǔ)空間的需求上沒(méi)有可比性

68.設(shè)有如下三個(gè)關(guān)系表:

69.

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

main

{inta[3][3],*p,i};

p=&a[0][0];

for(i=p;i<9;i++)p[i]=i+1;

printf("%d\n",a[1][2]);

}

A.3B.6C.9D.隨機(jī)數(shù)

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

#include<stdio.h>

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

x=(a^b)&c;printf("%d\n",x);}

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

71.

72.有以下程序

73.有以下函數(shù)函數(shù)的功能是()。

A.統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)

B.查找x和y所指字符串中是否有’\0’

C.將y所指字符串賦給x所指存儲(chǔ)空間

D.統(tǒng)計(jì)x和y所指字符串中相同的字符個(gè)數(shù)

74.下列工具中為需求分析常用工具的是()。

A.PADB.BFDC.N-SD.DFD

75.若有以下定義:floatx;inta,b,c=2;,則正確的switch語(yǔ)句是

76.

77.

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

A.X+1=yB.++X.Y=X一一C.X=X+10=X+YD.double(X)/10

79.若執(zhí)行下面的程序時(shí),從鍵盤(pán)輸入6和2,則輸出結(jié)果是()。

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

80.

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)整型形參n,計(jì)算如下公式的值:A1=1,A2=1/(5+A1),A3=1/(5+A2),…,An=1/(5+A(n-1))例如,若n一10,則應(yīng)輸出0.192582。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),對(duì)長(zhǎng)度為9個(gè)字符的字符串,除首、尾字符外,將其余7個(gè)字符按ASCⅡ碼值降序排列。例如,原來(lái)的字符串為HabcdefA,則排序后輸出為HfedcbaA。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

參考答案

1.A解析:順序存儲(chǔ)結(jié)構(gòu)就是用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)該線性表中的各個(gè)元素,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項(xiàng)A是正確的。兩者都可以存儲(chǔ)線性的、有序的邏輯結(jié)構(gòu),所以選項(xiàng)B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲(chǔ),鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰(shuí)節(jié)約空間的說(shuō)法,所以選項(xiàng)D不正確。

2.C

3.B

4.A

5.Cf函數(shù)的功能是對(duì)形參a的各個(gè)成員用結(jié)構(gòu)體變量b的各個(gè)成員進(jìn)行賦值后,然后返回變量a。

6.D在編寫(xiě)程序時(shí)可以在程序中加入注釋。在添加注釋時(shí),注釋內(nèi)容必須放在符號(hào)“/*”和“*/”之間,“/*”和“*/”必須成對(duì)出現(xiàn),“/*”與“*/”之間不可以有空格,選項(xiàng)A正確;注釋可以用英文,可以用中文,可以出現(xiàn)在程序中任意合適的地方,選項(xiàng)B正確;注釋部分只適用于閱讀,對(duì)程序的運(yùn)行不起作用,選項(xiàng)C正確;使用“/*”和“*/”的注釋之間不可再嵌套“/*”和“*/”,選項(xiàng)D錯(cuò)誤。故本題答案為D選項(xiàng)。

7.C當(dāng)if執(zhí)行到第一個(gè)滿足(i*i>=20)(i*i<=100)這個(gè)條件的i出現(xiàn)時(shí),通過(guò)break語(yǔ)句跳出循環(huán),執(zhí)行下面的prinlf語(yǔ)句。

8.B#define命令是C語(yǔ)言中的一個(gè)宏定義命令,為了區(qū)分其他標(biāo)識(shí)符,標(biāo)識(shí)符一般使用大寫(xiě)。將標(biāo)識(shí)符定義為一個(gè)字符串,該標(biāo)識(shí)符被稱(chēng)為宏名,被定義的字符串稱(chēng)為替換文本。宏定義不進(jìn)行其他操作,僅僅只是替換標(biāo)識(shí)符。題目中的S(k+j+2)=k+j+2*k+j+2/k+j+2”,經(jīng)計(jì)算可得29。“S(j+k+2)=j+k+2*k+j+2/j+k+2”,經(jīng)計(jì)算可得29。因此輸出為29,29。故本題答案為B選項(xiàng)。

9.A

10.D

11.CC。【解析】結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要

溫馨提示

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