2022-2023學(xué)年山東省菏澤市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第1頁(yè)
2022-2023學(xué)年山東省菏澤市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第2頁(yè)
2022-2023學(xué)年山東省菏澤市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第3頁(yè)
2022-2023學(xué)年山東省菏澤市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第4頁(yè)
2022-2023學(xué)年山東省菏澤市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2022-2023學(xué)年山東省菏澤市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________

一、單選題(12題)1.下列關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述中正確的是()。

A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.可以是任意合法的表達(dá)式

2.

3.有以下程序:#include<stdio.h>intfun(intX,inty){if(X!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf("%d/n",fun(2*a,fun(b,c)));}程序運(yùn)行后的輸入結(jié)果是()。A.3B.6C.8D.12

4.若有下列說明語句int(*p)();則標(biāo)識(shí)符p代表的是()

A.一個(gè)用于指向函數(shù)的指針變量,函數(shù)返回值的類型為int型

B.一個(gè)帶回值類型為整型的函數(shù)名

C.一個(gè)用于指向整型數(shù)據(jù)的指針變量

D.一個(gè)帶回值類型為指針類型的函數(shù)名

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

A.在程序中凡是以“#”開始的語句行都是預(yù)處理命令行

B.預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束

C.#defineMAX是合法的宏定義命令行

D.C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進(jìn)行的

6.廣義表((a))的表頭是(a),表尾是()。A.aB.()C.(a)D.((a))

7.設(shè)有以下說明語句

structex

{intx;floaty;charz;}example;

則下面的敘述中不正確的是

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

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

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

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

8.假設(shè)下圖中每個(gè)正方形的邊長(zhǎng)為1,則從A到Z的最短路徑條數(shù)為()A.11B.12C.13D.14

9.若變量已正確定義,在“if(W)Printf(“%d\n”,k);”中,以下不可替代W的是()。

A.a<>b+cB.ch=getchar()C.a==b+cD.a++

10.有以下程序:#include<stdio.h>main(){FILE*pf;char*s1=“China”,*s2=“Beijing”;pf=fopen(“abc.dat”,“wb+”);fwrite(s2,7,1,pf);rewind(pf);/*文件位置指針回到文件開頭*/fwrite(s1,5,1,pf);fclose(pf);}程序執(zhí)行后,abc.dat文件的內(nèi)容是()。

A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina

11.下列方法中,屬于白盒法設(shè)計(jì)測(cè)試用例的方法的是()。

A.錯(cuò)誤推測(cè)B.因果圖C.基本路徑測(cè)試D.邊界值分析

12.數(shù)據(jù)庫(kù)DB、數(shù)據(jù)庫(kù)系統(tǒng)DBS、數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS之間的關(guān)系是()。

A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD.沒有任何關(guān)系

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

14.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下

1

11

121

1331

14641

其構(gòu)成規(guī)律是:

(1)第0列元素和主對(duì)角線元素均為1

(2)其余元素為其左上方和正上方元素之和

(3)數(shù)據(jù)的個(gè)數(shù)每行遞增1

請(qǐng)將程序補(bǔ)充完整。

#defineN6

voidYangHui(intx[N][N])

{inti,j;

x[0][0]=1;

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

{x[i][0]=【】=1;

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

x[i][j]=【】;

}

}

15.在C語言中(以16位PC機(jī)為例),一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4;一個(gè)double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【】。

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

#include<stdio.h>

main()

{staticchara[]="language",b[]="program";

char*ptrl=a,*ptr2=b;

intk;

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

if(*(ptrl+k)==*(ptr2+k))

printf("%c",*(ptrl+k));}

17.函數(shù)pi的功能是根據(jù)以下公式近似求得的:

pi*pi/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)

請(qǐng)?jiān)谙旅娴暮瘮?shù)中填空,完成求pi的功能。

#include<math.h>

doublepi(longn)

{doubles=0.0,longi;

for(i=1;i<=n;i++)s=s+【】。

return(sqrt(6*s));

}

18.設(shè)函數(shù)findbig已定義為求3個(gè)數(shù)中的最大值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請(qǐng)?zhí)羁铡?/p>

main()

{intfindbig(int,int,int);

int(*f)(),x,y,z,big;

f=______;

scanf("%d%d%d",&x,&y,&z}:

big=(*f)(x,y,Z);

printf("big=%d\n",big);

}

