C程序作業(yè)答案_第1頁
C程序作業(yè)答案_第2頁
C程序作業(yè)答案_第3頁
C程序作業(yè)答案_第4頁
C程序作業(yè)答案_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機應(yīng)用專業(yè)“C++語言程序設(shè)計〃課程作業(yè)

第一次作業(yè)

一、填空題

1.C++語言中的每條基本語句以二作為結(jié)束符,每條復(fù)合語句以」

作為結(jié)束符。

2.用于輸出表達式值的標(biāo)準(zhǔn)輸出流對象是一cout,用于從鍵盤上為變

量輸入值的標(biāo)準(zhǔn)入流對象是cin。

3.當(dāng)不須要函數(shù)返回任何值時,則應(yīng)把該函數(shù)類型定義為void。

4.執(zhí)行Ucout?143?,+'?18?,='<<143+18?endl;”語句后得到

的輸出結(jié)果為143+18=161o

5.執(zhí)行“cout<<“ning”<<“chen”<<38<<endl;”語句后得到的輸出

結(jié)果為ningchen38。

6.在每個C++程序中都必需包含有這樣一個函數(shù),該函數(shù)的函數(shù)名為

main。

7.C++源程序文件的玦省擴展名為cpp,由C++源程序文件編譯而成

的目標(biāo)文件的缺省擴展名為obj,由C++目標(biāo)文件連接而成的可執(zhí)行

文件的缺省擴展名為oxo。

8.程序運行中須要從鍵盤上輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應(yīng)運用空

檢—或逗號符號作為分隔符。

9.十進制數(shù)25表示成符號C++語言規(guī)則的八進制和十六進制數(shù)分別為31

和19符號。

10.在C++語言中,用轉(zhuǎn)義字符序列」或操縱符endl表示輸出

一個換行符。

11.執(zhí)行Ucout?char('b'+2)<<endl;”語句后得到的輸出結(jié)果為

do

12.執(zhí)行acout?char(JK-3)<<endl;”語句后得到的輸出結(jié)果為

Ho

13.已知‘A'V的ASCH碼為65~90,當(dāng)執(zhí)行“intx='H'+5;”

語句后x的值為77。

14.已知‘A'Z'的ASCII碼為65~90,當(dāng)執(zhí)行“charch=16*5+2;

cout?ch?endl;語句序列后,得到的輸出結(jié)果為R。

15.假定一個枚舉類型的定義為“enumRA{xa,xb,xc,xd};",則執(zhí)行

“cout<<"xc=w?xc?endl;語句得到的輸出結(jié)果為xc=2。

16.假定一個枚舉類型的定義為“enumRB{a%ac=3,ad,ae}x=ad;”則x

的值為4o

17.Char、short和int類型的大小分別為1字節(jié)、2字節(jié)和4

字節(jié)。

18.float和double類型的大小分別為4字節(jié)和8字節(jié)。

19.十進制數(shù)128和-3.26的類型分別為整型和雙精度型。

20.若須要定義一個標(biāo)識符常量,并且使C++能夠進行類型檢查,則應(yīng)在

定義語句的起先用保留字define。

21.運用const語句定義一個標(biāo)識符常量時,則必需對它同時進行

22.執(zhí)行uintx=45,y=16;cout<<x/y?,'?x%y<<endl;”語句序列

后得到的輸出結(jié)果為N工。

23.假定x=10,y=6,則表達式2+x++和++y*3的值分別為12和

2Jo

24.算術(shù)表達式(〉L+y2)/(2-xy)對應(yīng)C++表達式為(x*x+y*y)

/(2~x*y)

25.算術(shù)表達式xy2/(3a+4b-l)對應(yīng)的C++表達式為

x*y*y/(3*a+4*bT)。

26.表達式float(25)/4和int(14.6)%5的值分別為6.25和4。

27表達式a=a+b表示成復(fù)合賦值表達式為2+二b。

28.表達式a=a+l表示成增量表達式為。

29.增量表達式++y表示成表值表達式為y=y+1。

30.關(guān)系表達式(x二二0)的等價表達式為!x。

31.關(guān)系表達式(x!=0)的等價表達式為x。

32.關(guān)系表達式x+y>z的相反表達式為x+y<=z。

