c程序設(shè)計(jì)課后答案_第1頁(yè)
c程序設(shè)計(jì)課后答案_第2頁(yè)
c程序設(shè)計(jì)課后答案_第3頁(yè)
c程序設(shè)計(jì)課后答案_第4頁(yè)
c程序設(shè)計(jì)課后答案_第5頁(yè)
已閱讀5頁(yè),還剩191頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題

第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題

一.基本概念與基礎(chǔ)知識(shí)自測(cè)題

3.1程序閱讀題

3.1.1設(shè)有說(shuō)明:

inta=3,b=100;

下面的循環(huán)語(yǔ)句執(zhí)行(1)次,執(zhí)行后a、b的值分別為(2)、(3)0

while(b/a>5){if(b-a>25)

a++;elseb/=a;

)解答:本題檢查學(xué)生整除的概念。跟蹤:

abb/循環(huán)次數(shù)b-

oinna1

410022396

95

T

i85

84

(1)14

(2)17

(3)100

3.1.2設(shè)有說(shuō)明:

intn,x,k,y;

下面程序段的功能是備選答案中的(D,當(dāng)n=10,x=10打印結(jié)果是(2)

cin?x?n;

k=0;do{x/=2;k++;

}while(k<n);

y=l+x;k=0;do{y=y*y;

k++;

}while(k<n);

cout?y?endl;

備選答案:

A.y=q+B.y=X)C.y=")

