




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022學(xué)年內(nèi)蒙古自治區(qū)烏海市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(12題)1.以下程序的輸出結(jié)果是()main(){staticchara[10]={"Chinese"};printf("%d",strlen(a));}
A.7B.2C.9D.10
2.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()。
A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.沒有任何關(guān)系
3.從一個(gè)長度為100的順序表中刪除第30個(gè)元素時(shí)需向前移動(dòng)()個(gè)元素
A.70B.71C.69D.30
4.對n個(gè)元素的有序表A[1..n]進(jìn)行順序查找,其成功查找的平均查找長度(即在查找表中找到指定關(guān)鍵碼的元素時(shí),所進(jìn)行比較的表中元素個(gè)數(shù)的期望值)為()
A.nB.(n+1)/2C.log2nD.n^2
5.如果某圖的鄰接矩陣是對角線元素均為零的上三角矩陣,則此圖是_______
A.有向完全圖B.連通圖C.強(qiáng)連通圖D.有向無環(huán)圖
6.
7.關(guān)于地址和指針,以下敘述正確的是()。
A.可以通過強(qiáng)制類型轉(zhuǎn)換讓char型指針指向double型變量
B.函數(shù)指針P指向一個(gè)同類型的函數(shù)f時(shí),必須寫成“p=&f;”
C.指針P指向一個(gè)數(shù)組f時(shí),必須寫成“P=&f;”
D.—個(gè)指針變量P可以指向自身
8.以下哪種操作最適合先進(jìn)行排序處理()
A.找最大、最小值B.計(jì)算算術(shù)平均值C.找中間值D.找出現(xiàn)次數(shù)最多的值
9.以下程序的輸出結(jié)果是()。main{inta=3:printf("%d\n",(a+a-=a*a));}A.-6B.12C.0D.-12
10.執(zhí)行下面的程序后,a的值為()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10
11.若有定義“inta=1234,b=-5678;”,用語句“printf("%+-6d%+-6d",a,b);”輸出,以下正確的輸出結(jié)果是()。
A.+1234-5678(中間有一個(gè)空格,最后有一個(gè)空格)
B.+1234-5678(最前面有一個(gè)空格,中間有一個(gè)空格)
C.+-1234+-5678(最前面和最后均無空格)
D.1234-5678(中間有兩個(gè)空格,最后有一個(gè)空格)
12.程序流程圖中帶有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
二、2.填空題(12題)13.下面程序的運(yùn)行結(jié)果是【】。
main()
{inti=0,j=10,k=2,s=0;
for(;;)
{i+=k;
if(i>j)
{printf("%d\n",s);
break;}
s+=i;}}
14.已有定義:charc='';inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&Ra;后b的值為______。
15.數(shù)據(jù)庫是指按照一定的規(guī)則存儲(chǔ)在計(jì)算機(jī)中的【】的集合,它能被各種用戶共享。
16.設(shè)C語言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占兩個(gè)字節(jié),則int型數(shù)據(jù)的取值范圍為【】。
17.若有定義語句chars[100],d[100];intj=0,i=0;且s中已賦字符串,請?zhí)羁找詫?shí)現(xiàn)拷貝。(注:不使用逗號(hào)表達(dá)式)
while(s[i]){d[j]=【】;j++;}
d[j]=0;
18.為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】兩部分組成。
19.在鏈表的運(yùn)算過程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是______。
20.面向?qū)ο蟮哪P椭校罨镜母拍钍菍ο蠛蚠_____。
21.在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
22.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為______。
23.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于[]。
24.當(dāng)執(zhí)行以下程序時(shí),輸入1234567890<回車>,則其中while循環(huán)體將執(zhí)行()次。
#include<stdio.h>
main()
{charch;
while((ch=getchar())=='0')printf("#");
}
三、3.程序設(shè)計(jì)題(10題)25.請編寫函數(shù)fun(),該函數(shù)的功能是:移動(dòng)字符串中的內(nèi)容,移動(dòng)的規(guī)則是把第1到第m個(gè)字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。
例如,字符串中原有的內(nèi)容為ABCDEFGHIJK,m的值為3,移動(dòng)后,字符串中的內(nèi)容應(yīng)該是DEFGHIJKABC。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
#include<string.h>
#defineN80
voidfun(char*w,intm)
{
}
main()
{
chara[N]="ABCDEFGHIJK";
intm;
printf("Theoriginastring:\n");
puts(a);
printf("\n\nEnterm:");
scanf("%d",&m);
fun(a,m);
printf("\nThestringaftermoving:\n");
puts(a);
printf("\n\n");
}
26.學(xué)生的記錄由學(xué)號(hào)和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,它的功能是:把分?jǐn)?shù)最低的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,注意:分?jǐn)?shù)最低的學(xué)生可能不止一個(gè),函數(shù)返回分?jǐn)?shù)最低的學(xué)生的人數(shù)。
注意:部分源程序在文件PROGl.C文件中。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
27.假定輸入的字符串中只包含字母和*號(hào)。請編寫函數(shù)fun,它的功能是:只刪除字符串前導(dǎo)和尾部的*號(hào),串中字母之間的*號(hào)都不刪除。形參n給出了字符串的長度,形參h給出了字符串中前導(dǎo)*號(hào)的個(gè)數(shù),形參e給出了字符串中最后*號(hào)的個(gè)數(shù)。在編寫函數(shù)時(shí),不得使用C語言提供的字符串函數(shù)。
例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:A*BC*DEF*G。
注意:部分源程序在文件PROGl.C文件中。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
28.請編寫函數(shù)fun,其功能是將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)個(gè)位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和千位上。
例如,當(dāng)a=16,b=35,調(diào)用該函數(shù)后,c=5361。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
voidfun(inta,intb/long*c)
{
}
main()
{
inta,b;
longc;
clrscr();
printf("Inputa,b;");
scanf("%d%d",&a,&b);
fun(a,b,&c);
printf("Theresultis:%ld\n",c);
}
29.請編寫函數(shù)fun(),該函數(shù)的功能是:統(tǒng)計(jì)各年齡段的人數(shù)。N個(gè)年齡通過調(diào)用隨機(jī)函數(shù)獲得,并放在主函數(shù)的age數(shù)組中。要求函數(shù)把0至9歲年齡段的人數(shù)在d[0]中,把10至19歲年齡段的人數(shù)放在d[1]中,把20至29歲年齡段的人數(shù)放在d[2]中,依次類推,把100歲(含100)以上年齡的人數(shù)都放在d[10]中。結(jié)果在主函數(shù)中輸出。注意:部分源程序給出如下。請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。試題程序:#include<stdio.h>#defineN50#defineM11voidfun(int*a,int*b){}doublernd(){statict=29,c=217,m=1024,r=0;r=(r*t+c)%m;return((double)r/m);}main(){intage[N],i,d[M];for(i=0;i<N;i++)age[i]=(int)(i15*rnd());/*產(chǎn)生一個(gè)隨機(jī)的年齡數(shù)組*/printf("Theoriginaldata:\n");for(i=0;i<N;i++)printf((i+l)%10==07“%4d\n”;“%4d”,age[i]);/*每行輸出10個(gè)數(shù)*/printf(“\n\n”);fun(age,d);for(i=0;i<l0;i++)printf(“%4d---%4d:%4d\n”;,i*l0,i*10+9,d[i]);printf(“Over100;%4dkn”;,d[10]).;}
30.學(xué)生的記錄由學(xué)號(hào)和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,它的功能是:把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分的學(xué)生人數(shù)通過形參n傳回,平均分通過函數(shù)值返回。
注意:部分源程序在文件PROGl.C文件中。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
31.假定輸入的字符串中只包含字母和*號(hào)。請編寫函數(shù)fun(),它的功能是:將字符串中的前導(dǎo)*號(hào)全部刪除,中間和后面的*號(hào)不刪除。
例如,若字符串中的內(nèi)容為****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是A*BC*DEF*G*******。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(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.請編寫一個(gè)函數(shù)voidfun(cbara[],charb[],intn),其功能是:刪除一個(gè)字符申中指定下標(biāo)的字符。其中,a指向原字符串,刪除后的字符串存放在b所指的數(shù)組中,n中存放指定的下標(biāo)。
例如,輸入一個(gè)字符串world,然后輸入3,則調(diào)用該函數(shù)后的結(jié)果為word。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
#include<conio.h>
#defineLEN20
voidfun(chara[],charb[],intn)
{
}
main()
{
charstr1[LEN],str2[LEN];
intn;
clrscr();
printf("Enterthestring:\n");
gets(str1);
printf("Enterthepositionofthestring
deleted:");
scanf("%d",&n);
fun(str1,str2,n);
printf("Thenewstringis:%s\n",
str2);
}
33.請編寫函數(shù)fun(),該函數(shù)的功能是:將s所指字符串中ASCII值為偶數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組中。
例如,若s所指字符串中的內(nèi)容為ABCDEFGl2345,其中字符B的ASCⅡ碼值為偶數(shù)、…、字符2的ASCⅡ碼值為偶數(shù)、…,都應(yīng)當(dāng)刪除,其他依次類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是ACEGl35。
注定:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序;
#include<stdio.h>
#include<string.h>
#include<conio.h>
voidfun(char*s,chart[])
{
}
main()
{
chars[100],t[100];
clrscr();
printf(,\nPleaseenterstringS:");
scanf("%s",s);
fun(s,t);
printf("\nTheresultis:%s\n",t);
}
34.請編寫一個(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。
注意:部分源程序給出如下。
請勿改動(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));
}
四、單選題(0題)35.有定義語句:“int*p[4];”,以下選項(xiàng)中與此語句等價(jià)的是()。
A.intp[4];B.int**P;C.int*(p[4]);D.int(*p)[4];
五、單選題(0題)36.若有定義“doublex,y,*px,*py;”,執(zhí)行了“px=&x;py=&y;”之后,正確的輸入語句是()。
A.scanf(“%lf%le”,px,py);
B.scanf(“%f%f”,&x,&y);
C.scanf(“%f%f”,x,y);
D.scanf(“%lf%lf”,x,y);
六、單選題(0題)37.設(shè)已包含頭文件<string.h>,下列程序段的運(yùn)行結(jié)果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));
A.3B.4C.6D.5
參考答案
1.A
2.CC。【解析】數(shù)據(jù)庫系統(tǒng)(DBS)由數(shù)據(jù)庫(DBS)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、數(shù)據(jù)庫管理員、硬件平臺(tái)和軟件平臺(tái)五個(gè)部分組成,可見DB和DBMS都是DBS的組成部分。
3.A
4.B
5.D
6.D
7.A函數(shù)名代表函數(shù)的入口地址,函數(shù)指針P指向一個(gè)同類型的函數(shù)f時(shí),可以寫成“p=f;”,而不能寫成“P=&f;”,選項(xiàng)B錯(cuò)誤。指針p指向一個(gè)數(shù)組f時(shí),可以寫成“p=f;”,數(shù)組名f代表數(shù)組的首地址,選項(xiàng)C錯(cuò)誤。指針變量指向的是變量的地址,選項(xiàng)D錯(cuò)誤。char型根據(jù)轉(zhuǎn)化原則可以轉(zhuǎn)化為double類型。故本題答案為A選項(xiàng)。
8.C
9.D本題可以寫成:a+a+(a-(a*a)),所以*的優(yōu)先級(jí)最高,其次是-=的,+的優(yōu)先級(jí)最低,因此先求a-=a*a=9,表達(dá)式變?yōu)閍+a+-=9,a即a=a-9=-6,再次變?yōu)閍+(-6)=-12,故選擇D選項(xiàng)。
10.D本題考查continue的用法,continue語句的作用是結(jié)束本次循環(huán),直接進(jìn)行下次循環(huán)。所以在程序中,只有當(dāng)a=10時(shí),才退出循環(huán),故選擇D選項(xiàng)。
11.Aprintf函數(shù)參數(shù)包括格式控制字符串和輸出參數(shù),其中格式控制字符串中除了格式控制字符外,其他字符原樣輸出。本題中的printf(“%+-6d%+-6d”,a,b);”,在%和格式控制字符d之間,“+”號(hào)表示輸出的數(shù)字帶正負(fù)號(hào)號(hào)表示輸出數(shù)據(jù)向左對齊,“6”表示輸出寬度,如果輸出數(shù)據(jù)的寬度不夠6,那么左對齊,右邊補(bǔ)空格。所以本題輸出+1234-5678(中間有一個(gè)空格,最后有一個(gè)空格)。本題答案為A選項(xiàng)。
12.C解析:程序流程圖是人們對解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項(xiàng)中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;
表示邏輯條件。
13.3030解析:考查for循環(huán)的使用。題目中for(;;)表示:for循環(huán)的初始化表達(dá)式,條件表達(dá)式和修正表達(dá)式都省略了,表示進(jìn)行for循環(huán)和for循環(huán)的終止都沒有限制。
14.11解析:字符空格的ASCII碼不為0,所以本題中表達(dá)式!c的值為0,b=0&&1的結(jié)果顯然為0。
15.數(shù)據(jù)數(shù)據(jù)解析:數(shù)據(jù)庫是由一個(gè)互相關(guān)聯(lián)的數(shù)據(jù)的集合和一組用以訪問這些數(shù)據(jù)的程序組成,這些數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲(chǔ)。
16.-32768~32767
17.s[i++]s[i++]解析:本題中為了能實(shí)現(xiàn)字符串的拷貝,需要使字符數(shù)組s從頭到尾依次遍歷其所有元素。本題應(yīng)使用i的自增后置來實(shí)現(xiàn)。
18.輸出結(jié)果輸出結(jié)果解析:注意:測試的基本方法和步驟。
19.循環(huán)鏈表循環(huán)鏈表解析:在循環(huán)鏈表中,由于設(shè)置了一個(gè)頭結(jié)點(diǎn),因此在任何情況下,循環(huán)鏈表中至少有一個(gè)結(jié)點(diǎn)存在,從而使空表與非空表的運(yùn)算統(tǒng)一。
20.類類
21.中序中序解析:在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹:并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹;并且遍歷左、右子樹時(shí),仍然光遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹。
22.從定義到本源文件結(jié)束從定義到本源文件結(jié)束解析:C語言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。
23.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:與棧類似,隊(duì)列也是線性表,也町以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
24.00解析:“ch=getchat()”的功能是從終端讀入一個(gè)字符賦給變量ch,由于getchar()只能接收一個(gè)字符,所以輸入的字符1被賦給ch,即“'1'!='0'”,循環(huán)體不執(zhí)行,直接退出while循環(huán),所以循環(huán)體執(zhí)行的次數(shù)為0。
25.voidfun(char*wintm){intij;chart;for(i=1;i<=m;i++)/*進(jìn)行m次的循環(huán)左移*/{t=w[0];for(j=1/w[j]!='\0';j++)/*從第2個(gè)字符開始以后的每個(gè)字符都依次前移一個(gè)字符*/w[j-1]=w[j];w[j-1]=t;/*將第1個(gè)字符放到最后一個(gè)字符中*/}}voidfun(char*w,intm)\r\n{\r\ninti,j;\r\nchart;\r\nfor(i=1;i<=m;i++)/*進(jìn)行m次的循環(huán)左移*/\r\n{t=w[0];\r\nfor(j=1/w[j]!='\\0';j++)/*從第2個(gè)字符開始以后的每個(gè)字符都依次前移一個(gè)字符*/\r\nw[j-1]=w[j];\r\nw[j-1]=t;/*將第1個(gè)字符放到最后一個(gè)字符中*/\r\n}\r\n}解析:我們在學(xué)習(xí)C語言的時(shí)候,應(yīng)該廣泛地應(yīng)用到循環(huán)的方法,本題應(yīng)采用“循環(huán)左移”的算法。即從第2個(gè)字符開始以后的每個(gè)字符都依次前移一個(gè)字符,而原來的第1個(gè)字符放在串中的最后一個(gè)字符。當(dāng)要平移m個(gè)字符時(shí),則要進(jìn)行m次的循環(huán)左移。內(nèi)嵌的循環(huán)的作用是完成從第2個(gè)字符開始以后的每個(gè)字符都依次前移一個(gè)字符,w[j-1]=t的作用是將第1個(gè)字符放到最后一個(gè)字符中。
26.
解析:該程序功能是把分?jǐn)?shù)最低的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中。本題是關(guān)于求解結(jié)構(gòu)體中某些成員的最小值,首先將第一個(gè)值設(shè)定為最小值,并在循環(huán)中將其他所有值與該值進(jìn)行比較,求得最小值。然后將最小值與所有值進(jìn)行比較,求得所有的最小值。
27.
解析:該程序功能是刪除字符串前導(dǎo)和尾部的“*”號(hào)。解題過程是根據(jù)主函數(shù)中求出的前導(dǎo)和尾部的“*”數(shù)目,作為for循環(huán)條件,并且在循環(huán)過程中第一個(gè)非“*'號(hào)開始前移,實(shí)現(xiàn)函數(shù)功能。
28.voidfun(intaintblong*c){*c=(b%10)*1000+(b/10)*100+(a%10)*10+a/10;}voidfun(inta,intb,long*c)\r\n{\r\n*c=(b%10)*1000+(b/10)*100+(a%10)*10+a/10;\r\n}解析:語句“*c=(b%10)*1000+(b/10)*100+(a%10)*10+a/10;”是將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)個(gè)位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和千位上。注意“/”和“%”的用法。
29.voidfun(int*aint*b){intij;for(j=0;j<M;j++)b[j]=0;/*數(shù)組b初始化為0*/for(i=0;i<N;i++)if(a[i]>=100)b[10]++;/*如果年齡大于等于100b[10]自增1*/elseb[a[i]/10]++;/*如果年齡小于100則將其分別統(tǒng)計(jì)到b[a[i]/10]中*/}voidfun(int*aint*b){intij;for(j=0;j<M;j++)b[j]=0;/*數(shù)組b初始化為0*/for(i=0;i<N;i++)if(a[i]>=100)b[10]++;/*如果年齡大于等于100b[10]自增1*/elseb[a[i]/10]++;/*如果年齡小于100則將其分別統(tǒng)計(jì)到b[a[i]/10]中*/\r\n}voidfun(int*a,int*b){inti,j;for(j=0;j<M;j++)b[j]=0;/*數(shù)組b初始化為0*/for(i=0;i<N;i++)if(a[i]>=100)b[10]++;/*如果年齡大于等于100,b[10]自增1*/elseb[a[i]/10]++;/*如果年齡小于100,則將其分別統(tǒng)計(jì)到b[a[i]/10]中*/\r\n}
30.
解析:該程序功能是把高于或等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分的學(xué)生人數(shù)通過形參n傳回,平均分通過函數(shù)返回值返回。解題過程首先求得平均分,然后將所有成績與平均分進(jìn)行比較,如果大于或等于平均分,存入指定數(shù)組。
31.voidfun(char*a){char*p=a;while(*P==‘+’)p++;/*指針p指向字符串第一個(gè)字母*/for(;*p!=‘\0’;p++a++)*a=*p;/*從第—個(gè)字母開始其后的字符都放入指針a所指的字符串中*/*a=‘\0’;/*在字符串最后加上結(jié)束標(biāo)記符*/}voidfun(char*a)\r\n{\r\nchar*p=a;\r\nwhile(*P==‘+’)p++;/*指針p指向字符串第一個(gè)字母*/\r\nfor(;*p!=‘\\0’;p++,a++)\r\n*a=*p;/*從第—個(gè)字母開始,其后的字符都放入指針a所指的字符串中*/\r\n*a=‘\\0’;/*在字符串最后加上結(jié)束標(biāo)記符*/\r\n}解析:在前面的改錯(cuò)題和編程題中,相關(guān)試題已經(jīng)出現(xiàn)好多次了,我們在此提供另一種解答方法。
#include<string.h>
voidfun(char*a)
{char*p=a;
while(*p==‘*’)p++;
strcpy(a,p);
}
32.voidfun{chara[]charb[]intn){intik=0;for(i=0;a[i]!=‘\0’;i++)if(i!=n)/*將不是指定下標(biāo)的字符存入數(shù)組b中*/b[k++]=a[i];b[k]=‘\0’;/*在字符串最后加上結(jié)束標(biāo)記*/}voidfun{chara[],charb[],intn)\r\n{\r\ninti,k=0;\r\nfor(i=0;a[i]!=‘\\0’;i++)\r\nif(i!=n)/*將不是指定下標(biāo)的字符存入數(shù)組b中*/\r\nb[k++]=a[i];\r\nb[k]=‘\\0’;/*在字符串最后加上結(jié)束標(biāo)記*/\r\n}解析:本題要求刪除字符串中指定下標(biāo)的字符,即相當(dāng)于把不是指定下標(biāo)的字符留下。所以要用if(i!=n),注意不能寫成“=”運(yùn)算。
33.voidfun(char*schart[]){inti=0;for(;*
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項(xiàng)目管理全生命周期試題及答案
- 現(xiàn)代棉紡紗新技術(shù)發(fā)展趨勢考核試卷
- 2025年黑龍江省安全員B證證考試題及答案
- 高校輔導(dǎo)員考試應(yīng)考者心理建設(shè)試題及答案
- 皮革物理強(qiáng)度測試設(shè)備考核試卷
- 2025年注會(huì)學(xué)習(xí)小組活動(dòng)試題及答案
- 電力系統(tǒng)中的能源路由器應(yīng)用考核試卷
- 項(xiàng)目需求分析與變更的考核試題及答案
- 2023年中國電信貴州公司社會(huì)人才招聘41名筆試參考題庫附帶答案詳解
- 2023年中國林業(yè)出版社有限公司公開招聘工作人員4人筆試參考題庫附帶答案詳解
- 2024年美國商用車和乘用車市場現(xiàn)狀及上下游分析報(bào)告
- 2024醫(yī)療設(shè)備器械試用協(xié)議書
- DB32T3748-2020 35kV及以下客戶端變電所建設(shè)標(biāo)準(zhǔn)
- 中國近代三種建國方案
- 數(shù)學(xué)奧秘揭秘-揭開數(shù)學(xué)背后的奧秘
- 溫度傳感器Pt100-阻值-溫度對照表(方便實(shí)用)
- 《幽門螺桿菌檢測》課件
- 《云南土壤類型》課件
- 小兒肝臟間葉錯(cuò)構(gòu)瘤課件
- 2022智慧園區(qū)設(shè)計(jì)、建設(shè)與驗(yàn)收技術(shù)規(guī)范
- 河南省濮陽市清豐縣2023-2024學(xué)年八年級(jí)上學(xué)期期中生物試題( 含答案解析 )
評論
0/150
提交評論