2021年江蘇省揚(yáng)州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第1頁
2021年江蘇省揚(yáng)州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第2頁
2021年江蘇省揚(yáng)州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第3頁
2021年江蘇省揚(yáng)州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第4頁
2021年江蘇省揚(yáng)州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2021年江蘇省揚(yáng)州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.以下選項(xiàng)中,合法的一組C語苦數(shù)值常量是()。

A.28.5e-3-0xf

B.12OXa234.5

C.1774c1.5Oabc

D.0x8A10,0003.e5

2.

3.設(shè)R是一個(gè)2元關(guān)系,有3個(gè)元組,S是一個(gè)3元關(guān)系,有3個(gè)元組。如T=R×S,則T的元組的個(gè)數(shù)為()。A.6B.8C.9D.12

4.設(shè)有定義:“struct{charmarkp[l2];intnuml;doublenum2;}tl,t2;”,若變量均已正確賦初值,則以下語句中錯(cuò)誤的是()。

A.t1=t2;

B.t2.num1=tl.numl;

C.t2.mark=tl.mark;

D.t2.num2=tl.num2;

5.

6.在執(zhí)行()操作時(shí),需要使用隊(duì)列做輔助存儲(chǔ)空間。

A.查找哈希(Hash)表B.深度優(yōu)先搜索網(wǎng)C.前序(根)遍歷二叉樹D.廣度優(yōu)先搜索網(wǎng)

7.遞歸式的先序遍歷一個(gè)n節(jié)點(diǎn),深度為d的二叉樹,則需要??臻g的大小為()

A.O(logn)B.O(nlogn)C.O(n)D.O(d)

8.程序運(yùn)行中需要從鍵盤上輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用()符號(hào)作為分隔符。

A.空格或逗號(hào)B.逗號(hào)或回車C.逗號(hào)或分號(hào)D.空格或回車

9.設(shè)二叉樹的中序序列為BCDA,前序序列為ABCD,則后序序列為()。

A.CBDAB.DCBAC.BCDAD.ACDB

10.已知一算術(shù)表達(dá)式的中綴形式為A+B*C–D/E,后綴形式為ABC*+DE/–,其前綴形式為()。

A.–A+B*C/DEB.–A+B*CD/EC.–+*ABC/DED.–+A*BC/DE

11.在目標(biāo)串T[0,n-1]=”xwxxyxy”中,對(duì)模式串p[0,m-1]=”xy”進(jìn)行子串定位操作的結(jié)果_______

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

12.有下列程序:

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

A.30B.35C.40D.32

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

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

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

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

D.線性表可以是空表

14.

15.有以下程序: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.11B.10C.9D.1011

16.下面程序段的時(shí)間復(fù)雜度為()。

A.O(n)B.O(n2)C.O(1)D.O(nlog2n)

17.設(shè)x和y均為bool量,則x&&y為真的條件是()。

A.它們均為真B.其中一個(gè)為真C.它們均為假D.其中一個(gè)

18.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30

19.以下程序中,while循環(huán)的循環(huán)次數(shù)是main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}

A.1B.10C.6D.死循環(huán),不能確定次數(shù)

20.若用一個(gè)大小為6的數(shù)值來實(shí)現(xiàn)循環(huán)隊(duì)列,且當(dāng)前rear和front的值分別為0和3,當(dāng)從隊(duì)列中刪除一個(gè)元素,再加入兩個(gè)元素后,rear和front的值分別為()。

A.1和5B.2和4C.4和2D.5和1

二、2.填空題(20題)21.以下程序的輸出結(jié)果是______。

main()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

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

}

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

23.以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計(jì)算:

y1=(x+8)2-2(x+8)+6

y2=sin2(x)-2sin(x)+6

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

ginclude"math.h"

doublefun(doublex){return(x*x-2*x+6);}

main()

{doublex,y1,y2;

pfintf("Enterx:");scanf("%lf"&x);

y1=fun([10]);y2=fun([11]);

pin

24.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對(duì)象。

25.在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為【】。

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

main()

{

chara[]="123456789",*p;

inti=0;

p=a;

while(*p)

{

if(i%2==0)

*p='*';

p++;i++;

}

puts(a);

}

27.軟件設(shè)計(jì)模塊化的目的是______。

28.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),線性表、棧和隊(duì)列都屬于【】。

29.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、【】和選擇排序等。

30.有以下程序段,且變量已正確定義和賦值。

for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k/1));

printf("s=%f\n\",s);

請(qǐng)?zhí)羁?,使下面程序段的功能與之完全相同。

s=1.0;k=1;

while(【】){s=s+1.0/(k*(k+1));【】;}

printf("s-=%f\n\n",s);

31.以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素的最大值。請(qǐng)?zhí)羁铡?/p>

voidfun(int,int,int(*)[4],int*);

main()

{

inta[3][4]={{12,41,36,28},{19,33,15,27),{3,27,19,1}},b[3],i;

fun(3,4,a,B);

for(i=0;i<3;i++)printf("%4d",b[i]);

printf("\n");

}

voidfun(intm,intn,intar[][4],int*br)

{inti,j,x;

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

{

x=ar[i][0];

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

______=X;

}

}

32.通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為【】。

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

main()

{

inta[]={2,4,6},*ptr=&a[0],x=8,y,z;

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

z=(*(ptr+y)<x)?*(ptr+y):x;

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

}

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

#include<string.h>

cbar*ss(char*s)

{char*p,t;

p=s+1;t=*s;

while(-p){*(p-1)=*p;p++;}

*(p-1)=t;

returns;

}

main()

{char*p,str[10]="abcdefgh";

p=ss(str);

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

}

35.已知字符'A'的ASCII碼為65,以下程序運(yùn)行后的輸出結(jié)果是【】。

#include<stdio.h>

main()

{chara,b;

a='A'+'5'-'3';b=a+'6'-'2';

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

}

36.以下程序運(yùn)行后的輸出結(jié)果是()。structNODE{intk;structNODE*link;};main(){structNODEm[5],*p=m,*q=m+4;inti=0:while(p!=q){p->k=++i;p++;q->k=1++;q--;}q->k=i:for(i=0;i<5;i++)printf("%d",m[i].k);printf("\n");}

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

charstr[]="ABCD",*p=str;

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

38.數(shù)據(jù)的安全性是指保護(hù)數(shù)據(jù)以防止【】用戶的使用造成的數(shù)據(jù)泄密和破壞。

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

#include<stdlib.h>

main()

{char*s1,*s2,m;

s1=s2=(char*)malloc(sizeof(char));

*s1=15;*s2=20;m=*s1+*s2;

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

}

40.數(shù)據(jù)的獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,這稱為______。

三、1.選擇題(20題)41.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>voidsub(int*s,int*y){staticintm=4:*y=s[m];m--;}voidmain(){inta[]={1,2,3,4,5},k,x;printf("\n");for(k=0;k<=4;k++){sub(a,&x);printf("%d,",x);}}

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

42.有以下程序

#include<string.h>

main()

{charp[20]={′a′,′b′,′c′,′d′},q[]="abc",r[]="abcde";

strcat(p,r);strcpy(p+strlen(q),q);

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

}

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

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

43.數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和______。

A.可維護(hù)性B.獨(dú)立性C.安全性D.相容性

44.以下程序的輸出結(jié)果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf((“%d\n”,a);}A.8B.9C.17D.20