xrn(1+空(1+JL

)n2n2nn

第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題2

解答:

第一個(gè)循環(huán)使x南;y成為:第一個(gè)循環(huán)使y成

為:x2n2:為:(1+

(1)B

考慮整除,一連除4次以后為零,所以:

x

2n

(2)1

3.1.3請(qǐng)看如下程序段:

if(num=l)cout?wAlpha”;

elseif(num==2)cout?wBata";

elseif(num==3)cout?wGamma”;

elsecout?wDelta";

當(dāng)num的值分別為1、2、3時(shí),上面程序段的輸出分別為(1)、

⑵、(3)o解答:

檢查條件語(yǔ)句與字符串輸出概念:

(1)Alpha

(2)Bata

(3)Gamma

3.1.4執(zhí)行下面程序段后,m和k的值分別為(1)、(2)o

intm,k;

for(k=l,m=0;k<=5

0;k++){if(m>=10)

break;

if(m%2==0){

m+=5;

continue;

)

m-=3;

解答:注意continue語(yǔ)句的使用

初值m=lk=

第1次循環(huán)后m=5k=

第2次循環(huán)1n=2k=

第3次循環(huán)1n=7k=

第4次循環(huán)1n=4k=

第5次循環(huán)m=9k=

第6次循環(huán)1n=6

第7次循環(huán)1n=11

(1)11

(2)6

二.編程與綜合練習(xí)題

3.2編程求一元二次方程ax2+bx+c=0的根。包括以下判斷和結(jié)果:

若輸入a=0,給出提示;

__________________第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題3

若△>(),輸出兩個(gè)不等實(shí)根;若△=(),輸出兩個(gè)相等實(shí)根;若A<0,

輸出兩個(gè)復(fù)數(shù)根。

解:本題以一個(gè)絕對(duì)值極小的數(shù)作為實(shí)數(shù)0。

#include<iostream.h>

#include<math.h>

^include<stdlib.h>

voidmain(){

doublea,b,c;

doubledelta,xl,x2;

constdoublezero=le-9;〃定義一個(gè)很小的常數(shù)

intsign;

cout<〈”輸入三個(gè)系數(shù)a(a!=0),b,c:z,?endl;

cin?a?b?c;

if(fabs(a)<zero){cout?”二次

項(xiàng)系數(shù)為0,方程根是-c/b〃;

exit(0);

}

cout?,,a=,/?a<<,\t?<<,,b=,,<<b?,\t*??,

c=z,?c?endl;de11a=b*b-4*a*c;

if(fabs(delta)〈zero){〃絕對(duì)值很小的數(shù)

即被認(rèn)為是0

cout?〃方程有兩個(gè)相同實(shí)根:〃;

cout?"xl=x2="〈<-b/(2*a)?endl;

)

else{

if(delta>0)

signal;

else

sign=0;

delta=sqrt(fabs(de

Ita));xl=-b/(2*a);

x2=delta/(2*a);

if(sign){cout<<〃方程有兩個(gè)不同實(shí)根:〃;

cout?,,xl=,/?xl+x2?,\tJ?*x2=,/?

xl-x2?endl;

)

else{//delta<0cout<<”方程無(wú)實(shí)根!有兩個(gè)不同復(fù)數(shù)

根:〃;

cout?,,xl=,/?xl?,/+i,,?x2?,\tJ?,,x2=,,?xl<<

/,-i,,?x2?endl;

3.3設(shè)計(jì)程序?qū)⑤斎氲陌俜种瞥煽?jī)轉(zhuǎn)換為五分制輸出,90分以上為5

分,80?89分為4分,

70?79分為3分,60?69分為2分,60分以

下為1分。解:10分一檔用10進(jìn)行整除獲

得,轉(zhuǎn)換用開關(guān)語(yǔ)句實(shí)行。

__________________第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題4

ttinclude<iostream.h>

voidmain(){

intmark,result;〃mark是百分制成績(jī),result是5分制

cout<<”請(qǐng)輸入百分制成績(jī):”《endl;

cin?mark;

if(mark<0){cout?,/

缺考!〃<<endl;

return;

}

switch

(mark/10){ca

se9:case10:

result=5;

cout<〈”輸出五分制成績(jī):"<<result<〈endl;

break;

case8:result=4;cout<〈”輸出五分

制成績(jī):"<<result〈〈endl;

break;

case7:result=3;cout?”輸出五分

制成績(jī):,,?result?endl;

break;

case6:result=2;cout<<“輸出五分

制成績(jī):“<Xresult〈〈endl;

break;

case5:case4:case3:case2:case

1:case0:result=l;cout<〈”輸

出五分制成績(jī):“<Xresult?endl;

break;

default:

cout?"輸入錯(cuò)誤!”"endl;

}

)

3.4編程打印如下圖形:

*

***

***

***

解:難點(diǎn)在三角形左邊的空格的控制,嵌套一個(gè)循環(huán)語(yǔ)句完成此任務(wù)。

__________________第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題5

ttinclude<iostream.h>

voidmain(){

inti,j;

for(i=l;i<=4;i++){

for(j=4-i;j>O;j—)〃三角形每行前部的空格

cout?,/

for(j=l;j<=2*i-l;j++)

cout?,/*";

cout?endl;

)

for(i=l;i<=3;i++)cout??,***\n”;

}

3.5編程輸出下列圖形,中間一行英文字母由輸入得到。

A

BBB

CCCCC

DDDDDDD

CCCCC

BBB

A

解:分上三角和下三角兩部分分別處理左邊的空格。

#include<iostream.h>

void

mainO

{char

in;

int

i,j;

do{

cout<<“輸入一個(gè)字母:”;

cin?in;

if((in>=97)&&(in<=122))in-=32;〃小寫改大寫

}while((in<65)||(in>90));

intline=in,A';

for

(i=0;i<=line;i++){//_t

三角

for(j=line-i;j>0;j一)

cout?〃〃前方空格

for(j=l;j<=2*i+l;j++)

cout?,'〈〈char(i+'A');

cout?endl;

}

for(i=line;i>0;i一){〃下三角(少一行)

for(j=0;j<=line-i;j++)

cout<<”

for(j=l;j<=2*i-l;j++)

cout?,'<<char(iT+'A');

__________________第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題6

cout?endl;

3.6輸入n,求1!+2!+3!+…+n!

解:通常求和作為外循環(huán),階乘作為內(nèi)循環(huán)。這里考慮到:

n!=n*(n-l)!,利用遞推法運(yùn)算速度大大提高,同時(shí)兩者可合并為一

個(gè)循環(huán)。本程序考慮了輸入的健壯性。

ttinclude<iostream.h>

#include<stdlib.h>

voidmain(){

intn;

doubleresult=0;"result是結(jié)果

cin?n;

if(n<l)

(

cout<<“輸入錯(cuò)誤!"<Xendl;

//return;

exit(0);

}

result=l;

for(inti=2,jch=l;i<=n;i++)

(

jch*=i;〃jch是i的階乘,注意n!=n*(nT)!這樣可少一層循

環(huán)

result+=jch;

)

cout?result?endl;

)

3.7猴子吃桃問(wèn)題:猴子摘下若干個(gè)桃子,第一天吃了桃子的一半多

一個(gè),以后每天吃了前

一天剩下的一半多一個(gè),到第十天吃以前發(fā)現(xiàn)只剩下一個(gè)桃子,問(wèn)

猴子共摘了幾個(gè)桃子。解:采用遞推法。從最后一天逆推到第一天,

9次循環(huán)。

4include<iostream.h>

constintday=10;

voidmain(){

inti,x=l;〃最后一天只有一個(gè)

for(i=l;i<day;i++)//從一天前推到九天前

x=(x+l)*2;

cout?〃開始共有桃子〃。x<<〃個(gè)。\n〃;

3.8從鍵盤輸入一組非0整數(shù),以輸入0標(biāo)志結(jié)束,求這組整數(shù)的

平均值,并統(tǒng)計(jì)其中的個(gè)數(shù)。解:將這組整數(shù)放在整型數(shù)組中,一

邊輸入一邊求和及統(tǒng)計(jì)正數(shù)和負(fù)數(shù)的個(gè)數(shù),平均數(shù)由和除以整數(shù)數(shù)

量取得。

__________________第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題7

ttinclude<fstream.h>

^include<iostream.h>

voidmain(){

intstem[256],sum=0,pnum=0,nnum=0,i=0;

cout<<〃從鍵盤輸入一組非0整數(shù),以輸入0標(biāo)志

結(jié)束:"<<endl;cin?stem[i];

while(stem[i]!=0){sum+=st

em[i];〃求和

if(stem[i]>0)pnum++;//

正數(shù)數(shù)量elsennum++;//

負(fù)數(shù)數(shù)量

i++

cin?stem[i];

}

if(!i)cout<<"0個(gè)數(shù)"<<endl;

else{cout〈<”平均值=

,z?(double)sum/(pnum+nnum)<<endl;〃平均值習(xí)慣不用整

數(shù)(3011M〈”正數(shù)個(gè)數(shù)="<51111111〈〈611(11;

COUt<<“負(fù)數(shù)個(gè)數(shù)="?111111111<111(1].;

}

3.9編程找出1?500之中滿足除以3余2,除以5余3,除以7余2的

整數(shù)。

解:中國(guó)古代數(shù)學(xué)問(wèn)題(韓信點(diǎn)兵)采用窮舉法。注意三個(gè)條件同時(shí)

成立用

#include<iostream.h>

voidmain(){inti;

for(i=l;i<=500

;i++)

if((i%3==2)&&(i%5==3)&&(i%7==2))

cout?i?endl;

)

3.10編程求1000之內(nèi)的所有完全數(shù)。所謂完全數(shù)指的是一個(gè)數(shù)恰

好等于它的所有因子和。例如6=1+2+3,就是一個(gè)完全數(shù)。

解:采用窮舉法。兩重循環(huán),外層是從1至!J999依次處理,內(nèi)層是求

該數(shù)的所有因子的和,并判斷是否等于該數(shù)。

#include<iostream.h>

voidmainO{

inti,a,sum_yz;〃sum_yz是

a的因子和

for(a=l;a<1000;

a++){sum_yz

=0;

for(i=l;i<a;

i++)

if(a%i==O)sum_yz+=i;

if(a==sum_yz)

cout?a?endl;

)

__________________第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題8

)

3.11將100元換成用10元、5元和1元的組合,共

有多少種組合方法。解:采用窮舉法。考慮10元最多

10張,5元最多20張,余下是1元。

#include<iostream.h>

voidmain(){

for(inti=0,j,k,count=0;i<=10;i++)〃i是10元張數(shù),j是5元張

數(shù),k是1元張數(shù)

for(j=0;j<=20;

j++){k=100

-10*i-5*j;

if(k>=0){

cout?i?,\tJ?j?,\tJ?k?endl;

count++;

)

)

cout?count?endl;

)

3.12利用反正切展開計(jì)算無(wú)的近似值,要求誤差10-5,公式如下:

351rf

arctg(x)含氣彳+-+L

令x=l,可計(jì)算出n/4的近似值。解:采用遞推法。初看每一項(xiàng)的遞

推通式不易寫出,但每一項(xiàng)全看作奇數(shù)項(xiàng),而偶數(shù)項(xiàng)全為零,則很容

易寫出:第1項(xiàng)為x,第3項(xiàng)為第1項(xiàng)乘以x的平方除以項(xiàng)序號(hào)3乘

以-1,其余類推。同時(shí)和的誤差小于最后一項(xiàng)的絕對(duì)值。

#include<iostream.h>

#include<math.h>

constdoublee=le-6;

voidmainO{

doublex,a,sum;inti=3;

cout<<〃請(qǐng)輸入弧度值:

“<<endl;cin?x;

a=x;

sum=

x;

do{

a*=x*x*(-

1);

sum+=a/i;

i+=2;

}while(fabs(a/i)>e);

cout?z,arctg(,,?x?/,)=,,?sum?endl;

__________________第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題9

3.13用迭代法求方程x2+10cosx=0的根,誤差限為10-5。迭代公式

如下:

_x//0(\sirfex+cosT)

771

2-10sinxn

xn

解:迭代法也是用循環(huán)語(yǔ)句實(shí)現(xiàn),數(shù)學(xué)上

#include<iostream.h>

#include<math.h

>constdouble

e=le-5;void

main(){

floatxO,xl;intn=0;

cout?”輸入初始近似值:

/,?endl;cin?xl;

do{

x0=xl;

xl=(x0*x0-10*(x0*sin(xO)+cos(xO)))/(2*x0-10*sin(xO));

〃x0是上次算出的結(jié)果,xl用作保存新

算出的結(jié)果

n++;

}while((fabs(xl-x0)>e)&&(n<=le5));

if(n>le5)

COUt<<“超出迭代165次\11”;

elsecout<<"方程x*x+10*cos(x)=0的一個(gè)根為:"<<xl〈<endl;

cout<<”方程誤差為:"z?xl*xl+10*cos(xl)?endl;

3.14兩隊(duì)選手每隊(duì)5人進(jìn)行一對(duì)一的比賽,甲隊(duì)為A、B、C、D、E,

乙隊(duì)為J、K、L、M、

N,經(jīng)過(guò)抽簽決定比賽配對(duì)名單。規(guī)定A不和J比賽,M不和D及E

比賽。列出所有可能的比賽名單。

解:這是一個(gè)組合問(wèn)題,使用窮舉法。共有5個(gè)位置,設(shè)甲隊(duì)5名隊(duì)

員位置不變,乙隊(duì)改變隊(duì)員位置,進(jìn)行配對(duì)。注意第1個(gè)位置可在5

個(gè)隊(duì)員中任選一個(gè),以后的位置必須扣除已選過(guò)的隊(duì)員。并扣除不能

配對(duì)的情況,即得所有可能的比賽名單。

#include<iostre

am.h>

void

mainO{

char

stl[5]={'A','B','C','D','E'},st2[5]={'J','K','L','M','N'}

inti=0,j,k,1,m,n;

for(j=0;j〈5;j++){〃0號(hào)位

if(j==0)continue;〃A不與J比賽,即stl[O]

不與st2[0]比賽

for(k=0;k<5;k++){//I

號(hào)位if(k==j)

continue;

for(l=0;K5;l++){/

/2號(hào)位

if(l==j||l==k)continue;

for(m=0;m<5;m++){〃3號(hào)位

if(m-j||m==k||m-l)

continue;

__________________第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題10

if(m==3)—11€——;〃乂不與口比賽,即st1[3]不與

st2[3]比賽

for(n=0;n<5;n++){//4號(hào)位

if(n—3)continue;〃乂不與E比賽,即stl[4]不與

st2[3]比賽

if(n==j||n==k||n==l||n=m)continue;

cout?stl[OKr-?st2[j]?\tJ?stl[1]<

<st2[k]?,\t*;

cout?stl⑵《'-?st2[1]?'\t'<<stl[3]<〈'-Y

<st2[m]?,\t?;

cout?stl[4]?,?st2[n]?endl;

i++;

}

}

)

)

)

cout?i?endl;

}

3.15編程模擬選舉過(guò)程。假定四位候選人:zhang、wang、li>zhao,

代號(hào)分身"為1、2、3、

4O選舉人直接鍵入候選人代號(hào),1?4之外的整數(shù)視為棄權(quán)票,-1為

終止標(biāo)志。打印各位候選人的得票以及當(dāng)選者(得票數(shù)超過(guò)選票總

數(shù)一半)名單。

解:用5個(gè)元藁的整型數(shù)組,分別放棄權(quán)票和各候選人的得票,然后

用開關(guān)語(yǔ)句打印。

#include<iostream.h>

#include<iomanip.h>

voidmainO{

enumcandidate{feipiao,zhang,wang,li,zhao}cand;

intvote[5]={0},i,k=0,n;

cin?n;

while(n!=-l){

k++;

if(n>=l&&n<=4)vote[n]++;

elsevote[0]++;

cin?n;

)

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

{cand=(candi

date)i;

switch(cand){

casefeipiao:

cout?setw(10)?,,feipiao,,?,\tf?vote[cand]?endl;b

reak;

casezhang:cout?setw(10)?z,zhang,,?,\t'<<vote[cand];

if(vote[cand]>k/2)cout?,/當(dāng)選"<<endl;

elsecout?endl;

break;

casewang:cout?setw(10)?z,wang,,?,\t'?vote[cand];

if(vote[cand]>k/2)cout??,當(dāng)選"<<endl;

__________________第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題11

elsecout?endl;

break;

case

li:cout?setw(10)?z,li,,<<,\t)?v

ote[cand];if(vote[cand]>k/2)

cout?/,當(dāng)選”《endl;

elsecout?endl;

break;

casezhao:cout?setw(10)?/,zhao,/?,\t'?vote[cand];

if(vote[cand]>k/2)cout?z,當(dāng)選"<<endl;

elsecout?endl;

break;

)

)

}

3.16改造【例3.11】將運(yùn)行結(jié)果(Fibonacii數(shù)列的前20項(xiàng))存

入文件。

解:采用3步法。首先建立或打開一個(gè)輸出文件,并與磁盤文件聯(lián)系:

ofstreamofileCmyfile3_16.txt");再按一,

定格式存入數(shù)據(jù):

ofile<<setw(15)<<fib0<<setw(15)<<fibl;等然后

關(guān)閉文件:ofile.close();如要讀出數(shù)據(jù),則用輸入

文件打開,并與同一磁盤文件聯(lián)系:

ifstreamifile(/,myfile3_16.txt");

再按同一格式讀入數(shù)據(jù):

等,并輸出最后關(guān)閉

文件:file,close。;

#include<fstream.h>

#include<iomanip.h>

constintm=20;

voidmain(){

intfibO=O,fibl=l,fib2,i,j,k,1;

charch,a[256];

ofstream

ofile(,,myfile3_16.txt");

ofile?setw(15X<fibO?setw(

15)?fibl;for(int

n=3;n<=m;n++){

fib2=fib0+fibl;

ofile?setw(15)?fib2;

if(n%5==0)ofile?endl;〃控制每行5個(gè)

數(shù)據(jù)

fibO=fibl;fibl=fib2;

}ofile.close();cout<<“是否

要將文件輸出?丫或N〃"endl;

cin?ch;

if(ch-5y,||ch==,Y'){

ifstrearnifile(,,myfile3_16.txt");

while(1){

由文件讀入

__________________第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題12

if(ifile.eof()!=0)break;

cout?setw(15)?i?setw(15)?j?setw(15)?k?setw(

15)?l?endl;

〃屏幕顯示

}

ifile.close();

)

}

3.17改造【例3.16】將運(yùn)行結(jié)果(100以內(nèi)素?cái)?shù))存入文件。

解:采用4步法。首先定義一個(gè)輸出文件:ofstream

ofile;再打開該文件并與并與磁盤文件聯(lián)系:

ofile.open("myfile3_17.txt");按一定格式把數(shù)據(jù)

存入文件。最后關(guān)閉文件。效果與3步法相同。讀文

件同樣可用3步法或4步法。

#include<fstream.h>

#include<iomanip.h>

#include<mat

h.h>const

intn=100;

voidmain(){

inta[n],i,j;

char

ch,b[256];

ofstream

ofile;

ifstream

ifile;

for(i=0;i<n;i++)a[i]=l+i;〃用數(shù)組保存整數(shù)

1-100a[0]=0;〃1不是素?cái)?shù),置0

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

if(a[i]==0)continue;〃該數(shù)已經(jīng)置0,判

斷下一個(gè)數(shù)

for(j=i+l;j<n;j++)if(a[j]%a[i]==0)a[j]=0;〃是a[i]倍

數(shù)的元素置0;

)

ofile.open(,,myfile3_17

.txt");intcount=0;

0"16?"1-"〈〈11〈〈”之間的素?cái)?shù):z,?endl;

for(i=0;i<n;i++)〃輸出所有素?cái)?shù)

if(a[i]!=0){ofile<

<setw(6)?a[i];

count++;

if(count%10==0)ofile?endl;〃每行10個(gè)數(shù)

據(jù)

}ofile.close();cout<<,/

是否要將文件輸出?丫或

N,,?endl;cin?ch;

if(ch-5y'||ch=='Y'){if

ile.open(,,myfile3_17.t

xt〃);i=0;

while(ifile.get(b[i])){〃不可用》,它不能讀白字符,

__________________第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題13

if(b[i]=='\n')break;

i++;

)

b[i]='\0';

cout?b?e

ndl;

count=0;

while(1){

ifile?i;〃由文件讀

cout?setw(6)?i;//

屏幕顯示count++;

if(courrt%10==0)cout?endl;//每行10個(gè)數(shù)

if(ifile.eof()!=0)break;

〃這里與例3.20不同,最后一個(gè)數(shù)據(jù)后面可能沒(méi)有回車,直接

為文件結(jié)束

ifile.clos

e();

cout?endl

3.18改造【例3.10】文本由文本文件輸入。

解:文本文件讀入要用成員函數(shù):ifile.get(),而不可用插入運(yùn)

算符否則會(huì)丟失空白字符。

#include<fstream.h>

voidmain(){

char

ch;

int

nline=0,nword=0,nch

=0;

int

isword=0;

ifstream

ifile("ep3_18.cpp");

cout?,/讀入

ep3_18.cpp,,?endl;do{

ch=ifile.get();

if(ch=='\n)nline++;//

遇換行符行數(shù)+1if(ch!='

'&&ch!='\t'&&ch!=>\n&&ch!=EOF){〃讀到非間

隔符

if(!isword)nword++;〃在單詞的

起始處給單詞數(shù)+1nch++;〃字符數(shù)加+1

isword=l;

)

elseisword=0;〃讀到間隔符

}while(ch!=EOF);〃讀到文本結(jié)束符為止

ifile.close();cout?,/

行數(shù):z,?nline?endl;

cout<<”單詞數(shù):

,,?nword?endl;cout?,?

字符數(shù):"<<nch?endl;

第二章基本控制結(jié)構(gòu)程序設(shè)計(jì)習(xí)題14

______________________第四章類與對(duì)象習(xí)題_______________1

第四章類與對(duì)象習(xí)題

一.基本概念與基礎(chǔ)知識(shí)自測(cè)題

4.1填空題

5.1.1引入類定義的關(guān)鍵字是(Do類

的成員函數(shù)通常指定為(2),類的數(shù)據(jù)成員通常指定

為(3)o指定為(4)的類

成員可以在類對(duì)象所在域中的任何位置訪問(wèn)它們。通常用類的一

(5)成員表示類的屬性,用類的(61成員表

示類的操作。

答案:

(1)class

(2)公有的public

(3)相有的private

(4)公看的public

(5)數(shù)據(jù)

(6)函數(shù)

4.1.2類的訪問(wèn)限定符包括(1)、(2)

和⑶。私有數(shù)據(jù)通常由

(4)函數(shù)來(lái)訪

問(wèn)(讀和寫I這些函數(shù)統(tǒng)稱為(5)

o答案:

(1)public(公有的)

(2)private(私有的)

(3)protected(葆護(hù)的)

(4)公有的成員函數(shù)

(5)類的接口

4.1.3通常在邏輯上,同一類的每個(gè)對(duì)象都有(1)

代碼區(qū),用以存儲(chǔ)成員函數(shù)。而在物理上通常只有(2)

代碼區(qū)。只有在(在定義,并(4)

的函數(shù)和加了關(guān)鍵字(5)的函數(shù)例外。

答案:

(1)獨(dú)立的

(2)共用的

(3)在類說(shuō)明中

(4)不包括循環(huán)等復(fù)雜結(jié)構(gòu)

(5)inline

4.1.4C++中支持三種域:⑴、⑵

、(3)o函數(shù)域被包括在

⑷中,全局域被包括在(全中。using指示符以關(guān)

鍵字using開頭,后面是關(guān)鍵字(6),最后是(7)。這樣表

示以后在該名字空間中所有成員都_______________________(8).

o如不使用using指示符則在使用時(shí)要加::,稱為

(9)運(yùn)算符。答案:

(1)局部域(localscope)

(2)名孚空間域(namespacescope)

(3)類域(classscope)

(4)局部域

(5)名字空間域

(6)namespace

(7)名字空間名

______________________第四章類與對(duì)象習(xí)題_______________2

(8)可以直接被使用

(9)域

4.1.5引用通常用作函數(shù)的(1)和(2)。對(duì)數(shù)組只能引用(3)

不能引用⑷。答案:

(1)參數(shù)

(2)返回值

(3)數(shù)組元素

(4)數(shù)組名本身

4.1.6構(gòu)造函數(shù)的任務(wù)是(1)構(gòu)造函數(shù)無(wú)

(2)。類中可以有⑶個(gè)構(gòu)

造函數(shù),它們由(4)區(qū)分。如果類說(shuō)明中沒(méi)有給出構(gòu)造函

數(shù),貝UC++編譯器會(huì)(5)??截悩?gòu)造函數(shù)的參

數(shù)是(6),當(dāng)程序沒(méi)有給出復(fù)制構(gòu)造函數(shù)時(shí),系統(tǒng)會(huì)自動(dòng)

提供(7)支持,這樣的復(fù)制構(gòu)造函數(shù)中每個(gè)類成

員(8)

(1)初始化數(shù)據(jù)成員

(2)函數(shù)返回類型說(shuō)明

(3)多

(4)不同的參數(shù)表

(5)自動(dòng)給出一個(gè)默認(rèn)的構(gòu)造函數(shù)

(6)同一類對(duì)象的引用

(7)默認(rèn)的的復(fù)制構(gòu)造函,稱為默認(rèn)的按成員語(yǔ)義支持。

(8)被依次復(fù)制

4.1.7一個(gè)類有(1)個(gè)析構(gòu)函數(shù)。⑵

―時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用析構(gòu)函數(shù)。答案:

(1)一

(2)對(duì)象注銷時(shí)

4.1.8運(yùn)算符重載時(shí),其函數(shù)名由(1)構(gòu)成。成員函數(shù)重

載雙目運(yùn)算符時(shí),左操作數(shù)是⑵,右操作數(shù)是—

(3)

答案:

(1)'關(guān)鍵字operator和該運(yùn)算符

(2)對(duì)象

(3)該函數(shù)的參數(shù)

4.1.9面向過(guò)程的程序設(shè)計(jì)中程序模型描述為(1),面向?qū)ο?/p>

程序設(shè)計(jì)的程序模型可描述為(2)。

答案:

(1)“程序=算法+數(shù)據(jù)結(jié)構(gòu)?其數(shù)據(jù)與數(shù)據(jù)處理是分離的。

(2)程序=(對(duì)象+對(duì)象+……+對(duì)象)+消息;對(duì)象=(算法+數(shù)據(jù)結(jié)構(gòu)I

面向?qū)ο笤O(shè)計(jì)將數(shù)據(jù)和對(duì)數(shù)據(jù)的操作方法放在一起,形成一個(gè)相

對(duì)獨(dú)立的整體——對(duì)象(Object)并通過(guò)簡(jiǎn)單的接口與外部聯(lián)

系。對(duì)象之間通過(guò)消息(Message)進(jìn)行通訊。

4.2簡(jiǎn)答題

4.2.1簡(jiǎn)單解釋什么是面向?qū)ο蟪绦蛟O(shè)計(jì)的封裝性。

答:對(duì)象是一個(gè)封裝體,在其中封裝了該對(duì)象所具有的屬性和操作。

對(duì)象作為獨(dú)立的基本單元,實(shí)現(xiàn)了將數(shù)據(jù)和數(shù)據(jù)處理相結(jié)合的思想。

此外,封裝特性還體現(xiàn)在可以限制對(duì)象中數(shù)據(jù)

________________________第四章類與對(duì)象習(xí)題________________3

和操作的訪問(wèn)權(quán)限,從而將屬性“隱藏”在對(duì)象內(nèi)部,對(duì)外只呈現(xiàn)一定的外部特性和功

能。

。封裝性增加了對(duì)象的獨(dú)立性,C++通過(guò)建立數(shù)據(jù)類型——類,來(lái)支持封裝和數(shù)據(jù)隱藏。

一個(gè)定義完好的類一旦建立,就可看成完全的封裝體,作為一個(gè)整體單元使用,用戶不需

要知道這個(gè)類是如何工作的,而只需要知道如何使用就行。另一方面,封裝增加了數(shù)據(jù)

的可靠性,保護(hù)類中的數(shù)據(jù)不被類以外的程序隨意使用這兩個(gè)優(yōu)點(diǎn)十分有利于程序的調(diào)

試和維護(hù)。

4.2.2C++編譯器怎樣對(duì)標(biāo)識(shí)符進(jìn)行解析?答:編譯器對(duì)標(biāo)識(shí)符的解析分兩步,第一步查

找在聲明中用到的標(biāo)識(shí)符,特別是函數(shù)成員聲明中用到的參數(shù)類型,第二步是函數(shù)成員

體內(nèi)的標(biāo)識(shí)符。

4.2.3為什么說(shuō)類與對(duì)象的概念是客觀世界的反映?答:客觀世界的事物都具有某些屬

性和行為(或操作)具有相同屬性和行為的事物可以歸屬于一類,用分類的方法可以

提高認(rèn)識(shí)事物的效率。C++中定義的類則是通過(guò)抽象的方法將某一類事物共有的靜態(tài)特

征(屬性)和動(dòng)態(tài)特征(行為)概括出來(lái)并加以描述,而對(duì)象是類的具體實(shí)現(xiàn),所以說(shuō)

類與對(duì)象的概念是客觀世界的反映。

4.2.4什么叫類域?為什么說(shuō)類域是抽象的?答:類域是類體所包括的范圍。每個(gè)類定

義都引入了一個(gè)獨(dú)立的類域,在類域中說(shuō)明的標(biāo)識(shí)符僅在該類的類域中有效。由于類只

是一個(gè)說(shuō)明,看上去有數(shù)據(jù),有函數(shù),有類型定義,但是它并非實(shí)體,不分配內(nèi)存,當(dāng)

然也不能運(yùn)行。所以說(shuō)類域是抽象的。

4.2.5引用作為函數(shù)參數(shù)時(shí)為什么能實(shí)現(xiàn)兩個(gè)實(shí)參之間的數(shù)據(jù)交換?為什么對(duì)應(yīng)實(shí)參

不能為引用?為什么返回值為引用的函數(shù)可以作為左值?答:引用變量是其關(guān)聯(lián)變量

的別名,二者在內(nèi)存中占據(jù)同一個(gè)存儲(chǔ)單元。在一個(gè)以引用作為參數(shù)的函數(shù)中,交換兩個(gè)

參數(shù)的值,實(shí)際上就是交換兩個(gè)實(shí)參的值。如果函數(shù)的參數(shù)是引用,調(diào)用時(shí)需要取得實(shí)參

的地址,而實(shí)參如果已經(jīng)是一個(gè)地址,再進(jìn)行引用將產(chǎn)生錯(cuò)誤,故對(duì)應(yīng)實(shí)參不能為引用。

函數(shù)返回引用實(shí)際是指明(返回)了相應(yīng)的關(guān)聯(lián)變量,所以聲明返回值為引用的函數(shù)實(shí)

際上是將關(guān)聯(lián)變量作為左值參與運(yùn)算。

4.2.6什么是缺省的構(gòu)造函數(shù)?缺省的構(gòu)造函數(shù)最多可以有多少個(gè)?答:如果在類定義

中不顯式地定義構(gòu)造函數(shù),C++編譯器會(huì)自動(dòng)產(chǎn)生一個(gè)缺省的構(gòu)造函數(shù),不過(guò)該函數(shù)不

做具體的初始化工作。只要構(gòu)造函數(shù)是無(wú)參的或者只要各參數(shù)均有缺省值的,C++編譯

器都認(rèn)為是缺省的構(gòu)造函數(shù)。缺省的構(gòu)造函數(shù)只能有一個(gè)。

4.2.7拷貝構(gòu)造函數(shù)用于哪三個(gè)方面?答:

(1)用類的一個(gè)對(duì)象去初始化該類的另一個(gè)對(duì)象時(shí)使用。

(2)當(dāng)函數(shù)的形參是類的對(duì)象,調(diào)用函數(shù)時(shí),進(jìn)行形參與實(shí)參結(jié)合時(shí)使用。

(3)當(dāng)函數(shù)的返回值是類對(duì)象,函數(shù)執(zhí)行結(jié)束返回調(diào)用者時(shí)使用。

4.2.8寫出含有對(duì)象成員的類的構(gòu)造函數(shù)的格式,并做簡(jiǎn)單說(shuō)明。答:C++中對(duì)含對(duì)象

成員的類對(duì)象的構(gòu)造函數(shù)有固定的格式:類名::構(gòu)造函數(shù)名(參數(shù)總表):對(duì)象成員1(參

數(shù)名表1),對(duì)象成員2(參數(shù)名表2),……對(duì)象成

______________________第四章類與對(duì)象習(xí)題_______________4

員n(參數(shù)名表

n){……}

冒號(hào)后用逗號(hào)隔開的是要初始化的對(duì)象成員,附在后面的參數(shù)名表

1,…,參數(shù)名表n依次為調(diào)用相應(yīng)對(duì)象成員所屬的構(gòu)造函數(shù)時(shí)的實(shí)

參表。這些表中的參數(shù)通常來(lái)自冒號(hào)前的參數(shù)總表,但沒(méi)有類型名。

4.2.9所有類對(duì)象未重載的賦值運(yùn)算符“=”是怎樣工作的?為什么

它可以進(jìn)行連續(xù)賦值?答:對(duì)所有的類對(duì)象,未重載的賦值運(yùn)算符

“=”稱作缺省的按成員拷貝賦值操作符,同類對(duì)象之間可以用

“=”直接拷貝。因?yàn)槿笔〉馁x值操作返回一個(gè)對(duì)象的引用,所以它

可以進(jìn)行連續(xù)賦值。

4.2.10為什么在友元函數(shù)的函數(shù)體內(nèi)訪問(wèn)對(duì)象成員時(shí),必須用對(duì)象

名加運(yùn)算符再加對(duì)象成員名?答:友元函數(shù)不是類的成員函數(shù),

在函數(shù)體中訪問(wèn)對(duì)象的成員,必須用對(duì)象名加運(yùn)算符”加對(duì)象成

員名。這一點(diǎn)和一般函數(shù)一樣。

4.2.11重載復(fù)數(shù)運(yùn)算符+時(shí),采用下面友元函數(shù)聲

明:friendComplexoperator+(Complex

&cl,Complex&c2);為什么不能用于“實(shí)數(shù)+復(fù)

數(shù)”?怎樣改進(jìn)才能適用?為什么?

答:使用引用類型變量作為運(yùn)算符重載函數(shù)的參數(shù),身為左值的實(shí)數(shù)

類型實(shí)參不能被轉(zhuǎn)換為復(fù)數(shù),編譯時(shí)無(wú)法通過(guò)。添加const說(shuō)明,

使實(shí)數(shù)到復(fù)數(shù)的轉(zhuǎn)換隱式地在一份拷貝上進(jìn)行,則可以實(shí)現(xiàn)“實(shí)數(shù)+

復(fù)數(shù)”運(yùn)算。修改后的說(shuō)明為:

friendComplexoperator+(constComplex&cl,constComplex

&c2);

4.2.12類的靜態(tài)數(shù)據(jù)成員與函數(shù)中的靜態(tài)成員有何異同?答:類的

靜態(tài)成員為其所有對(duì)象共享,不管有多少對(duì)象,靜態(tài)成員只有一份存于

公用內(nèi)存中,為該類所有對(duì)象公用。函數(shù)中的靜態(tài)變量也位于公用內(nèi)

存中,不隨函數(shù)調(diào)用而重新分配,所以總是保留上次進(jìn)入并執(zhí)行該函

數(shù)后留下的信息。

4.2.13C++中結(jié)構(gòu)、聯(lián)合與類三者間

有何異同?

答:在C++中結(jié)構(gòu)(structure)與類幾乎是完全一樣的類型,差別僅

僅在于缺省情況下結(jié)構(gòu)的成員為公有的。聯(lián)合(union)是C++的導(dǎo)

出數(shù)據(jù)類型,在語(yǔ)法與功能上類似于結(jié)構(gòu),二者的區(qū)別是:結(jié)構(gòu)變量

的各成員同時(shí)被分配了各自獨(dú)立的內(nèi)存區(qū),而聯(lián)合變量的各個(gè)成員的

存儲(chǔ)開始地址都相同,所以在任一時(shí)刻聯(lián)合變量只能存儲(chǔ)一個(gè)成員。

4.2.14對(duì)象的第一特征是封裝,那么由對(duì)象組成的面向?qū)ο蟮某绦?/p>

怎樣建立各對(duì)象之間的有效聯(lián)系?面向?qū)ο蟪绦虻慕M織與面向過(guò)程

有什么不同?答:因?yàn)閷?duì)象的操作主要用來(lái)響應(yīng)外來(lái)消息并為其他

對(duì)象提供服務(wù),所以面向?qū)ο蟮某绦蚶孟鬟f機(jī)制來(lái)建立各對(duì)

象之間的有效聯(lián)系,協(xié)調(diào)各對(duì)象的運(yùn)行。一個(gè)對(duì)象可以向其他對(duì)象發(fā)

送消息以請(qǐng)求服務(wù),也可以響應(yīng)其他對(duì)象傳來(lái)的消息,完成自身固有

的某些操作,從而服務(wù)于其他對(duì)象。

面向過(guò)程的程序是模塊化的,模塊的組織具有分層結(jié)構(gòu)特點(diǎn),層與

層之間是調(diào)用關(guān)系。

面向?qū)ο蟪绦蚴怯梢粋€(gè)個(gè)封裝的對(duì)象組成,而對(duì)象是由緊密結(jié)合在一

起的算法和數(shù)據(jù)結(jié)構(gòu)組成。對(duì)象之間是相互請(qǐng)求和相互協(xié)作的關(guān)系。

________________________第四章類與對(duì)象習(xí)題________________5

4.2.15簡(jiǎn)敘Windows下應(yīng)用程序的運(yùn)行方式。

答:Windows系統(tǒng)支持多個(gè)應(yīng)用程序同時(shí)執(zhí)行,在界面形式上,它支

持多個(gè)窗口同時(shí)活動(dòng)。它的運(yùn)行機(jī)制是“消息傳遞和事件驅(qū)動(dòng)

(messagebasedandeventdriven〉。

Windows系統(tǒng)使用事件驅(qū)動(dòng)的編程模式。所謂事件的含義非常廣

泛。輸入設(shè)備的動(dòng)作,如敲打鍵盤、按鼠標(biāo)等會(huì)產(chǎn)生一系列的事件(注

意不是一個(gè)事件'操作系統(tǒng)所作的一舉一動(dòng)也被當(dāng)作某種類型的事

件,應(yīng)用程序也會(huì)產(chǎn)生各種事件。事件用來(lái)標(biāo)識(shí)發(fā)生的某件事情。

Windows系統(tǒng)對(duì)于應(yīng)用程序環(huán)境中發(fā)生的每一個(gè)事件都會(huì)以對(duì)

應(yīng)的某種消息的形式標(biāo)識(shí),并放入相應(yīng)的Windows建立的消息隊(duì)列

中,然后由對(duì)應(yīng)的應(yīng)用程序或窗口函數(shù)去處理。窗口函數(shù)處理是分層

的,前面處理不了的送到后面,最后處理不了剩下的全由缺省的窗口函

數(shù)處理。

4.2.16類的成員函數(shù)在什么情況下應(yīng)該定義為私有的?這樣做的目

的是什么?答:除接口函數(shù)和創(chuàng)建本類對(duì)象的構(gòu)造函數(shù)和撤消該對(duì)象

的析構(gòu)函數(shù)外。其余成員函數(shù)應(yīng)該定義為私有的這是開發(fā)類時(shí)故意對(duì)

外隱蔽起來(lái)的操作,而這些往往是最復(fù)雜最關(guān)鍵的部分。類中故意的

隱藏也為以后的升級(jí)擴(kuò)展留下了余地,只要接口不變,內(nèi)部再變,也不

必修改原來(lái)的程序,就象MFC(微軟基礎(chǔ)類)升級(jí)后,由MFC底層類

所編的程序完全不必修改,自動(dòng)升級(jí)。

二.編程與綜合練習(xí)題

4.3構(gòu)造一個(gè)日期時(shí)間類(Timedate)數(shù)據(jù)成員包括年、月、日和

時(shí)、分、秒,函數(shù)成員包括設(shè)置日期時(shí)間和輸出時(shí)間,其中年、

月請(qǐng)用枚舉類型,并完成測(cè)試。(包括用成員函數(shù)和用普通函數(shù))

解:本題要求僅是定義類的練習(xí),并非實(shí)用的提供日期時(shí)間的程序。

實(shí)用的日期時(shí)間程序見附錄二的日期時(shí)間函數(shù)。

^include<iostream>

ttinclude<iomanip>

usingnamespacestd;

enumYR{Y2000,Y2001,Y2002,Y2003,Y2004,Y2005);//

enumMT{Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec};

classTimedate{

private:

YRyear;

MT

month;

int

date;

int

hh;

int

mm;

int

ss;

public:

Timedate(){year=Y2000;month=Jan;date=l

;hh=O;mm=O;ss=O;}Timedate(YRa,MTb,int

c){

year=a;

month=

b;

date=c

t

hh=12;mm=30;ss=O;

______________________第四章類與對(duì)象習(xí)題_______________6

}

voidgetdate(YR&,MT&,int&);〃使用引用一次取得3個(gè)數(shù)值

voidgettime(int&,int&,int&);

void

putdate(YR,MT,

int);void

puttime(int,int

,int);void

list();

);

voidTimedate::getdate(YR&y,MT&m,int&d){

y=year;

m=mont

h;

d=date

)

voidTimedate::gettime(int&a,int&b,int&c){

a=hh;

b=mm;

c=ss

voidTimedate::putdate(YRa,MTb,intc){

year=a;

month=

b;

date=c

voidTimedate::puttime(inta,intb,intc){

hh=a;

mm=b;

ss=c

}

voidTimedate::list(){〃成員函數(shù),直接訪問(wèn)私有的數(shù)據(jù)成員

cout?,,year/month/date:";

switch(year){

case

Y2000:cout?"2000”;b

reak;case

Y2001:cout?z,2001,,;b

reak;case

Y2002:cout?*2002*;b

reak;case

Y2003:cout?z,2003,,;b

reak;case

Y2004:cout?,,2004,,;b

reak;case

丫2005:cout?”2005〃;b

reak;

}

switch(month){

case

Jan:cout?,/'〈〈"Jan";

break;case

Feb:cout?,/'〈〈"Feb";

break;case

Mar:cout?,/'<X'Mar";

break;case

Apr:cout?,/'<<"Apr";

break;case

May:cout?*/'〈〈"May";

break;case

Jun:cout?,/'〈〈"Jun";

break;

______________________第四章類與對(duì)象習(xí)題_______________7

case

Jul:cout?,/'?"Jul";

break;case

Aug:cout?,/'<<"Aug";

break;case

Sep:cout?,/'〈〈"Sep";

break;case

Oct:cout<〈'/Y<"0ct";

break;case

Nov:cout?,/'〈〈"Nov";

break;case

Dec:cout?,/‘〈〈"Dec";

break;

}cout?*/5?date?endl;

cout?,,hour:minite:sec

ond:";

cout?hh?,/?mm?,:'

?ss?endl;

)

intmain(intargc,

char*

argv口){Timedate

A(丫2004,Mar,3),B;

A.list();

B.list();

B.putdate(Y2005

,Oct,18);

B.puttime(17,30,

00);B.listO;

return0;

)

4.4設(shè)計(jì)并測(cè)試一個(gè)矩形類(Rectangle、屬性為矩形的左下與右上

角的坐標(biāo),矩形水平放置。操作為計(jì)算矩形周長(zhǎng)與面積。測(cè)試包括

用成員函數(shù)和普通函數(shù)。

解:這里的矩形的4邊分別與x軸y軸平行,為最簡(jiǎn)單的情況。注

意參數(shù)有缺省值的函數(shù)的聲明和定義格式。

#include<iostream>

#include

<cmath>using

namespacestd;

class

Rectangle{

doubleleft,top;

doubleright,bottom;

public:

Rectangle(double1=0,doublet=0,doubler=0,doubleb=0);

?Rectangle。{};〃析構(gòu)函數(shù),在此函數(shù)體為空

voidAssign(double1,doublet,doubler,doubleb);

doublegetLeft(){returnleft;}//以下四個(gè)函數(shù)皆為內(nèi)聯(lián)成

員函數(shù)

doublegetRight(){returnright;}

doublegetTop(){returntop;}

doublegetBottomO{returnbottom;}

voidShow();

double

AreaO;

double

Perimeter()

};

______________________第四章類與對(duì)象習(xí)題_______________8

//構(gòu)造函數(shù),帶缺省參數(shù),缺省值為全0,在聲明中指定

Rectangle::Rectangle(double1,doublet,doubler,doubleb)

(

left=1;top=t:

right=r;bottom=b;

}

voidRectangle::Assign(double1,doublet,doubler,double

b){〃賦值

left=1;top=t;

right=r;bottom=b;

)

voidRectangle::Show。{〃成員函數(shù)直接使用私

有的數(shù)據(jù)成員cout?,,left-toppointis

("?1空t?〃,

溫馨提示

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