2021年江西省撫州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第1頁(yè)
2021年江西省撫州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第2頁(yè)
2021年江西省撫州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第3頁(yè)
2021年江西省撫州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第4頁(yè)
2021年江西省撫州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩39頁(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年江西省撫州市全國(guó)計(jì)算機(jī)等級(jí)考試

C語(yǔ)言程序設(shè)計(jì)真題(含答案)

學(xué)校:班級(jí):姓名:考號(hào):

一、2.填空題(10題)

1.需求分析的最終結(jié)果是產(chǎn)生【】。

2.設(shè)有定義:intn,*k=&n;以下語(yǔ)句將利用指針變量k讀寫(xiě)變量n中

的內(nèi)容,請(qǐng)將語(yǔ)句補(bǔ)充完整。

scanf("%d”,);

printf("%d\n",);

3.若x,y和z均是血型變量,則執(zhí)行下面表達(dá)式后的x值為【】。

x=(y=4)+(z=2)

4.在面向?qū)ο蠓椒ㄖ?,屬性與操作相似的一組對(duì)象稱為【】。

5.在面向?qū)ο蟮姆椒ㄖ校枋龅氖蔷哂邢嗨茖傩耘c操作的一組

對(duì)象。

6.下列程序的運(yùn)行結(jié)果是____o

main()

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

printf("%d,",x<y?y:x);

printf("%d,",z<y?x++:y++);

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

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

點(diǎn)。

8.表達(dá)式l/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類(lèi)型為。

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

#include<stdio.h>

main()

fintx=0;

sub(&x,16,2);

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

)

sub(int*a,intn,intk)

{if(k<=n)sub(a,n/2,2*k);

*a+=k;

)

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

main()

