2022年甘肅省金昌市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第1頁(yè)
2022年甘肅省金昌市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第2頁(yè)
2022年甘肅省金昌市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第3頁(yè)
2022年甘肅省金昌市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第4頁(yè)
2022年甘肅省金昌市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩36頁(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)介

2022年甘肅省金昌市全國(guó)計(jì)算機(jī)等級(jí)考試

C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)

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

一、2.填空題(10題)

1.自動(dòng)批處理文件名必須是【】。

2.設(shè)有下列程序:

#include<stdio.h>

#include<string.h>

main()

{inti;

chars[10],t[10];

gets(t);

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

{gets(s);

if(strcmp(t,s)<0)strcpy(t,s);

)

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

)

程序運(yùn)行后,從鍵盤上輸入(<CR>代表回車符):CDEF<CR>BADEF

<CR>QTHRG<CR>,貝U程序的輸出結(jié)果是。

3.若有如下程序:

voidsub()

{staticintx=6;

x/=2;printf("%d",x);}

main()

{intm;

for(m=0;m<=2;m++)sub();}

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

4.若有以下定義,則不移動(dòng)指針p,且通過(guò)指針p弓I用值為98的數(shù)組

元素的表達(dá)式是O

intW[10]={23,54,10,33,47,98,72,80,61),*p=w;

5.以下程序通過(guò)函數(shù)指針p調(diào)用函數(shù)fun,請(qǐng)?jiān)谔羁諜趦?nèi)寫出定義變量

P的語(yǔ)句。

voidfun(int*x,int*y)

{……}

main()

{inta=10,b=20;

【】:

p=fun;p(&a,&b);

6.關(guān)系操作的特點(diǎn)是____操作。

7.以下程序運(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=i++;q--;

)

q->k=i;

for(i=0;i<5;i++)printf("%d",m[i].k);

printf("\n");

)

8.為了便于對(duì)照檢查,測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】?jī)刹糠纸M

成。

9.以下程序運(yùn)行后輸入3,abcde〈回車〉,則輸出結(jié)果是【】。

#include<string.h>

move(char*str,intn)

{chartemp;inti;

temp=str[n-l];

for(i=n-l;i>0;i-)str[i]=str[i-l];

str[0]=temp;

main()

{chars[50];intn,i,z;

scanf("%d,%s",&n,s);

z=strlen(S);

for(i=l;i<=n;i++)move(s,z);

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

)

10.下面程序的功能是:計(jì)算1~20之間的奇數(shù)之和與偶數(shù)之和,請(qǐng)?zhí)?/p>

空使程序功能完整。

#include<stdio.h>

main()

{inta=0,b=0,c=0,i;

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

{a+=i;

();

c+=b;

)

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

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

)

二、單選題(10題)

11.對(duì)于線性表(7,34,55,25,64,46,20,1于進(jìn)行散列存儲(chǔ)時(shí),若選

用H(K)=K%9作為散列函數(shù),則散列地址為1的元素有()個(gè)。

A.lB.2C.3D.4

12.以下選項(xiàng)中非法的表達(dá)式是()。

A.0<=x<100B.i=j==0C.(char)(65+3)D.x+l=x+l

13.有下列程序:

#include<stdio.h>

intf(intx)

I

if(x<2)

return1;

returnx?f(x-1)+(x-1)*f(x-2);

I

main()

I

inty;

y=f(4);

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

I

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

A.llB.43C.57D.53

14.有以下程序:

#include<stdio.h>

#include<string.h>

main()

{charstr[][10]={“One”,“Three",“Five"},*p=str[0];

printf("%s,”,p+10);

printfV'%d\n”,strlen(p+=10));

)

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

A.Three,4B.出錯(cuò)C.Three,5D.Five,5

15.以下程序的輸出結(jié)果是______omain(){inti,a[10];for(i=9;i>

=0;i-)a[i]=10-i;print("%d%d%d,a[2],a[5],a[8]);}

A.258B.741C.852D.369

16.下列關(guān)于字符串的說(shuō)法中錯(cuò)誤的是

A.在C語(yǔ)言中,字符串是借助于字符型一維數(shù)組來(lái)存放的,并規(guī)定以字

符,\(y作為字符串結(jié)束標(biāo)志

B.VT作為標(biāo)志占用存儲(chǔ)空間,計(jì)入串的實(shí)際長(zhǎng)度

C.在表示字符串常量的時(shí)候不需要人為在其末尾加入,\0'

D.在C語(yǔ)言中,字符串常量隱含處理成以結(jié)尾

17.在n個(gè)結(jié)點(diǎn)的順序表中,算法的時(shí)間復(fù)雜度是0(1)的操作是0。

A.訪問(wèn)第i個(gè)結(jié)點(diǎn)(l<=i<=n)和求第i個(gè)結(jié)點(diǎn)的直接前驅(qū)(2<=i<=n)

B.在第i個(gè)結(jié)點(diǎn)之后插入一個(gè)新結(jié)點(diǎn)(l<=i<=n)

C.刪除第i個(gè)結(jié)點(diǎn)(l<=i<=n)

D.將n個(gè)結(jié)點(diǎn)從小到大排序

18.在單鏈表中,增加頭結(jié)點(diǎn)的目的是_____o

A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)

點(diǎn)的位置D.說(shuō)明單鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)

19.以下編碼方法中,()屬于烙編碼。

A.哈夫曼編碼B.小波變換編碼C.線性預(yù)測(cè)編碼D.形成編碼

20.數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)內(nèi)存中的表示是指()。

A.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)的邏輯結(jié)構(gòu)D.數(shù)據(jù)元素之間的

關(guān)系

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

21.有N個(gè)學(xué)生,每個(gè)學(xué)生的信息包括學(xué)號(hào)、性別、姓名、四門課的成

績(jī),從鍵盤上輸入N個(gè)學(xué)生的信息,要求輸出總平均成績(jī)最高的學(xué)生信

息,包括學(xué)號(hào)、性別、姓名和平均成績(jī)。

22.

數(shù)組point中存放著m個(gè)人的成績(jī),請(qǐng)編寫函數(shù)fun().它的功能是:

返回高于平均分的人數(shù),并將高于平均分的分?jǐn)?shù)放在high所指的數(shù)組