19.以下程序運(yùn)行結(jié)果是【】。

#include<stdio.h>

longfunc(intx)

{longp;

if(x==0‖x==1)return(2);

p=x*func(x-1);

return(p);}

main()

{printf("%d\n",func(4));}

20.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組【】。

21.以下程序的功能是:輸出x、y、z三個(gè)變量中的最大值,請(qǐng)?zhí)羁铡?/p>

main()

{intx,y,z,u;

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

if(【】)u=x;

elseu=y(tǒng);

if(【】)u=z;

printf("u=%d",u);

}

22.若有如下程序:

voidsub()

{staticintx=6;

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

main()

{intm;

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

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

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

inti=9;

prinff("%o\n",i);

24.注釋一般分為序言性注釋和______注釋。

三、3.程序設(shè)計(jì)題(10題)25.請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:求出一個(gè)2×M整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。

注意:部分源程序存在文件PROGl.C文件中。

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

26.請(qǐng)編寫一個(gè)函數(shù)voidfun(chara[],charb[],intn),其功能是:刪除一個(gè)字符串中指定下標(biāo)的字符。其中,a指向原字符串,刪除指定字符后的字符串存放在b所指的數(shù)組中,n中存放指定的下標(biāo)。

例如,輸入一個(gè)字符串:World,然后輸入3。則調(diào)用該函數(shù)后的結(jié)果為:Word。

注意:部分源程序在文件PROGl.C中。

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

27.請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:移動(dòng)字符串中的內(nèi)容,移動(dòng)的規(guī)則如下:把第1到第m個(gè)字符,平移到字符串的最后,把第m+l到最后的字符移到字符串的前部。

例如,字符串中原有的內(nèi)容為:ABCDEFGHIJK,m的值為3,則移動(dòng)后,字符串中的內(nèi)容應(yīng)該是:DEFGHIJKABC。

注意:部分源程序在文件PROGl.C中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。

28.請(qǐng)編寫函數(shù)fun,其功能是:計(jì)算并輸出當(dāng)x<0.97時(shí)下列多項(xiàng)式的值,直到|Sn-Sn-2

|<0.000001為止。

例如,在主函數(shù)中從鍵盤給x輸入0.21后,輸出為:s=1.100000。

注意:部分源程序在文件PROGl.C中。

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

29.請(qǐng)編寫一個(gè)函數(shù)fun(),它的功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。

例如,若輸入abc4Efg,則應(yīng)輸出aBc4EFg。

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

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

試題程序:

#include<conio.h>

#include<stdio.h>

#include<string.h>

voidfun(char*ss)

{

}

main()

{

chartt[81];

clrscr();

printf("\nPleaseenteranstringwithin80characters:\n");

gets(tt);

printf("\n\nAfterchanging,thestring\n\%s",tt);

fun(tt);

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

}

30.學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fjun(),該函數(shù)的功能是:把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分的學(xué)生人數(shù)通過形參n傳回,平均分通過函數(shù)值返回。

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

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

試題程序:

#include<stdio.h>

#defineN12

typedefstruct

{charnum[10];

doubles;

}STREC;

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

{

}

main()

STRECsIN]={{"GA05",85},{"GA03",76},

{"GA02",69},{"GA04",85},{"GA01",91},

{"GA07",72},{"GA08",64},{"GA06",87},

{"GA09",60},{"GAll",79},{"GA12",73},

{"GA10",90}};

STRECh[N],t;

FILE*out;

inti,j,n;

doubleave;

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

printf("The%dstudentdatawhichis

higherthan%7.3f:In",n,ave);

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

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

printf("\n");

out=fopen("out90.dat","w");

fprintf(out,"%dkn%7.3f\n",n,ave);

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

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

if(h[i].s<h[j].s)

{t=hIi];h[i]=h[j];h[j]=t;}

/*分?jǐn)?shù)從高到低排列*/

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

fprintf(out,"%4.1f\n",h[i].s);

fclose(out);

}

31.假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun(),它的功能是:將字符串尾部的*號(hào)全部刪除,前面和中間的*號(hào)不刪除。

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

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

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

試題程序:

#include<stdio,h>

#include<conio.h>