45.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與實(shí)體間的聯(lián)系可以表示成()。

A.屬性B.關(guān)系C.鍵D.域

46.下列二維數(shù)組初始化語句中,正確且與語句floata[][3]={0,3,8,0,9};等價(jià)的是

A.floata[2][]={{0,3,8},{0,9}};

B.floata[][3]={0,3,8,0,9,0};

C.floata[][3]={{0,3},{8,0},{9,0}};

D.floata[2][]={{0,3,8},{0,9,0}};

47.有以下程序:main(){unsignedchara,b,c;a=0x3;b=a|0x8;c=b<<1;printf("%d%d\n",b,C);}程序運(yùn)行后的輸出結(jié)果是()。

A.-1112B.-6-13C.1224D.1122

48.在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是______。

A.地址傳遞B.單向值傳遞C.由實(shí)參傳遞給形參,再由形參傳遞給實(shí)參D.傳遞方式由用戶指定

49.若有定義inta=5,b=7;,則表達(dá)式a%=(b%2)運(yùn)算后,a的值為()。

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

50.下列選項(xiàng)中,不能用作標(biāo)識(shí)符的是A._1234_B._1_2C.int_2_D.2_int_

51.x,y,z被定義為int型變量,若從鍵盤給x,y,z輸入數(shù)據(jù),正確的輸入語句是

A.INPUTx、v、z;

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

C.scanf("%d%d%d",x,y,z);

D.read("%d%d%d",&x,&y,&z);

52.有程序段:intal,a2;Charcl,c2;scanf("%d%c%d%c",&a1,&cl,&a2,&c2);若要求a1、a2、c1、c2的值分別為10、20、A、B,正確的數(shù)據(jù)輸入()

A.10A20B<CR>B.10A20B<CR>C.10A20B<CR>D.10A20B<CR>

53.函數(shù)的值通過return語句返回,下面關(guān)于return語句的形式描述錯(cuò)誤的是

A.return表達(dá)式;

B.return(表達(dá)式);

C.一個(gè)return語句可以返回多個(gè)函數(shù)值

D.一個(gè)return語句只能返回一個(gè)函數(shù)值

54.有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x>10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}該程序的輸出結(jié)果是

A.0.000000B.0.250000C.0.500000D.1.000000

55.以下程序運(yùn)行后,輸出結(jié)果是______。main(){char*d[]={"ab","cde"};printf("%x",d[1]);}

A.cdeB.字符c的AScII碼值C.字符c的地址D.出錯(cuò)

56.以下程序段的執(zhí)行結(jié)果為#definePLUS(X,Y)X+Ymain(){intx=1,y=2,z=3,sum;sum=PLUS(x+y,z)*PLUS(y,z);printf("SUM=%d",sum);}

A.SUM=9B.SUM=12C.SUM=18D.SUM=28

57.數(shù)據(jù)庫設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()

A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)

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

A.數(shù)據(jù)庫是一個(gè)DBF文件B.數(shù)據(jù)庫是一個(gè)關(guān)系C.數(shù)據(jù)庫是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D.數(shù)據(jù)庫是一組文件

59.調(diào)用gets和puts函數(shù)時(shí),必須包含的頭文件是

A.stdio.hB.stdlib.hC.defineD.以上都不對(duì)

60.數(shù)據(jù)處理的最小單位是()。

A.數(shù)據(jù)B.數(shù)據(jù)元素C.數(shù)據(jù)項(xiàng)D.數(shù)據(jù)結(jié)構(gòu)

四、選擇題(20題)61.有以下程序#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(xiàn)(a++,b++));}程序運(yùn)行后的輸出結(jié)果是

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

62.

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

#include<stdio.h>

#defineS(X)X*X

voidmain

{inta=9,k=3,m=2;

a/=S(k+m)/s(k+m);

printf("%d",a);

}

A.1B.4C.9D.0

63.

64.

65.有以下程序:

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

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

66.計(jì)算機(jī)能直接執(zhí)行的程序是()。A.可執(zhí)行程序B.目標(biāo)程序C.匯編程序D.源程序

67.有以下程序:

main()

{intp[7]={11,13,14,15,16,17,18},i=0,k=0;

while(i<7&&p[i]%2){k=k+p[i++];i++}

Printf("%d\n",k);

}

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

A.57B.39C.24D.11

68.有三個(gè)關(guān)系R,S和T如下:

其中關(guān)系T由關(guān)系R和S通過某種操作得到,該操作為()。A.選擇B.投影C.交D.并

69.

70.

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

A.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間具有密切的關(guān)系

B.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象都是公用的

C.在面向?qū)ο蟮某绦蛟O(shè)中,各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴性小

D.上述3種說法都不對(duì)

72.

73.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):inti=8,j=9;則下列語句:printf("i=%%d,j=%%d\n",i,j);輸出的結(jié)果是()。A.i=8,j=9B.i=%d,j=%dC.i=%8,j=%9D.8,9

74.有以下程序:

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

A..3,2,1,B.1,2,3,4,5,6,C.1,1,1,1,1,lD.6,6,6,6,6,6,

75.

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

#include<stdio.h>

main()

{inti,S=0;

for(i=1;i<10;i++)

if(!(i%2)&&!(i%3))s+=i;

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

}

A.4B.39C.45D.6