中。例如,當(dāng)point數(shù)組中的數(shù)據(jù)為50,60,65,70.75,80.88,90,

95時(shí),函數(shù)返回的人數(shù)應(yīng)該是5,high中的數(shù)據(jù)應(yīng)為75,80,88,90,

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

的花括號(hào)中填入所編寫的若干語(yǔ)句。注意:部分源程序給出如下。試

題程序:

>includedconio.h>

#includedstdio.h>

Hincludedstring.h>

int(un(intpoint[]?intn.imhighC])

(

main()

intj.m?high[9]i

mtpoint[9j=<50.60.65.70,75.80.88.90.95>i

m-(un(point?9.high)t

prinif(*\np<.,r5onNum:%d".m)i

printft*\nHightheaveragepointare:*>i

for(j=a0ij<m:j4-+)

printfC-**high£jj)?

)

prinif("\n*)i

23.請(qǐng)編寫函數(shù)proc(),該函數(shù)的功能是:將str所指字符串中ASCH

值為偶數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組中。

例如,若str所指字符串中的內(nèi)容為aBcdef9789,其中字符8的ASCII

碼值為偶數(shù)……字符8的ASCH碼值為偶數(shù)……都應(yīng)當(dāng)刪除,其他依此

類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是ace979o注意:部分源程序給出

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

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

「include<Cstdlib.h>

Sinclude<stdio.h>

sinclude<string.h>

5includeVconio.h>

voidproc(char?str.chart[]>

(

}

voidmain《)

(

charMr{lOO]?t[lOO]j

s

prinifC*\nPlcascenterstringS:")i

scanf(*%s".Mr)t

proc(str?t)i

prinif(*\nThcresultis:%s\n"?t>?

]

24.請(qǐng)編寫函數(shù)proc(),對(duì)長(zhǎng)度為9個(gè)字符的字符串,除首、尾字符外,

將其余7個(gè)字符按ASCH碼值降序排列。例如,原來(lái)的字符串為

HabedefA,則排序后輸出為HfedcbaA0注意:部分源程序給出如下。

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

所編寫的若干語(yǔ)句。試題程序:

Wisiclud*Vwtrifb>

與includeVMdhbub>

8IACIINWVMdio.b>

NmcludrVdype.b>

9include<como.k>

voidproc<eiuir?m*bumam)

void)

rhar

?ywtciaC*CLS*)i

priiu”??人9個(gè)字押的字第mJ)i

proc(t?9)t

pnirt"*\n%a。?Q)?

25.使用VC++2010打開考生文件夾下progl中的解決方案。此解決方

案的項(xiàng)目中包含一個(gè)源程序文件progl.c。在此程序中,學(xué)生的記錄由學(xué)

號(hào)和成績(jī)組成,N名學(xué)生的記錄已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)

編寫函數(shù)fun(),其功能是把低于平均分的學(xué)生記錄放入b所指的數(shù)組

中,低于平均分的學(xué)生人數(shù)通過(guò)形參n返回,平均分通過(guò)函數(shù)值返回。

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

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

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

試題程序:

#include<stdio.h>

#defineN8

typedefstruct

(

charnum[10];

doubles;

}STREC;

doublefun(STREC*a,STREC*b,int*n)

voidmain()

(

STRECs[N]={{"GA05”,85},{“GA03”,76},{“GA02”,69},{“GA04”,

85},{"GAOr\91},{“GA07”,72},彳“GA08”,64},j“GA06”,87b;

STRECh[N];

inti,n;

doubleave;

ave=fun(s,h,&n);

,,

printff'The%dstudentdatawhichislowerthan%7.3f:\n?n,ave);

for(i=0;i<n;i++)<p=""x/n;i++)<>

/*輸出成績(jī)低于平均分的學(xué)生記錄*/

printf(u%s%4.1f\n,\h[i].num,h[i].s);

printfC^\n^^);

)

26.

請(qǐng)編寫一個(gè)函數(shù)proc(),它的功能是:求出一個(gè)4xN整型二維數(shù)組中

最大元素的值,并將此值返回調(diào)用函數(shù)。注意:部分源程序給出如下。

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

括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:

=defineN4

smdudr<?tdio.Ii>

miproc(ini

voidnubinC>

8l?-33?3.“?2L63?-9h

pnmfC,小tf.prorCafr)).

27.使用VC++2010打開考生文件夾下progl中的解決方案。此解決方

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

串中只包含字母和*號(hào)。編寫函數(shù)fun(),其功能是除了字符串前導(dǎo)和尾

部的*號(hào)外,將字符串中其他的*號(hào)全部刪除。形參h指向字符串中第一