voidfun(char*a)

{

}

main()

{

chars[81];

printf("Enterastring:\n");

gets(s);

fun(s);

printf("Thestringafterdeleted:\n");

puts(s);

}

32.請(qǐng)編寫一個(gè)函數(shù)voidfun(char*ss),其功能是:將字符串ss中所有下標(biāo)為偶數(shù)位置上的字母轉(zhuǎn)化為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。

例如,若輸入abc4Efg,則應(yīng)輸出AbC4EfG。

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

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

試題程序:

#include<conio.h>

#include<stdio.h>

voidfun(char*ss)

{

}

main()

{

chartt[51];

clrscr();

printf("Pleaseenterancharacterstring

within50characters:\n");

gets(tt);

printf("\n\nAfterchanging,thestring\n

%s",tt);

fun(tt);

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

}

33.請(qǐng)編寫一個(gè)函數(shù)unsignedfun(unsignedw),w是一個(gè)大于10的無符號(hào)整數(shù),若w是n(n≥2)位的整數(shù),則函數(shù)求出w的后n-1位的數(shù)作為函數(shù)值返回。

例如:w值為5923,則函數(shù)返回923;若w值為923,則函數(shù)返回23。

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

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

試題程序:

#include<conio.h>

#include<stdio.h>

unsignedfun(unsignedw)

{

}

main()

{

unsignedx;

clrscr();

printf("Enteraunsignedinteger

number:");

scanf("%u",&x);

printf("Theoriginaldatais:%u\n",x);

if(x<10)

printf("Dataerror!");

else

printf("Theresult:%u\n",fun(x));

}

34.程序定義了NxN的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:使數(shù)組右上三角元素中的值乘以m。

例如:若m的值為2,a數(shù)組中的值為:

注意:部分源程序存在文件PROGl.C文件中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。

四、單選題(0題)35.

五、單選題(0題)36.if語句的基本形式是:if(表達(dá)式)語句,以下關(guān)于“表達(dá)式”值的敘述中正確的是A.A.必須是邏輯值

B.必須是整數(shù)值

C.必須是正數(shù)

D.可以是任意合法的數(shù)值

六、單選題(0題)37.體育課的鈴聲響了,同學(xué)們都陸續(xù)地奔向操場(chǎng),按老師的要求從高到矮站成一排。每個(gè)同學(xué)按順序來到操場(chǎng)時(shí),都從排尾走向排頭,找到第一個(gè)比自己高的同學(xué),并站在他的后面。這種站隊(duì)的方法類似于()算法。

A.快速排序B.插入排序C.冒泡排序D.歸并排序

參考答案

1.D解析:邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象可以是任意合法的表達(dá)式。邏輯表達(dá)式的運(yùn)算結(jié)果或者為1(“真”),或者為0(“假”)。

2.A

3.B此題考查的是函數(shù)fun,fun(b,c)=5,然后fun(2*a,5)=fun(8,5)=6。

4.A

5.D解析:在C語言中,凡是以“#”開頭的行都稱為編譯預(yù)處理命令行,如#include、#define、#if等,每行的末尾不得用“;”結(jié)束,以區(qū)別于C語句、定義和說明語句。選項(xiàng)C中的宏定義為不帶參數(shù)的宏命令行,宏名之后可以有替換文本,也可以沒有。編譯預(yù)處理是在編譯程序?qū)源程序進(jìn)行編譯前執(zhí)行的.當(dāng)然也在程序執(zhí)行之前執(zhí)行,因此選項(xiàng)D是錯(cuò)誤的。

6.B

7.B解析:本題中,structex是結(jié)構(gòu)體類型名,ex-ample是結(jié)構(gòu)體變量名。

8.C

9.A選項(xiàng)A是非法的表達(dá)式,C語言中沒有“<>”運(yùn)算符。故本題答案為A選項(xiàng)。

10.B題目中先是將s2字符串寫入adc.dat中,然后執(zhí)行rewind函數(shù)將寫指針放置于文件開頭,寫入s1字符串。s1字符串將前5個(gè)字符覆蓋,所以最終結(jié)果為Chinang。故本題答案為B選項(xiàng)。

11.CC)【解析】白盒測(cè)試方法也稱為結(jié)構(gòu)測(cè)試或邏輯測(cè)試,主要方法有邏輯覆蓋測(cè)試、基本路徑測(cè)試等。

12.C(10)C)解析:DB即數(shù)據(jù)庫(kù)(Database),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問DB的方法;DBS即數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem)由如下5部分組成,數(shù)據(jù)庫(kù)(數(shù)據(jù))、數(shù)據(jù)庫(kù)管理系統(tǒng)(軟件)、數(shù)據(jù)庫(kù)管理員(人員)、系統(tǒng)平臺(tái)之一——硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二——軟件平臺(tái)(軟件)。

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

