




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022學(xué)年河南省濮陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(12題)1.設(shè)無向圖G中有n個(gè)頂點(diǎn)e條邊,則其對應(yīng)的鄰接表中的表頭結(jié)點(diǎn)和邊表接點(diǎn)的個(gè)數(shù)分別為()。
A.n,eB.e,nC.2n,eD.n,2e
2.下面函數(shù)的功能是()intfunl(char*X){char*y=X;whar(*y++);return(y-x-1);}
A.求字符串的長度B.比較兩個(gè)字符串的大小C.將字符串x復(fù)制到字符串y中D.將字符串x連接到字符串y后面
3.下列函數(shù)的功能是
set(s,t)
{char*s,*t;
while((*s)&&(*t)&&(*t++==*s++));
return(*s-*t);
}A.A.求字符串的長度
B.比較兩字符串的大小
C.將字符串s復(fù)制到字符串t中
D.將字符串s連接到字符串t后
4.有以下程序main(){union{charch[2];intd;}s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是______。A.21,43B.43,21C.43,00D.21,00
5.有以下程序程序執(zhí)行后的輸出結(jié)果是()
A.60B.50C.45D.55
6.有以下程序:#include<stdio.h>voidfun(int*s){staticinti=0;do{s[J]=s[J]+s[j+I];}while(++j<2);}main(){intk.a(chǎn)[l0]={1,2,3,4,5};for(k=1;k<3;k++)fun(a);for(k=0;k<5;k++)pfintf("%d",a[k]);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A.12345B.23445C.34756D.35745
7.針對簡單程序設(shè)計(jì),以下敘述的實(shí)施步驟順序正確的是()。
A.確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔
B.編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔
C.整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試
D.確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔
8.以下敘述中正確的是()。
A.C語言的源程序不必通過編譯就可以直接運(yùn)行
B.C語言中的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
C.C源程序經(jīng)編譯形成的二進(jìn)制代碼可以直接運(yùn)行
D.C語言中的函數(shù)不可以單獨(dú)進(jìn)行編譯
9.有以下程序:#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=1;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,
10.對n個(gè)數(shù)進(jìn)行排序,哪種算法,其時(shí)間復(fù)雜度在最壞和最好都是O(nlogn)()
A.快速排序B.希爾排序C.堆排序D.選擇排序
11.以下與函數(shù)fseek(fp,0L,SEEK_SET)有相同作用的是
A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)
12.下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是()。
A.關(guān)系模型B.網(wǎng)狀模型C.層次模型D.以上三個(gè)都是
二、2.填空題(12題)13.以下程序的功能是輸入任意整數(shù)給n后,輸出n行從大寫字母A開始構(gòu)成的三角形字符陣列圖形。例如,輸入整數(shù)5時(shí)(注意:n不得大于10),程序運(yùn)行結(jié)果如下:
ABCDE
FCHI
JKL
MN
O
請?zhí)羁胀瓿稍摮绦颉?/p>
#include<stdio.h>
main()
inti.j,n;charch='A';
scanf("%d",&n);
if(n<11)
for(i=1;i<=n;i++)
for(j=1;j<=n-i+1;j++)
{printf("%2c",ch);
【】;
}
【】;
}
elseprintf("nistoolarge!\n");
prinff("\n");
}
14.若有以下程序:
main()
{int,p,a=5;
if(P=a!=0)
printf("%d\n",p);
else
printf("%d\n",p+2);
}
執(zhí)行后輸出結(jié)果是【】。
15.軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。
16.下列程序段是從鍵盤輸入的字符中統(tǒng)計(jì)小寫字母的個(gè)數(shù),用換行符結(jié)束循環(huán)。請?zhí)羁铡?/p>
intn=0,c;
c=getchar();
while(c!='\n')
{if(______)
n++;
}
17.執(zhí)行以下程序后,輸出#號的個(gè)數(shù)是【】。
#include<studio.h>
main()
{inti,j;
for(i=1;i<5;i++)
for(j=2;j<=i;j++)putchar('#');
}
18.閱讀下面程序段,則執(zhí)行后輸出的結(jié)果是【】。
#include"stdio.h"
main()
{charfun(char,int);
chara='A';
intb=13;
a=fun(a,b);
putchar(a);}
charfun(chara,intb)
{chark;
k=a+b;
returnk;}
19.以下程序的輸出結(jié)果為【】。
main()
{intk=1;
white(k<=15)
if(++k%3!=2)continue;
elseprintf("%d",k);
printf("\n");
}
20.若按功能劃分,軟件測試的方法通常分為白盒測試方法和【】測試方法。
21.以下sum函數(shù)的功能是計(jì)算下列級數(shù)之和。請給函數(shù)中的各變量正確賦初值。
doublesum(doublex,intn)
{inti;doublea,b,s;
for(i=1;i<=n;i++)
{a=a*x;b=b*i;s=s+a/b;}
returns;
}
22.閱讀下面語句,則程序的執(zhí)行結(jié)果是【】。
#include"stdio.h"
main()
{inta=-1,b=1,k;
if((++a<0)&&!(b--<=0))
printf("%d,%d\n",a,b);
elseprintf("%d,%d\n",b,a);}
23.閱讀下面程序,則程序的執(zhí)行結(jié)果為【】。
#include"stdio.h"
main()
{inta=30,b=20,z;
z=fun(a+b,a-b);
printf("%d\n",z);}
fun(inta,intb)
{intz;
z=a/b;
returnz;}
24.結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下、逐步求精、______和限制使用goto語句。
三、3.程序設(shè)計(jì)題(10題)25.假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:只刪除字符串前導(dǎo)和尾部的*號,串中字母之間的*號都不刪除。形參n給出了字符串的長度,形參h給出了字符串中前導(dǎo)*號的個(gè)數(shù),形參e給出了字符串中最后*號的個(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的花括號中填入你編寫的若干語句。
26.學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,它的功能是:按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。
注意:部分源程序在文件PROGl.C文件中。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
27.請編寫函數(shù)fun(),該函數(shù)的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。
例如,若一維數(shù)組中的數(shù)據(jù)是:
2223445666677899101010
刪除后,數(shù)組中的內(nèi)容應(yīng)該是:
2345678910。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
#defineN80
intfun(inta[],intn)
{
}
main()
{
inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,
8,9,9,10,10,10,10},i,n=20;
printf("Theoriginaldata:\n");
for(i=0;i<n;i++)
printf("%3d",a[i]);
n=fun(a,n);
printf("\n\nThedataafterdeleted
:\n");
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("\n\n");
}
28.編寫程序,實(shí)現(xiàn)矩陣(3行3列)的轉(zhuǎn)置(即行列互換)
例如,輸入下面的矩陣:
100200300
400500600
700800900
程序輸出:
100400700
200500800
300600900
注意:部分源程序在文件PROGl.C中。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
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的花括號中填入所編寫的若干語句。試題程序:#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.N名學(xué)生的成績已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請編寫函數(shù)fun,它的功能是:求出平均分,由函數(shù)值返回。
例如,若學(xué)生的成績是:85,76,69,85,91,72,64,87,則平均分應(yīng)當(dāng)是:78.625。
注意:部分源程序在文件PROGl.C中。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
31.請編寫函數(shù)fun,函數(shù)的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。
例如,一維數(shù)組中的數(shù)據(jù)是:2223445666677899101010。
刪除后,數(shù)組中的內(nèi)容應(yīng)該是:2345678910。
注意:部分源程序在文件PROGl.C中。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
32.編寫函數(shù)fun,它的功能是計(jì)算下列級數(shù)和,和值由函數(shù)值返回。
例如,當(dāng)n=10,x=0.3時(shí),函數(shù)值為1.349859。
注意:部分源程序在文件PROGl.C文件中。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
33.請編寫函數(shù)fun(),該函數(shù)的功能是:統(tǒng)計(jì)一行字符串中單詞的個(gè)數(shù),作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母組成,單詞之間有若干個(gè)空格隔開,一行的開始沒有空格。
注意:部分源程序給出如下。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include<string.h>
#include<stdio,h>
#defineN80
intfun(char*s)
{
}
main()
{
charline[N];
intnum=0;
printf("Enterastring:\n");
gets(line);
num=fun(line);
printf("Thenumberofwordis:%d\n\n",
num);
}
34.函數(shù)fun的功能是:將a、b中的兩個(gè)兩位正整數(shù)合并形成一個(gè)新的整數(shù)放在c中。合并的方式是:將a中的十位和個(gè)位數(shù)依次放在變量c的十位和千位上,b中的十位和個(gè)位數(shù)依次放在變量c的個(gè)位和百位上。
例如,當(dāng)a=45,b=12。調(diào)用該函數(shù)后,c=5241。
注意:部分源程序存在文件.PROGl.C中。數(shù)據(jù)文件IN.DAT中的數(shù)據(jù)不得修改。
請勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
四、單選題(0題)35.能正確表示x>=3或者x<1的關(guān)系表達(dá)式是()。
A.x>=3orx<1B.x>=3|x<1C..x>=3||x<1D.x>=3||x<1
五、單選題(0題)36.下列關(guān)于return語句的敘述中正確的是()。
A.—個(gè)自定義函數(shù)中必須有一條return語句
B.—個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語句
C.定義成void類型的函數(shù)中可以有帶返回值的return語句
D.沒有return語句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處
六、單選題(0題)37.以下針對相應(yīng)語句的注釋中,說法錯(cuò)誤的是()。
A.int*pt[2];/*pt是一個(gè)指針數(shù)組名*/
B.int(*pt)[2];/*pt是一維數(shù)組名*/
C.int(*pt)();/*pt是指向函數(shù)的指針*/
D.int*pt();/*pt是一個(gè)函數(shù)名*/
參考答案
1.A
2.A
3.B在本題中,從題目給出的四個(gè)選項(xiàng)我們就可以知道,程序是對兩個(gè)字符串進(jìn)行操作。下面將具體分析程序。
程序首先定義兩個(gè)字符型的指針變量s和t,從后面的程序中不難看出這兩個(gè)指針變量應(yīng)該用來對兩個(gè)字符串進(jìn)行操作處理。用循環(huán)來對字符串進(jìn)行處理時(shí),循環(huán)繼續(xù)的條件是指針變量s和指針變量t所指向的結(jié)果值不為0,且兩結(jié)果值相等。很顯然,指針變量s和指針變量t所指向的結(jié)果值不為0,說明兩字符串沒有結(jié)束,只有結(jié)束時(shí)才為0,而結(jié)果值相等說明兩字符相等,如果不等,循環(huán)則結(jié)束,此時(shí)程序?qū)⒁蠓祷夭坏仍刂g的差值,從差值的正負(fù)關(guān)系我們可以判斷出哪個(gè)元素更大。綜上所述,程序段的作用是用來比較兩字符串的大小。因此,本題正確的答案選B。
4.A結(jié)構(gòu)體和共用體;在“聯(lián)合”中,各成員共享一段內(nèi)存空間,一個(gè)聯(lián)合變量的長度等于各成員中最長的長度。應(yīng)該說明的是,這里所謂的共享不是指把多個(gè)成員同時(shí)裝入一個(gè)聯(lián)合變量內(nèi),而是指該聯(lián)合變量可被賦予任一成員值,但每次只能賦一種值,賦入新值則沖去舊值
5.A函數(shù)fun的功能是求數(shù)組的n個(gè)元素之和。fun(a,5)=15。由于s岫是靜態(tài)局部變量,所以保持l5不變,fun(b,4)=45,所以s=fun(a,5)+fun(b,4)=60。
6.D本題考查靜態(tài)變量,靜態(tài)變量有儲(chǔ)存已經(jīng)操作過的值,所以fun(a)s[O]=3,s[1]=5,s[2]=7,所以答案選擇D。
7.A\nC語言中程序中的步驟實(shí)現(xiàn)為:先確定程序中的算法和數(shù)據(jù)結(jié)構(gòu),然后進(jìn)行程序的編碼,再進(jìn)行對程序的調(diào)試,最后進(jìn)行文檔的整理和記錄。使用這種步驟可以方便程序的編寫以及在完成后提高代碼的重用性。
\n
8.B解析:本題考核的知識點(diǎn)是C程序從編寫到生成可執(zhí)行文件的步驟。C語言采用編譯方式將源程序轉(zhuǎn)換為二進(jìn)制的目標(biāo)代碼,編寫好一個(gè)C程序到完成運(yùn)行一般經(jīng)過以下幾個(gè)步驟:編輯;編譯,就是將已經(jīng)編輯好的源程序翻譯成二進(jìn)制的目標(biāo)代碼,經(jīng)編譯后的得到的二進(jìn)制代碼還不能直接執(zhí)行,因?yàn)槊恳粋€(gè)模塊往往是單獨(dú)編譯的,必須把經(jīng)過編譯的各個(gè)模塊的目標(biāo)代碼與系統(tǒng)提供的標(biāo)準(zhǔn)模塊連接后才能運(yùn)行;連接,將各模塊的二進(jìn)制目標(biāo)代碼與系統(tǒng)標(biāo)準(zhǔn)模塊經(jīng)連接處理后,得到具有絕對地址的可執(zhí)行文件,它是計(jì)算機(jī)能直接執(zhí)行的文件;執(zhí)行,執(zhí)行一個(gè)經(jīng)過編譯和連接的可執(zhí)行的目標(biāo)文件。由以上定義可知,選項(xiàng)A、C、D均不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
9.D結(jié)構(gòu)體指針變量p指向a數(shù)組的第1個(gè)元素,所以“p->x”為20。執(zhí)行“p=p->y”后,p指向數(shù)組a的第2個(gè)元素,所以輸出15。故本題答案為D選項(xiàng)。
10.C
11.D解析:本題考查的是文件操作函數(shù).題目中fseek(fp,0L,SEEK_SET)的作用將文件指針定位到文件開始。feof(fp)的作用是判斷文件指針是否已到文件結(jié)尾,因此選項(xiàng)A不對。ftell(fp)的作用是獲取當(dāng)前文件指針的位置,因此選項(xiàng)B不對。fgetc(fp)的作用是從文件中讀取一個(gè)字節(jié),因此選項(xiàng)C不對。rewind(中)的作用是將文件指針重定位到文件開頭,所以應(yīng)該選擇D。
12.A解析:在層次模型和網(wǎng)狀模型的系統(tǒng)研究和數(shù)據(jù)庫設(shè)計(jì)中,其性能和質(zhì)量主要決定于設(shè)計(jì)者的經(jīng)驗(yàn)和技術(shù)水平,缺乏一定的理論指導(dǎo)。關(guān)系模型有堅(jiān)實(shí)的理論基礎(chǔ),它以數(shù)學(xué)理論為基礎(chǔ),從而避免了層次模型和網(wǎng)狀模型系統(tǒng)中存在的問題。
13.ch++或ch=ch+1或++chprintf("\n")或prinff("\015")ch++或ch=ch+1或++ch,\r\nprintf('\\n')或prinff('\\015')解析:程序中使用了兩層for循環(huán),外循環(huán)的作用是控制行數(shù),內(nèi)循環(huán)的作用是控制每行的列數(shù),在內(nèi)循環(huán)中首先輸出當(dāng)前字符(從\'A\'開始),[6]中應(yīng)填ch++,使ch中的字符變?yōu)橐敵龅南乱粋€(gè)字符。每輸出一行就需換一次行,所以[7]處應(yīng)填pfintf('\\n')。
14.11解析:首先計(jì)算if語句后面的表達(dá)式,根據(jù)運(yùn)算符的優(yōu)先級可知,先算“a!=0”,該值為1,再把1賦值給p,結(jié)果為1(真),執(zhí)行其后的printf語句,輸出的值為1。
15.完善性軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。
16.c>='a'&&c<='z'c>='a'&&c<='z'解析:小寫字母在內(nèi)存中以ASCII的形式存入,且從a到z依次遞增,所以可以直接用c>='a'&&c<='z'判斷是不是小寫字母;c!='\\n'判斷是用換行符結(jié)束循環(huán)。
17.66解析:本題中,i、j分別為外循環(huán)和內(nèi)循環(huán)的循環(huán)控制變量,外層循環(huán)共執(zhí)行了4次。當(dāng)i=1時(shí),由于內(nèi)層循環(huán)判斷條件(2<=1)為假不執(zhí)行內(nèi)層循環(huán)。當(dāng)i=2時(shí),執(zhí)行內(nèi)層循環(huán),輸出一個(gè)#;當(dāng)i=3時(shí),內(nèi)層循環(huán)循環(huán)兩次,輸出兩個(gè)#:當(dāng)i=4時(shí),內(nèi)層循環(huán)循環(huán)3次,輸出3個(gè)#。當(dāng)i=5時(shí),循環(huán)判斷條件不成立,退出外層循環(huán)。所以一共輸出6個(gè)#。
18.NN解析:函數(shù)說明語句中的類型名必須與函數(shù)返回值的類型一致。本題實(shí)現(xiàn)的是在字符“A”的ASCII碼值上加上一個(gè)常數(shù),使之變成另一個(gè)ASCII碼值,從而輸出字符。
19.25811142581114解析:本題通過while和if語句,求得出1~15之間與3取模為2的整數(shù),并依次輸出。
20.黑盒軟件測試的方法有三種:動(dòng)態(tài)測試、靜態(tài)測試和正確性證明。設(shè)計(jì)測試實(shí)例的方法一般有兩類:黑盒測試法和白盒測試法。在使用黑盒法設(shè)計(jì)測試實(shí)例時(shí),測試人員將程序看成一個(gè)“黑盒”,即不關(guān)心程序內(nèi)部是如何實(shí)現(xiàn)的,只是檢查程序是否符合它的“功能說明”,所以使用黑盒法設(shè)計(jì)的測試用例完全是根據(jù)程序的功能說明來設(shè)計(jì)的。
21.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1s=1或給abs賦1或1.0或1.a=1;b=1;s=1;或a=b=s=1;或a=1.b=1,s=1或給a,b,s賦1或1.0或1.解析:sum函數(shù)的功能是求表達(dá)式s的級數(shù)之和,該函數(shù)的大致思路是:在該函數(shù)中,定義了—個(gè)整型變量i用作循環(huán)計(jì)數(shù)器,定義一個(gè)變量a用來表示各個(gè)子項(xiàng)的分子,初始為第一個(gè)子項(xiàng)的分子,故為1,定義了一個(gè)變量b用來表示各個(gè)子項(xiàng)大分母,初始為第一個(gè)子項(xiàng)的分母,故為1,定義一個(gè)變量s存放累加和,初始為第一個(gè)子項(xiàng)的值即為1,然后給各個(gè)定義的變量初始化,然后通過一個(gè)for循環(huán)將題目中的數(shù)學(xué)表達(dá)式的各個(gè)子項(xiàng)求出來并累加到s中,所以說,在該題的空格處應(yīng)該填寫將a、b和s賦初值的語句,即為a=1;b=1;s=1:(說明:語句的順序可任意)或a=b=s=1;(說明:變量的順序可任意)或a=1,b=1,s=1(說明:賦值表達(dá)式的順序可任意)給a,b,s賦1或1.0或1都可以。
22.101,0解析:與運(yùn)算兩邊的語句必須同時(shí)為真時(shí),結(jié)果才為真,當(dāng)執(zhí)行完if((++a<0)&&!(b--<=0))時(shí),a,b的值已經(jīng)發(fā)生了變化。
23.55解析:函數(shù)調(diào)用的時(shí)候,函數(shù)名字必須與所調(diào)用的函數(shù)名完全一致,形參與實(shí)參類型要一致,在沒有給出函數(shù)返回值類型的情況下,默認(rèn)為整形,當(dāng)返回值為整型的函數(shù)放到主函數(shù)后面時(shí),可以不需要事先說明就調(diào)用這個(gè)函數(shù)。return既可以返回一個(gè)普通常量,也可以返回一個(gè)指針變量。
24.模塊化模塊化
25.
解析:該程序功能是刪除字符串前導(dǎo)和尾部的“*”號。解題過程是根據(jù)主函數(shù)中求出的前導(dǎo)和尾部的“*”數(shù)目,作為for循環(huán)條件,并且在循環(huán)過程中第一個(gè)非“*'號開始前移,實(shí)現(xiàn)函數(shù)功能。
26.
解析:該程序功能是按分?jǐn)?shù)的高低排列學(xué)生的記錄。首先從數(shù)組中挑選一個(gè)最大的元素,把它和第一元素交換,接著從剩下的n-1個(gè)元素中再挑出一個(gè)最大的元素,把它和第二個(gè)元素交換,不斷重復(fù)以上過程,直到比較完最后兩個(gè)元素。
27.intfun(inta[]intn){intij=l;for(i=1;i<n;i++)if(a[j-1]!=a[i])/*若該數(shù)與前一個(gè)數(shù)不相同則要保留*/a[j++]=a[i];returnj;/*返回不同數(shù)的個(gè)數(shù)*/}intfun(inta[],intn)\r\n{\r\ninti,j=l;\r\nfor(i=1;i<n;i++)\r\nif(a[j-1]!=a[i])/*若該數(shù)與前一個(gè)數(shù)不相同,則要保留*/\r\na[j++]=a[i];\r\nreturnj;/*返回不同數(shù)的個(gè)數(shù)*/\r\n}解析:本題程序的流程是:讓i,j都從1開始,其中j用于控制刪除后剩下的數(shù)中的下標(biāo),i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個(gè)元素的下一個(gè)元素的下標(biāo),所以if()中的條件是a[j-1]!=a[i],其中a[j-1]就是新數(shù)組中的最后一個(gè)元素,若條件成立,則表示出現(xiàn)了不同的值,所以a[i]要留下到新數(shù)組中。注意本題中i,j的初值都要從1開始,該算法只能用于數(shù)組已排序的題目中。
28.
解析:該程序功能是實(shí)現(xiàn)矩陣的轉(zhuǎn)置。其中,矩陣的轉(zhuǎn)置就是實(shí)現(xiàn)矩陣行列元素的互換。例如,array[1][2]和array[2][1]進(jìn)行交換。
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
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石大學(xué)前兒童保育學(xué)課件1-7眼睛耳神經(jīng)
- 云安全與邊緣計(jì)算的協(xié)同防護(hù)-洞察闡釋
- 遺傳學(xué)課程內(nèi)容更新與跨學(xué)科融合的創(chuàng)新模式
- 激勵(lì)社會(huì)力量參與老年助餐服務(wù)的可行路徑
- 心理健康課思維導(dǎo)圖
- 2025至2030年中國波導(dǎo)合分路器行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國水瓶座圖案拼圖行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國氣密測試機(jī)行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國橙柑桔清洗打蠟機(jī)行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國木炭烘干機(jī)行業(yè)投資前景及策略咨詢報(bào)告
- 企業(yè)家刑事法律風(fēng)險(xiǎn)及其防范(課件)
- 手工皂制作教程(課堂)課件
- 國民經(jīng)濟(jì)核算課程期末復(fù)習(xí)(按題型)(含答案)
- 立式圓筒形儲(chǔ)罐罐底真空試驗(yàn)記錄
- 小學(xué)生勞動(dòng)教育評價(jià)細(xì)則
- 籃球比賽計(jì)分表word版
- 手衛(wèi)生依從性差魚骨分析
- 第4章 頜位(雙語)
- 課程綜述(數(shù)電)
- 塔吊負(fù)荷試驗(yàn)方案
- 傷口和傷口敷料基礎(chǔ)知識.ppt
評論
0/150
提交評論