{inta[4][4]={{l,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18)};

inti=O,j=O,s=O;

while(i++<4)

{if(i==2||i==4)continue;

j=0;

do{s+=a[i][j];j++;}while(j<4);

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

}

二、單選題(10題)

IL設(shè)計(jì)軟件結(jié)構(gòu)是在軟件生命周期的()o

A.軟件定義期B.軟件開(kāi)發(fā)期C.軟件維護(hù)期D.以上3個(gè)都不是

12.設(shè)有序順序表中有n個(gè)數(shù)據(jù)元素,則利用二分查找法查找數(shù)據(jù)元素

X的最多比較次數(shù)不超過(guò)()。

A.log=+1

B.log2(n-1)

C.logn

D.log2(n+1)

13.下列對(duì)于線性鏈表的描述中正確的是()。

A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的

B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

C.存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面

D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的

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

A.C語(yǔ)言函數(shù)中定義的自動(dòng)變量,系統(tǒng)不自動(dòng)賦確定的初值

B.在C語(yǔ)言的同一函數(shù)中,各復(fù)合語(yǔ)句內(nèi)可以定義變量,其作用域僅限

于本復(fù)合語(yǔ)句內(nèi)

C.C語(yǔ)言函數(shù)中定義的賦有初值的靜態(tài)變量,每調(diào)用一次函數(shù)為其賦一

次初值

D.C語(yǔ)言函數(shù)的形參不可以說(shuō)明為static型變量

15.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。

A.x=y+z+5.++yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.0

16.有以下程序

#include<stdio.h>

structtt

(intx;structtt*y;)*P;

structtta[4]={20,a+1,15,a+2,30,a+3,17,a);

main

{inti;

p=a;

for(i=l;i<=2;i++){printf("%d,”,p->x);P=p->y;}

)

程序的運(yùn)行結(jié)果是()。A.20,30,B.30,17,C.15,30,D.20,15,

17.已知字母a的ASCII碼為十進(jìn)制數(shù)97,下面程序的輸出結(jié)果是()。

#include<stdio.h>main(){charcl,c2;cl='a'+'6'-'O';c2='a'+'3'-'0';

printf("%c,%c\n",cl,c2);}

A.輸出無(wú)定值B.d,eC.e,fD.g,d

18.若變量已正確定義,則語(yǔ)句“s=32;s八=32;printf("%d”,s);”的輸出結(jié)果

是()O

A.-lB.OC.lD.32

19.判斷一包含n個(gè)整數(shù)的數(shù)組a口中是否存在i、j、k滿足a[i]+a[j]+a[k]=O

的時(shí)間復(fù)雜度需要0

A.0(nA2)B.O(nA21ogn)C.0(nA3)D.O(nlogn)

20.若a是數(shù)值類(lèi)型,則邏輯表達(dá)式“(a==l)||(a!=l)”的值是()。

A.1B.0C.2D.不知道a的值,不能確定

三、程序設(shè)計(jì)題(10題)

21.使用VC++2010打開(kāi)考生文件夾下progl中的解決方案。此解決方

案的項(xiàng)目中包含一個(gè)源程序文件progl.c。在此程序中,編寫(xiě)一個(gè)函

數(shù),其功能是從傳入的num個(gè)字符串中找出最長(zhǎng)的一個(gè)字符串,并通

過(guò)形參指針max傳回該字符串的地址(用****作為結(jié)束輸入的標(biāo)識(shí))。

注意:部分源程序在文件progl.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)

中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。

試題程序:

1#include<conio.h>

2#include<stdio.h>

3#include<string.h>

4#include<stdlib.h>

5char*fun(char(*a)[81],intnum,char*max)

6{

7

8}

9voidmain()

10{

11FILE*wf;

12charss[10][81],*ps=NULL;

13chars[3][81]={"abed","deg","diegns"),*p=NULL;

14inti=0,n;

15system("CLS");

16printf("輸入若干個(gè)字符串:");

17gets(ss[i]);

18puts(ss[i]);

19while(!stremp(ss[],"****")==o)/*用4個(gè)星號(hào)作為結(jié)束輸入的標(biāo)志

*/

20{

21i++;

22gets(ss[i]);

24puts(ss[i]);

25}

26n=i;

27ps=fun(ss,n,ps);

28printf("\nmax=%s\n",ps);

29/********************/

30wf=fopen("out.dat","w");

31p=fun(s,3,p);

32fprintf(wf,"%s",p);

33fclose(wf);

34/********************/

22.使用VC++2010打開(kāi)考生文件夾下progl中的解決方案。此解決方

案的項(xiàng)目中包含一個(gè)源程序文件progl.Co程序中將m個(gè)人的成績(jī)存放

在score數(shù)組中,請(qǐng)編寫(xiě)函數(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、

40o注意:部分源程序在文件progl.c中。

請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花

括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。

試題程序:

1#include<conio.h>

2finclude<stdio.h>

3#include<string.h>

4#include<stdlib-h>

5intfun(intscore[],intm,int

翳below[])

6{

7

8)

9voidmain()

W(

11FILE*wf;

12inti,n,below[9];

13intscore[9]={10,20,30,40,

50,60,70,80,90};

14system(MCLSM);

15n=fun(score,9,below);

16printf(M\nBelowtheaverage

scoreare:w);

17for(i=O;i<n;i-t-+)

18printf(M%dbelow[i]);

19/*****************/

20wf=fopenCout.datMwM);

21for(i=0;i<n;i++)

22fprintf(wfzbelow[i]);

23fclose(wf);

24/*****************/

25

23.請(qǐng)編寫(xiě)函數(shù)proc(),它的功能是計(jì)算:s=(In(1)4-ln(2)+In(3)

4-...+ln(m))0.5在C語(yǔ)言中可調(diào)用log(n)函數(shù)求In(n)o例如,

若nl的值為30,則proc()函數(shù)值為8.640500o注意:部分源程序

給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函

數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:

Uincl?Mir<Mdhk.

includeVcotuo.

?tticlude

=includrVgnh,

doubleproc<mlm)

voedowuM>

■尸dS>|

prmt{(*KAn**proc(30>>i

24.

編寫(xiě)函數(shù)fun,其功能是:從字符串中刪除指定的字符:,同字母的大、小寫(xiě)按不同字符處理。

例如,若程序執(zhí)行時(shí)輸入字符串為:

“hirborandBorlandc++'

從鍵盤(pán)上輸入字符n,.則輸出為:

“turbocad)>orkdC++”

如果輸入的字符在字符串中不存在,則字符串照原樣輸出。

注意:部分源程序給出如下,

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

試題程序:

include<sldio.h>

voidfun(chars(]jntc)

(

I.

main()

(staticcharstrfJ="turhocandbodan<|e++”;

charch:

charch:

printfT原始字符串:%s\n,,.slr);

printfT輸入一個(gè)字符An");

scanfT%c,&ch);

ftm(str.ch);

printf(hstr[]=%3\n"vStr):

Jitrcpy(str,,rturbocandIxirland(:++'*);

fun(strja"):

25.學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放

人結(jié)構(gòu)體數(shù)組stu中,請(qǐng)編寫(xiě)函數(shù)proc,它的功能是:把指定分?jǐn)?shù)范圍

之外的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,分?jǐn)?shù)范圍之外的學(xué)生人數(shù)由函

數(shù)值返回。

例如,輸入的分?jǐn)?shù)是70和79,則應(yīng)當(dāng)把分?jǐn)?shù)低于70和高于79的學(xué)生

數(shù)據(jù)輸出,不包含70分和79分的學(xué)生數(shù)據(jù)。主函數(shù)中把70放在low

中,把79放在heigh中。

注意:部分源程序給出如下。

請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括

號(hào)中填人所編寫(xiě)的若干語(yǔ)句。

試題程序:

#include<stdio.h>

#defineM16

typedefstruct

(

charnum[10];

ints:

)

STREC;

intproc(STREC*a,STREC*b,int1,inth)

(

}

voidmain

(

STRECstu[M]={{"GA005",55),{"GA003",96},

{"GA002",80),{"GA004",68),

{"GA001",88},{"GA007",74},

{"GA008",85),{"GA006",89},

{"GA015",90),{"GA013”,53),

{"GA012",66},{"GA014”,82),

{"GAOH",73},{"GAO17",69),

{"GA018",64),{"GA016",86}};

STRECh[M];

inti,n,low,heigh,t;

printf("Enter2integernumberlow&

heigh:");

scanf("%d%d",&low,&heigh);

if(heigh<low)9

(,

t=heigh:

heigh=low;

low=t;

)

n=proc(stu,h,low,heigh);

printf("TheStudent'Sdataout

%d-%d:\n",low,heigh);

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

printf("%S%4d\n",h[i].num,h[i].s);

//輸出指定分?jǐn)?shù)范圍內(nèi)的學(xué)生記錄

printf("\n");

)

26.

請(qǐng)編一個(gè)函數(shù)floatproe(doubleh),函數(shù)的功能是對(duì)變量h中的值保留

2位小數(shù),并對(duì)第3位進(jìn)行四舍五人(規(guī)定h中的值為正數(shù))。例如,

若h值為7.32596,則函數(shù)返回7.33;若h值為7.32496,則函數(shù)返

回7.32。注意:部分源程序給出如下。.請(qǐng)勿改動(dòng)main()函數(shù)和其

他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干

語(yǔ)句。試題程序:

8mcludtV'idl4k

衽includeVadid

*tncludrVenao.h)

IltMitproHfloath)

voidtntinC)

float||

*01^")i

prifit(<*Eni?r(te>i

Kani<eKP?&?£)i

pntitfC*Tlxonginalin:>>i

phxii(<*Mf\n\n*?()i

pnn<f<*TbemuluMAn**proHO)i

27.程序定義了MxM的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫(xiě)函

數(shù)proc(inta口[M],intn),該函數(shù)的功能是使數(shù)組左下半三角元素中的

值加上n。例如,a數(shù)組中的值為:

I|234SI

?7S910

1?II1213141$

1417181920

2122U24t5

后f>的假”2??舉網(wǎng)上“小扃?教M中的值力?

32345

S9S910

|13141S1415

1819202120

123242526271

注意:部分源程序給出如下。

請(qǐng)勿改動(dòng)main。函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括

號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

試題程序:

StnclutieVtime.Ii>

SincludeVwtdao.h>

3inrludeVcoaio.h>

9inriiide<Ndl,hh>

9S

roidpfoc<mtU][M,?witn>

voidtBAin()

itif”,??Uji

mtarr[S](5■」?2.3?4?5?6?7?,?,.IQ?11J2?I3?

14U$.I€J7?18,2,23.24.2Slg

■yaE?yf》i

pnmf(*????Thearray????\w->?

pniwtf("n"K4d\fie?ci>i

proc(arr?n)i

t>nntf<*????THFRPilJI.T????\n*>■

fort1**0|i〈Mil++)

(or(j?0ij<?M(?)

*%4di

pctotfC*\o")i

28.使用VC++2010打開(kāi)考生文件夾下progl中的解決方案。此解決方

案的項(xiàng)目中包含一個(gè)源程序文件progl.c。在此程序中,規(guī)定輸入的字符

串中只包含字母和*號(hào)。編寫(xiě)函數(shù)fun(),其功能是刪除字符串中所有的

*號(hào)。編寫(xiě)函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。

例如,字符串中的內(nèi)容為“****A*BC*DEF*G*******”,刪除后,字符

串中的內(nèi)容應(yīng)當(dāng)是“ABCDEFG”。

注意:部分源程序給出如下。

請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花

括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。

試題程序:

#include<conio.h>

#include<stdio.h>

voidfun(char*a)

voidmain()

(

chars[81];

printf("Enterastring:\n^^);

gets(s);

fun(s);

printf("Thestringafterdeleted:\n^^);

puts(s);

29.

規(guī)定箱人的字符申中只包含字母和*號(hào)c請(qǐng)編寫(xiě)函數(shù)fun.其功能是:將字符串尾部的*號(hào)全部刪除.

前面和中間的?號(hào)不動(dòng)。

例如,字符串中的內(nèi)容為""**A*BC*DEF*G*******”,刪除后.字符串中的內(nèi)容應(yīng)當(dāng)是“****

A*BC*DEF"Tc在編寫(xiě)單數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù).

注意:部分源程序媒出如下。

請(qǐng)勿的動(dòng)土函敷nuin和其他所微中的任何內(nèi)容,僅在函教firn的花括號(hào)中填入你煽鳥(niǎo)妁若干語(yǔ)句“

試題程序:

#incb)de<stdio.h>

#incltidr<conio.h>?

voidfjn(char??)

voidmain()

{?hars(81k

?rintfl["Enlerastrin!::\n。:

arictfC^Thcstringafterdeleted:\nw);

putt(附

30.從鍵盤(pán)上輸出10個(gè)整數(shù)存入一維數(shù)組中,按由大到小的順序輸出。

四、2.程序修改題(10題)

31.在主函數(shù)中從鍵盤(pán)輸入若干個(gè)數(shù)放入數(shù)組中,用。結(jié)束輸入并放在

最后一個(gè)元素中。下列給定程序中,函數(shù)fun()的功能是計(jì)算數(shù)組元素中

值為負(fù)數(shù)的平均值(不包括0)。

例如:數(shù)組中元素的值依次為43,47,-21,53,-8,12,0,則程序的

運(yùn)行結(jié)果為-25.333333。

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

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

試題程序:

#include<conio.h>

#include<stdio.h>

doublefun(intx口)

(

doublesum=0.0;

intc=0,i=0;

/*************found*************/

while(x[i]==0)

(

if(x[i]<0)

(

sum=sum+x[i];

C++;

i++;

/************found***********I

sum=sum\c;

returnsum;

)

main()

(

intx[1000];

inti=0;

clrscr();

printf("\nPleaseentersomedata(endwith

0):”);

do

(

scanf("%d",&x[i]);

}while(x[i++]!=0);

printf("%f\n",fun(x));

32.給定程序中函數(shù)fun的功能是:從低位開(kāi)始取出長(zhǎng)整型變量S中偶

數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低

位。

例如,當(dāng)s中的數(shù)為7654321時(shí),t中的數(shù)為642。

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

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

[試題源程序]

#include<stdio.h>

voidfun(longs,longt)

longsl=10;

s/=10;

*t=s%10;

/************found************/

while(s<0)

(

s=s/100;

*t=s%10*sl+*t;

sl=sl*10;

}

)

msin()

(

longs,t;

printf("\nPleaseenters:");

scanf("%ld",&s);

fun(s,&t);

printf("Theresultis:%ld\n",t);

)

33.給定程序MOD11.C中函數(shù)fun的功能是:用下面的公式求兀的近

似值,直到最后一項(xiàng)的絕對(duì)值小于指定的數(shù)(參數(shù)num)為止:

JC,—1+—1—1?

4357

例如,程序運(yùn)行后,輸入0.0001,則程序輸出3.1414。

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

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

1linclude<math.h>

2linclude<stdio.h>

3floatfun(floatnum)

4{ints;

5floatn,t9pi;

6

7/…………”ound…………"

8while(t>=num)

9(?

10pi=pi4t;

11n?n+2;

123

13*************found******?**?*??

14t?s%n;

15

16pi?pi*4;

17returnpi;

18

19main(J

20{floattil,n2;

21printf("Enterafloatnumber:");

22scanf&nl);

23n2■fun(nl);

24printf(w%6.4f\nw,n2);

25

34.給定程序M0D11.C中函數(shù)fun的功能是:從n(形參)個(gè)學(xué)生的成績(jī)

中統(tǒng)計(jì)出低于平均分的學(xué)生人數(shù),此人數(shù)由函數(shù)值返回,平均分存放在

形參aver所指的存儲(chǔ)單元中。

例如,若輸入8名學(xué)生的成績(jī):80,5607290.59851.58864則低于

平均分的學(xué)生人數(shù)為:4(平均分為:75.5625)O

請(qǐng)改正程序中的錯(cuò)誤,使它能統(tǒng)計(jì)出正確的結(jié)果。

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

1?include<stdio.h>

2tdefineN20

3intfun(float*srintn,float

*aver)

4(floatave#t?0.0;

5intcount?0rk/i;

6for(k-0;k<n;k++)

7/*************found***?**?*****?/

8t=s[k];

9ave?t/n;

10for(i=0;i<n;i++)

11if(s[i]<ave)countf+;

12/found

13*aver=Ave;

14returncount;

15}

16main()

17{floats[30]raver;

18intm,i;

19printf(H\nPleaseenterm:

scanf&m);

20printf("\nPleaseenter%dmark:

\n",m);

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

HR

(%frs+i);

22printf(R\nThenumberofstudents:

w

%d\nrfun(s,m,&aver));

wM

23printf(Ave?%f\nraver);

24

35.下列給定程序中,函數(shù)fun()的功能是:根據(jù)形參m的值(2)£9),

在m行m列的二維數(shù)組中存放如下所示的數(shù)據(jù),由main()函數(shù)輸出。

例如,若輸入2,則輸出12

24

輸入4,則輸出1234

2468

36912

481216

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

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

試題程序:

#include<conio.h>

#include<stdio.h>

#defineM10

intaiM][MI={0};

/***************^Qund*******************/

fun(int**a,intm)

{intj,k;

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

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

/***************^Qund*******************/

a[j][k]=k*j;

main()

{inti,j,n;

clrscr();

printf("Entern\n");scanf("%d",&n);

fun(a,n);

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

{for(j=O;j<n;j++)

printf("%4d",a[i][j]);

printf("\n");

36.下列給定程序中,函數(shù)fun()的功能是求出數(shù)組中最小數(shù)和次最小數(shù),

并把最小數(shù)和a[0]中的數(shù)對(duì)調(diào),次最小數(shù)和a[l]中的數(shù)對(duì)調(diào)。

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

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

[試題源程序]

#include<stdio.h>

#include<conio.h>

#defineN20

voidfun(int*a,into)

inti,m,t,k;

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

m=i;

for(k=i;k<n;k++)

if(a[k]<a[m])

k=m;

t=a[i];

a[i]=a[m];

a[m]=t;

37.下列給定程序中,函數(shù)fun()的功能是;求S的值。設(shè)

S=(22/l*30))*(42/(3*5))*(62/(5*7))*...*(2k)2/((2k-l)*(2k+l))

例如,當(dāng)k為10時(shí),函數(shù)的值應(yīng)為1.533852。

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

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

試題程序:

#include<conio.h>

#include<stdio.h>

#include<math.h>

fun(intk)

{ihtn;floats,w,p,q;

n=l;

s=1.0;

while(n<=k)

{w=2.0*n;

p=w-1.0;

q=w+1.0;

s=s*w*w/p/q;

n++;

/***************^Qund**************/

returns

main()

{clrscr();

printf("%nn",fun(10));

38.下列給定程序是建立一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,并用隨機(jī)函數(shù)為各

結(jié)點(diǎn)賦值。函數(shù)fun()的功能是:將單向鏈表結(jié)點(diǎn)(不包括頭結(jié)點(diǎn))數(shù)據(jù)域

為偶數(shù)的值累加起來(lái),并作為函數(shù)值返回。

其累加和通過(guò)函數(shù)值返回main()函數(shù)。例如,若n=5,則應(yīng)輸出8.391667。

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

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

[試題源程序]

#include<stdio.h>

#include<stdiib.h>

typedefstructaa

intdata;

structaa*next;

JNODE;

intfun(NODE*h)

intsum=0;

NODE*P;

/**********found**********/

P=h;

while(P->next)

if(p->data%2==0)

sum+=p->data;

/**********found**********/

p=h->next;

)

returnsum;

}

NODE*creatlink(intn)

(

NODE*h,*p,*s,*q;

inti,x;

h=p=(NODE*)malloc(sizeof(NODE));

for(i=l;i<=n;i++)

(

s=(NODE*)malloc(sizeof(NODE));

s->data=rand()%16;

s->next=p->next;

p->next=s;

p=p->next;

)

p->next=NULL;

returnh;

outlink(NODE*h,FILE*Pf)

(

NODE*p;

p=h->next;

fprintf(Pf,"\n\nTHELIST:\n\nHEAD");

while(P)

(

fprintf(Pf,>%d",p->data);p=p->next;

)

fprintf(pf,"\n");

}

outresult(ints,FILE*pf)

(

fprintf(Pf,"\nThesumofevennumbers:%d\n",s);

)

main()

(

NODE*head;inteven;

head=creatlink(12);

head->data=9000;

outlink(head,stdout);

even=fun(head);

printf("\nTheresult:\n");outresult(even,stdout);

)

39.下列給定程序中,函數(shù)fun()的功能是:找出一個(gè)大于給定整數(shù)m且

緊隨m的素?cái)?shù),并作為函數(shù)值返回。

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

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

試題程序:

#include<conio.h>

#include<stdio.h>

intfun(intm)

{inti,k;

for(i=m+1;;i++)

{for(k=2;k<i;k++)

/*************found**************/

if(i%k!=0)

break;

/*************found**************/

if(k<i)

return(i);

)

)

main()

{intn;

clrscr();

printf("\nPleaseentern:");

scanf("%d",&n);

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

40.給定程序M0D11.C中函數(shù)fun的功能是:根據(jù)以下公式求兀值,

并作為函數(shù)值返回。

例如,給指定精度的變量eps輸入0.0005時(shí),應(yīng)當(dāng)輸出Pi=3.141480。

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

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

1?*include<math.h>

2!finclude<stdio.h>

3jdoublefun(doubleeps)

4?{doubles,t;intn-1;

5s-0.0;

6?/found…………

7t-0;

8while(Ceps)

9(s*-t;

10;t?t?n/(2*n*l);

11!n

12)

13i/??****??**?*found*******??*??

14return(s);

15|)??

16;main()

17;(doublex;

18!printf(w\nPleaseentera

jprecision:scanf(w%lf&x);

19jprintf("\neps?%lfr

w

Pi?%lf\n\nrxffun(x));

20?}

五、程序改錯(cuò)題(2題)

41.

下列給定程序中,函數(shù)proc()的功能是:將長(zhǎng)整型數(shù)中為偶數(shù)的數(shù)依

次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,

當(dāng)s中的數(shù)為87653142時(shí),t中的數(shù)為8642。請(qǐng)修改程序中的錯(cuò)誤,

使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或

刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

#isirludr

修ifirludrVcoiiio.Ii>

?isicludr<"di6ll)

<roidptocCIcxig?*iong?O

mldi

longB1*li

?t*Oi

wliW(.>0)

//????(owmi????

i((dXl*O>

????found????

9?divuiifiC)

(long

?ywirm(*CLS*)i

prwiifl"\APICOMenterHi*>?acanf

proeO.&ih

『E?“'TherrMjhi?t

42.下列給定程序中,函數(shù)proc()的功能是:對(duì)M名學(xué)生的學(xué)習(xí)成績(jī),

按從低到高的順序找出m(mS10)名學(xué)生來(lái),并將這些學(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)。

試題程序:

夕include<widlikh>

Siocludr<cocUo.h>

9includeVsinnft.h>

9inrludrVzdidh>

,include<mdk>c.h>

gdrfirwM10

trpctielMrwi?*

(

duiT

bit?!

\STU.

STU?procCSTU?[].irnm)

I

STVb[ML*u

tntuj?lu

//????found????

??■calhHm.MMU(STU)>&

foKi-OtKMii*

lor€h*Otli<iniki+)

(or《I-LO8YM“++)

附2工,<2].?)i-H

//????loutid????

?[kJ.num-b(j).aumi

?till??

2]..-iooi

r?<uraii

rod(MitreHtlt(STU*[]?FILE?pO

mtI*

fprwitf<p4.*NoMark"Xd\n*?

a[i].num*山工?)i

fpnn?(<p4?"\H\II*>i

voadnuiin<)

(STUZM]=ICADI\8lhCAD:%MF.

\S4I.CAO4*.an.

CAOS\ni.CAD??.?>>.

(?A07-.TthCAM??6”?

CM9-.TOKCAW.riHi

STUepOrdrri

pn!M?e????THERESULT????"?九

OUlfVMlltC>I

pniM?thefMimbrrolthrwtiedmt*whohave

fewerMtirei*>?

?canf(NKr.^m)i

whik(m>10>

pnntl(a\iiGivethenumbera(theUudrm.whohaw

lowertcorvt*>i

?CMU<?aOi

p(>rdrr-proc<?tu.ni>i

phM<(*????THERESULT???

pnn<f(vTbrwpAns)?

for<j-0iYoM2?)

pnntf(aK?X4\n*?p(>rdef{i].num*f<Mrr{i]?9)>

free(p(>r<kr)i

六、操作題(2題)

43.請(qǐng)編寫(xiě)函數(shù)proc,其功能是:計(jì)算并輸出下列多項(xiàng)式值。

S=(l-1/2)+(1/3-1/4)+...+(1/(2n-l)-l/2n)

例如,若主函數(shù)從鍵盤(pán)給n輸入20后,則輸出為S=0.680803o

注意:部分源程序給出如下。

請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括

號(hào)中填入所編寫(xiě)的若干語(yǔ)句。

試題程序:

#includet:stdio.h>

doubleproc(intn)

(

)

voidmain

(

intn;

doublesum;

printf("\nlnputn:");

scanf("%d",&n);

sum=proc(n)。

printf("\ns=%f\n",sum);

)

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

#include<stdio.h>

voidswap(int*a,int*b)

{int*t;

t=a;a=b;b=t;

main()

{inti=3,j=5,*p=&i,*q=&j;

swap(p,q);printf("%d%d\N,*p,*q))

參考答案

1.需求規(guī)格說(shuō)明書(shū)需求規(guī)格說(shuō)明書(shū)解析軟件需求規(guī)格說(shuō)明書(shū)是需求分

析階段的最后成果,是軟件開(kāi)發(fā)中的重要文檔之一。需求規(guī)格說(shuō)明書(shū)包

括正確性、無(wú)歧義性、完整性、可驗(yàn)證性、一致性、可理解性、可修改

性和可追蹤性等。

2.k*kk*k解析:本題考查的知識(shí)點(diǎn)是scarf()函數(shù)和printf()函數(shù)的用法。

scanf()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是格式控制部分(格式控制部分是字

符串,主要由“%”號(hào)和格式字符組成)第二個(gè)參數(shù)是一地址列表(地址列

表是由多個(gè)地址組成,可以是變量的地址,也可以是字符串的首地址)。

而第一個(gè)空格處位于scanf()函數(shù)的第二個(gè)參數(shù)處,所以,第一個(gè)空應(yīng)該

填地址k。printf()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是輸出格式字符串(輸出

格式字符串是由控制輸出格式的字符和非格式字符組成的,通常是字符

常量。非格式字符作為輸出數(shù)據(jù)的間隔,輸出時(shí)原樣輸出)第二個(gè)參數(shù)為

一輸出表達(dá)式表(輸出表達(dá)式表是由若干個(gè)需要計(jì)算和輸出的表達(dá)式組

成的,表達(dá)式之間用逗號(hào)分隔開(kāi))。而第;個(gè)空位于printf()函數(shù)的第二

個(gè)參數(shù)處,所以應(yīng)該填*K。

3.6

4.類(lèi)類(lèi)解析在面向?qū)ο蠓椒ㄖ校?lèi)描述的是具有相似性質(zhì)的一組對(duì)象。

所以,屬性與操作相似的一組對(duì)象稱為類(lèi)。

5.類(lèi)類(lèi)解析:在面向?qū)ο蟮姆椒ㄖ校丫哂邢嗤瑢傩院头椒ǖ膶?duì)象稱為

類(lèi),類(lèi)是對(duì)象的抽象,對(duì)象是類(lèi)的實(shí)例。

6.22132,2,1,3解析:本題考查運(yùn)算符和條件運(yùn)算符的使用。

“表達(dá)式1?表達(dá)式2:表達(dá)式3”的功能是:表達(dá)式1的值若非0,則計(jì)

算表達(dá)式2的值,且表達(dá)式2的值為最終結(jié)果;若表達(dá)式1的值為0,

則計(jì)算表達(dá)式3的值,且為最終結(jié)果。

本題中,x=l,y=2時(shí),x<y成立,輸出y的值2;y=2,z=3時(shí),z<y

不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個(gè)輸出x的值不變

為1,y的值為增加后的3。

7.1919解析:根據(jù)二叉樹(shù)的性質(zhì):在任意一棵二叉樹(shù)中,度為。的結(jié)點(diǎn)

(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,

故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。

8.整型整型解析:上面的表達(dá)式中,通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換把最后參與運(yùn)算

的數(shù)據(jù)都轉(zhuǎn)換成了int型,所以最后得到的結(jié)果也是int類(lèi)型。

9.1414解析:本題考查遞歸函數(shù)的調(diào)用。在主函數(shù)中調(diào)用sub(&x,16,2)

函數(shù),此時(shí)n=16,k=2,if語(yǔ)句的控制的條件k<=n成立,所以執(zhí)行下

面的語(yǔ)句,調(diào)用sub(x,8,4),此時(shí)n=8,k=4,if語(yǔ)句的控制條件k<=n

成立,所以執(zhí)行下面的語(yǔ)句,調(diào)用sub(x,4,8),此時(shí)n=4,k=8,if語(yǔ)句

控制的條件k<=n不成立,因此,最后得x=2+4+8=14。

10.92

n.BB?!窘馕觥吭O(shè)計(jì)軟件結(jié)構(gòu),是在軟件概要設(shè)計(jì)階段進(jìn)行的,而概要

設(shè)計(jì)屬于軟件開(kāi)發(fā)期。

12.A

13.A解析:在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,存儲(chǔ)數(shù)據(jù)的存儲(chǔ)空間可以不連續(xù),各數(shù)

據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,數(shù)據(jù)元素之

間的邏輯關(guān)系,是由指針域來(lái)確定的。由此可見(jiàn),選項(xiàng)A的描述正確。

因此,本題的正確答案為A。

14.CA選項(xiàng)描述正確,自動(dòng)變量未被賦初值,為隨機(jī)值;B選項(xiàng)描述正

確,除在函數(shù)開(kāi)始位置定義變量外,在復(fù)合語(yǔ)句內(nèi)也可以定義變量;C

選項(xiàng)描述錯(cuò)誤,函數(shù)內(nèi)的靜態(tài)變量只在第1次調(diào)用時(shí)賦值,以后調(diào)用保

留上次的值;D選項(xiàng)描述正確,形參屬于局部變量,占用動(dòng)態(tài)存儲(chǔ)區(qū),

而static型變量占用靜態(tài)存儲(chǔ)區(qū)。故本題答案為C選項(xiàng)。

15.A

[解析]B)與D)選項(xiàng)中取模運(yùn)算符%的左右兩個(gè)操作數(shù)均應(yīng)為整數(shù),所

以B)、D)錯(cuò)誤。C)選項(xiàng)中不能將x+z的值賦給表達(dá)式y(tǒng)*5.所以C)錯(cuò)

、口

沃。

16.D

程序的結(jié)構(gòu)體數(shù)組a的元素形成了一個(gè)單向的循環(huán)鏈表,每個(gè)元素的

指針成員都指向下一個(gè)元素的地址。

17.D解析:C語(yǔ)言規(guī)定,所有字符常量都可以化為整型常量來(lái)處理,因

而字符常量也可以參與算術(shù)運(yùn)算。注:字符常量參與算術(shù)運(yùn)算時(shí),其實(shí)

是使用其對(duì)應(yīng)的ASCII碼值進(jìn)行計(jì)算。本題中,區(qū)對(duì)應(yīng)的ASCII碼值是

97o題中雖然沒(méi)有給6和O的ASCII碼值,但應(yīng)該知道是將字符6

轉(zhuǎn)換成整數(shù)6的表達(dá)式,所以cl=,a,+6-O=103,c2=1a'+'3'-10'=100,按照

字符型輸出分別是g和d。

18.B異或運(yùn)算只有在兩個(gè)比較的位不同時(shí)其結(jié)果為1,否則結(jié)果為0。

題目中兩個(gè)值相同,所以結(jié)果為0。故本題答案為B選項(xiàng)。

19.A

20.A邏輯或“||”要求兩邊的運(yùn)算對(duì)象有一個(gè)非零值,結(jié)果就為真。變量a

的值不確定,但是若a為1,則左邊運(yùn)算對(duì)象的值為1;若a不為1,

則右邊運(yùn)算對(duì)象的值為1,所以總能保證一邊為非零值。故本題答案為

A選項(xiàng)。

21.1char*fun(char(*a)[81],intnum,char*max)

2{

3inti=0;

4max=a[0];

5for(i=0;i<num;i++)/*找出最長(zhǎng)的一個(gè)字符串*/

6if(strlen(max)<strlen(a[i]))

7max=a[i];

8returnmax;/*傳回最長(zhǎng)字符串的地址*/

9}

<strlen(a[i]))

解答本題之前,首先應(yīng)該明白ss是數(shù)組名,是指數(shù)組首元素的地址。

max是字符指針變量,可以指向一個(gè)字符串。假定max指向數(shù)組中第

1個(gè)字符串,它的長(zhǎng)度最長(zhǎng)。再使用循環(huán)語(yǔ)句遍歷字符串?dāng)?shù)組,使用條

件語(yǔ)句判斷該字符串的長(zhǎng)度是否大于max指向的字符串的長(zhǎng)度,如大

于,則max指向該字符串。保證max指向的字符串最長(zhǎng),并將其作為

函數(shù)值返回。</strlen(a[i]))

22.1intfun(intscore[],intm,intbe-low[])

2{

3inti,j=O;

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中各元素的平均值。然后通過(guò)for循環(huán)語(yǔ)

句和if條件語(yǔ)句找出低于平均值的分?jǐn)?shù)。該題第1個(gè)循環(huán)的作用是求

出平均值av,第2個(gè)循環(huán)的作用是找出數(shù)組score中低于平均值的成

績(jī)記錄并存入below數(shù)組中。</av)p*如果分?jǐn)?shù)<></m;i++)

</m;i++)

23.

【解析】由題目中所給表達(dá)式可知,表達(dá)式的值為m項(xiàng)表達(dá)式的和然后

開(kāi)平方。可以首先通過(guò)m次循環(huán)求得m項(xiàng)表達(dá)式的和,然后將其和開(kāi)

平方并返回到主函數(shù)當(dāng)中。

24.

【答案】

vni(ifun(cha-s[],intc)

I,

inti=O;.

char*p;

P=s;

while(*p)/*判斷是否為結(jié)束標(biāo)識(shí)符*/

{,

if(*p!=c)/*判斷字符串中字符是否與指定字符相同*/

(?

-s(i>*P;"如不同,將重新組合字符串*/

i++;

}/?如相同,則處理下一個(gè)字符*/

p++;}

)

【解析】

通過(guò)循環(huán)將非指定字符重新保存,字符串末尾加上結(jié)束標(biāo)識(shí)符。

25.\n\tintproc(STREC*a,STREC*b,inti,inth)\n

\n

\n\t{\n

\n

\n\tinti,j=0;\n

\n

\n\tfor(i=0;i<M;i++)\n

\n

\n\tif((a[i].s>=0&&a[i].s<l)||(a[i].s>h&&a\n

\n

\n\t[i].s<=100))//通過(guò)if語(yǔ)句,來(lái)判斷指定范圍\n

\n

\n\t之外的數(shù)\n

\n

\n\tb[j++]=a[i];//放到b數(shù)組中\(zhòng)n

\n

\n\treturnj;//最后把其個(gè)數(shù)返回到主函數(shù)中\(zhòng)n

\n

\n\t}\n

\n

\n\t【解析】題目要求把指定范圍之外的數(shù)放到b中,將每一個(gè)學(xué)生的

成績(jī)與指定的成績(jī)相比較,將符合條件的學(xué)生成績(jī)放在數(shù)組b中,并

將符合要求的學(xué)生個(gè)數(shù)返回給主函數(shù)。\n

26.

【解析】要實(shí)現(xiàn)對(duì)變量的值保留2位小數(shù)。并對(duì)第3位小數(shù)進(jìn)行四舍五

入,可以通過(guò)先將其小數(shù)點(diǎn)后3位變?yōu)檎龜?shù)后加5,所得到的數(shù)除10,

最后再除100來(lái)實(shí)現(xiàn)。

27.

【解析】使數(shù)組左下半三角元素中的值加上n,首先要找出數(shù)組中下半

三角元素。數(shù)組中下半三角元素的特點(diǎn)是,其列下標(biāo)小于等于行下

標(biāo)。根據(jù)這個(gè)特點(diǎn)找出所有的下半三角元素再加上n放在原來(lái)的位置

上。

28.voidfun(char*a)

(

inti,j=0;

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

if(a[i]!=V,)

a[j++]=a[i];

/*若不是要?jiǎng)h除的字符'*'則保留*/

a[j]='\0';

/*最后加上字符串結(jié)束標(biāo)志、(T*/

)

該題考核的是刪除字符串中所有*,需用循環(huán)語(yǔ)句遍歷字符串,用判斷

語(yǔ)句判斷字符是否為*,由此可以決定該程序應(yīng)使用循環(huán)判斷結(jié)構(gòu)。

用循環(huán)操作從字符串開(kāi)始向后逐個(gè)進(jìn)行比較,若不是要?jiǎng)h除的字符(用

if(a[i]!=,)來(lái)控制)則保留。變量i和j用來(lái)表示原字符串的下標(biāo)和刪除

*后新字符串的下標(biāo)。注意,下標(biāo)變量j要從0開(kāi)始,最后還要加上字

符串結(jié)束標(biāo)志、0,

29.

【答案】

voidfun(char*t)

I

whilM?心⑼

a++;

/*指針a指向字符串的尾部,/

while(*ae'巧

a-;/?指針”指向最后一個(gè)字母?/

?(a+l)=W;/?在字符串最后加上結(jié)束標(biāo)識(shí)符?/

)

(解析】

在字符串最后一個(gè)不是?號(hào)的字符后面加上結(jié)束符號(hào)惜,來(lái)刪除其尾部的?號(hào)。先找到字符串的結(jié)尾.

往前逐個(gè)判斷是否為?號(hào),直到找到最后一個(gè)字母為止,最后在該字符后面加上結(jié)束符號(hào)

30.\n#include'stdio.h'

\nmain

\n{inti,j,a[10];

\nfor(i=1;i<=10;i++)

\nscanf('%d',&a[i]);

\nfor(i=0;i<9=;i++)

\nfor(j=9;j>i;j-)

\nif(a[j-l]{t=a|j-l];

\na[j-l]=a[j];

\na[j]=t;}

\nfor(i=0;i<10;i++)

\nprintfC%d',a[i]);

\n}

\n

31.(1)錯(cuò)誤:while(x[i]==O)正確:while(x[i]!=O)(2)錯(cuò)誤:sum=sum\c;

正確:sum=sum/c;(l)錯(cuò)誤:while(x[i]==O)正確:while(x[i]!=0)\r\n(2)錯(cuò)

誤:sum=sum\\c;正確:sum=sum/c;解析:錯(cuò)誤1:此處考查的是對(duì)循

環(huán)條件的理解,當(dāng)被判斷的數(shù)組元素為。時(shí),說(shuō)明這是數(shù)組的最后一個(gè)

元素,此時(shí)要跳出循環(huán)。錯(cuò)誤2:C語(yǔ)言中的除法運(yùn)算符是“/”,而不是

32.(1)錯(cuò)誤:voidfun(longslongt)正確:voidfun(longslong*t)(2)錯(cuò)誤:

while(s<0)

溫馨提示

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