14.x[i][i]x[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]x[i][i]\r\nx[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]解析:在程序中用兩重循環(huán)。在第一層循環(huán)中將每行的第0列賦值為1,對(duì)角線上的元素賦值為1顯然在第一個(gè)空中應(yīng)該填入對(duì)角線上的元素即x[i][i],在第二重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對(duì)角線的元素外其他元素為其對(duì)應(yīng)的上一行中同列和同列的前一列的元素相加,所以在第二個(gè)空中應(yīng)該填入x[i-1][j-1]+x[i-1][j]。

15.88解析:在一般系統(tǒng)中,一個(gè)float型數(shù)據(jù)在內(nèi)存中占4個(gè)字節(jié)(32位),一個(gè)double型數(shù)據(jù)占8個(gè)字節(jié)。

16.gaga解析:用字符指針處理字符串,首先要使指針指向這個(gè)字符串,即題中的ptr1=a和ptr2=b。然后就是通過指針的移動(dòng)可以引用到字符串中的每一個(gè)字符。題中的*(ptr1+k)是使指針ptr1向后移動(dòng)k個(gè)位置,然后取出指向的字符。注意:用字符數(shù)組作為字符串和用指針指向的一個(gè)字符串之間的區(qū)別。

17.0/i/i或1.0/(i*i)0/i/i或1.0/(i*i)解析:由題面中提供的計(jì)算pi的公式可知;在第i項(xiàng)其值為1/(i*i),考慮到運(yùn)算結(jié)果為浮點(diǎn)數(shù),故必須要將1轉(zhuǎn)化為浮點(diǎn)數(shù)或采用1.0/(i*i)的形式。故本題應(yīng)填1.0/(i*i)或其等效形式。

18.findbigfindbig解析:本題考核的知識(shí)點(diǎn)是指向函數(shù)的指針變量的使用。本題首先定義了一個(gè)指向函數(shù)的指針變量f,如果希望讓它指向某個(gè)函數(shù),只需把函數(shù)名賦給該指針變量即可。所以說本題的空格處應(yīng)該填入函數(shù)名findbig。

19.4848解析:本題主要考查的是函數(shù)的遞歸調(diào)用,遞歸的終止條件是x==0或x==1,然后用已知值逐步遞推向上求未知值,直到得到最終的結(jié)果。

func(4)=4*func(3);

func(3)=3*func(2);

func(2)=2*func(1);

func(1)=2;

所以func(2)=2*2=4;

func(3)=3*4=12;

fune(4)=4*12=48。

20.對(duì)象對(duì)象解析:將屬性、操作相似的對(duì)象歸為類,也就是說,類是具有共同屬性、共同方法的對(duì)象的集合。

21.x>yz>u

22.310

23.1111解析:格式字符。是以八進(jìn)制無符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0),因?yàn)檎麛?shù)9的八進(jìn)制為11,所以輸出結(jié)果為11。

24.功能性功能性解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個(gè)程序的開頭部分,給出程序的整體說明;功能性注釋一般嵌在源程序體之中,主要描述其后的語句或程序做什么,

25.

解析:該程序功能是尋找二維數(shù)組中最大元素的值。其中,求最大元素的方法:用最大值變量maX標(biāo)記第一個(gè)待找數(shù)據(jù),逐個(gè)把所有待找數(shù)據(jù)和max進(jìn)行比較,并用max標(biāo)記當(dāng)前最大值及其所在位置,從而找出最大值。

26.

解析:(1)該程序功能是刪除一個(gè)字符串中指定下標(biāo)的字符。它的解題思路,可以分解為以下兩步:逐個(gè)判斷字符串中的下標(biāo)是否滿足條件,滿足條件的就放到題目要求的新串,否則就不放。