76.設(shè)有圖書(圖書編號(hào),書名,第一作者,出版社.、讀者(借書證號(hào),姓名,單位,職稱.和借閱(借書證號(hào),圖書編號(hào),借書日期,還書日期.三張表,則表借閱的關(guān)鍵字(鍵或碼.為()。

A.借書證號(hào),圖書編號(hào)

B.圖書編號(hào),借書日期

C.借書日期,還書日期

D.借書證號(hào),借書日期

77.以下不能正確定義二維數(shù)組的選項(xiàng)是()。

A.

B.

C.

D.

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

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

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

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

A.C語言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的

B.用C語言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行

C.通過編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行

D.在沒有安裝C語言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的.exe文件

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:對(duì)M名學(xué)生的學(xué)習(xí)成績,按從高到低的順序找出前m(m≤10)名學(xué)生來,并將這些學(xué)生數(shù)據(jù)存放在一個(gè)動(dòng)態(tài)分配的連續(xù)存儲(chǔ)區(qū)中,此存儲(chǔ)區(qū)的首地址作為函數(shù)值返回。

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。程序中將m個(gè)人的成績存放在score數(shù)組中,請(qǐng)編寫函數(shù)fun(),它的功能是將低于平均分的人數(shù)作為函數(shù)值返回,將低于平均分的分?jǐn)?shù)放在below所指的數(shù)組中。例如,當(dāng)score數(shù)組中的數(shù)據(jù)為10、20、30、40、50、60、70、80、90時(shí),函數(shù)返回的人數(shù)應(yīng)該是4,below中的數(shù)據(jù)應(yīng)為10、20、30、40。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:

參考答案

1.B

2.D

3.CC。R為n元關(guān)系,有P個(gè)元組S為m元關(guān)系,有q個(gè)元組。兩個(gè)關(guān)系笛卡兒積是一個(gè)n+m元的關(guān)系,元組個(gè)數(shù)是q×p。所以T的元組的個(gè)數(shù)為9個(gè)。

4.C結(jié)構(gòu)體不能通過結(jié)構(gòu)體名字整體賦值,通過結(jié)構(gòu)體名.成員名的方式賦值。所以C選項(xiàng)錯(cuò)誤。

5.B

6.D

7.D

8.D

9.B二叉樹的前序序列為ABCD,由于前序遍歷首先訪問根節(jié)點(diǎn),可以確定該二叉樹的根節(jié)點(diǎn)是A。再由中序序列為BCDA,可知以A為根節(jié)點(diǎn)的該二叉樹只存在左子樹,不存在右子樹,故后序序列為DCBA。本題答案為B選項(xiàng)。

10.D

11.C

12.A程序定義一個(gè)整型變量y和整型二維數(shù)組x,并對(duì)x賦初值。接著調(diào)用函數(shù)fun,在函數(shù)fun中,第1個(gè)for循環(huán)將數(shù)組a的第0列和第N-1列的所有元素累加到y(tǒng)中;第2個(gè)for循環(huán)將數(shù)組a的第0行的2、3和第N-1行的3、2累加到y(tǒng)中,再將y返回。所以fun函數(shù)的功能是將數(shù)組a的行列下標(biāo)為0、N-1的所有元素累加起來,即將1,2,3,4,2,3,3,2,4,3,2,1累加,輸出30。本題答案為A選項(xiàng)。

13.CC.【解析】線性表是一種線性結(jié)構(gòu),由n(n≥0)個(gè)元素組成,所以線性表可以是空表。但是在線性表中,第一個(gè)結(jié)點(diǎn)沒有前件,最后一個(gè)結(jié)點(diǎn)沒有后件,其他結(jié)點(diǎn)有且只有一個(gè)前件和后件,所以選項(xiàng)C.是錯(cuò)誤的。

14.D

15.B本題考多循環(huán)的使用,當(dāng)j=10,i=9時(shí),循環(huán)成立,第一個(gè)if條件為假,第二個(gè)if條件i==j-1成立,則輸出j的值為10,接者執(zhí)行i++后,i為10;當(dāng)i為10,for循環(huán)不成立,退出內(nèi)層循環(huán),此時(shí)執(zhí)行j++后,j為11,循環(huán)不成立,退出循環(huán)。

16.A

17.A

18.B本題考查for循環(huán)的使用。對(duì)于第1個(gè)for循環(huán),任何一個(gè)i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時(shí)不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時(shí)退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語句執(zhí)行6次,第二條for語句執(zhí)行4次,所以內(nèi)循環(huán)體執(zhí)行6*4=24次。

19.D解析:break語句只能在循環(huán)體和switch語句體內(nèi)使用,當(dāng)break出現(xiàn)在switch語句體內(nèi)時(shí),其作用只是跳出該switch語句體。當(dāng)break出現(xiàn)在循環(huán)體中,但不在switch語句體內(nèi)時(shí),則在執(zhí)行break后,跳出本層循環(huán)體.而continue語句的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)的條件判定。本程序中,變量i的初始值為0,判斷while后面括號(hào)內(nèi)表達(dá)式的值為真,執(zhí)行循環(huán)體內(nèi)的if語句,判斷if后面括號(hào)內(nèi)表達(dá)式的值為真,執(zhí)行“continue;”語句.因continue的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)的條件判斷,所以i的值未發(fā)生變化,循環(huán)條件仍然為真,if語句也仍然成立,因此循環(huán)將無止境地進(jìn)行下去。所以,4個(gè)選項(xiàng)中D為所選。

20.B

21.21

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

23.用x+8代替函數(shù)fun(doublex)中形式參數(shù)x。用sin(x)代替函數(shù)fun(doublex)中形式參數(shù)x。

24.類類解析:在面向?qū)ο蠓椒ㄖ?,類描述的是具有相似屬性與操作的一組對(duì)象。

25.數(shù)據(jù)字典數(shù)據(jù)字典解析:在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為數(shù)據(jù)字典。

26.*2*4*6*8**2*4*6*8*解析:程序中定義了一個(gè)字符數(shù)組a,并初始化為123456789,接著定義了一個(gè)指針p并讓它指向數(shù)組a,緊接著執(zhí)行了一個(gè)while循環(huán),此循環(huán)的作用是:當(dāng)i為偶數(shù)時(shí),將“*”賦給a[i],p指向數(shù)組末尾,循環(huán)結(jié)束,此時(shí)數(shù)組中a[0]、a[2]、a[4]、a[6]和a[8]的值都為“*”,所以最后調(diào)用puts()函數(shù)輸出的a的值為*2*4*6*8*

27.降低復(fù)雜性降低復(fù)雜性

28.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:本題考查了數(shù)據(jù)結(jié)構(gòu)的基本概念。與棧類似,隊(duì)列也是線性表,可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),所以帶鏈的隊(duì)列屬于線性結(jié)構(gòu)。

29.交換排序交換排序解析:常見的排序方法有插入排序(包括簡單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡單選擇排序和堆排序等)。注意:常見的排序方法及其作用機(jī)制和區(qū)別。

30.k<=n或n>=kk++k<=n或n>=k\r\nk++解析:while語句和for語句的作用都是循環(huán)控制語句的執(zhí)行,兩者之間是可以互相轉(zhuǎn)換的。將while(EXP)轉(zhuǎn)換為for語句可以寫成for(;EXP;);將for(EXP1;EXP2;EXP3)轉(zhuǎn)換為while語句可以寫成:EXP1;while(EXP2){...EXP3;}。故本題的兩個(gè)空分別應(yīng)填寫for語句的第2和第3個(gè)表達(dá)式。即k<=n或n>=k和k++。當(dāng)然也可寫成與之等價(jià)的其他形式。

31.br[i]或*(br+i)br[i]或*(br+i)解析:求最大值算法要求輸入的一般是一系列數(shù),例如一個(gè)數(shù)組,而輸出只有一個(gè)值。計(jì)算時(shí)通常的做法是,首先將這一系列數(shù)的笫1個(gè)值保存到結(jié)果變量中,然后用一個(gè)指針或循環(huán)變量從頭(或從第2個(gè)值)至尾遍歷這一系列數(shù),每次比較結(jié)果變量和被遍歷的值,如果該值比結(jié)果大,則將該值保存到結(jié)果中。本題中,3行4列二維數(shù)組a顯然是算法的輸入值,而傳給函數(shù)fun()的3和4在函數(shù)中起到限制循環(huán)次數(shù)的作用,所以它們代表輸入數(shù)據(jù)的行列數(shù).而傳遞給函數(shù)的一維數(shù)組b即沒有初始化,最后又要輸出它,所以數(shù)組b肯定是用來保存每行的最大值。在函數(shù)中是一個(gè)二重循環(huán),外循環(huán)首先將ar[i][0]賦給x,然后內(nèi)循環(huán)中比較x和ar[il剛,若x比較小就讓x=ar[i][j],這就說明x是保存結(jié)果的臨時(shí)變量.最后應(yīng)該將x的值輸出到數(shù)組b中,也就是形參br的相應(yīng)位置。故在空格處應(yīng)該填的內(nèi)容為br[i]或者寫成指針方式*(br+i)。

32.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測試、交付使用以及維護(hù)等活動(dòng)。

33.66解析:條件運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符,因此本題先計(jì)算關(guān)系表達(dá)式(*ptr+y)<x)?*(ptr+y):x的值,再賦給變量z。當(dāng)y=0時(shí),*(ptr+y)=2,而x=8,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=2,所以z=2;當(dāng)y-1時(shí),*(ptr+y)=4,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=4,所以z=4;當(dāng)y=2時(shí),*(ptr+y)=6,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=6,所以z=6;循環(huán)結(jié)束。因此輸出z的結(jié)果為6。