33.邏輯表達式x>5&&x<l。的相反表達式x<=51|x>=10。

34.邏輯表達式a>b||b==5的相反表達式為a<=b&&b!=5。

35.若x=15,y=40,則x>y和x<=y的邏輯:值分別為falso和

trueo

36.假定x=5,則執(zhí)行“a=(x?10:4*2);”語句后a的值為10。

37.假定a=5,則條件表達式“a==0?10:20"的值為20。

38.執(zhí)行“typedefintDataType;"語句后'在運用int定義整型變

量的地方都可以運用DataType—定義整型變量。

doublex;

switch(op){

case'x':x=double(a)+b;break;

case'-':x=double(a)-b;break;

casex=double(a)*b;break;

case'/':if(b)x=double(a)/b;

elseexit(1);

break;

default:exit(1);

returnx;

voidmain(){

intx=20,y=12;

cout<<SD(x,y,?

cout<<SD(x,y,'*')<<',;

cout?SD(x+y,y-2,f/')?endl;

82403.2

#include<iostream.h>

voidmain(){

ints=0;

for(int1=1;I<6;I++)

s+=T*I;

couts="<<s?endl;

s=55

4^#include<iostream.h>

voidmain(){

ints=0;

for(int1=1;;I++){

if(s>50)break;

if(I%3==0)s+=I;

cout<<"I,?1?>,,?s?endl;

I,s=19,63

5^#include<iostream.h>

voidmain(){

intsl=0,s2=0;

for(int1=0;K10;I++)

if(T%2)sl+=I;

elses2+=I;

cout?sl<<,<?s2?endl;

2520

6、Uinclude<iostream.h>

voidmain(){

intn=10,y=l;

whi1e(n-){y++;++y;}

cout<<“y*y=”<<y*y<<endl;

y*y=441

三、寫出下列每個函數(shù)的功能

1.#include<iostream.h>

intSA(inta,intb){

if(a>b)return1;

elseif(a==b)return0;

elsereturn-1;

比較兩個整數(shù)a和b,假如a大于b則返回1;假如a等于b則返回0;

假如a小于b則返回T。

2.intSC(inta,intb,intc){

if(a>=b&&a>=c)returna;

if(b>=a&&b>=c)returnb;

if(c>=a&&c>=b)returnc;

返回a、b、c三個數(shù)中的最大數(shù)。

3.intSE(intn){

//n為大于等于1的整數(shù)

intx;cin>>x;if(n==1)returnx:

intm=x;

while(---n){

cin?x;

m+=x;

returnm;

求輸入的n個數(shù)之和。

4.doubleSF(doublex,intn){

//n為大于等于0的整數(shù)

doublep=l,s=l;

for(inti=l;i<=n;i++){

p*=x;

s+=p/(i+1);

returns;

計算1+X/2+X2/3+X3/4+…+xn/(n+l)

5.#include<math.h>

boolSG(intx){

//x為大于等于2的整數(shù)

inta=int(sqrt(x));//取x的平方根

inti二2;

while(i<=a){

if(x%i==0)break;

i++;

if(i<=a)return0;elsereturn1;

推斷整數(shù)x是否為質(zhì)數(shù),若為質(zhì)數(shù)返回true,若不是則返回false。

6.floatFH(){

floatx,y=0,n=0;

cin>>x;

while(x!=—100){

n++;y+二x;

cin>>x;

if(n==0)returny;elsereturny/n;

求鍵盤輸入的數(shù)的平均值,輸入TOO結(jié)束(不計在平均值內(nèi)),若沒有數(shù)

輸入則返回Oo

計算機應(yīng)用專業(yè)“C++語言程序設(shè)計”課程作業(yè)

其次次作業(yè)

一、填空題

L假定一個一維數(shù)組的定義為"char*a[5];",則該數(shù)組所含元素的

個數(shù)為」,所占存儲空間的字節(jié)數(shù)為20『

2.假定一個二維數(shù)組的定義為“inta[4][6];",則該數(shù)組所含元素的

個數(shù)為24,所占存儲空間的字節(jié)數(shù)為96。

3.假定一個二維數(shù)組的定義為“char48][8];",則該數(shù)組所含元素

的個數(shù)為64,所占存儲空間的字節(jié)數(shù)為

4.執(zhí)行"typedeffloatABC[10];”語句把ABC定義為具有10個單精

度元素的數(shù)組。

5.在函數(shù)外定義的變量稱為全局變量,若沒有被初始化則系統(tǒng)隱含對

它賦初值o

6.函數(shù)中的形參變量的初值由調(diào)用該函數(shù)時獲得。

7.函數(shù)調(diào)用時,實參向形參的傳送分為傳值和傳址兩種傳

送方式。

8.變量分為全局和局部兩種,局部變量沒有賦初值時,其值是不確

定的。

二、給出下列程序運行后的輸出結(jié)果

1.#include<iostream.h>

voidmian(){

inta[10]={12,39,26,41,55,63,72,40,83,95};

inti0=0,il=0,i2=0;

for(inti=0;i<10;I++)

switch(a[i]%3){

case0:i0++;break;

case1:il++;break;

case2:i2++;

cout?i0?f'?il?,'?i2?endl;

424

2.#include<iostream.h>

#include<string.h>

voidmain(){

char*a[5]=

{“student","worker"cadre,,,“apple","peasant”);

char*pl,*p2;

pl=p2=a[0];

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

if(strcmp(a[i],pl)>0)pl=a[i];

if(strcmp(a[i],p2)<0)p2=a[i];

cout<<pl?,'<<p2?endl;

workerapple

3.#include<iostream.h>

voidmain(){

inta[81=(36,73,48,14,55,40,32,66);

intbl,b2;

bl=b2=a[0];

for(inti=1;i<8;1++)

if(a[i]>bl){

if(bl>b2)b2=bl;

bl=a[i];

cout?bl?,'?b2?endl;

7336

4.#include<iostream.h>

voidmain(){

chara[]="aabcdaabacabfgacdv;

intil=0,i2=0,i=0;

while(a[i]){

if(a[i]=='a')il++;

if(a[i]=二'b')i2++;

i++;

cout<<il?,'?i2<<endl;

73

5.#include<iostream.h>

voidmain(){

chara[]="abcdabcdbdaeafv;

intb[5]=:.0},i=0;

while(a[i]){

switch(a[i]){

casea:b[0]++;break;

case,b':b[l]++;break;

casec:b[2]++;break;

case,d,:b[3]++;break;

default:b[4]++;

i++;

for(i=0;i<5;i++)cout?b[i]?,

cout?endl;

43232

6.#include<iostream.h>

voidmain(){

inta[10]={73,83,54,62,40,75,80,92,77,84};

intb[4]=(60,70,90,101};

intc[4]={0};

for(inti=0;i<10;i++){

intj=0;

while(a[i]>=b[j])j++;

cLjJ++;

for(i=0;i<4;i++)cout<<c[i]<<

cout<<endl;

2161

7.#include<iostream.h>

voidmain(){

inta[3][4]={{1}2,7,8},{5,6,11,12},{24,10,3,4)};

intm=a[0][0];

intii=0,jj=0;

for(inti=0;i<3;i++)

for(intj=0;j<4;j++)

if(a[i][j]>m){m=a[i][j];ii=i;jj=j;}

cout?ii'<<jj<<''<<a[ii][jj]?endl;

2024

8.#include<iostream.h>

voidmain(){

inta—10,b—20;

cout<<a<<<<b<<endl;

{a*=4;

intb=a+35;

cout?a?J'?b?endl;

cout?a??'?b?endl;

1020

4075

4020

三、寫出下列每個函數(shù)的功能

1.intWC(inta[],intn,intk){

intc=0;

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

if(a[i]>=k)c++;

returnc;

返回有n個元素的整型數(shù)組a中大于等于整數(shù)k的元素個數(shù)。

2.#include<iostream.h>

voidWA(inta[],intn){

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

intk=i;

for(intj=i+1;j<n;j++)

if(a[j]<a[k])k=j;

intx=a[i];a[i]=a[k];a[k]=x;

函數(shù)功能是將有n個元素的整型數(shù)組從小到大排列。

3.#include<iosteram.h>

template<classTT>

intWG(TTa,TTb){

if(a>b)return1;

elseif(a==b)return0;

elsereturn—1;

比較兩個隨意類型的數(shù)a和b,若a大于b則返回1,若a等于b則返

回0,若a小于b否則返回1。

4.#include<iostream.h>

template<classType>

TypeWD(Typea[],intn){

Typem=a[0];

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

if(a[i]>m)m=a[i];

returnm;

返回有n個元素的隨意類型數(shù)組中最大的數(shù)。

5.Template<classType>

voidWE(Typea[],Typeb[],intn){

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

b[i]=a[i]*2;

將有n個元素的隨意類型數(shù)組a中的每個元素乘以2后放到數(shù)組b中

的相應(yīng)位置中。

計算機應(yīng)用專業(yè)“C++語言程序設(shè)計”課程作業(yè)

第三次作業(yè)

一、填空題

1.假定P所指對象的值為28,p+1所指對象的值為62,則*P++的值為

28o

2.假定p所指對象的值為28,p+1所指對象的值為62,則*++p的值

為62。

3.假定P所指對象的值為25,p+1所指對象的值為50,則執(zhí)行“(*p)+

+;”語句后,D所指對象的值為26。

4.假定p所指對象的值為25,p+l所指對象的值為50,則執(zhí)行“*(p++);”

語句后,P所指對象的值為500

5.假定a是一個指針數(shù)組,則a+i所指對象的地址比a地址大未知

字節(jié)。

6.假定a是一個一維數(shù)組,則a[i]的指針訪問方式為*(a+i)。

7.假定a是一個二維數(shù)組,則a[i][j]的指針訪問方式為

*(*(a+i)+j)。

8.假定a是一個一維數(shù)組,則a[i]對應(yīng)的存儲地址(以字節(jié)為單位)為

(char*)a+i*sizeof(a[0])。

9.假定一個二維數(shù)組為a[M][N],則a[i][j]對應(yīng)的存儲地址(以字節(jié)

為單位)為(char*)a+(i*N+j)*sizeof(a[0][0])。

10.假定一個二維數(shù)組a[M][N],則a[i]的地址值(以字節(jié)為單位)為

(char*)a+i*N*sizeof(a[0][0])。

11.假定P是一個指向float型數(shù)據(jù)的指針,則p+1所指數(shù)據(jù)的地址比p

所指數(shù)據(jù)的地址大4字節(jié)。

12.假定a為一個字符數(shù)組名,則元素a[8]的字節(jié)地址為8。

13.假定a為一個整型數(shù)組名,則元素a[4]的字節(jié)地址為16。

14.假定i個結(jié)構(gòu)類型的定義為“structA{inta,b;shortc;A*d;};",

則該類型的大小為14字節(jié)。

15.假定一個結(jié)構(gòu)類型的定義為“structB{inta[8];char*b;};",

則該類型的大小為36字節(jié)。

16.假定一個結(jié)構(gòu)類型的定義為ustructD{inta;union(intb;double

c;);D*d[3];};",則該類型的大小為24字節(jié)。

17.假定要動態(tài)支配一個類型為Worker的具有n個元素的數(shù)組,并由r

指向這個動態(tài)數(shù)組,則運用的語句為r=neNWorker[n];。

18.假定要訪問一個結(jié)構(gòu)x中的由a指針成員所指向的對象,則表示方法

為*(x.a)o

19.假定要訪問一個結(jié)構(gòu)指針p所指對象中的b指針成員所指的對象,則

表示方法為*(p->b)o

二、給出下列程序運行后的輸出結(jié)果

以下結(jié)果中空格以'一'表示

1.#include<iomanip.h>

voidmain(){

inta[8]={7,9,11,13,3,8,15,17};

int*p=a;

for(inti=0;i<8;i++){

cout?setw(5)<<*p++;

if((i+1)%4==0)cout?endl;

791113

3&1517

2.#include<iomanip.h>

voidmain(){

inta[5]={3,6,15,7,20);

int*p=a;

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

cout<<setw(5)<<*p++;

cout<<endl;

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

cout<<setw(5)<<*——p;

cout<<endl;

3615720

2071563

3.#include<iomanip.h>

voidmain(){

inta[8]={4,8,12,16,20,24,28,32};

int*p=a;

do{

cout?*p<<;

p+=3;

}while(p<a+8);

cout<<endl;

41628

4.#include<iomanip.h>

voidmain(){

intx=20,y=40,*p;

p=&x;cout?*p<<'';

*p=x+10;

p=&y;cout?*p<<endl;

*p=y+20;cout?x?J'<<y<<endl;

2040

3060

5.#include<iomanip.h>

intLA(int*a,intn){

ints=0;

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

s+=a[i];

returns;

voidmain(){

inta[]={5,10,15,20,25,30);

intb=LA(a,5);

intc=LA(a+3,2);

cout?b?''?c?J'<<b+2*c?endl;

7545165

6.#include<iomanip.h>

voidLC(inta,intb){

intx=a;

a=b;b=x;

cout<<a?*'?b?endl;

voidmain(){

intx=15,y=36;

LC(x,y);cout<<x<<''<<y<<endl;

3615

1536

7.#include<iomanip.h>

voidLF(int&x,inty){

x=x+y;

y=x+y;

cout<<"x=,y?x<<",y=w<<y<<endl;

voidmain(){

intx=5,y=8;

cout<<vx="。x<<J,,y="<<y<<endl;

LF(x,y);

cout<<nx?x<<",y="?y?endl;

x=5,y=8

x=13,y=21

x=13,y=8

8.#include<iomanip.h>

voidLG(int*&a,int&m){

a=newint[m];

int*p=a;

for(inti=0;i<m;i++)

*p++=2*i+1;

voidmain(){

int*p,n=5;

LG(p,n);

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

cout?p[i]?'';

cout<<endl;

delete[]p;

13579

9.#include<iomanip.h>

voidLH(int*a,intn){

int*p=a+n—1;

whlie(a<p){

intx=*a;

*a二*p;

*p=x;

a++;p——;

voidmain(){

int*d=newint[5];

inti;

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

d[i]=2*i+3;

cout?setw(5)<<d[i]<<',;

cout<<endl;

LII(d,5);

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

cout<<setw(5)?d[i]<<'';

cout<<endl;

delete[]d;

357911

119753

10.#include<iostream.h>

structWorker(

charname[15];//姓名

intage;//年齡

floatpay;//工資

voidmain(){

Workerx={"weirong”,55,640};

Workery,*p;

y=x;p=&x;

cout<<y.name<<''<<y.age<<''<<y.pay<<endl;

cout<<p—>name?''?p—>age+5?''?p—>pay

—10?endl;

weirong55640

weirong60630

11.#include<iostream.h>

#include<string.h>

structWorker{

charname[15];//姓名

intage;//年齡

floatpay;//工資

voidmain(){

Workerx;

char*t="liouting”;

intd二46;floatf=725;

strcpy(x.name,t);

x.age=d;x.pay=f;

cout<<x.name<<''?x.age<<''<<x.pay?endl;

liouting46725

三、寫出下列每個函數(shù)的功能

1.#include<iostream.h>

voidLT(intn){

int*a=newint[n],*p=a+n;

for(inti=0;i<n;i++)cin?a[i];

for(i=n—1;i>=0;i——)cout<<*(——p)<<J'

cout?'\n';

delete[]a;

輸入n個數(shù)并以相反的依次顯示出來。

2.#include<iostream.h>

voidLK(inta[],intn,int*&b,int&m){

floats=0;inti;

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

s+=a[i];

s/=n;

m=0;

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

if(a[i]>=s)m++;

b=newint[m];

int*p=b;

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

if(a[i]>=s)*p++=a[i];

將數(shù)組a中大于平均數(shù)的元素存放到動態(tài)申請的數(shù)組b中,數(shù)組b的大小

由m返回。

3.//structWorker{

//charname[15];//姓名

//intage;//年齡

//floatpay;//工資

istream&operator>>(istreamfeistr,Worker&x){

cout<<”請輸入一個職工記錄:姓名、年齡、工資”<<endl;

istr?x.name?x..age>>x..pay;

returnistr;

重載istream的>>操作符以輸入Worker結(jié)構(gòu)對象。

4.//structStrNode{

//charname[15];//字符串域

//StrNode*next;//指針域

voidQB(StrNode*&f,intn){

if(n==0){f=NULL;return;)

f=newStrNode;

cin>>f—>name;

StrNode*p=f;

whlie(——n){

p=p->next=newStrNode;

cin>>p—>name;

p—>next=NULL;

創(chuàng)建有n個結(jié)點的StrNode類型的鏈表,并從鍵盤輸入每個結(jié)點的

name值。

5.//structStrNode{charname[15];StrNode*next;);

voidQC(StrNode*f){

whlie(f){

cout<<f—>name?'';

f=f->next;

遍歷鏈表并輸出全部結(jié)點的name數(shù)據(jù)成員

計算機應(yīng)用專業(yè)“C++語言程序設(shè)計”課程作業(yè)

第四次作業(yè)

一、填空題

1.在定義類對象的語句執(zhí)行時,系統(tǒng)在建立每個對象的過程中將自動調(diào)

用該類的一構(gòu)造函數(shù)使其初始化。

2.當(dāng)一個類對象被撤消時將自動調(diào)用該類的—析構(gòu)函數(shù)0

3.對基類數(shù)據(jù)成員的初始化是通過執(zhí)行派生類構(gòu)造函數(shù)中的—初始化表

來實現(xiàn)的。

4,對一個類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)中的一初始化表—

實現(xiàn),也可以通過構(gòu)造函數(shù)中的—賦值語句_______實現(xiàn)。

5.在一個派生類中,對基類成員、類對象成員和非類對象成員的初始化

次序的先基類成員,后類對象成員,最終非對象成員。

6.當(dāng)撤消一個含有基類和類對象成員的派生類對象時,將首先完成派生

類本身的析構(gòu)函數(shù)定義體的執(zhí)行,接著完成類對象成員的析構(gòu)函數(shù)定義體

的執(zhí)行,最終完成基類成員的析構(gòu)函數(shù)定義體的執(zhí)行。

7.設(shè)PX是指向一個類動態(tài)對象的指針變量,則執(zhí)行"deletepx;”語

句時,將自動調(diào)用該類的析構(gòu)函數(shù)。

8.當(dāng)一個類對象離開它的作用域時,系統(tǒng)將自動調(diào)用該類的析構(gòu)函數(shù)。

9.假定一個類對象數(shù)組為A[N],當(dāng)離開它的作用域時,系統(tǒng)自動調(diào)用該

類析構(gòu)函數(shù)的次數(shù)為N次。

10.假定AB為一個類,則執(zhí)行“ABa[10];”語句時,系統(tǒng)自動調(diào)用該類

構(gòu)造函數(shù)的次數(shù)為10次。

11.假定擁護沒有給一個名為AB的類定義構(gòu)造函數(shù),則系統(tǒng)為其隱含定義

的構(gòu)造函數(shù)為空構(gòu)造函數(shù)。

12.假定用戶沒有給一個名為AB的類定義析構(gòu)函數(shù),則系統(tǒng)為其隱含定義

的析構(gòu)函數(shù)為空析構(gòu)函數(shù)。

13.若須要把一個函數(shù)“voidf();"定義為一個類AB的友元函數(shù),則應(yīng)

在類AB的定義中加入一條語句:friendvoidf();。

14.若須要把一個類AB定義為一個類CD的友元類,則應(yīng)在類CD的定義中

加入一條語句:friendclassAB;。

15.假定一個類AB中有一個靜態(tài)整型成員bb,在類外為它進行定義并初始

化為0時,所運用寫法為AB:bb=0;o

16.假定類AB中有一個公用屬性的靜態(tài)數(shù)據(jù)成員bb,在類外不通過對象名

訪問該成員bb的寫法為AB:bb。

17.當(dāng)類中一個字符指針成員指向具有n個字節(jié)的儲存空間時,它所能儲

存字符串的最大長度為n-lo

18.假定AB為一個類,則該類的拷貝構(gòu)造函數(shù)的聲明語句為AB:AB(AB&)。

19.對類對象成員初始化是通過執(zhí)行構(gòu)造函數(shù)中的初始化表完成的。

20.對于類中定義的成員,其隱含訪問權(quán)限為private,對于結(jié)構(gòu)中定義的

成員,其隱含訪問權(quán)限為public。

21.一個類的友元函數(shù)或友元類能夠通過成員操作符訪問該類的全部數(shù)據(jù)

成員和函數(shù)成員。

22.假定要對類AB定義加號操作符重載成員函數(shù),實現(xiàn)兩個AB類對象的

加法,并返回相加結(jié)果,則該成員函數(shù)的聲明語句為:ABoperator+(AB,

AB);o

23?在C++流類庫中,根基類為ios。

24.在C++流類庫中,輸入流類和輸出流類的名稱分別為istream和

ostreanio

25.若要在程序文件中進行標(biāo)準(zhǔn)輸入輸出操作,則必需在起先的#inlude

叮囑中運用iosteam,h頭文件。

26.若要在程序文件中進行文件輸入輸出操作,則必需在起先的#山1加0

叮囑中運用fstream.h頭文件。

27.當(dāng)從字符文件中讀取回車和換行兩個字符時,被系統(tǒng)看作為一個換行

符。

28.當(dāng)運用ifstrcam流類定義一個流對象并打開一個磁盤文件時,文件的

隱含打開方式為讀取的文本文件,當(dāng)運用ofstream流類定義一個流對象

并打開一個磁盤文件時,文件的隱含打開方式為寫入的文本文件。

29.當(dāng)須要運用istrstream流類定義一個流對象并聯(lián)系一個字符串時,應(yīng)

在文件起先運用#山(:111(1。叮囑,使之包含strstrea.h文件。

二.給出下列程序運行后的輸出結(jié)果

1.#include<iostream.h>

classA{

inta,b;

public:

A(){a=b=0;}

A(intaa,intbb){

a二aa;b二bb;

cout<<a<<,'<<b<<endl;

voidmain(){

Ax,y(6,3),z(8,10);

63

810

2.#include<iostream.h>

classA

inta,b;

public:

A(intaa=0,intbb=0):a(aa),b(bb)

cout<<z,ConstructorI〃<<a+b?endl;

voidmain(){

Ax,y(2,5),z(y);

Constructor!0

Constructor!7

3.#include<iostream.h>

classA(

int*a;

public:

A(intaa=0)

a=newint(aa);

cout<<,,Constructor!〃<<*a<<endl;

voldmain()

Ax⑵;

A*p=newA(5);

deletep;

Constructor!0

Constructor!0

Constructor!5

4.#include<iostream.h>

classA

inta;

public:

A(intaa=0):a(aa){}

"A(){cout<<ADestructor!z/<<a<<endl;}

voidmain()

Ax(5);

A*p=newA(10);

deletep;

Destructor!10

Destructor!5

5.#include<iostream.h>

classA{

int*a;

public:

A(intx)

a=newint(x);

cout?/zConstructor!”<<*a?endl;

^A(){deletea;cout<<z,Destructor!,?<<endl;}

voidmain()

Ax(9),*p;

p=newA(12);

deletep;

Constructor!9

Constructor!12

Destructor!

Destructor!

6.#include<iostream.h>

classA

inta;

public:

A(intaa=0):a(aa)

cout<<,zConstructorA!〃<<a<<endl;

classB:publicA

intb;

public:

B(intaa,intbb):A(aa),b(bb)

cout<<z,ConstruetorB!〃<<b<<endl;

voidmain()

Bx(2,3),y(4,5);

ConstructorA!2

ConstructorB!3

ConstructorA!4

ConstructorB!5

7.#include<iostream.h>

classA

inta;

public:

A(intaa=0){a=aa;}

^A(){cout<<"DestructorA!a<<endl;)

classB:publicA(

intb;

public:

B(intaa=0,intbb=0):A(aa){b=bb;}

^B(){cout?,,DestructorB!/z?b?endl;}

voidmainO

Bx(5),y(6,7);

DeconstructorB!7

DeconstructorA!6

DeconstructorB!0

DeconstructorA!5

8.#include<iostreani.h>

#include<stdlib.h>

classA

inta,b;charop;

public:

A(intaa,intbb,charch){a=aa;b=bb;op=ch;}

intComp()

switch(op)

case'+':returna+b;

case'-':returna-b;

case,*':returna*b;

case'/':if(b!=0)returna/b;elseexit(1);

case:if(b!=0)returna%b;elseexit(1);

default:exit(1);

voidSetA(intaa,intbb,charch)

a=aa;b=bb;op=ch;

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論