(2)從已給部分源程序的main主函數(shù)開始入手,核心函數(shù)“fun(str1,str2,n);”中的參數(shù)由題目可知,str1存放著原始字符串,str2存放刪除了下標(biāo)為n的字符的結(jié)果字符串,注意下標(biāo)是從“0”開始的。

27.

解析:該程序功能是移動(dòng)字符串中的內(nèi)容,第一個(gè)字符移動(dòng)到最后,后面的字符往前移動(dòng)一位,形成循環(huán)左移。移動(dòng)m個(gè)字符的就是循環(huán)左移m次。

28.

解析:該程序功能是計(jì)算并輸出當(dāng)x<0.97時(shí)題干中給出的多項(xiàng)式的值。根據(jù)題干中給出的數(shù)列,首先推出每一項(xiàng)的表達(dá)式,然后再對(duì)多項(xiàng)式進(jìn)行累加求和。

29.voidfun(char*ss){inti;for(i=0;ss[i]!='\0';i++)/*將ss所指字符串中所有下標(biāo)為奇數(shù)位置的字母轉(zhuǎn)換為大寫*/if(i%2==1&&ss[i]>='a'&&SS[i]<='z')ss[i]=ss[i]-32;}voidfun(char*ss)\r\n{\r\ninti;\r\nfor(i=0;ss[i]!='\\0';i++)/*將ss所指字符串中所有下標(biāo)為奇數(shù)位置的字母轉(zhuǎn)換為大寫*/\r\nif(i%2==1&&ss[i]>='a'&&SS[i]<='z')\r\nss[i]=ss[i]-32;\r\n}解析:從C語言的學(xué)習(xí)中我們知道,只要將小寫字母減去32則轉(zhuǎn)成大寫字母,將大寫字母加上32則轉(zhuǎn)成小寫字母。該程序是用if語句實(shí)現(xiàn)該功能轉(zhuǎn)化的。

30.doublefun(STREC*aSTREC*bint*n){inti;doubleay=0.0;*n=0;for(i=0;i<N;i++)av=av+a[i].s;ay=ay/N;/*求平均值*/for(i=0;i<N;i++)if(av<=a[i].s){b[*n]=a[i];*n-*n+l;}/*將高于等于平均分的學(xué)生存從所指存儲(chǔ)單元中并統(tǒng)計(jì)人數(shù)*/returnay;/*返回嚴(yán)均分*/}doublefun(STREC*a,STREC*b,int*n)\r\n{\r\ninti;\r\ndoubleay=0.0;\r\n*n=0;\r\nfor(i=0;i<N;i++)\r\nav=av+a[i].s;\r\nay=ay/N;/*求平均值*/\r\nfor(i=0;i<N;i++)\r\nif(av<=a[i].s)\r\n{b[*n]=a[i];*n-*n+l;}/*將高于等于平均分的學(xué)生存從所指存儲(chǔ)單元中,并統(tǒng)計(jì)人數(shù)*/\r\nreturnay;/*返回嚴(yán)均分*/\r\n}解析:本題中第1個(gè)循環(huán)的作用求出所有分?jǐn)?shù)的總和,只有進(jìn)行了av=av/N后才得到平均值(我們?cè)谇懊娴某绦蛑信龅竭^類似問題)。第2個(gè)循環(huán)的作用是將高于等于平均分的學(xué)生存入b所指存儲(chǔ)單元中。同一結(jié)構(gòu)體變量之間可以互相賦值。

本程序中直接用*n來表示b的下標(biāo),注意開始時(shí)要給,*n賦0,且使用時(shí)不能少*號(hào)。因?yàn)閱为?dú)的n是一個(gè)指針變量,而我們要用的是它所指向的那個(gè)存儲(chǔ)單元中的值。

31.voidfun(char*a){while(*a!='\0')a++;a--;/*指針a指向字符串的尾部*/while(*a=='*')a--/*指針a指向最后一個(gè)字母*/*(a+l)='\0';/*在字符串最后加上結(jié)束標(biāo)志位*/}voidfun(char*a)\r\n{\r\nwhile(*a!='\\0')\r\na++;\r\na--;/*指針a指向字符串的尾部*/\r\nwhile(*a=='*')\r\n\u30

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論