34.bcdefghabcdefgha解析:while循環(huán)的功能把字符從第二個(gè)元素開始左移一位,并將原第一個(gè)元素賦給最后一個(gè)元素。

35.67G67G解析:由于\'5\'-\'3\'=2,所以a=\'A\'+\'5\'-\'3\'=\'C\',按'%d'格式輸出\'C\'的ASCII碼為67;同理,\'6\'-\'2\'=4,b=a+\'6\'-\'2\'=\'C\'+4=\'G\',按'%c'格式輸出為\'G\'。

36.13431

37.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個(gè)指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時(shí)是以“%d”格式輸出的,即輸出其相應(yīng)ASCII碼值68。

38.(非法)不合法(非法)不合法

39.4040解析:本題中指針s1和s2都指向同一個(gè)內(nèi)存中的地址。因此語句“*s2=20;”執(zhí)行后,*\u3000s1=*s2=20。所以m最后的值為40。

40.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)的獨(dú)立性是指數(shù)據(jù)和應(yīng)用程序相互獨(dú)立,分為物理獨(dú)立性和邏輯獨(dú)立性。其中物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)、存取方式)改變時(shí),不需要修改應(yīng)用程序。而邏輯獨(dú)立性是指當(dāng)邏輯結(jié)構(gòu)改變時(shí),不需要修改應(yīng)用程序。

41.A解析:本題考查的是靜態(tài)變量以及函數(shù)的實(shí)參與形參之間的地址值傳遞。sub()函數(shù)數(shù)中定義的變量m是一個(gè)靜態(tài)變量,系統(tǒng)可為其分配固定的存儲(chǔ)空間,重復(fù)使用時(shí),變量的值保留;所以當(dāng)mam()函數(shù)中的for循環(huán)中語句sub(a,&x);執(zhí)行時(shí),sub函數(shù)中m的值依次是4,3,2,1,0;因?yàn)樽兞縳進(jìn)行的是地址值傳遞,所以最后依次輸出的是數(shù)組a的元素a[4]、a[3]、a[2]、a[1]、a[0]。

42.B解析:strcpy()函數(shù)的功能是將字符串q復(fù)制到從p[3]位置開始的存儲(chǔ)單元,同時(shí)復(fù)制字符串結(jié)束標(biāo)志'\\0'到p[6]中。函數(shù)strlen()返回的是字符串中不包括'\\0'在內(nèi)的實(shí)際長度,故本題答案為B)

43.D解析:數(shù)據(jù)模型應(yīng)該反映和規(guī)定本數(shù)據(jù)模型必須遵守的、基本的、通用的完整性約束條件。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)及其狀態(tài)的變化,以保證數(shù)據(jù)的正確性、有效性和相容性。

44.B

45.B解析:將E-R圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式是數(shù)據(jù)庫邏輯設(shè)計(jì)的主要工作。從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體和聯(lián)系都可以表示成關(guān)系。

46.B解析:在選項(xiàng)B)中,因?yàn)閿?shù)組的第一維的數(shù)目不明確,所以理解會(huì)有歧義,可以理解為1行3列,或者2行3列等。所以選項(xiàng)B)錯(cuò)誤。注意:數(shù)組中元素的引用。

47.D解析:將a的值用二進(jìn)制表示:00000011。a與Ox8(二進(jìn)制表示為00001000)按位或,得到結(jié)果00001011賦值給b,b的值為11。再將b左移一位得到:00010110,賦值給c,c的值為22。所以最后輸出的b,c的值為11,22。

48.B解析:C語言以定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“單向值傳遞”,只由實(shí)參傳紿形參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。調(diào)用結(jié)束后,實(shí)參單元仍保留并維持原值。

49.A解析:本題考查'%'運(yùn)算符的使用。運(yùn)算符'%'要求兩個(gè)運(yùn)算對(duì)象都為整型,其結(jié)果是整數(shù)除法的余數(shù)。本題中表達(dá)式ao%=(b%2)等價(jià)于a=a%o(b%2)=5%(7%2)=5%1=0。

50.D解析:本題考核的知識(shí)點(diǎn)是用戶的標(biāo)識(shí)符。在C語言中,合法的標(biāo)識(shí)符由字母、數(shù)字和下劃線組成,并且第一個(gè)字符必須為字母或者下劃線,如:acd,d_ad、_adf124,_124等都是合法的標(biāo)識(shí)符號(hào).而2asdf、_sd/=都不是合法的標(biāo)識(shí)符.在C語言中大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符,如:ACD和acd是兩個(gè)不同的標(biāo)識(shí)符號(hào)。選項(xiàng)D中用下劃線作為第一個(gè)字符,這是不合法的,故選項(xiàng)D不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。

51.B解析:scanf函數(shù)的一般格式是:

scanf(格式控制,地址表列)

該格式中,地址表列中應(yīng)是變量地址,而不是變量名。注意:調(diào)用putchar和getchar函輸出和輸入字符。

52.A

53.C解析:return語句中的表達(dá)式的值就是所求的函數(shù)值,此表達(dá)式值的類型必須與函數(shù)首部所說明的類型一致。如果類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換。一個(gè)return語句只能返回一個(gè)值。

54.D

55.C解析:指針數(shù)組中的每一個(gè)元素都相當(dāng)于一個(gè)指針變量。一維指針數(shù)組的定義形式為:類型名*數(shù)組名[數(shù)組長度],在本題main函數(shù)中定義指針數(shù)組d,它有兩個(gè)元素,其初值分別是“ab”、“cde”的首地址。d[1]的值為“cde”的首地址。%x是指以十六進(jìn)制數(shù)形式輸出整數(shù)。

56.B解析:本題考查帶參數(shù)的宏定義及應(yīng)用方法,這種宏不只是進(jìn)行字符串的替換,還要進(jìn)行參數(shù)的替換。

格式為:#define宏名(參數(shù)表)字符串

我們先看一個(gè)簡單的帶參數(shù)的宏定義:#defineX(A,B)A*B*B并且在程序中有語句:y=X(4,3);經(jīng)過替換后變?yōu)閥=4*3*3;這就是帶參數(shù)的宏定義的使用方法。注意:宏是按原形替換,本題替換后為sun=1+2+3*2+3;。

57.A解析:模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)是概念設(shè)計(jì)的兩種方法。物理設(shè)計(jì)是根據(jù)特定的計(jì)算機(jī)系統(tǒng),對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開發(fā)的角度來看,結(jié)構(gòu)特性設(shè)計(jì)和行為特性-設(shè)計(jì)是數(shù)據(jù)庫應(yīng)用系統(tǒng)所具有的兩個(gè)特性。結(jié)構(gòu)特性的設(shè)計(jì),設(shè)計(jì)各級(jí)數(shù)據(jù)庫模式(靜態(tài)特性):行為特性的設(shè)計(jì),改變實(shí)體及其特性,決定數(shù)據(jù)庫系統(tǒng)的功能(動(dòng)態(tài)特性)。