個(gè)字母,形參P指向字符串中最后一個(gè)字母。在編寫函數(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)中填入你編寫的若干語(yǔ)句。

試題程序:

#include<stdio.h>

#include<conio.h>

#include<string.h>

voidfun(char*a,char*h,char*p)

(

)

main()

(

chars[81],*t,*f;

printf("Enterastring:\rT);

gets(s);

t=f=s;

while(*t)

t++;

t--;

while(*t='*')

while(*

f++;

fun(s,f,t);

printf("Thestringafterdeleted:\n^^);

puts(s);

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

案的項(xiàng)目中包含一個(gè)源程序文件progl.c。在此程序中,請(qǐng)編寫函數(shù)其功

能是移動(dòng)一維數(shù)組中的內(nèi)容,若數(shù)組中有n個(gè)整數(shù),要求把下標(biāo)為0~

P(含P,P小于等于n-1)的數(shù)組元素平移到數(shù)組的最后。

例如,一維數(shù)組中的原始內(nèi)容為1、2、3、4、5、6、7、8、9、10;P

的值為3。移動(dòng)后,一維數(shù)組中的內(nèi)容應(yīng)為5、6、7、8、9、10、1、

2、3、4o

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

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

中填入你編寫的若干語(yǔ)句。

試題程序:

#include<stdio.h>

#defineN80

voidfun(int*w,intp,intn)

(

)

main()

{inta[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);

inti,p,n=15;

printf("Theoriginaldata

for(i=0;i<=""p="">

printf("%3d”,a[i]);

printf("\n\nEnterp:

scanf("%d",&p);

fun(a,p,n);

printf("\nThedataaftermoving:\n^^);

for(i=0;i<=""p="">

printf("%3d”,a[i]);

printf(tt\n\n^^);

)

29.請(qǐng)編寫fun函數(shù),其功能是:計(jì)算并輸出3?m所有素?cái)?shù)的平方根

之和。

例如,若主函數(shù)從鍵盤給m輸入50后,則輸出為s=68.665791o

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

中填入所編寫的若干語(yǔ)句。

注意:m的值要大于2但不大于100。部分源程序給出如下。

試題程序:

#include<math.h>

#include<stdio.h>

doublefun(intm)

(

)

voidmain

{

intm;

doubles;

FILE*out:

printf("\n\nlnputm:");

scanf("%d",&m);

s=fun(m);

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

ut=fopen("outfile.dat","w");

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

fprintf(out,"%f\n",fun(m+80));

felose(out);

)

30.

下列程序定義了MXM的二維數(shù)組,并在主函數(shù)中賦值。請(qǐng)編寫函數(shù)proc

0,函數(shù)的功能是:求出數(shù)組周邊元素的平均值并作為函數(shù)值返回給

主函數(shù)中的s。例如,若a數(shù)組中的值為:

I1234

59745

43836

1&Aft7

21098則返回主程序后,s的值為3.750000o注意:部分源程序給出

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

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

tficlutirh>

=mcltMie<conxxh>

■mcludch>

£defineM5

doubleproHm?w{J^Mj)

vntdmnm()

inta[M][M]-(0.i

3.6?3?6?3?5?,?8?九2?1?0.9?川|

i?Ji

do?Hc?i

>y?tefn<>i

pnitifC*????Thtarray????\R*)?

for<i-Oti*<Mtf+)

for?)

{printfC*K4d

pnntf("\n<><

??proc<A)?

pnntfi*????THERESULT????\?

prwt?*Thestami?tKlf\nW?B>B

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

31.下列給定程序中,函數(shù)fun()的功能是計(jì)算并輸出high以內(nèi)的素?cái)?shù)

之和。high由主函數(shù)傳給fun()函數(shù)。若high的值為100,則函數(shù)的值

為1060o

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

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

試題程序:

#include<conio.h>

#include<stdio.h>

#include<math.h>

intfun(inthigh)

(

intsum=O,n=0,j,yes;

while(high>=2)

(

yes=l;

for(j=2;j<=high/2;j++)

/*************f^ound**************/

ifhigh%j==O

yes=O;

break;

/*************'found**************/

if(yes==O)

sum+=high;

n++;

)

high-;

)

returnsum;

)

main()

(

clrscr();

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

)

32.下列給定程序中,函數(shù)fun()的功能是;計(jì)算函數(shù)F(x,y,z)=(x+y)/(x-

y)+(z+y)/(z-y)的值。其中x和y不相等,z和y不等。例如,當(dāng)x的值

為9,y的值為11,2的值為15時(shí),函數(shù)值為-3.50。

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

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

試題程序:

#include<stdio.h>

#include<math,h>

/*******不不不不不不不found不不不不不不不***********!

#defineFU(m,n)(m/n)

floatfun(floata,floatb,floatc)

{floatvalue;

value=FU(a+b,a-b)+FU(c+b,c-b);

/*************'found******************/

return(Value);

)

main()

{floatx,y,z,sum;

printf("Inputxyz::");

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

printf("x=%f,y=%f,z=%f\n",x,y,z);

if(x==y||y==z){printf("Dataerror!\n");

exit(0);}

sum=fun(x,y,z);

printf("Theresultis:%5.2f\n",sum);

33.給定程序MODH.C中函數(shù)fun的功能是:根據(jù)整型形參m,計(jì)算

如下公式的值。

例如,若m中的值為:5,則應(yīng)輸出:1.46361lo

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

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

tinclude<stdio.h>

2doublefun(intm)

3{doubley-1.0;

4inti;

5/……??★★?★★found…iff/

6for(i-2;i<m;i++)

7/…………Found?…………/

8y1/(i*i);

9return(y);

10}

11main()

12{intn-5;

HH

13printf(\nTheresultis%lf\nr

fun(n));

14

34.以下程序可把輸入的十進(jìn)制數(shù)以十六進(jìn)制數(shù)的形式輸出°

請(qǐng)?jiān)跈M線上填上適當(dāng)?shù)膬?nèi)容并把橫線刪除,使它能得出正確的結(jié)果。

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

試題程序;

main()

(

charb[17]={"0123456789ABCDEF"};

intc[64],d,i=0,base=16;

longn;

printf("Enteranumber:\n");

scanf("%ld",&n);

do{

/*********不***不***f^ound*不**************/

c[i]=;i++;n=n/base;}

while(n!=0);

printf("Transmitenewbase:\n");

for(—i;i>=0;--i)

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

{d=c[i];printf("%c",b);}

printf("\n");

)

35.下列給定程序中,函數(shù)fun()的功能是:輸出M行N列整數(shù)方陣,

然后求兩條對(duì)角線上的各元素之和,返回此和數(shù)。

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

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

試題程序:

#include<conio.h>

#include<stdio.h>

#defineM5

ihtfun(intn,intxx[][])

{inti,j,sum=0;

printf("\nThe%dx%dmatrix:\n",M,M);

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

{for(j=0;j<M;j++)

printf("%4f",xx[i][j]);

printf("\n");

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

sum+=xx[i][i]+xx[i][n-i-l];

return(sum);

)

main()

{intaa[M][M]={{1,2,3,4,5},{4,3,2,1,0},

{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};

clrscr();

printf("\nThesumofallelementson2

diagnalsis%d",fun(M,aa));

36.給定程序M0D11.C中函數(shù)fun的功能是:輸出M行M列整數(shù)方

陣,然后求兩條對(duì)角線上元素之和,返回此和數(shù)。

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

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

tinclude<stdio.h>

2*defineM5

3found*,?…

4intfun(intn,intxx[][])

5{inti,j9sum?0;

Hw

6printf(\nThe%dx%dmatrix:\nr

M,M);

7for(i-0;i<M;i++)

8{for(j-0;j<M;j++)

9/…………found…………/

10printf("%f,,xx[i][j]);

11printf(w\nR);

12}

13for(i-0;i<n;i++)

14sum+-xx[i][i]>xx[i](n-i-lj;

15return(sum);

16)

17main()

18{intaa[M]

[4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5),

{3,4,5,6,7}};

19printf(n\nThesumofallelements

on2diagnalsis%d.fun(Mraa));

20

37.下列給定程序中,函數(shù)fun()的功能是;利用插入排序法對(duì)字符串中

的字符按從小到大的順序進(jìn)行排序。插入法的基本方法是:先對(duì)字符串

中的頭兩個(gè)元素進(jìn)行排序,然后把第3個(gè)字符插入到前兩個(gè)字符中,插

入后前3個(gè)字符依然有序;再把第4個(gè)字符插入到前3個(gè)字符中,待排

序的字符串已在主函數(shù)中賦予。

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

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

試題程序:

#include<String.h>

#include<stdio.h>

#defineN80

voidinsert(char*aa)

{ihti,j,n;charch;

n=strlen(aa);

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

{c=aa[i];

while((j>=0)&&(ch<aa[j]))

{aa[j+l]=aa[j];

j-;

}

aafj+l]=ch;

)

)

main()

{chara[N]="QWERTYUIOPASDFGHJKIMNBVCXZ";

inti;

printf("Theoriginalstring:%s\n",a);

insert(a);

printf("Thestringaftersorting:

%s\n\n",a);

)

38.下列給定程序中,fun()函數(shù)的功能是:根據(jù)形參m,計(jì)算下列公式

的值。

t=-l+l/2+l/3+l/4+...+l/m

例如,若輸入5,則應(yīng)輸出2.283333。

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

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

試題程序:

#include<conio.h>

#include<stdio.h>

doublefun(intm)

(

doublet=1.0;

inti;

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

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

t+=l.O/k;

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

returni;

)

main()

{intm;

clrscr();

printf("\nPleaseenterlintegernumber:");

scanf("%d",&m);

printf("\nTheresultis%lf\n",fun(m));

)

39.給定程序中,函數(shù)fun()的功能是:使數(shù)組中的元素的值增加10倍。

改正其中的錯(cuò)誤,使它能得出正確的結(jié)果。

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

試題程序:

#include<stdio.h>

#include<conio.h>

ihtm[10];

voidfun(void)

(

intj;

printf("Insubfuncaftercalling\n");

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

(

/********不不不不*不不不*不不不不*********不不**I

printf("%3d",m[j]*10);

)

)

main()

{inti;

printf("Inmainbeforecalling\n");

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

(

printf("%3d",m[i]);

)

fun();

printf("\nlnmainaftercalling\n");

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

printf("%3d",m[i]);

getch();

)

40.假如整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(shù)組中。下列給定的程序中,

函數(shù)fun()的功能是:刪除數(shù)列中值為X的元素。N中存放的是數(shù)列中

元素的個(gè)數(shù)。

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

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

試題程序:

#include<stdio.h>

#defineN20

fun(int*a,intn,intx)

{intp=0,i;

a[n]=x;

while(x!=a[p])

p=p+l;

if(p==n)return-1;

else

{for(i=p;i<n;i++)

/*************^^und**************/

a[i+l]=a[i];

returnn-1;

)

)

main()

{intw[N]={-3,0,1,5,7,99,10/5,30,90},

x,n,i;

n=10;

printf("Theoriginaldata:\n");

for(i=0;i<n;i++)printf("%5d",w[i]);

printf("\nlnputx(todelete):");

scanf("%d",&x);

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

n=fun(w,n,x);

if(n==-l)printf("***Nobefound!

***\n\n");

else

{printf("Thedataafterdeleted:\n");

for(i=0;i<n;i++)printf("%5d",

w[i]);printf("\n\n");

)

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

41.

下列給定程序中,proc()函數(shù)的功能是:根據(jù)形參m,計(jì)算下列公式

的值。t=l+l/2+1/3+1/4+...+1/m例如,若輸入10,則應(yīng)輸出

2.928968。請(qǐng)修改程序中的錯(cuò)誤,使它能計(jì)算出正確的結(jié)果。注意:

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

題程序:

4include<stdlib.h>

二include<conio.h>

5includeVsidio.h>

doubleproc<intm)

(

doublet=1.Oj

intit

for(i=2?i<=m?i4-+)

//<???found????

1+=L0/k;

//#???found????

returnii

)

voidmain()

{inimj

sy5tvrn(;

printft*\nPlc>5eenterintegernumber:*>i

:s

print((*\nTheresultis%lf\n".proc(m))i

42.下列給定程序中,函數(shù)fun的功能是:從低位開始依次取出長(zhǎng)整型變

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

仍在低位。

例如,當(dāng)s中的數(shù)為7654321時(shí),t中的數(shù)為753lo請(qǐng)改正程序中的錯(cuò)

誤,使它能得出正確的結(jié)果。

注意:部分源程序在文件M0D11.C中,不得增行或刪行,也不得更改

程序的結(jié)構(gòu)!

#include<;stdiO.h>;

/????????????found????????????/

voidIQM,,longt)

Ilo?(?d=IO;

?t=?%10;

whik(t>0)

{?=SOO;

?t=6%10?2??t;

/found

d=d?100;

main()

IM*.I;

printf("\nPlea?eenter■:");scanf("%Id",&s);

fun(s.At);

printf("Theresultif:%ld\nH,t);

六、操作題(2題)

43.設(shè)有下列程序:

#include<stdio.h>

#include<string.h>

main()

{inti;

chars[10],t[W];

gets(t);

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

{gets(s);

if(strcmp(t,s)<O)strcpy(t,s);

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

程序運(yùn)行后,從鍵盤上輸入(<CR>代表回車符):DEF<CR>BADEP

<CR>QTHRG<CR>,則程序的輸出結(jié)果是______。

44.下列給定程序的功能是:讀入一個(gè)整數(shù)n(2<=n<=5000),打印

它的所有為素?cái)?shù)的因子。例如,若輸入整數(shù)1234,則應(yīng)輸出:2,

617。

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

注意:不要改動(dòng)main函數(shù),不能增選或刪行,也不能匿改程序的結(jié)

構(gòu)。

試題程序:

#include<conio.h>

#include<stdio.h>

〃****f^ound****

Prime(intm);

(

intj,P;

P=l;

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

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

if!(m%j)

(

p=0;

break;

)

return(p);

inti,n;

printf("\npleaseenteranintegernumberbetween!

and5000:");

scanf("%d",&n);

printf("\n\nTheprimefactor(s)of%dis(are):",n):

for(i=2;i<n;i4+)

if((!(n%i))&&(Prime(i)))

printf("%4d,",i);

printf("\n");

參考答案

1.AUTOEXEC.BAT

2.QTHRGQTHRG解析:strcmp(t,s)函數(shù)用來(lái)比較t和s所指字符串的大

小,若t>s,則函數(shù)值大于0;若1=5,則函數(shù)值等于0:若t<s,則函

數(shù)值小于0。strcpy(Ls)函數(shù)的功能是把字符數(shù)組s所指字符串的內(nèi)容復(fù)

制到字符數(shù)組t所指的存儲(chǔ)空間中。本題中,t[10]=CDEF°第一次循環(huán),

s[10尸BADEF,if語(yǔ)句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第

二次循環(huán).s='QTHRG',if語(yǔ)句的控制條件strcmp(t,s)<0成立,執(zhí)行

下列的語(yǔ)句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指的

存儲(chǔ)空間中,然后輸出字符數(shù)組L

3.310

4.*(p+5)或p[5]*(p+5)或p[5]

5.void(*p)();void(*p)();解析:要定義p為指向函數(shù)的指針變量,需寫

成void(*p)();,注意*P兩側(cè)的括弧不可以省略,表示P先與*結(jié)合,是

指針變量,再與后面的。結(jié)合,表示此指針變量指向函數(shù),這個(gè)函數(shù)無(wú)

返回值(同fun()函數(shù))。

6.集合集合

7.1343113431解析:初始化時(shí),指針p指向m⑼的地址,指針q指向

m[4]的地址,p!=q滿足循環(huán)條件,執(zhí)行循環(huán)語(yǔ)句,得到m[0].k=l,

m[4].k=l,此時(shí)i=2,指針p指向m[l]的地址,指針q指向m⑶的地

址,p!=q滿足循環(huán)條件,執(zhí)行循環(huán)語(yǔ)句,得到m[l].k=3,k=3,此時(shí)

i=4,指針q指向m[2]的地址,p==q不滿足循環(huán)條件,則退出循環(huán),

m[2].k=4o所以最后輸出為13431o

8.輸出結(jié)果輸出結(jié)果解析:注意:測(cè)試的基本方法和步驟。

9.cdeabcdeab解析:本題move。函數(shù)的作用,是將形參s仕所指地址的

連續(xù)n位循環(huán)右移1位,即讓str[n-l]=str[n-2],str[n-2]=str[n-3],…,

str[l]=str[O],str[O]=str[n-l](原)。主函數(shù)中用了一個(gè)for循環(huán)調(diào)用move。

函數(shù),共循環(huán)3次,所以數(shù)組s被循環(huán)右移了3位,故最后輸出的值為

cdeabo

10.b=i+lb=i+l解析:分析for循環(huán)條件,i=0說(shuō)明循環(huán)從0開始判斷,

i+=2是間隔為2的數(shù),i<=20就是控制數(shù)是20之內(nèi)的a+=i,就是所有

偶數(shù)的和,如果從1開始(b=i+l)間隔為2的數(shù)(1,3,5,7,9,11,13,15,17,19)

相加就是所有奇數(shù)的和。

11.D

12.D解析:選項(xiàng)A)在C語(yǔ)言中是一個(gè)合法的關(guān)系表達(dá)式,但它并不代

表數(shù)學(xué)式。<=x<100。計(jì)算0<=x<100時(shí),從左到右結(jié)合,先計(jì)算0

<=X,其結(jié)果只能是?;?,然后再比較0<100或1<100。根據(jù)運(yùn)算

符的優(yōu)先級(jí),選項(xiàng)B)先判斷j==0是否成立,其結(jié)果只能是?;?,然

后再將?;?賦給i。選項(xiàng)C)中,(char)(65+3)為類型強(qiáng)制轉(zhuǎn)換,將整數(shù)

型數(shù)據(jù)轉(zhuǎn)換為字符型。選項(xiàng)D)是將一個(gè)數(shù)據(jù)賦給一個(gè)表達(dá)式,等號(hào)左邊

不合要求,所以錯(cuò)誤。

13.D

函數(shù)f是一個(gè)遞歸函數(shù)。當(dāng)x>=2時(shí),遞歸調(diào)用自身,返回值為x*f(x-

l)+(x-l)*f(x-2);3x<2時(shí),返回值為1。main函數(shù)中,調(diào)用函數(shù)f傳入

4,所以y的值是f(4)。f(4)等價(jià)于4*f(3)+3*f(2);f(3)等價(jià)于

3*f(2)+2*f(l);f(2)等價(jià)于2*f(l)+l*f(0);f(0)、f⑴等價(jià)于1。綜上:f(2)等

于3,f(3)等于11,f(4)等于53。本題答案為D選項(xiàng)。

14.Cmain函數(shù)定義一個(gè)二維字符數(shù)組str,它包含3個(gè)字符串,每個(gè)字

符串存放在一個(gè)長(zhǎng)度為10的一維數(shù)組中。指針變量P指向str[0],即第

1個(gè)字符串“One”。由于“One”存放在長(zhǎng)度為10的一維數(shù)組中,因此P+10

指向下一個(gè)字符串“Three”,長(zhǎng)度為5。故本題答案為C選項(xiàng)。

15.C解析:在本題運(yùn)行時(shí)主要注意的是當(dāng)i=9時(shí),a[i]=10-9=1:i=8時(shí),

a[i]=10-8=2;i=7時(shí),a[i]=10-7=3;……依此類推,直至Ui=0時(shí),a[i]=10-

0=10:此時(shí),i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出

a[2],a[5],a[8]分別為8,5,2O

16.B解析:NO作為標(biāo)志占用存儲(chǔ)空間,但是不計(jì)入串的實(shí)際長(zhǎng)度。當(dāng)

給一個(gè)字符型指針賦值時(shí),賦給這個(gè)指針的是這個(gè)字符串的地址。

17.A

18.A\nA?!窘馕觥款^結(jié)點(diǎn)不僅標(biāo)識(shí)了表中首結(jié)點(diǎn)的位置,而且根據(jù)單鏈

表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問(wèn)整個(gè)鏈表,因此

增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。

\n

19.A

20.A數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)內(nèi)存中的表示指的是數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。數(shù)據(jù)的存

儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示。數(shù)據(jù)元素之間的關(guān)系有

兩種不同的表示方法:順序映象和非順序映象,并由此得到兩種不同的

存儲(chǔ)結(jié)構(gòu):順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。

21.\n#include'stdio.h'

\n#defineN3

\nstructstudent

\n{longstu_num;charsex;

\ncharname[15];intscore[4];

\nfloataverage;};

\nmain

\n{inti,j,index;floatsum,max;

\nstructstudentstuarr[N];

\nfor(I=0;I{printf('pleaseinput%dstudentinformation:\\n',I+1);

\nscanf('%ld,%c,%s',&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);

\nfor(j=0;j<4;j++)

\nscanf('%d',&stuarr[I].scorefj]);}

\nfor(I=0;I{sum=0.0;

\nfor(j=0;j<4;j++)

\nsum+=stuarr[I].score[j];

\nstuarr[I].average=sum/4.0;}

\nmax=stuarr[0].average;

\nindex=0;

\nfor(I=l;Iif(stuarr[I].average>max)

\n{max=stuarr[I].average;

\nindex=I;}

\nprintf(,總平均成績(jī)最高的學(xué)生信息是學(xué)號(hào)=%ld,性別=%c,姓名=%s,平

均成績(jī)

=%4.lf\\n',stuarr[index].stu_num,stuarr[index].sex,stuarr[index].nam

e,stuarr[index].average);

\n}\n

22.

【解析】(D該程序功能是返回高于平均分的人數(shù)。它的解題思路可以分

解為以下幾步:求總分一求平均分一元素逐個(gè)與平均分比較一統(tǒng)計(jì)高于

平均分的人數(shù)。

(2)從已給部分源程序的main。函數(shù)開始入手,核心函數(shù)fun(point,9,

high)中的參數(shù)由題目可知,point存放著m個(gè)人的成績(jī),high存放著高

于平均分的分?jǐn)?shù)。另外,根據(jù)point的定義,可知9為point數(shù)組中元素

的個(gè)數(shù),傳給函數(shù)funee的參數(shù)n0

23.

【解析】要把字符串str中ASCH碼值為偶數(shù)的字符刪除,需要判斷字

符串str中每一個(gè)字符的ASCIH1,將ASCII碼值為奇數(shù)的字符放入字

符串t中,ASCH碼值為偶數(shù)的字符不予處理。最后為新的字符串t加

上結(jié)束符。

24.

【解析】按照題目中要求,求除首、尾字符外,將其余7個(gè)字符按ASCH

碼值降序排列。首先需要判斷除首、尾字符之外,其余7個(gè)字符ASCH

碼值的大小,將不符合順序要求的字符互換。

25.doublefun(STREC*a,STREC*b,int*n)

(

inti,j=0;

doubleav=0.0;

for(i=0;i<=""p="">

av=av+a[i].s;

av=av/N;/*求平均分*/

for(i=0;i<=""p="">

if(a[i].s<av)<p=""x/av)<>

bU++]=a[i];

/*將低于平均分的學(xué)生記錄存入結(jié)構(gòu)體數(shù)組b中*/

*n=j;

/*傳回低于平均分的學(xué)生人數(shù)*/

returnav;

/*返回平均分*/

)

本題使用循環(huán)語(yǔ)句和條件判斷語(yǔ)句來(lái)實(shí)現(xiàn)題目要求。第1個(gè)循環(huán)語(yǔ)句的

作用是求出總分,然后求出平均分av。第2個(gè)循環(huán)語(yǔ)句的作用是將分?jǐn)?shù)

低于平均分的學(xué)生記錄存入結(jié)構(gòu)體數(shù)組b中。

26.

【解析】要求出二維數(shù)組中最大元素的值,需要比較二維數(shù)組中每一個(gè)

元素的值。首先,定義變量max用來(lái)存放最大元素的值,將其初始化為

二維數(shù)組中第一個(gè)元素的值。然后將其與后面的每一個(gè)元素進(jìn)行比較,

將二維數(shù)組中最大元素的值放到變量max當(dāng)中,并將其返回給主函數(shù)。

27.voidfun(char*a,char*h,char*p)

(

inti=0;

char*q=a;

/*將前導(dǎo)*號(hào)保存到a中*/

while(q<h)<p=""x/h)<>

(

a[i]=*q;q++;i++;

)

/*繼續(xù)遍歷數(shù)組*/

while(q<=""p="">

if(*q!='*')

(

/*如果不是*則保存到a中*/

a[i]=*q;i++;

)

q++;

)

/*將末尾*號(hào)保存到a中*/

while(*q)

(

a[i]=*q;i++;q++;

)

a[i]='\0';

)

本題的重點(diǎn)是選擇好判斷條件。首先需要判斷前導(dǎo)*號(hào)的結(jié)束,然后判

斷是否指向最后一個(gè)字母,最后補(bǔ)充尾部*號(hào),只要思路對(duì)了即可正確

解答。

28.voidfun(int*w,intp,intn)

{intX,j,ch;

for(x=0;x<=p;x++)

{ch=w[O];

for(j=l;j/*通過(guò)for循環(huán)語(yǔ)句,將p+1?n-1(含n-1)之間的數(shù)組

元素依次向前移動(dòng)p+1個(gè)存儲(chǔ)單元*/

(

w[j-l]=w[j];

)

w[n-l]=ch;/*將下標(biāo)為0~p的數(shù)組元素逐一賦給數(shù)組w[n-l]*/

}

)

本題要求把下標(biāo)為。?p(含p,p小于等于n-1)的數(shù)組元素平移到數(shù)組的

最后??梢愿鶕?jù)輸入的P值,通過(guò)for循環(huán)語(yǔ)句,將p+1?n-1(含n-1)之

間的數(shù)組元素依次向前移動(dòng)P+1個(gè)存儲(chǔ)單元,即w[j-l]=w[j];o同時(shí)將下

標(biāo)為。?P的數(shù)組元素逐一賦給數(shù)組w[n-l],也就是通過(guò)語(yǔ)句w[n-l]=ch;

來(lái)實(shí)現(xiàn)此操作。

29.\r\n\tintn,k,i;

doublesum=0.0;

for(n=3;n<=m;n++)//判斷n是否為素?cái)?shù)

(

k=sqrt(n);//求n平方根

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

if(n%i==0)break;//如果n不是素?cái)?shù),跳出

if(i>=k+l)

sum+=sqrt(n);//求平方根的和

returnsum;

【解析】首先判斷循環(huán)中n是否為素?cái)?shù),如果不是素?cái)?shù),求其平方根

的累加和,并返回計(jì)算結(jié)果,否則跳出判斷循環(huán)。其中,對(duì)于平方根

的求解可以使用C語(yǔ)句中的sqrt函數(shù)。

30.

【解析】要求出數(shù)組周邊元素的平均值,首先要求出周邊元素的和,周

邊元素的特點(diǎn)為行或列下標(biāo)為0,或?yàn)镹—1,根據(jù)其特點(diǎn)求出所有周

邊元素的和,再求出其平均值,并返回給主函數(shù)。

31.(1)錯(cuò)誤:ifhigh%j=0正確:if(high%j==0)(2)錯(cuò)誤:if(yes==0)正確:

if(yes)⑴錯(cuò)誤:ifhigh%j=0正確:if(high%j==0)\r\n(2)錯(cuò)誤:if(yes==0)

正確:if(yes)解析:錯(cuò)誤1:if語(yǔ)句的兩側(cè)要加括號(hào)。錯(cuò)誤2:yes為1

時(shí),說(shuō)明被判斷的數(shù)為素?cái)?shù),要加入總和。

32.(1)錯(cuò)誤/defineFU(mn)(m/n)正確升defineFU(mn)(m)/(n)⑵錯(cuò)誤:

return(Value);正確:return(value);(l)錯(cuò)誤;#defineFU(m,n)(m/n)正

確:#defineFU(m,n)(m)/(n)\r\n(2)錯(cuò)誤:return(Value);正確:return

(value);解析:如果從數(shù)學(xué)思想來(lái)說(shuō),這是一道簡(jiǎn)單的小學(xué)數(shù)學(xué)題,當(dāng)

然,用C語(yǔ)言的別的辦法實(shí)現(xiàn)的話,也用不了三兩句的程序,但是,這

道題的考查點(diǎn)在C語(yǔ)言的宏定義上(這樣的問(wèn)題比較隱蔽),它的格式為

#define標(biāo)識(shí)符字符串,中間要用空格分開,在該題中,標(biāo)識(shí)符為FU

(m,n),而字符串則是(m/n),由題干信息易知,應(yīng)該是#defineFU(m,n)

(m)/(n)o

33.⑴for(i=2;i<=m;i++)(2)y+=l.O/(i*i);(l)for(i=2;i<=m;

i++)(2)y+=lQ/(i*i);解析:該題中函數(shù)功能是計(jì)算公式的值。其中,

公式中涉及在循環(huán)中對(duì)各項(xiàng)的計(jì)算及累加求和。從已給定源程序的main

主函數(shù)開始入手,“printf(''WnTheresultis%1f\\nz,,fun(n));“語(yǔ)句中調(diào)用

fun函數(shù),計(jì)算公式的值。

34.(1)錯(cuò)誤:缺少語(yǔ)句正確:應(yīng)填入11%6256或%16⑵錯(cuò)誤:缺少語(yǔ)句

正確:應(yīng)填入[d]⑴錯(cuò)誤:缺少語(yǔ)句正確:應(yīng)填入n%base

錯(cuò)誤:缺少語(yǔ)句正確:應(yīng)填入口]解析:在該程序中,字符數(shù)組b存儲(chǔ)

十六進(jìn)制的16個(gè)數(shù)字符,整型數(shù)組c存儲(chǔ)譯出的十六進(jìn)制數(shù)的各位數(shù)

值。從整數(shù)n譯出它的各位十六進(jìn)制數(shù)值,需采用除16取余的方法,

即求n除16的余,得到它的十六進(jìn)制的個(gè)位數(shù),接著將n除以16。在

n不等于0的情況下循環(huán),能順序求出n的十六進(jìn)制的個(gè)位數(shù)、十位數(shù)、

百位數(shù)等。程序中變量base已預(yù)置16,所以在第1個(gè)空框處可填代碼

n%base或n%16。當(dāng)n的十六進(jìn)制數(shù)的個(gè)位、十位、百位等依次存放于

數(shù)組c中后,就從最高位至最低位,參照數(shù)組c[i]的內(nèi)容d(以其內(nèi)容為

下標(biāo)),取十六進(jìn)制數(shù)字符表中的字符b[d]輸出。所以在第2個(gè)空框處可

填入代碼[d]°

35.(1)錯(cuò)誤:intfun(ihtnintxx[][])正確:intltm(ihtmintr.x口[M])⑵錯(cuò)誤:

printf("%4ffxx[i]fj]);正確:printf("%4d"xx[i][jD;⑴錯(cuò)誤:intfun(iht

n,intxx[][])正確:intltm(ihtmintr.x[][M])\r\n(2)錯(cuò)誤:

printf('%4f,f\',xx[i]fj]);正確:printf(%4d,xx[i][j]);解析:該題錯(cuò)誤比較隱

蔽,一般的c語(yǔ)言上機(jī)考試很少涉及printf順數(shù)中的錯(cuò)誤,在這里,我

們只要明白“d”和“『的區(qū)別就0K了。格式字符d表示:以帶符號(hào)的十

進(jìn)制形式輸出整數(shù)(正整數(shù)不輸出符號(hào));格

溫馨提示

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