




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年江西省宜春市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題一卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(12題)1.設(shè)已有定義“floatx;”,則下列對(duì)指針變量P進(jìn)行定義且賦初值的語句中正確的是()。
A.int*p=(float)x;
B.float*p=&x;
C.floatp=&x;
D.float*p=1024;
2.下列敘述中錯(cuò)誤的是()。
A.在C語言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容
C.在C語言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別
D.在C語言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量
3.一個(gè)二維數(shù)組的定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[1][2]的值為()。
A.2B.4C.6D.8
4.設(shè)有定義語句:doublex=123.456;則語句printf(“%6.2f,%3.0f\n”,x,x);的輸出結(jié)果是()。
A.123.46,123.0B.123.45,123C.123.46,123D.123.45,123.
5.在一個(gè)長(zhǎng)度為n(n>1)的單鏈表上,設(shè)有頭和尾兩個(gè)指針,執(zhí)行()操作與鏈表的長(zhǎng)度有關(guān)。
A.刪除單鏈表中的第一個(gè)元素
B.刪除單鏈表中的最后一個(gè)元素
C.在單鏈表第一個(gè)元素前插入一個(gè)新元素
D.在單鏈表最后一個(gè)元素后插入一個(gè)新元素
6.有以下函數(shù)char*fun(char*p){returnp;}該函數(shù)的返回值是______。
A.無確切的值B.形參p中存放的地址值C.一個(gè)臨時(shí)存儲(chǔ)單元的地址D.形參p自身的地址值
7.以下敘述正確的是
A.continue語句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行
B.只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句
C.在循環(huán)體內(nèi)使用break語句或continue語句的作用相同
D.從多層循環(huán)嵌套中退出時(shí),只能使用goto語句
8.
9.下面程序的輸出結(jié)果是______。main(){inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a+4;printf("%d\n",p[3]);}
A.6B.7C.3D.5
10.
11.設(shè)R是一個(gè)2元關(guān)系,有3個(gè)元組,S是一個(gè)3元關(guān)系,有3個(gè)元組。如T=R×S,則T的元組的個(gè)數(shù)為()。A.6B.8C.9D.12
12.下列敘述中正確的是()。
A.可以用關(guān)系運(yùn)算符比較字符串的大小
B.空字符串不占用內(nèi)存,其內(nèi)存空間大小是0
C.兩個(gè)連續(xù)的單引號(hào)是合法的字符常量
D.兩個(gè)連續(xù)的雙引號(hào)是合法的字符串常量
二、2.填空題(12題)13.【】是數(shù)據(jù)庫設(shè)計(jì)的核心。
14.請(qǐng)?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫適當(dāng)內(nèi)容,使程序能正確運(yùn)行。
【】(double,double);
main()
{doublex,y;
scanf("%1f%1f",&x,&y);
printf("%1f\n",max(x,y));
}
doublemax(doublea,doubleB)
{return(a>b?a:b);}
15.以下程序運(yùn)行后的輸出結(jié)果是()。
intf(inta[],intn)
{if(n>=1)returnf(a,n-1)+a[n-1];
elsereturn0;
}
main()
{intaa[5]={1,2,3,4,5),s;
s=f(aa,5);printf("%d\n",s);
}
16.下面的程序可對(duì)指定字符串中的字符串進(jìn)行從大到小排序,請(qǐng)將程序填完整。(注:程序采用了冒泡排序算法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n->1)
for(i=0;i<n;i++)
if(str[i]<str[i+1])
{temp=【】;
str[i]=str[i+1];
【】=temp;
}
printf(【】);
}
17.下面程序段的輸出結(jié)果是【】。
inti=0,sum=1;
do
{sum+=i++;}
while(i<6);
print("%d\n",sum);
18.下面程序的運(yùn)行結(jié)果是()。#definePOW(r)r*rmain(){intx=2,y=3,t;t=POW(x+y);printf("%d\n",t);}
19.【】是從二維表列的方向進(jìn)行的運(yùn)算。
20.下列程序的輸出結(jié)果是______。
main()
{inti,sum;
for(i=1;i<7;i++)
sum+=i;
printf("%d",sum);
}
21.設(shè)二進(jìn)制數(shù)A是00101101,若想通過異或運(yùn)算ab使A的高4位取反,低4位不變,則二進(jìn)制數(shù)B應(yīng)是【】。
22.對(duì)于軟件測(cè)試,從是否需要執(zhí)行被測(cè)軟件的角度,可以分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。代碼檢查屬于______測(cè)試。
23.以下程序的運(yùn)行結(jié)果是()。#defineS(x)x*xmain(){intk=1;while(k<=4){printf("%d,",S(k));k++;}
24.在計(jì)算機(jī)中,字符的比較是對(duì)它們的【】進(jìn)行比較。
三、3.程序設(shè)計(jì)題(10題)25.請(qǐng)編寫一個(gè)函數(shù)fun,它的功能是:比較兩個(gè)字符串的長(zhǎng)度,(不得調(diào)用C語言提供的求字符串長(zhǎng)度的函數(shù)),函數(shù)返回較長(zhǎng)的字符串。若兩個(gè)字符串長(zhǎng)度相同,則返回第一個(gè)字符串。
例如,輸入beijingshah曲aj(為回車鍵),函數(shù)將返回shanghai。
注意:部分源程序存在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
26.請(qǐng)編寫一個(gè)函數(shù)fun(),它的功能是:將ss所指字符串中所有下標(biāo)為偶數(shù)位置的字母轉(zhuǎn)換為小寫(若該位置上不是字母,則不轉(zhuǎn)換)。
例如,若輸入ABC4efG,則應(yīng)輸出aBc4efg。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)miain和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
#include<string.h>
voidfun(char*SS)
{
}
main()
{
chartt[81];
clrscr();
printf("\nPleaseenteranstringwithin80
characters:\n");
gets(tt);
printf("\n\nAfterchanging,thestring\n
\%s",tt);
fun(tt);
printf("\nbecomes\n\%S\n",tt);
}
27.請(qǐng)編寫函數(shù)fun(),該函數(shù)的功能是:計(jì)算n門課程的平均分,計(jì)算結(jié)果作為函數(shù)值返回。
例如x有5門課程的成績(jī)是90.5,72,80,61.5,55,則函數(shù)的值為71.80。
注意:部分源程序給出如下.
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
floatfun(float*a,intn)
{
}
main()
{
floatscore[30]=(90.5,72,80,61.5,55},
aver;
aver=fun(score,5);
printf("\nAveragescoreis:%5.2f
\n",aver);
}
28.請(qǐng)編寫一個(gè)函數(shù)fun(),它的功能是:求出1到m(含m)之內(nèi)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個(gè)數(shù)。
例如,若傳給m的值為50,則程序輸出:
7111421X283335424449
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
#defineM100
voidfun(intm,int*a,int*n)
{
}
main()
{
intaa[M],n,k;
clrscr();
fun(50,aa,&n);
for(k=0;k<n;k++)
if((k+1)%20==0)/*每行輸出20個(gè)數(shù)*/
{printf("%4d",aa[k]);
printf("\n");
}
else
printf("%4d",aa[k]);
printf("\n");
}
29.請(qǐng)編寫一個(gè)函數(shù)voidfun(char*tt,intpp[]),統(tǒng)計(jì)在tt字符串中“a”到“z”26個(gè)字母各自出現(xiàn)的次數(shù),并依次放在pp所指數(shù)組中。
例如:當(dāng)輸入字符串a(chǎn)bcdefghabcdeabc后,程序的輸出結(jié)果應(yīng)該是:33322110000000000000000000
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
voidfun(char*tt,intpp[])
{
}
main()
{
charaa[1000];
intbb[26],k,n;
clrscr();
printf("\nPleaseenteracharstring:");
scanf("%s",aa);
fun(aa,bb);
for(k=0;k<26;k++)
printf("%d",bb[k]);
printf("\n");
}
30.某學(xué)生的記錄由學(xué)號(hào)、8門課成績(jī)和平均分組成,學(xué)號(hào)和8門課的成績(jī)已在主函數(shù)中給出。請(qǐng)編寫fun()函數(shù),它的功能是:求出該學(xué)生的平均分放在記錄的ave成員中。請(qǐng)自己定義正確的形參。
例如,若學(xué)生的成績(jī)是85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應(yīng)當(dāng)是78.875。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
#defineN8
typedefstruct
{charnum[10];
doubles[N];
doubleave;
}STREC;
voidfun()
{
}
main()
{
STRECs={"GA005",85.5,76,69.5,85,91,72,64.5,87.5);
inti;
fun(&s);
printf("The%s'sstudentdata:\n",s.num)//*輸出學(xué)號(hào)*/
for(i=0;i<N;i++)
printf("%4.1f\n",s.s[i]);
/*輸出各科成績(jī)*/
printf("\nave=%7.3f\n",s.ave);
/*輸出平均分*/
}
31.請(qǐng)編寫函數(shù)fun,其功能是:計(jì)算并輸出3到n之間(含3和n)所有素?cái)?shù)的平方根之和。
例如,在主函數(shù)中從鍵盤給n輸入100后,輸出為:sum=148.874270。
注意:要求n的值大于2但不大于100。部分源程序在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
32.請(qǐng)編寫函數(shù)fun(),該函數(shù)的功能是:統(tǒng)計(jì)一行字符串中單詞的個(gè)數(shù),作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母組成,單詞之間有若干個(gè)空格隔開,一行的開始沒有空格。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#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);
}
33.請(qǐng)編寫函數(shù)fun,函數(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,4。
注意:部分源程序在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
34.請(qǐng)編寫函數(shù)fun(),它的功能是:求出1到1000之內(nèi)能被5或13整除、但不能同時(shí)被5和13整除的所有整數(shù)并將它們放在9所指的數(shù)組中,通過n返回這些數(shù)的個(gè)數(shù)。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
voidfun(int*a,int*n)
{
}
main()
{
intaa[1000],n,k;
clrscr();
fun(aa,an);
for(k=0;k<n;k++)
if((k+1)%10==0)
{
printf("%5d",aa[k]);
printf("\n");/*—行寫10個(gè)數(shù)*/
}
else
printf("%5d",aa[k]);
}
四、單選題(0題)35.下述程序的輸出結(jié)果是()。#include<stdio.h>main(){inti;for(i=1;i<=10;i++){if(i*i>=20)(i*i<=lOO))break;}printf("%d\n",i*i);}A.49B.36C.25D.64
五、單選題(0題)36.堆排序是一種()排序。
A.插入B.選擇C.交換D.歸并
六、單選題(0題)37.以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是A.x%2==1B.x/2C.x%2!=0D.x%2==0
參考答案
1.B指針是用來存放地址的變量,定義指針變量的形式為:類型名*指針變量名。賦值時(shí)應(yīng)將某個(gè)變量地址,如選項(xiàng)B中變量x的地址&x賦給指針變量。故本題答案為B選項(xiàng)。
2.C解析:外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動(dòng)存儲(chǔ)類別。
3.C
4.C對(duì)于double類型的實(shí)數(shù),可以在printf函數(shù)的格式化字符串中使用”n1.n2”的形式來指定輸出寬度(n1和n2分別代表一個(gè)整常數(shù))。其中n1指定輸出數(shù)據(jù)的寬度(包括小數(shù)點(diǎn)),n2指定小數(shù)點(diǎn)后小數(shù)位的位數(shù),n2也稱為精度。當(dāng)輸出數(shù)據(jù)的小數(shù)位多于n2位時(shí),截取右邊多余的小數(shù),并對(duì)截取部分的第1位小數(shù)做四舍五入處理;當(dāng)輸出數(shù)據(jù)的小數(shù)位少于n2時(shí),在小數(shù)的最右邊補(bǔ)0,使得輸出數(shù)據(jù)的小數(shù)部分寬度為n2;如果指定“n1.0”格式,則不輸出小數(shù)點(diǎn)和小數(shù)部分。題干中,%6.2f表示輸出6位寬度,2位小數(shù),所以被截取的小數(shù)位為0.006,進(jìn)行四舍五入,結(jié)果為123.46;%3.0f表示輸出3位寬度,0位小數(shù),結(jié)果為123。故本題答案為C選項(xiàng)。
5.B
6.B解析:p本身就是一個(gè)字符型指針變量,返回p也就是返回變量p中存放的地址值。
7.B解析:continue是結(jié)束本次循環(huán),直接進(jìn)入到下次循環(huán)中,break用于循環(huán)語句中的作用是直接跳出本層循環(huán),能從多層循環(huán)中退出的語句除了goto語句,exit,return等語句也能直接跳出多層循環(huán)。注意:continue和break語句在while語句中的作用。
8.D
9.B解析:指針變量p指向數(shù)組a的第5個(gè)元素,p[3]在原指向基礎(chǔ)上移3個(gè)單位,指針變量p將指向第8個(gè)元素(下標(biāo)為7的元素),值為7。
10.C
11.CC。R為n元關(guān)系,有P個(gè)元組S為m元關(guān)系,有q個(gè)元組。兩個(gè)關(guān)系笛卡兒積是一個(gè)n+m元的關(guān)系,元組個(gè)數(shù)是q×p。所以T的元組的個(gè)數(shù)為9個(gè)。
12.D比較兩個(gè)字符串大小用函數(shù)strcomp(S,t),空字符串有結(jié)束符,所以也要占用字節(jié),兩個(gè)雙引號(hào)表示的是空字符串。
13.數(shù)據(jù)模型數(shù)據(jù)模型
14.doublemax或externdoublemaxdoublemax或externdoublemax解析:本題中main()函數(shù)需要調(diào)用max()函數(shù),在main()之前就需要聲明函數(shù)max(),并且可以用extern說明符使變量的作用域擴(kuò)充到需要用到它的函數(shù),所以,填寫doublemax(或externdoublemax)。
15.1515解析:通過遞歸調(diào)用f函數(shù)實(shí)現(xiàn)了數(shù)組各元素之和,即a[4]+a[2]+a[1]+a[0]=15。
16.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實(shí)現(xiàn)過程是將相鄰兩個(gè)字符進(jìn)行比較,如果當(dāng)前字符小于下—個(gè)字符,則通過中間變量temp將字符兩兩交換,所以第一空應(yīng)填:str[i],第二空應(yīng)填:str[i+1]。最終打印輸出得到的字符串str,所以第三空應(yīng)填:'%s',str。
17.16
18.11
19.投影投影解析:在關(guān)系模型的數(shù)據(jù)語言中,一般除了運(yùn)用常規(guī)的集合運(yùn)算,(并、交,差、笛卡爾積等)外,還定義了一些專門的關(guān)系運(yùn)算,如投影、選擇、連接等。投影是從二維表的列方向上進(jìn)行的運(yùn)算。
20.無定值無定值解析:for(i=1;i<7;i++)決定了循環(huán)次數(shù)為6次,每次執(zhí)行的操作是sum+=i,但由于sum沒有初始化,并不知道sum的初值是多少,所以結(jié)果無定值。
21.1111000011110000解析:按位異或運(yùn)算的一個(gè)重要應(yīng)用是讓某個(gè)整型變量的二進(jìn)制位取反,0變成1,而1變成0。這只要設(shè)計(jì)這樣一個(gè)位串信息,讓要變反的位為1,不要改變的位為0,用這個(gè)位串信息與整型變量按位加就能得到希望的結(jié)果。要使字節(jié)的高4位取反,低4位不變,則需要位串信息是11110000。
22.靜態(tài)靜態(tài)解析:靜態(tài)測(cè)試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析,代碼質(zhì)量度量等。靜態(tài)測(cè)試不實(shí)際運(yùn)行軟件。
23.149161,4,9,16,解析:分析程序執(zhí)行過程,第1次循環(huán),k=1時(shí),此時(shí)s(1)=1*1=1,然后k的值加1;第2次循環(huán),k=2時(shí),s(2)=2*2=4,然后k的值加1;第3次循環(huán),k=3時(shí),s(3)=3*3=9,然后k的值加1;第4次循環(huán),k=4時(shí),s(4)=4*4=16,然后k的值加1;當(dāng)k=5時(shí),條件不滿足,退出循環(huán)。
24.ASCII碼ASCII碼解析:C語言中,字符也可以進(jìn)行比較運(yùn)算,并且是按照其ASCII碼值進(jìn)行的。
25.
解析:該程序功能是比較兩個(gè)字符串的長(zhǎng)度。解題過程是首先分別求得兩個(gè)字符串的長(zhǎng)度,然后對(duì)這兩個(gè)值進(jìn)行判斷,實(shí)現(xiàn)兩個(gè)字符串長(zhǎng)度的比較。
26.voidfun(char*ss){inti;for(i=0;ss[i]!='\0'i++)/*將ss所指字符串中所有下標(biāo)為偶數(shù)位置的字母轉(zhuǎn)換為小寫*/if(i%2==0&&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==0&&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)化的。
27.floatfun(float*aintn){floatav=0.0;inti;for(i=0;iav=av+a[i];/*求分?jǐn)?shù)的總和*/return(av/n);/*返回平均值*/}floatfun(float*a,intn)\r\n{\r\nfloatav=0.0;\r\ninti;\r\nfor(i=0;iav=av+a[i];/*求分?jǐn)?shù)的總和*/\r\nreturn(av/n);/*返回平均值*/\r\n}解析:我們先按數(shù)學(xué)的思路來計(jì)算平均分:總分除以人數(shù)即可得到平均分,其實(shí)用C語言的指針來實(shí)現(xiàn)該問題,也不難。當(dāng)指針變量指向一個(gè)數(shù)組時(shí),用該指針變量引用數(shù)組元素時(shí),引用方式與數(shù)組的引用方式相同。如本題中a指向了score,所以通過a引用score中的元素時(shí)可以用下標(biāo)法,也可以用指針運(yùn)算法,a[i]和*(a+i)具有相同的作用。下標(biāo)運(yùn)算實(shí)際上是從當(dāng)前地址開始往后取出地址中的第幾個(gè)元素,當(dāng)前地址下標(biāo)為0。例如:若有intcc[10],*P=cc+5;,即p指向了cc的第5號(hào)元素,則p[0]的作用是取出從當(dāng)前地址(即p所指地址)開始的第0號(hào)元素,它與cc[5]相同:p[3]的作用是取出從當(dāng)前地址(即p所指地址)開始往后的第3號(hào)元素,它與cc[8]相同:p[-2]的作用是取出從當(dāng)前地址開始往前的第2號(hào)元素,它與cc[3]相同,但不提倡使用“負(fù)”的F標(biāo)。
28.voidfun(intmint*aint*n){intij=0;for(i=1;i<=m;i++)if(i%7==0||i%11==0)/*求出1到m(含m)之內(nèi)能被7或11整除的所有整數(shù)放在數(shù)組a中*/a[j++]=i;*n=j;/*返回這些數(shù)的個(gè)數(shù)*/}voidfun(intm,int*a,int*n)\r\n{\r\ninti,j=0;\r\nfor(i=1;i<=m;i++)\r\nif(i%7==0||i%11==0)/*求出1到m(含m)之內(nèi)能被7或11整除的所有整數(shù)放在數(shù)組a中*/\r\na[j++]=i;\r\n*n=j;/*返回這些數(shù)的個(gè)數(shù)*/\r\n}解析:本題要找出能被7或11整除的所有整數(shù),注意數(shù)學(xué)中的“或”和C語言中的“或”的區(qū)別,但在此處,if條件語句中用了“||”運(yùn)算符,若要找能同時(shí)被7和11整除的所有整數(shù)則在if()中應(yīng)用“&&”運(yùn)算符。
29.voidfun(char*ttintpp[]){inti;fori=0;i<26;i++)pp[i]=0;/*初始化pp數(shù)組各元素為0*/for(;*tt!='\0';tt++)if(*tt>='a'&&*tt<='z')pp[*tt-'a']++;/*將tt字符串中'a'到'z'26個(gè)字母各自出現(xiàn)的次數(shù)依次放在pp數(shù)組中任一個(gè)小寫字母減去'a'后所得結(jié)果正好是它對(duì)應(yīng)的下標(biāo)*/}voidfun(char*tt,intpp[])\r\n{\r\ninti;\r\nfori=0;i<26;i++)\r\npp[i]=0;/*初始化pp數(shù)組各元素為0*/\r\nfor(;*tt!='\\0';tt++)\r\nif(*tt>='a'&&*tt<='z')\r\npp[*tt-'a']++;/*將tt字符串中'a'到'z'26個(gè)字母各自出現(xiàn)的次數(shù),依次放在pp數(shù)組中,任一個(gè)小寫字\r\n母減去'a'后所得結(jié)果正好是它對(duì)應(yīng)的下標(biāo)*/\r\n}解析:第1個(gè)循環(huán)的作用是初始化數(shù)組pp,未經(jīng)賦值變量的量為一個(gè)不確定數(shù)字。由于它要將'a'到'z'26個(gè)字母的個(gè)數(shù)依次放到數(shù)組pp中。即'a'的個(gè)數(shù)存于pp[0]中,'b'的個(gè)數(shù)存于pp[1]中,'c'的個(gè)數(shù)存于pp[2]中,…,依次類推。而'a'-'a'的值正好為0,'b'-'a'的值為1,'c'-'a'的值為2,…,依此類推。即任一個(gè)小寫字母減去'a'后所得結(jié)果正好是它對(duì)應(yīng)的下標(biāo),所以就有了pp[*tt-'a']++。但*tt必須是小寫字母即if()不應(yīng)省略。
30.voidfun(STREC*p){inti;p->ave=0.0;for(i=0;i<N;i++)p->ave=p->ave+p->s[i];/*求各門成績(jī)的總和*/p->ave=p->ave/N;/*求平均分*/}voidfun(STREC*p)\r\n{\r\ninti;\r\np->ave=0.0;\r\nfor(i=0;i<N;i++)\r\np->ave=p->ave+p->s[i];/*求各門成績(jī)的總和*/\r\np->ave=p->ave/N;/*求平均分*/\r\n}解析:本題考查自己定義形參的相關(guān)知識(shí)點(diǎn),程序流程是這樣的,在fun()函數(shù)中求出平均分后,返回到主函數(shù)時(shí)平均分也要帶回,所以只能定義一個(gè)指針類型的形參STREC*p,此時(shí),引用成員的方式可以是用指向運(yùn)算符即p->ave和p->s[i],當(dāng)然,也可用(*p).ave和(*p).s[i]。
31.
解析:函數(shù)fun的功能是計(jì)算并輸出3到n之間(含3和n)所有素?cái)?shù)的平方根之和,首先根據(jù)題干中的要求找出3到n之間的素?cái)?shù),并求出素?cái)?shù)的平方根,然后求得這些平方根的和。
32.intfun(char*s){intij=0;for(i=0;s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 火鍋店設(shè)計(jì)方案
- 溺水急救操作手冊(cè)
- 浙江嘉興市新韋進(jìn)出口有限公司招聘筆試題庫2025
- 2025年?duì)I養(yǎng)與健康科學(xué)基礎(chǔ)知識(shí)學(xué)習(xí)考試試卷及答案
- 2025年職業(yè)培訓(xùn)與認(rèn)證管理的考試試題及答案
- 2025年文物與博物館管理專業(yè)考試試卷及答案
- 2025年文案創(chuàng)作專業(yè)資格考試試卷及答案
- 2025年人工智能與道德倫理相關(guān)知識(shí)考試卷及答案
- 2025年市場(chǎng)營銷與品牌管理考研試卷及答案
- 2025年企業(yè)法律事務(wù)與合規(guī)管理考試卷及答案
- 地方低空經(jīng)濟(jì)平臺(tái)建設(shè)指南白皮書
- 心血管-腎臟-代謝綜合征患者的綜合管理中國專家共識(shí)2025解讀
- 婚慶合作入股協(xié)議書
- 學(xué)院“十五五”大學(xué)文化建設(shè)規(guī)劃
- 2025年陜西省西安市西咸新區(qū)中考二模語文試題(原卷版+解析版)
- 安全生產(chǎn)管理和培訓(xùn)制度
- 2025山東濟(jì)南先行投資集團(tuán)有限責(zé)任公司及權(quán)屬公司社會(huì)招聘169人筆試參考題庫附帶答案詳解
- 2024年高考化學(xué)試卷(山東)(解析卷)
- 2025新款上海勞動(dòng)合同樣本
- 2025中國工商銀行總行本部秋季校園招聘100人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 《濾泡狀甲狀腺癌》教學(xué)課件
評(píng)論
0/150
提交評(píng)論