58.C解析:數(shù)據(jù)庫(Database,簡稱DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個(gè)應(yīng)用程序所共享。數(shù)據(jù)庫中的數(shù)據(jù)具有“集成”、“共事”之特點(diǎn)。

59.A解析:gets函數(shù)和puts函數(shù)是庫函數(shù),必須包含的頭文件是stdio.h。

60.C解析:數(shù)據(jù)處理的最小單位是數(shù)據(jù)項(xiàng);由若干數(shù)據(jù)項(xiàng)組成數(shù)據(jù)元素;而數(shù)據(jù)是指能夠被計(jì)算機(jī)識(shí)別、存儲(chǔ)和加工處理的信息載體;數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)之間的相互關(guān)系和數(shù)據(jù)運(yùn)算。故正確答案為選項(xiàng)C)。

61.A解析:此題考查的是編譯預(yù)處理命令以及自加運(yùn)算符。F(a++,b++)先取a和b的值,參加運(yùn)算,再把a(bǔ)和b的值分別加1,所以F(a++,b++)=F(3,4)=3*4=12。

62.D

\n本題j=要是考查帶參數(shù)的宏的定義,過程如下:inta=a/S(k+m)/S(k+m)=a/(k+m*k+m/k+m)=9/(3十2*3十2/3十2*3十2)=0。

\n

63.B

64.B

65.B本題中遇到“\”字符循環(huán)結(jié)束,所以只統(tǒng)計(jì)“\”之前的數(shù)字字符,所以為3。

66.A計(jì)算機(jī)能直接執(zhí)行的程序是二進(jìn)制的可執(zhí)行程序,其他的不能直接執(zhí)行。

67.D循環(huán)的條件是i<7并且p[i]是奇數(shù),當(dāng)i=0時(shí),i<7,p[i]=11,滿足條件,所以k=0+11=11,然后i++,i++,所以i=2,p[2]=14,為偶數(shù),退出循環(huán),這時(shí)k還是11.

68.D

69.D

70.D

71.C本題考查對(duì)面向?qū)ο蟮睦斫?,面向?qū)ο蟮某绦蛟O(shè)計(jì)是對(duì)象模擬問題領(lǐng)域中的實(shí)體,各對(duì)象之間相對(duì)獨(dú)立,相互依賴性小,通過消息來實(shí)現(xiàn)對(duì)象之間的相互聯(lián)系。

72.C

73.B本題考查函數(shù)的輸出格式。在printf函數(shù),格式說明符中有兩個(gè)“%”說明;將第1個(gè)%后面的字符原樣輸出,并不輸出其對(duì)應(yīng)r的變量值。

74.Afopen(”data.chit“,”w+”);W+打開可讀寫文件,若文件存在則文件長度清為零,即該文件內(nèi)容會(huì)消失。若文件存在則建立該文件。rewind(fp);使文件fp的I位置指針指向文件開始。fprintf(fp,”%d\n”,a[5一i]);將8[i]輸出到fp指向的文件中。fseanf(fp,”%d”,&k);將fp讀I入到變量k中,第一個(gè)for循環(huán)將數(shù)組中元素倒著輸入到fp指l向的文件中,rewind()則指向文件開始,因此打印是數(shù)組a的I倒敘。故打印為6,5,4,3,2,1。答案為A選項(xiàng)。

75.D

\nif語句的條件是當(dāng)i既是3的倍數(shù)又是2的倍數(shù)時(shí)成立,所以此程序?qū)崿F(xiàn)的功能是將10以內(nèi)既是3的倍數(shù)又是2的倍數(shù)的數(shù)相加。

\n

76.A\n在二維表中凡能唯一標(biāo)識(shí)元組的最小屬性集稱為關(guān)鍵字,關(guān)鍵字具有標(biāo)識(shí)元組、建立元組間聯(lián)系等重要作用。此題中,(借書證號(hào),圖書編號(hào))是表借閱的主鍵,借書證號(hào)、圖書編號(hào)分別是外鍵,借書證號(hào)是讀者表的主關(guān)鍵字,圖書編號(hào)是圖書表的主關(guān)鍵字。

\n

77.D本題的考查點(diǎn)是二維數(shù)組的定義和初始化。

選項(xiàng)A)定義的數(shù)組中各元素實(shí)際上是這樣的:

1,0

2.O

選項(xiàng)B)定義的數(shù)組中各元素實(shí)際上是這樣的:

1,2

3.4

選項(xiàng)c)定義的數(shù)組中各元素實(shí)際上是這樣的:

1,0

2.3

選項(xiàng)D)錯(cuò)在省略了第2維的長度。C中在對(duì)數(shù)組進(jìn)行初始化時(shí),如果對(duì)全部元素都賦初值(即提供全部初始數(shù)據(jù)),則定義數(shù)組時(shí)對(duì)第一維的長度可以不指定,但第二維的長度不能省。

78.A涵數(shù)返回的結(jié)構(gòu)體為在涵數(shù)里賦值的結(jié)構(gòu)體,所以選擇A)。

79.C考查通過指針引用字符串?dāng)?shù)組中的元素。通過行指針P來實(shí)現(xiàn)數(shù)組元素的引用。用格式說明符%s進(jìn)行整串輸入與輸出。

本題中,每行字符指針跳躍式右移動(dòng),隔2個(gè)移動(dòng)一次,s存放處理的累計(jì)和。

第一行中

s指針行下標(biāo)變化,轉(zhuǎn)向第二行

第二行中

得出結(jié)果S=6385

80.Dc語言的可執(zhí)行程序是由一系列機(jī)器指令組成的。用C語言編寫的源程序必須經(jīng)過編譯生成二進(jìn)制目標(biāo)代碼,再經(jīng)過連接才能運(yùn)行,并且可以脫離c語言集成開發(fā)環(huán)境。故答案為D)。

81.

【解析】因?yàn)閠是指向一個(gè)動(dòng)態(tài)存儲(chǔ)空間,因此其是指針,而不是其中的內(nèi)容,故把“*t=calloc(m,sizeof(STU))”改為“t=(structss*)calloc(m,sizeof(STU));”,而題目要求把學(xué)生的全部內(nèi)容互換,因此即整個(gè)結(jié)構(gòu)體,故把“t[k].num=b[j].hum;”改為“t[k]=b[j];”。

82.1intfun(intscore[],intm,intbe-low[])2{3inti,j=0;4floatav=0.0;5for(i=0;i<m;i++)6av=av+score[i]/m;/*求平均值*/</m;i++)<m;i++)7for(i=0;i<m;i++)gif(score[i]</m;i++)</m;i++)<m;i++)<m;i++)<av)p*如果分?jǐn)?shù)<>8低于平均分,則將此分?jǐn)?shù)放入below數(shù)::組中*/</av)p*如果分?jǐn)?shù)<></m;i++)</m;i++)<m;i++)<m;i++)<av)p*如果分?jǐn)?shù)<>9below[j++]=score[i];</av)p*如果分?jǐn)?shù)<></m;i++)</m;i++)<m;i++)<m;i++)<av)p*如果分?jǐn)?shù)<>10returnj;/*</av)p*如果分?jǐn)?shù)<></m;i++)</m;i++)<m;i++)<m;i++)<av)p*如果分?jǐn)?shù)<>返回低于平均分的人數(shù)*/U}要計(jì)算低于平均分的人數(shù),首先應(yīng)該求出數(shù)組score中各元素的平均值。然后通過for循環(huán)語句和if條件語句找出低于平均值的分?jǐn)?shù)。該題第1個(gè)循環(huán)的作用是求出平均值av,第2個(gè)循環(huán)的作用是找出數(shù)組score中低于平均值的成績記錄并存入below數(shù)組中。</av)p*如果分?jǐn)?shù)<></m;i++)</m;i++)2021年江蘇省揚(yáng)州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(20題)1.以下選項(xiàng)中,合法的一組C語苦數(shù)值常量是()。

