




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2022-2023學(xué)年湖南省婁底市全國計算機(jī)等級考試C語言程序設(shè)計真題二卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(12題)1.
2.數(shù)組A[0...4,-1...-3,5...7]中含有的元素個數(shù)是()。A.A.55B.45C.36D.16
3.有三個關(guān)系R、S和T如下:由關(guān)系R和S得到關(guān)系T的操作是()。A.自然連接B.交C.除D.并
4.若定義了函數(shù)double*function(),則函數(shù)function的返回值為()。
A.實數(shù)型B.實數(shù)的地址C.指向函數(shù)的指針D.函數(shù)的地址
5.若有以下說明和定義uniondt{inta;charb;doublec;}data;以下敘述中錯誤的是
A.data的每個成員起始地址都相同
B.變量data所占內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等
C.程序段:data.a=5;printf(“%I'm”,data.C);輸出結(jié)果為5.000000
D.data可以作為函數(shù)的實參
6.有以下程序
#include<stdio.h>
main()
{charch[3][5]={“AAAA”,”BBB”,”CC”};
printf(“%s\n”,ch[1];)
}
程序運(yùn)行后的輸出結(jié)果是()A.A.AAAA
B.CC
C.BBBCC
D.BBB
7.有以下程序:#include<stdio.h>intfun(int*a,int*b,intn){inti=0,j=0,sum=0;for(;i<n;i++){sum+=a[i];if((i+1)%2==0){b[j++]=sum;sum=0;}}returnj;}main(){inta[8]={1,0,2,3,5,4,2,1},b[8],k,i;k=fun(a,b,8);for(i=0;i<k;i++)printf(“%d”,b[i]);}程序的運(yùn)行結(jié)果是()。
A.0242B.1593C.1351D.286
8.設(shè)變量已正確定義,則以下能正確計算n!的程序段是______。
A.f=0;for(i=1;i<=n;i++)f*=i;
B.f=1;for(i=1;i<n;i++)f*=i;
C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
9.設(shè)有以下語句,其中不是對a數(shù)組元素的正確引用的是:_____(其中0≤i<10)inta[10]={0,1,3,4,5,6,7,8,9,},*p=a;
A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))
10.下列敘述中錯誤的是()。
A.在C語言中,函數(shù)中的自動變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語言中,在調(diào)用函數(shù)時,實參和對應(yīng)形參在類型上只需賦值兼容
C.在C語言中,外部變量的隱含類型是自動存儲類別
D.在C語言中,函數(shù)形參的存儲類型是自動(auto)類型的變量
11.有以下程序:intfun(intx){intp;if(x==0||x==1)return(3);p=x-fun(x-2);returnp;}main{printf("%d\n",fun(7));}執(zhí)行后的結(jié)果是()。A.7B.3C.2D.0
12.以下敘述中正確的是()。
A.循環(huán)隊列是隊列的一種鏈?zhǔn)酱鎯Y(jié)構(gòu)
B.循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu)
C.循環(huán)隊列中的隊尾指針一定大于隊頭指針
D.循環(huán)隊列中的隊尾指針一定小于隊頭指針
二、2.填空題(12題)13.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下:
1
11
121
1331
14641
其構(gòu)成規(guī)律是:
①第0列元素和主對角線元素均為1。
②其余元素為其左上方和正上方元素之和。
③數(shù)據(jù)的個數(shù)每行遞增1。
請將程序補(bǔ)充完整。
#defineN6
voidyanghui(intx[N][N])
{inti,j;
x[O][0]=1;
for(i=1;i<N;i++)
{x[i][0]=【】=1;
for(j=1;j<i;j++)
x[i][j]=【】;
}
)
14.下列程序的運(yùn)行結(jié)果是______。
#defineP(a)printf("%d",a)
main()
{intj,a[]={1,2,3,4,5,6,7},i=5;
for(j=3;j>l;j--)
{switch(j)
{case1:
case2:P(a[i++]);break;
case3:P(a[--i]);
}
}
}
15.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
16.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
17.有以下程序
intfa(intx){returnx*x;}
intfb(intx){retumx*x*x;}
intf(int(*fl)int(*12)(),intx)
{returnf2(x)-f1(x);}
main()
{inti;i=f(fa,fb,2);printf("%d\n",i);}
程序運(yùn)行后,輸出結(jié)果是【】
18.軟件是程序、數(shù)據(jù)和【】的集合。
19.以下程序中,for循環(huán)體執(zhí)行的次數(shù)是【】。
#defineN2
#defineMN+1
#defineKM+1*M/2
main()
{
inti;
for(i=1;i<K;i++)
{…}
…
}
20.調(diào)用C語言標(biāo)準(zhǔn)庫函數(shù)時要求用【】命令。
21.以下函數(shù)的功能是求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,這些除數(shù)的個數(shù)通過形參n返回。例如,若x中的值為30,則有4個數(shù)符合要求,它們是1,3,5,15。請按題意,完成填空。
試題程序:
#include<conio.h>
#include<stdio.h>
voidfun(intx,intpp[],int*n)
{inti,j=0;
for(i=1;i<x;i+=2)
if(x%i==0)pp[j++]=i;
【】;
}
main()
{intx,aa[1000],n,i;
clrscr();
printf("\nPleasenteranintegernumber:\n");scanf("%d",&x);
fun(x,aa,&n);
for(i=0;i<n;i++)
printf("%d",aa[i]);
printf("\n");
}
22.如下語句printf("%c\n",'B'+40);在執(zhí)行后的輸出結(jié)果是【】。
23.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
24.已有定義:charc=′′;inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&&a;后b的值為【】。
三、3.程序設(shè)計題(10題)25.編寫一個函數(shù)fun,它的功能是:實現(xiàn)兩個字符串的連接(不使用庫函數(shù)strcat),即把p2所指的字符串連接到p1所指的字符串后。
例如,分別輸入下面兩個字符串:
FirstString--
SecondString
程序輸出:
FirtString--SecondStdng
注意:部分源程序在文件PROGl.C文件中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
26.請編一個函數(shù)voidfun(inttt[M][N],intpp[N],tt指向一個M行N列的二維數(shù)組,求出二維數(shù)組每列中最大元素,并依次放入pp所指的一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中給出。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
#defineM3
#defineN4
voidfun(inttt[M][N],intpp[N])
{
}
main()
{
intt[M][N]={{68,32,54,12},{14,24,88,
58},{42,22,44,56}};
intp[N],i,j,k;
clrscr();
printf("Theriginaldatais:\n");
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%6d",t[i][j]);
printf("\n");
}
fun(t,p);
printf("\nTheresultis:\n");
for(k=0;k<N;k++)
printf("%4d",p[k]);
printf("\n");
}
27.請編寫一個函數(shù)fun(),它的功能是將一個數(shù)字字符串轉(zhuǎn)換為一個整數(shù)(不得調(diào)用C語言提供的將字符串轉(zhuǎn)為整數(shù)的函數(shù))。
例如,若輸入字符串“-1234”,則函數(shù)把它轉(zhuǎn)換為整數(shù)值-1234。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
#include<string.h>
longfun(char*p)
{
}
main()
{
chars[6];
longn;
printf("Enterastring:\n");
gets(s);
n=fun(s);
printf("%ld\n",n);
}
28.請編寫一個函數(shù)fun(),它的功能是:比較兩個字符串的長度,(不得調(diào)用C語言提供的求字符串長度的函數(shù)),函數(shù)返回較K的字符串。若兩個字符串長度相等,則返回第1個字符串。
例如,輸入beijing<CR>shanghai<CR>(<CR>為回車鍵),函數(shù)將返回shanghai。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
char*fun(char*s,char*t)
{
}
main()
{
chara[20],b[10],*p,*q;
inti;
printf("Input1thstring:");
gets(a);
printf{"Input2thstring:");
gets(b);
printf("%s",fun(a,b));
}
29.已知學(xué)生的記錄由學(xué)號和學(xué)習(xí)成績構(gòu)成,N名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體數(shù)組中。請編寫函數(shù)fun(),該函數(shù)的功能是:找出成績最低的學(xué)生記錄,通過形參返回主函數(shù)(規(guī)定只有一個最低分)。己給出函數(shù)的首部,請完成該函數(shù)。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
#include<string.h>
#include<aonio.h>
#defineN10
typedefstructss
{charnum[10];
ihts;
}STU;
fun(STUail,STU*s)
{
}
main()
{
STUa[N]={{"A01",81},{"A02",89},
{"A03",66},{"A04",87},{"A05",77},
{"A06",90},{"A07",79},{"A08",61},
{"A09",80),{"Al0",71}},m;
inti;
clrscr0;
printf("*****Theoriginaldata*****");
for(i=0;i<N;i++)
printf("No=%sMark=%d\n",ail].num,
a[i].s);
fun(a,&m);
printf("*****THERESULT*****\n");
printf("Thelowest:%s,%d\n",m.num,
m.s);
}
30.請編寫一個函數(shù)fun,它的功能是:比較兩個字符串的長度,(不得調(diào)用C語言提供的求字符串長度的函數(shù)),函數(shù)返回較長的字符串。若兩個字符串長度相同,則返回第一個字符串。
例如,輸入beijingshah曲aj(為回車鍵),函數(shù)將返回shanghai。
注意:部分源程序存在文件PROGl.C中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
31.請編寫函數(shù)fun,其功能是:計算并輸出下列多項式的值:
例如,在主函數(shù)中從鍵盤給n輸入15,則輸出為:s=2.718282。
注意:要求n的值大于1但不大于100。部分源程序在文件PROGl.C中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
32.請編寫函數(shù)fun(),該函數(shù)的功能是:實現(xiàn)B=A+A',即把矩陣A加上A的轉(zhuǎn)置,存放在矩陣B中。計算結(jié)果在main()函數(shù)中輸出。
例如,輸入下面矩陣:
123
456
789
其轉(zhuǎn)置矩陣為:
147
258
369
則程序輸出:
2610
61014
101418
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
#include<conio,h>
voidfun(inta[3][3],intb[3][3])
{
}
main()
{
inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},
t[3][3];
inti,j;
clrscr();
fun(a,t);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%7d",t[i][j]);
printf("\n");
}
}
33.請編寫函數(shù)fun(),它的功能是計算:s=(1-In(1)-In(2)-In(3)-…-1n(m))2
s作為函數(shù)值返回。
在C語言中可調(diào)用log(n)函數(shù)求In(n)。log函數(shù)的引用說明是doublelog(doublex)。
例如,若m的值為15,則fun()函數(shù)值為723.570801。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
#include<math.h>
doublefun(intm)
{
}
main()
{
clrscr();
printf("%f\n",fun(15));
}
34.編寫函數(shù)fun,其功能是:根據(jù)以下公式求P的值,結(jié)果由函數(shù)值帶回。m與n為兩個正整數(shù)且要求m>n。
例如:m=12,n=8時,運(yùn)行結(jié)果為495.000000。
注意:部分源程序在文件PROGl.C文件中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
四、單選題(0題)35.有以下程序:main(){char*p[10]={"abc","aabdfg","dcdbe","abbcf',"cd"};printf("%d\n",strlen(p[4]));}執(zhí)行后的輸出結(jié)果是______。
A.2B.3C.4D.5
五、單選題(0題)36.sizeof(float)是()。
A.一種函數(shù)調(diào)用B.一種函數(shù)定義C.一個浮點表達(dá)式D.一個整型表達(dá)式
六、單選題(0題)37.對線性表進(jìn)行二分法檢索,其前提條件是()。
A.線性表以順序方式存儲,并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲,并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈?zhǔn)椒绞酱鎯?,并按關(guān)鍵碼值排好序
D.線性表以鏈?zhǔn)椒绞酱鎯?,并按關(guān)鍵碼的檢索頻率排好序
參考答案
1.A
2.A
3.C由圖所知,其中,C中只有一個屬性,是除操作。
4.B
5.C解析:本題考查的共用體的概念。共用體變量中的所有成員共享一段公共存儲區(qū),所以共用體變量所占內(nèi)存字節(jié)數(shù)與其成員中占字節(jié)數(shù)最多的那個成員相等.本題定義的共用體中成員C所占的內(nèi)存最多,因此選項B是正確的。由于共用體變量中的所有成員共享存儲空間,因此變量中的所有成員的首地址相同,選項A是正確的。同結(jié)構(gòu)體變量一樣,共用體類型的變量可以作為實參進(jìn)行傳遞,也可以傳送共用體變量的地址,選項D也是正確的。在內(nèi)存中,實數(shù)與整數(shù)的存放形式完全不一樣,共用體的成員共用的是同一塊內(nèi)存,而不是同一個數(shù)值,因此選項C是錯誤的。
6.Dch[1]即輸出的為第二個字符串,即BBB。
7.B程序中,fun函數(shù)的功能是接收兩個數(shù)組a、b,以及數(shù)組a的元素個數(shù)n,然后通過for循環(huán)將數(shù)組a中下標(biāo)為偶數(shù)的元素與后面相鄰的下標(biāo)為奇數(shù)的元素兩兩相加,賦給數(shù)組b中下標(biāo)為j的元素,最后返回數(shù)組b的個數(shù)。所以main函數(shù)中,通過調(diào)用fun函數(shù),將數(shù)組a的元素兩兩相加,得到數(shù)組b的各個元素,再通過for循環(huán)輸出,結(jié)果為:1593。故本題答案為B選項。
8.D解析:A選項,將f賦值為0,結(jié)果得到0,因為0乘任何數(shù)都為0;B選項,i<n,計算的是(n-1)!,C選項將陷入死循環(huán)。
9.D解析:觀察程序可知,a實際上就是數(shù)組a的首地址,所以“*(a+i)”表示的就是數(shù)組a中的第i個元素的值,進(jìn)而,我們可以知道*(*(a+i))必然不是對a數(shù)組元素的正確引用。
10.C解析:外部變量在編譯時由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動存儲類別。
11.C調(diào)用函數(shù)fun(7)時,由于x的值為7,執(zhí)行語句“p=x-fun(x-2);”,相當(dāng)于執(zhí)行p=7-fun(5);\r\n調(diào)用函數(shù)fun(5)時,由于x的值為5,執(zhí)行語句“p=x-fun(x-2);”,相當(dāng)于執(zhí)行p=7-fun(3);\r\n調(diào)用函數(shù)fun(3)時,由于x的值為3,執(zhí)行語句“p=x-fun(x-2);”,相當(dāng)于執(zhí)行p=7-fun(1);\r\n調(diào)用函數(shù)fun(1)時,由于X的值為1,執(zhí)行語句“return(3);”,函數(shù)的返回值為3。\r\n因此函數(shù)調(diào)用fun(7)等價于7-(5-fun(3)),即7-(5-(3-fun(1))),即7-(5-(3-3)),所以函數(shù)fun(7)的返回值為2。答案為C。
12.B在實際應(yīng)用中,隊列的順序存儲結(jié)構(gòu)一般采用循環(huán)隊列的形式。當(dāng)循環(huán)隊列為滿或者為空時,隊尾指針=隊頭指針。本題答案為B選項。
13.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,對角線上的元素賦值為1顯然在第一個空中應(yīng)該填入對角線上的元素即x[i][i],在第2重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對角線的元素外其他元素為其對應(yīng)的上一行中同列和同列的前一列的元素相加,所以在第二個空中應(yīng)該填入x[i-1][j-1]+x[i-1][j]。
14.5555解析:分析程序執(zhí)行過程,第一次循環(huán)時,j=3,i-5,因為switch(3),所以執(zhí)行case3,調(diào)用P(a[-i)=p(a[4])=P(5),輸出5;第二次循環(huán)時,j=2,i=4,因為switch(2),所以執(zhí)行case2,調(diào)用P(s[i++])=P(a[4])=P(5),輸出5,之后i的n等于5。
15.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個表達(dá)式前面有一個邏輯運(yùn)算符!,表示反操作,所以整個語句的值應(yīng)當(dāng)為false,即為0。
16.軟件開發(fā)
17.44解析:在主函數(shù)中調(diào)用函數(shù)f,函數(shù)f有三個參數(shù),形參n與C分別是兩個指向函數(shù)的指針。在f中執(zhí)行nf2(x),實際上是執(zhí)行了fo(2)-fa(2),故執(zhí)行i=(fa,fb,2)后i的值為2^3-2^2=4。
18.文檔文檔解析:計算機(jī)軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
19.44解析:將程序中所有的宏替換掉可得:M=2+1,K=2+1*2+1/2=4,所以for循環(huán)共循環(huán)了K-1+1次,即4-1+1共4次。
20.includeinclude解析:include命令可調(diào)用標(biāo)準(zhǔn)的C語言庫函數(shù),可以用一對尖括號或一對雙引號將“.h”文件括起來,在include前面要加“#”。
21.*n=j*n=j解析:本題題干信息是能整除x且不是偶數(shù)的所有整數(shù)之和。循環(huán)語句中i從1開始且每次增2,所以i始終是奇數(shù),*n=j;語句是記錄能夠符合題意的各個整數(shù)的各數(shù)。
22.jj解析:在C程序中的字符量可參與任何整數(shù)運(yùn)算。
23.33解析:條件表達(dá)式的一般形式為;表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時表達(dá)式2的值就作為整個條件表達(dá)式的值;若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個條件表達(dá)式的值。30/3=10>0,所以執(zhí)行p/10,結(jié)果為3。
24.11解析:字符空格的ASCII碼不為0,所以本題中表達(dá)式\ue008!c\ue009的值為0,b=0&&1的結(jié)果顯然為0。
25.
解析:該程序功能是實現(xiàn)兩個字符串的連接。本題要把串2連接到串1之后,則需要把串2的第一個字符放到串1的尾符的位置上,把串2的后面的字符放到串1的后面的位置。
26.voidfun(inttt[M][N]intpp[N]){intiimax;for(j=0;j<N;j++){max=tt[0][j];/*假設(shè)各列中的第一個元素最大*/for(i=0;i<M;i++)if(tt[i][j]>max)/*如果各列中的其他元素比最大值大則將這個更大的元素看作當(dāng)前該列中最大元素*/max=tt[i][j];pp[j]=max;/*將各列的最大值依次放入pp數(shù)組中*/}}voidfun(inttt[M][N],intpp[N])\r\n{\r\ninti,i,max;\r\nfor(j=0;j<N;j++)\r\n{\r\nmax=tt[0][j];/*假設(shè)各列中的第一個元素最大*/\r\nfor(i=0;i<M;i++)\r\nif(tt[i][j]>max)/*如果各列中的其他元素比最大值大,則將這個更大的元素看作當(dāng)前該列中最大元素*/\r\nmax=tt[i][j];\r\npp[j]=max;/*將各列的最大值依次放入pp數(shù)組中*/\r\n}\r\n}解析:本題中函數(shù)的功能是求出二維數(shù)組中每列的最大元素。首先,假設(shè)各列中的第一個元素最大,然后利用行標(biāo)值的移動來依次取得各列中其他元素的值,并與假設(shè)的最大值進(jìn)行比較,如果遇到更大的,則把這個更大的元素看做當(dāng)前該列中最大的元素,繼續(xù)與該列中其他元素比較。
27.longfun(char*p){longn=0;intflag=1;if(*p=='-')/*負(fù)數(shù)時置flag為-1*/{p++;flag=-1;}elseif(*p=='+')/*正數(shù)時置flag為1*/p++;while(*p!='\0'){n=n*10+*p-'0';/*將字符串轉(zhuǎn)成相應(yīng)的整數(shù)*/p++;}returnn*flag;}longfun(char*p)\r\n{\r\nlongn=0;\r\nintflag=1;\r\nif(*p=='-')/*負(fù)數(shù)時置flag為-1*/\r\n{p++;flag=-1;}\r\nelseif(*p=='+')/*正數(shù)時置flag為1*/\r\np++;\r\nwhile(*p!='\\0')\r\n{n=n*10+*p-'0';/*將字符串轉(zhuǎn)成相應(yīng)的整數(shù)*/\r\np++;\r\n}\r\nreturnn*flag;\r\n}解析:if()的作用是判斷它是正數(shù)還是負(fù)數(shù)。while()循環(huán)的作用是將字符串轉(zhuǎn)成相應(yīng)的整數(shù)。注意*p是一個字符如'9','4',并不是一個數(shù),要將其轉(zhuǎn)成相應(yīng)的數(shù)字必須令其減去'0'(不是'\\0'),即*p-'0'就得到*p這個字符的相應(yīng)數(shù)字。如'0'-'0'=0,'8'-'0'=8等。必須在程序的前面加#include<stdlib.h>,函數(shù)atol()的作用是將字符串p轉(zhuǎn)成長整型數(shù),它是一個庫函數(shù)。
28.char*fun(char*schar*t){intii;for(i=0;s[i]!='\0';i++);/*求字符串的長度*/for(j=0;t[i]!='\0';j++);if(i>=j)/*比較兩個字符串的長度*/returns;/*函數(shù)返回較長的字符串若兩個字符串長度相等則返回第1個字符串*/elsereturnt;}char*fun(char*s,char*t)\r\n{\r\ninti,i;\r\nfor(i=0;s[i]!='\\0';i++);/*求字符串的長度*/\r\nfor(j=0;t[i]!='\\0';j++);\r\nif(i>=j)/*比較兩個字符串的長度*/\r\nreturns;/*函數(shù)返回較長的字符串,若兩個字符串長度相等,則返回第1個字符串*/\r\nelse\r\nreturnt;\r\n}解析:本題中,第1個for循環(huán)的作用是求出s的字符個數(shù)i,第2個for循環(huán)的作用是求出t的字符個數(shù)j,因為任何循環(huán)都要控制一條語句,所以在每一個for循環(huán)條件后面必須要有一個分號。
本題也可用如下技巧:
char*fun(char*s,char*t)
{if(strlen(s)>=strlen(t)returns;
elsereturnt;
}
29.fun(STUa[]STU*s){inti;*s=a[0];for(i=0;i<N;i++)/*先認(rèn)為第1個值最小*/if(s->s>aIi].s)/*如果在循環(huán)的過程中再發(fā)現(xiàn)比第1個值更小的則賦給*s*/*s=a[i];}fun(STUa[],STU*s)\r\n{\r\ninti;\r\n*s=a[0];\r\nfor(i=0;i<N;i++)/*先認(rèn)為第1個值最小*/\r\nif(s->s>aIi].s)/*如果在循環(huán)的過程中再發(fā)現(xiàn)比第1個值更小的則賦給*s*/\r\n*s=a[i];\r\n}解析:我們先認(rèn)為第1個值最小,即*s=a[0]語句,如果在循環(huán)的過程中再發(fā)現(xiàn)比第1個值更小的隨即賦給該*s就可以了。另外,還涉及到結(jié)構(gòu)體中的指向運(yùn)算符,請學(xué)習(xí)者注意。若要找出最高成績則if()中的條件改成s->s<a[i].s即可。
30.
解析:該程序功能是比較兩個字符串的長度。解題過程是首先分別求得兩個字符串的長度,然后對這兩個值進(jìn)行判斷,實現(xiàn)兩個字符串長度的比較。
31.
解析:該程序功能是計算并輸出多項式的值。該題的解題思路是。根據(jù)題干中給出的數(shù)列,首先推出每一項的表達(dá)式,然后再對多項式進(jìn)行累加求和。
32.voidfun(inta[3][3]intb[3][3])
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄉(xiāng)村豪宅出租合同范本
- 代保管合同范本
- 華盛茶葉合同范本
- 農(nóng)業(yè)投資內(nèi)部合同范本
- 倉庫貨源轉(zhuǎn)讓合同范本
- 專利租賃合同范本
- 信用評級合同范本
- 農(nóng)具批發(fā)采購合同范本
- 儀表制氮機(jī)采購合同范本
- 創(chuàng)建公司合同范本
- 雪鐵龍云逸C4說明書
- 《健美操裁判法》課件
- 2022輸變電工程建設(shè)安全管理規(guī)定
- “德能勤績廉”考核測評表
- 新概念英語青少版入門 A-Unit-1課件(共37張)
- 備課專業(yè)化讀書分享課件
- 《爆破作業(yè)單位許可證》申請表
- 人教版二年級數(shù)學(xué)下冊教材分析
- 酒店住宿水單標(biāo)準(zhǔn)模板
- 市政道路雨、污水管道工程施工技術(shù)課件
- 全冊(教學(xué)設(shè)計)-蘇教版勞動六年級下冊
評論
0/150
提交評論