A.28.5e-3-0xf

B.12OXa234.5

C.1774c1.5Oabc

D.0x8A10,0003.e5

2.

3.設(shè)R是一個(gè)2元關(guān)系,有3個(gè)元組,S是一個(gè)3元關(guān)系,有3個(gè)元組。如T=R×S,則T的元組的個(gè)數(shù)為()。A.6B.8C.9D.12

4.設(shè)有定義:“struct{charmarkp[l2];intnuml;doublenum2;}tl,t2;”,若變量均已正確賦初值,則以下語句中錯(cuò)誤的是()。

A.t1=t2;

B.t2.num1=tl.numl;

C.t2.mark=tl.mark;

D.t2.num2=tl.num2;

5.

6.在執(zhí)行()操作時(shí),需要使用隊(duì)列做輔助存儲(chǔ)空間。

A.查找哈希(Hash)表B.深度優(yōu)先搜索網(wǎng)C.前序(根)遍歷二叉樹D.廣度優(yōu)先搜索網(wǎng)

7.遞歸式的先序遍歷一個(gè)n節(jié)點(diǎn),深度為d的二叉樹,則需要??臻g的大小為()

A.O(logn)B.O(nlogn)C.O(n)D.O(d)

8.程序運(yùn)行中需要從鍵盤上輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用()符號(hào)作為分隔符。

A.空格或逗號(hào)B.逗號(hào)或回車C.逗號(hào)或分號(hào)D.空格或回車

9.設(shè)二叉樹的中序序列為BCDA,前序序列為ABCD,則后序序列為()。

A.CBDAB.DCBAC.BCDAD.ACDB

10.已知一算術(shù)表達(dá)式的中綴形式為A+B*C–D/E,后綴形式為ABC*+DE/–,其前綴形式為()。

A.–A+B*C/DEB.–A+B*CD/EC.–+*ABC/DED.–+A*BC/DE

11.在目標(biāo)串T[0,n-1]=”xwxxyxy”中,對(duì)模式串p[0,m-1]=”xy”進(jìn)行子串定位操作的結(jié)果_______

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

12.有下列程序:

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

A.30B.35C.40D.32

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

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

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

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

D.線性表可以是空表

14.

15.有以下程序: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.11B.10C.9D.1011

16.下面程序段的時(shí)間復(fù)雜度為()。

A.O(n)B.O(n2)C.O(1)D.O(nlog2n)

17.設(shè)x和y均為bool量,則x&&y為真的條件是()。

A.它們均為真B.其中一個(gè)為真C.它們均為假D.其中一個(gè)

18.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30

19.以下程序中,while循環(huán)的循環(huán)次數(shù)是main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}

A.1B.10C.6D.死循環(huán),不能確定次數(shù)

20.若用一個(gè)大小為6的數(shù)值來實(shí)現(xiàn)循環(huán)隊(duì)列,且當(dāng)前rear和front的值分別為0和3,當(dāng)從隊(duì)列中刪除一個(gè)元素,再加入兩個(gè)元素后,rear和front的值分別為()。

A.1和5B.2和4C.4和2D.5和1

二、2.填空題(20題)21.以下程序的輸出結(jié)果是______。

main()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

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

}

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

23.以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計(jì)算:

y1=(x+8)2-2(x+8)+6

y2=sin2(x)-2sin(x)+6

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

ginclude"math.h"

doublefun(doublex){return(x*x-2*x+6);}

main()

{doublex,y1,y2;

pfintf("Enterx:");scanf("%lf"&x);

y1=fun([10]);y2=fun([11]);

pin

24.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對(duì)象。

25.在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為【】。

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

main()

{

chara[]="123456789",*p;

inti=0;

p=a;

while(*p)

{

if(i%2==0)

*p='*';

p++;i++;

}

puts(a);

}

27.軟件設(shè)計(jì)模塊化的目的是______。

28.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),線性表、棧和隊(duì)列都屬于【】。

29.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、【】和選擇排序等。

30.有以下程序段,且變量已正確定義和賦值。

for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k/1));

printf("s=%f\n\",s);

請(qǐng)?zhí)羁?,使下面程序段的功能與之完全相同。

s=1.0;k=1;

while(【】){s=s+1.0/(k*(k+1));【】;}

printf("s-=%f\n\n",s);

31.以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素的最大值。請(qǐng)?zhí)羁铡?/p>

voidfun(int,int,int(*)[4],int*);

main()

{

inta[3][4]={{12,41,36,28},{19,33,15,27),{3,27,19,1}},b[3],i;

fun(3,4,a,B);

for(i=0;i<3;i++)printf("%4d",b[i]);

printf("\n");

}

voidfun(intm,intn,intar[][4],int*br)

{inti,j,x;

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

{

x=ar[i][0];

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

______=X;

}

}

32.通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為【】。

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

main()

{

inta[]={2,4,6},*ptr=&a[0],x=8,y,z;

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

z=(*(ptr+y)<x)?*(ptr+y):x;

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

}

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

#include<string.h>

cbar*ss(char*s)

{char*p,t;

p=s+1;t=*s;

while(-p){*(p-1)=*p;p++;}

*(p-1)=t;

returns;

}

main()

{char*p,str[10]="abcdefgh";

p=ss(str);

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

}

35.已知字符'A'的ASCII碼為65,以下程序運(yùn)行后的輸出結(jié)果是【】。

#include<stdio.h>

main()

{chara,b;

a='A'+'5'-'3';b=a+'6'-'2';

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

}

36.以下程序運(yùn)行后的輸出結(jié)果是()。structNODE{intk;structNODE*link;};main(){structNODEm[5],*p=m,*q=m+4;inti=0:while(p!=q){p->k=++i;p++;q->k=1++;q--;}q->k=i:for(i=0;i<5;i++)printf("%d",m[i].k);printf("\n");}

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

charstr[]="ABCD",*p=str;

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

38.數(shù)據(jù)的安全性是指保護(hù)數(shù)據(jù)以防止【】用戶的使用造成的數(shù)據(jù)泄密和破壞。

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

#include<stdlib.h>

main()

{char*s1,*s2,m;

s1=s2=(char*)malloc(sizeof(char));

*s1=15;*s2=20;m=*s1+*s2;

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

}

40.數(shù)據(jù)的獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,這稱為______。

三、1.選擇題(20題)41.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>voidsub(int*s,int*y){staticintm=4:*y=s[m];m--;}voidmain(){inta[]={1,2,3,4,5},k,x;printf("\n");for(k=0;k<=4;k++){sub(a,&x);printf("%d,",x);}}

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

42.有以下程序

#include<string.h>

main()

{charp[20]={′a′,′b′,′c′,′d′},q[]="abc",r[]="abcde";

strcat(p,r);strcpy(p+strlen(q),q);

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

}

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

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

43.數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和______。

A.可維護(hù)性B.獨(dú)立性C.安全性D.相容性

44.以下程序的輸出結(jié)果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf((“%d\n”,a);}A.8B.9C.17D.20

45.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與實(shí)體間的聯(lián)系可以表示成()。

A.屬性B.關(guān)系C.鍵D.域

46.下列二維數(shù)組初始化語句中,正確且與語句floata[][3]={0,3,8,0,9};等價(jià)的是

A.floata[2][]={{0,3,8},{0,9}};

B.floata[][3]={0,3,8,0,9,0};

C.floata[][3]={{0,3},{8,0},{9,0}};

D.floata[2][]={{0,3,8},{0,9,0}};

47.有以下程序:main(){unsignedchara,b,c;a=0x3;b=a|0x8;c=b<<1;printf("%d%d\n",b,C);}程序運(yùn)行后的輸出結(jié)果是()。

A.-1112B.-6-13C.1224D.1122

48.在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是______。

A.地址傳遞B.單向值傳遞C.由實(shí)參傳遞給形參,再由形參傳遞給實(shí)參D.傳遞方式由用戶指定

49.若有定義inta=5,b=7;,則表達(dá)式a%=(b%2)運(yùn)算后,a的值為()。

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

50.下列選項(xiàng)中,不能用作標(biāo)識(shí)符的是A._1234_B._1_2C.int_2_D.2_int_

51.x,y,z被定義為int型變量,若從鍵盤給x,y,z輸入數(shù)據(jù),正確的輸入語句是

A.INPUTx、v、z;

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

C.scanf("%d%d%d",x,y,z);

D.read("%d%d%d",&x,&y,&z);

52.有程序段:intal,a2;Charcl,c2;scanf("%d%c%d%c",&a1,&cl,&a2,&c2);若要求a1、a2、c1、c2的值分別為10、20、A、B,正確的數(shù)據(jù)輸入()

A.10A20B<CR>B.10A20B<CR>C.10A20B<CR>D.10A20B<CR>

53.函數(shù)的值通過return語句返回,下面關(guān)于return語句的形式描述錯(cuò)誤的是

A.return表達(dá)式;

B.return(表達(dá)式);

C.一個(gè)return語句可以返回多個(gè)函數(shù)值

D.一個(gè)return語句只能返回一個(gè)函數(shù)值

54.有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x>10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}該程序的輸出結(jié)果是

A.0.000000B.0.250000C.0.500000D.1.000000

55.以下程序運(yùn)行后,輸出結(jié)果是______。main(){char*d[]={"ab","cde"};printf("%x",d[1]);}

A.cdeB.字符c的AScII碼值C.字符c的地址D.出錯(cuò)

56.以下程序段的執(zhí)行結(jié)果為#definePLUS(X,Y)X+Ymain(){intx=1,y=2,z=3,sum;sum=PLUS(x+y,z)*PLUS(y,z);printf("SUM=%d",sum);}

A.SUM=9B.SUM=12C.SUM=18D.SUM=28

57.數(shù)據(jù)庫設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()

A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)

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

A.數(shù)據(jù)庫是一個(gè)DBF文件B.數(shù)據(jù)庫是一個(gè)關(guān)系C.數(shù)據(jù)庫是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D.數(shù)據(jù)庫是一組文件

59.調(diào)用gets和puts函數(shù)時(shí),必須包含的頭文件是

A.stdio.hB.stdlib.hC.defineD.以上都不對(duì)

60.數(shù)據(jù)處理的最小單位是()。

A.數(shù)據(jù)B.數(shù)據(jù)元素C.數(shù)據(jù)項(xiàng)D.數(shù)據(jù)結(jié)構(gòu)

四、選擇題(20題)61.有以下程序#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(xiàn)(a++,b++));}程序運(yùn)行后的輸出結(jié)果是

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

62.

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

#include<stdio.h>

#defineS(X)X*X

voidmain

{inta=9,k=3,m=2;

a/=S(k+m)/s(k+m);

printf("%d",a);

}

A.1B.4C.9D.0

63.

64.

65.有以下程序:

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

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

66.計(jì)算機(jī)能直接執(zhí)行的程序是()。A.可執(zhí)行程序B.目標(biāo)程序C.匯編程序D.源程序

67.有以下程序:

main()

{intp[7]={11,13,14,15,16,17,18},i=0,k=0;

while(i<7&&p[i]%2){k=k+p[i++];i++}

Printf("%d\n",k);

}

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

A.57B.39C.24D.11

68.有三個(gè)關(guān)系R,S和T如下:

其中關(guān)系T由關(guān)系R和S通過某種操作得到,該操作為()。A.選擇B.投影C.交D.并

69.

70.

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

A.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間具有密切的關(guān)系

B.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象都是公用的

C.在面向?qū)ο蟮某绦蛟O(shè)中,各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴性小

D.上述3種說法都不對(duì)

72.

73.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):inti=8,j=9;則下列語句:printf("i=%%d,j=%%d\n",i,j);輸出的結(jié)果是()。A.i=8,j=9B.i=%d,j=%dC.i=%8,j=%9D.8,9

74.有以下程序:

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

A..3,2,1,B.1,2,3,4,5,6,C.1,1,1,1,1,lD.6,6,6,6,6,6,

75.

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

#include<stdio.h>

main()

{inti,S=0;

for(i=1;i<10;i++)

if(!(i%2)&&!(i%3))s+=i;

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

}

A.4B.39C.45D.6

76.設(shè)有圖書(圖書編號(hào),書名,第一作者,出版社.、讀者(借書證號(hào),姓名,單位,職稱.和借閱(借書證號(hào),圖書編號(hào),借書日期,還書日期.三張表,則表借閱的關(guān)鍵字(鍵或碼.為()。

A.借書證號(hào),圖書編號(hào)

B.圖書編號(hào),借書日期

C.借書日期,還書日期

D.借書證號(hào),借書日期

77.以下不能正確定義二維數(shù)組的選項(xiàng)是()。

A.

B.

C.

D.

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

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

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

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

A.C語言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的

B.用C語言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行

C.通過編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行

D.在沒有安裝C語言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的.exe文件

五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:對(duì)M名學(xué)生的學(xué)習(xí)成績,按從高到低的順序找出前m(m≤10)名學(xué)生來,并將這些學(xué)生數(shù)據(jù)存放在一個(gè)動(dòng)態(tài)分配的連續(xù)存儲(chǔ)區(qū)中,此存儲(chǔ)區(qū)的首地址作為函數(shù)值返回。

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

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

試題程序:

六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。程序中將m個(gè)人的成績存放在score數(shù)組中,請(qǐng)編寫函數(shù)fun(),它的功能是將低于平均分的人數(shù)作為函數(shù)值返回,將低于平均分的分?jǐn)?shù)放在below所指的數(shù)組中。例如,當(dāng)score數(shù)組中的數(shù)據(jù)為10、20、30、40、50、60、70、80、90時(shí),函數(shù)返回的人數(shù)應(yīng)該是4,below中的數(shù)據(jù)應(yīng)為10、20、30、40。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:

參考答案

1.B

2.D

3.CC。R為n元關(guān)系,有P個(gè)元組S為m元關(guān)系,有q個(gè)元組。兩個(gè)關(guān)系笛卡兒積是一個(gè)n+m元的關(guān)系,元組個(gè)數(shù)是q×p。所以T的元組的個(gè)數(shù)為9個(gè)。

4.C結(jié)構(gòu)體不能通過結(jié)構(gòu)體名字整體賦值,通過結(jié)構(gòu)體名.成員名的方式賦值。所以C選項(xiàng)錯(cuò)誤。

5.B

6.D

7.D

8.D

9.B二叉樹的前序序列為ABCD,由于前序遍歷首先訪問根節(jié)點(diǎn),可以確定該二叉樹的根節(jié)點(diǎn)是A。再由中序序列為BCDA,可知以A為根節(jié)點(diǎn)的該二叉樹只存在左子樹,不存在右子樹,故后序序列為DCBA。本題答案為B選項(xiàng)。

10.D

11.C

12.A程序定義一個(gè)整型變量y和整型二維數(shù)組x,并對(duì)x賦初值。接著調(diào)用函數(shù)fun,在函數(shù)fun中,第1個(gè)for循環(huán)將數(shù)組a的第0列和第N-1列的所有元素累加到y(tǒng)中;第2個(gè)for循環(huán)將數(shù)組a的第0行的2、3和第N-1行的3、2累加到y(tǒng)中,再將y返回。所以fun函數(shù)的功能是將數(shù)組a的行列下標(biāo)為0、N-1的所有元素累加起來,即將1,2,3,4,2,3,3,2,4,3,2,1累加,輸出30。本題答案為A選項(xiàng)。

13.CC.【解析】線性表是一種線性結(jié)構(gòu),由n(n≥0)個(gè)元素組成,所以線性表可以是空表。但是在線性表中,第一個(gè)結(jié)點(diǎn)沒有前件,最后一個(gè)結(jié)點(diǎn)沒有后件,其他結(jié)點(diǎn)有且只有一個(gè)前件和后件,所以選項(xiàng)C.是錯(cuò)誤的。

14.D

15.B本題考多循環(huán)的使用,當(dāng)j=10,i=9時(shí),循環(huán)成立,第一個(gè)if條件為假,第二個(gè)if條件i==j-1成立,則輸出j的值為10,接者執(zhí)行i++后,i為10;當(dāng)i為10,for循環(huán)不成立,退出內(nèi)層循環(huán),此時(shí)執(zhí)行j++后,j為11,循環(huán)不成立,退出循環(huán)。

16.A

17.A

18.B本題考查for循環(huán)的使用。對(duì)于第1個(gè)for循環(huán),任何一個(gè)i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時(shí)不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時(shí)退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語句執(zhí)行6次,第二條for語句執(zhí)行4次,所以內(nèi)循環(huán)體執(zhí)行6*4=24次。

19.D解析:break語句只能在循環(huán)體和switch語句體內(nèi)使用,當(dāng)break出現(xiàn)在switch語句體內(nèi)時(shí),其作用只是跳出該switch語句體。當(dāng)break出現(xiàn)在循環(huán)體中,但不在switch語句體內(nèi)時(shí),則在執(zhí)行break后,跳出本層循環(huán)體.而continue語句的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)的條件判定。本程序中,變量i的初始值為0,判斷while后面括號(hào)內(nèi)表達(dá)式的值為真,執(zhí)行循環(huán)體內(nèi)的if語句,判斷if后面括號(hào)內(nèi)表達(dá)式的值為真,執(zhí)行“continue;”語句.因continue的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)的條件判斷,所以i的值未發(fā)生變化,循環(huán)條件仍然為真,if語句也仍然成立,因此循環(huán)將無止境地進(jìn)行下去。所以,4個(gè)選項(xiàng)中D為所選。

20.B

21.21

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

23.用x+8代替函數(shù)fun(doublex)中形式參數(shù)x。用sin(x)代替函數(shù)fun(doublex)中形式參數(shù)x。

24.類類解析:在面向?qū)ο蠓椒ㄖ校惷枋龅氖蔷哂邢嗨茖傩耘c操作的一組對(duì)象。

25.數(shù)據(jù)字典數(shù)據(jù)字典解析:在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為數(shù)據(jù)字典。

26.*2*4*6*8**2*4*6*8*解析:程序中定義了一個(gè)字符數(shù)組a,并初始化為123456789,接著定義了一個(gè)指針p并讓它指向數(shù)組a,緊接著執(zhí)行了一個(gè)while循環(huán),此循環(huán)的作用是:當(dāng)i為偶數(shù)時(shí),將“*”賦給a[i],p指向數(shù)組末尾,循環(huán)結(jié)束,此時(shí)數(shù)組中a[0]、a[2]、a[4]、a[6]和a[8]的值都為“*”,所以最后調(diào)用puts()函數(shù)輸出的a的值為*2*4*6*8*

27.降低復(fù)雜性降低復(fù)雜性

28.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:本題考查了數(shù)據(jù)結(jié)構(gòu)的基本概念。與棧類似,隊(duì)列也是線性表,可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),所以帶鏈的隊(duì)列屬于線性結(jié)構(gòu)。

29.交換排序交換排序解析:常見的排序方法有插入排序(包括簡單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡單選擇排序和堆排序等)。注意:常見的排序方法及其作用機(jī)制和區(qū)別。

30.k<=n或n>=kk++k<=n或n>=k\r\nk++解析:while語句和for語句的作用都是循環(huán)控制語句的執(zhí)行,兩者之間是可以互相轉(zhuǎn)換的。將while(EXP)轉(zhuǎn)換為for語句可以寫成for(;EXP;);將for(EXP1;EXP2;EXP3)轉(zhuǎn)換為while語句可以寫成:EXP1;while(EXP2){...EXP3;}。故本題的兩個(gè)空分別應(yīng)填寫for語句的第2和第3個(gè)表達(dá)式。即k<=n或n>=k和k++。當(dāng)然也可寫成與之等價(jià)的其他形式。

31.br[i]或*(br+i)br[i]或*(br+i)解析:求最大值算法要求輸入的一般是一系列數(shù),例如一個(gè)數(shù)組,而輸出只有一個(gè)值。計(jì)算時(shí)通常的做法是,首先將這一系列數(shù)的笫1個(gè)值保存到結(jié)果變量中,然后用一個(gè)指針或循環(huán)變量從頭(或從第2個(gè)值)至尾遍歷這一系列數(shù),每次比較結(jié)果變量和被遍歷的值,如果該值比結(jié)果大,則將該值保存到結(jié)果中。本題中,3行4列二維數(shù)組a顯然是算法的輸入值,而傳給函數(shù)fun()的3和4在函數(shù)中起到限制循環(huán)次數(shù)的作用,所以它們代表輸入數(shù)據(jù)的行列數(shù).而傳遞給函數(shù)的一維數(shù)組b即沒有初始化,最后又要輸出它,所以數(shù)組b肯定是用來保存每行的最大值。在函數(shù)中是一個(gè)二重循環(huán),外循環(huán)首先將ar[i][0]賦給x,然后內(nèi)循環(huán)中比較x和ar[il剛,若x比較小就讓x=ar[i][j],這就說明x是保存結(jié)果的臨時(shí)變量.最后應(yīng)該將x的值輸出到數(shù)組b中,也就是形參br的相應(yīng)位置。故在空格處應(yīng)該填的內(nèi)容為br[i]或者寫成指針方式*(br+i)。

32.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)

溫馨提示

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