




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
國(guó)家二級(jí)C++機(jī)試(操作題)模擬試卷19(共9套)(共25題)國(guó)家二級(jí)C++機(jī)試(操作題)模擬試卷第1套一、基本操作題(本題共1題,每題1.0分,共1分。)1、下列給定程序中,函數(shù)fun的功能是計(jì)算下式并將計(jì)算結(jié)果作為函數(shù)值返回。例如,若形參e的值為1e一3,函數(shù)的返回值為2.985678。請(qǐng)?jiān)诔绦虻闹欣ㄌ?hào)處填入正確的內(nèi)容并將中括號(hào)刪除,使程序得出正確的結(jié)果。注意:部分源程序給出如下。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#includedoub2efun(doublee){inti;doubles,x;/*********found*********/s=0;i=【1】;x=1.0;while(x>e){/*********found*********/【2】;/*********found*********/x=(2.0*i一1)/((【3】)*(2.0*i));s=s+x;}returns;}main(){doublee=1e一3;printf("\nTheresultis:%f\n",fun(e));}標(biāo)準(zhǔn)答案:(1)0(2)i++或++i或i+=1或i=i+1(3)2.0*i知識(shí)點(diǎn)解析:填空1:循環(huán)變量i從1開(kāi)始參加運(yùn)算,但是在每次循環(huán)的開(kāi)始i都進(jìn)行自加1操作,故i應(yīng)賦初值為0。填空2:循環(huán)變量i自增1運(yùn)算。填空3:根據(jù)公式確定表達(dá)式通項(xiàng)。注意x為double型,故應(yīng)將i變?yōu)閐ouble型再進(jìn)行運(yùn)算。二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、下列給定程序中,函數(shù)fun的功能是:先從鍵盤(pán)上輸入一個(gè)3行、3列的矩陣的各個(gè)元素的值,然后輸出主對(duì)角線元素之和。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODI1.C中,不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#includevoidfun(){inta[3][3],sum;inti,j;/*********found*********/sum=1;for(i=0;i<3;i++){for(j=0;j<3;j++)/*********found*********/scanf("%d",a[i][J]);}for(i=0;i<3;i++)sum=sum+a[i][i];printf("Sum=%d\n",sum);}voidmain(){fun();}標(biāo)準(zhǔn)答案:(1)sum=0;(2)scanf("%d.t,&a[i][j]);知識(shí)點(diǎn)解析:該題考查對(duì)循環(huán)語(yǔ)句的掌握和對(duì)數(shù)組概念的理解。本題的解題思路為:先從鍵盤(pán)輸入一個(gè)3×3矩陣,然后循環(huán)累加,執(zhí)行循環(huán)語(yǔ)句中的sum=sum+a[i][i];。因?yàn)樽兞縮um用來(lái)存放累加后的結(jié)果,所以應(yīng)對(duì)其初始化為0。第二處錯(cuò)誤考查標(biāo)準(zhǔn)輸入函數(shù)scanf的格式,被賦值的變量前要加上取地址符"&"。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、編寫(xiě)函數(shù)fun,其功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位上的字母轉(zhuǎn)換為大寫(xiě)(若該位置上不是字母,則不轉(zhuǎn)換)。例如,若輸入“abc4EFg”,則應(yīng)輸出“aBc4EFg”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include#include#includevoidfun(char*ss){}voidmain(void){chartt[51];printf("\nPleaseenterancharacterstringwithin50characters:\n");gets(tt);printf("\n\nAfterchanging,thestring\n%s",tt);fun(tt);printf("\nbecomes\n%s",tt);}標(biāo)準(zhǔn)答案:voidfun(char*ss){inti;for(i=0;ss[i]!=’\0’;i++)/*將ss所指字符串中所有下標(biāo)為奇數(shù)位置的字母轉(zhuǎn)換為大寫(xiě)*/if(i%2==1&&ss[i]>=’a’&&ss[i]<=’z’)ss[i]=ss[i]一32;}知識(shí)點(diǎn)解析:將指定字符串中奇數(shù)位置的字母轉(zhuǎn)換為大寫(xiě),首先需要判斷奇數(shù)位置,再判斷該位置字符是不是小寫(xiě)字母,如果是小寫(xiě)字母,則將小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母。字母大小寫(xiě)轉(zhuǎn)換操作中,只要將小寫(xiě)字母減去32即可轉(zhuǎn)換為大寫(xiě)字母。國(guó)家二級(jí)C++機(jī)試(操作題)模擬試卷第2套一、基本操作題(本題共1題,每題1.0分,共1分。)1、使用VC6打開(kāi)考生文件夾下的源程序文件modi1.cpp,但該程序運(yùn)行有問(wèn)題,請(qǐng)改正main函數(shù)中的錯(cuò)誤,使程序的輸出結(jié)果是:112233445566778899注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語(yǔ)句在//******error******的下面。#include<iostream.h>#include<iomanip.h>voidmain(){inta[3][3]={{1,2,3),{4,5,6},{7,8,9}};int*p,i;//********error********p=a;for(i=0;i<9;i++){cout<<setw(2)<<*(p+i);//********error********cout<<setw(2)<<*(a+i);if(i%3==2)cout<<endl;}}標(biāo)準(zhǔn)答案:(1)p=&a[0][0];(2)tout<<setw(2)<<*(*a+i);知識(shí)點(diǎn)解析:(1)打開(kāi)modi1.cpp,調(diào)試程序,顯示錯(cuò)誤提示為第一標(biāo)識(shí)下“modil.cpp(7):errorC2440:’=’:cannotconvertfrom’int[3][3]’to’int*’”,a為二維數(shù)組型變量,將其值賦值給p,應(yīng)該是p指向數(shù)組a的起始位置,即“p=&a[0][0];”。(2)程序中第2個(gè)標(biāo)識(shí)下的“cout<<setw(2)<<*(a+i);”語(yǔ)句應(yīng)該是輸出數(shù)組a中元素的值,而該語(yǔ)句是*(a+i)指向數(shù)組第i個(gè)位置,要指向其值應(yīng)該是*(*a+i),所以第2個(gè)標(biāo)識(shí)下的語(yǔ)句改為“cout<<setw(2<<*(*a+i):”。二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、使用VC6打開(kāi)考生文件夾下的源程序文件modi2.cpp。完成空出的函數(shù)fun(inta[],int*index),使函數(shù)輸入n(<100)個(gè)整數(shù)到指定數(shù)組,求該數(shù)組中最大元素的值和此元素的下標(biāo),最大元素值以函數(shù)值返回,此元素的下標(biāo)通過(guò)指針形參帶回調(diào)用函數(shù)。要求函數(shù)實(shí)現(xiàn)以下的功能:(1)獲得輸入的n個(gè)整數(shù);(2)把最大的數(shù)字的下標(biāo)在第二個(gè)參數(shù)中輸出;(3)把最大的數(shù)字作為返回值。注意:不能修改程序的其他部分,只能修改fun()函數(shù)。#include<iostream.h>#defineMAXLINE100intfun(inta[],int*index){}voidmain(){intA[MAXLINE];intindex;intmaxdata;maxdata=fun(A,&index);cout<<"themaxdatais:"<<maxdata<<""<<"theposionis:"<<index<<endl;return;}標(biāo)準(zhǔn)答案:inti,n;do//輸入數(shù)組的大小{cout<<"Pleaseinputn\";cin>>n;}while(n>99);tout<<"Pleaseinputa[n]\n";for(i=0;i<n;i++)//輸入數(shù)組中元素的值{cin>>a[i];}*index=0;//元素下標(biāo)值初始化for(i=1;i<n;i++)//循環(huán)找出最大值{if(a[*index]<a[i])*index=i;//記錄比較大元素的下標(biāo)}returna[*index];//返回最大的元素值,其中index為最大值的下標(biāo)知識(shí)點(diǎn)解析:(1)首先輸入數(shù)組大小,然后利用循環(huán)輸入數(shù)組元素。(2)利用for循環(huán)對(duì)每一個(gè)當(dāng)前數(shù)組元素與index標(biāo)記的元素進(jìn)行大小比較。(3)循環(huán)中將求得的最大數(shù)據(jù)a[i]的下標(biāo)標(biāo)志位賦給標(biāo)志位index。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、用VC6打開(kāi)考生文件夾下的源程序文件modi.3.cpp。其中定義的類(lèi)并不完整,按照要求完成下列操作,將類(lèi)的定義補(bǔ)充完整。在屏幕和程序modi3.txt文件中輸出以下結(jié)果:HelloTest出現(xiàn)異常情況其中定義的類(lèi)并不完整,按要求完成下列操作,將類(lèi)的定義補(bǔ)充完整:(1)以追加的方式打開(kāi)文件modi3.txt,請(qǐng)?jiān)谧⑨專(zhuān)?*******1********后添加適當(dāng)?shù)恼Z(yǔ)句。(2)定義一個(gè)類(lèi)對(duì)象S,請(qǐng)?jiān)谧⑨專(zhuān)?*******2********后添加適當(dāng)?shù)恼Z(yǔ)句。注意:僅在函數(shù)指定位置添加語(yǔ)句,請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容。#include<iostream.h>#include<fstream>usingnamespacestd;voidWriteFile(char*x){ofstreamout1;//********1********out1.open("modi3.txt",);out1<<x<<’’;out1.close();}voidClearFile(){ofstreamout1;out1.open("modi3.txt");out1.close();}classTestClass{public:TestClasS(){cout<<"Hello"<<endl;WriteFile("Hello");}~TestClasS(){cout<<"Test"<<endl;WriteFile("Test");}};voidmain(){ClearFile();try{//********2********throw1;}catch(int){cout<<"出現(xiàn)異常情況"<<endl;WriteFile("出現(xiàn)異常情況");}}標(biāo)準(zhǔn)答案:(1)將“out1.open("modi3.txt",);”補(bǔ)充完整為:out1.open("modi3.txt",ios_base::app);(2)添加語(yǔ)句:TestClasss;知識(shí)點(diǎn)解析:(1)題目1要求“以追加的方式打開(kāi)文件modi3.txt”。文件輸出輸入方式的設(shè)置值,以ios::app方式是以輸出方式打開(kāi)文件,寫(xiě)入的數(shù)據(jù)添加在文件末尾,即第1個(gè)標(biāo)識(shí)下語(yǔ)句補(bǔ)全為“out1.open("modi3.txt",iosbase::app);”。(2)題目2要求“定義一個(gè)類(lèi)對(duì)象s”。C++中,在聲明了類(lèi)類(lèi)型后,定義對(duì)象的一般形式:類(lèi)名對(duì)象名。所以這里添加“TestClasss;”。國(guó)家二級(jí)C++機(jī)試(操作題)模擬試卷第3套一、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)1、使用VC6打開(kāi)考生文件夾下的源程序文件modi2.cpp。閱讀下列函數(shù)說(shuō)明和代碼,完成空出部分程序。函數(shù)fun(intn)的功能是在n行n列的矩陣中,每行都有最大的數(shù),本程序求這n個(gè)最大數(shù)中的最小一個(gè),并作為參數(shù)返回。注意:不能修改程序的其他部分,只能修改fun()函數(shù)。#include#defineN100inta[N][N];intfun(intn){}voidmain(){intn;cout<<“pleaseinputN:”<>n;for(inti=0;i>a[i][j];}cout<<“Theminofmaxnumbersis”<標(biāo)準(zhǔn)答案:introw;intmax;intmin;intcol;for(row=0;row知識(shí)點(diǎn)解析:(1)該程序功能是找出矩陣中所有行最大的數(shù)中的最小一個(gè)。它的解題思路,首先找出每一行的最大值,然后在這些值中進(jìn)行比較,找出其中的最小值。(2)從己給部分源程序的main主函數(shù)開(kāi)始入手,核心函數(shù)intfun(intn)中的n參數(shù)為矩陣中的列和行數(shù)。二、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)2、使用VC6打開(kāi)考生文件夾下的源程序文件modi3.cpp。其中定義的類(lèi)并不完整,按要求完成下列操作,將類(lèi)的定義補(bǔ)充完整。完成以下功能:(1)定義類(lèi)的私有變量a、b,請(qǐng)?jiān)谧⑨尅?*******1********后添加適當(dāng)?shù)恼Z(yǔ)句。(2)完成類(lèi)的構(gòu)造函數(shù),對(duì)變量a、b賦值,缺省兩個(gè)變量值為1,在注釋∥********2********之后添加語(yǔ)句。(3)完成打印函數(shù)display(),打印出“a*b=c”格式的一個(gè)乘法算式,在注釋∥********3********之后添加語(yǔ)句。(4)補(bǔ)充主函數(shù),使得打印9×9的乘法口訣。在注釋∥********4********后添加語(yǔ)句。注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。#includeclassCMyFormula{private:∥********1********public:∥********2********{this->a=a;this一>b=b;}voidset(intX,intY){a=x;b=y;}voiddisplay(){∥********3********}};intmain(){CMyFormulaformular(1,1);for(inti=1;i<=9;i++){∥********4********for(intj=1;j++){formular.set(j,i);formular.display();cout<<“”;}cout<標(biāo)準(zhǔn)答案:(1)添加語(yǔ)句:inta,b;(2)添加語(yǔ)句:CMyFormula(inta=l,int,b=1)(3)添加語(yǔ)句:cout<知識(shí)點(diǎn)解析:程序當(dāng)中定義了類(lèi)CMyFormula,含有a和b兩個(gè)成員變量,一個(gè)構(gòu)造函數(shù),改變成員變量a和b的值得set(intx,inty)函數(shù),打印a和b的乘積的display()函數(shù)。在主函數(shù)中定義了一個(gè)CMyFormula對(duì)象,然后不斷改變?cè)搶?duì)象的a和b的值,然后調(diào)用display()顯示,如此完成打印9×9的乘法口訣。國(guó)家二級(jí)C++機(jī)試(操作題)模擬試卷第4套一、基本操作題(本題共1題,每題1.0分,共1分。)1、使用VC6打開(kāi)考生文件夾下的源程序文件modil.cpp,但該程序運(yùn)行有問(wèn)題,請(qǐng)改正main函數(shù)中的錯(cuò)誤,使程序的輸出結(jié)果是:nember=1nember=10nember=100注意:不要改動(dòng)main函數(shù),不能增行或刪行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語(yǔ)句在//******error******的下面。#includeClassTestClass{public:TestClass(inti){nember=i;}voidSetNember(intm){nember=m;}intGetNember()const{returnnember;}voidPrint()const{cout<<"nember="<標(biāo)準(zhǔn)答案:(1)TestClassobj1(1);(2)obj1.SetNember(10);(3)obj2.SetNember(100);知識(shí)點(diǎn)解析:(1)第1個(gè)標(biāo)識(shí)下,“TestClassobj1;”語(yǔ)句是聲明TestClass類(lèi)的對(duì)象obj1,根據(jù)TestClass類(lèi)構(gòu)造函數(shù)的定義TestClass(inti),存在整型參數(shù),并且題目要求第一個(gè)輸出結(jié)果為1,所以補(bǔ)全參數(shù)1,即第1個(gè)標(biāo)識(shí)下的“TestClassobj1(1);”。(2)第2個(gè)標(biāo)識(shí)下的“obj1.nember=10;”應(yīng)該是調(diào)用成員函數(shù)SetNember賦值。在C++中成員函數(shù)的使用形式應(yīng)該是:對(duì)象名.成員函數(shù),所以修改為“obj1.SetNember(10);”。(3)類(lèi)是對(duì)象的抽象,而對(duì)象是類(lèi)的具體實(shí)例。第3個(gè)標(biāo)識(shí)下“TestClass.SetNember(100);”語(yǔ)句中的TestClass為類(lèi),并不是對(duì)象,這里應(yīng)該是使用定義的對(duì)象,即obj2,修改為“obj2.SetNember(100);”。二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、使用VC6打開(kāi)考生文件夾下的源程序文件modi2.cpp。完成fun()函數(shù),其功能是:求出M行N列二維數(shù)組每行元素中的最小值,并計(jì)算它們的和值。和值通過(guò)形參傳回主函數(shù)輸出。注意:不能修改程序的其他部分,只能修改fun()函數(shù)。#include#defineM2#defineN4voidfun(inta[M][N],int*sum){}voidmain(){intx[M][N]={7,6,5,2,4,2,8,3};ints;fun(x,&s);cout<標(biāo)準(zhǔn)答案:inti,j,k,s=0;for(i=0;ia[i][j])k=j;//求得每一行的最小值s+=a[i][k];//最小值求和}*sum=s;//返回求和值知識(shí)點(diǎn)解析:(1)依次訪問(wèn)每一行的元素。(2)在對(duì)每一行的訪問(wèn)過(guò)程中選出最小數(shù)。(3)將選出的最小數(shù)求和。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、使用VC6打開(kāi)考生文件夾下的源程序文件modi3.cpp。其中定義的類(lèi)并不完整,按要求完成下列操作,將類(lèi)的定義補(bǔ)充完整。(1)完成類(lèi)TestClass1的成員函數(shù)seta定義,定義seta對(duì)象x為int類(lèi)型,請(qǐng)?jiān)谧⑨專(zhuān)?*******1********后添加適當(dāng)?shù)恼Z(yǔ)句。(2)完成類(lèi)TestClass1(共有)和類(lèi)TestClass2(私有)派生類(lèi)TestClass3的定義,請(qǐng)?jiān)谧⑨專(zhuān)?*******2********后添加適當(dāng)?shù)恼Z(yǔ)句。(3)定義類(lèi)TestClass3中的私有成員C為int,請(qǐng)?jiān)谧⑨專(zhuān)?*******3********后添加適當(dāng)?shù)恼Z(yǔ)句。(4)完成setc中對(duì)基類(lèi)的變量a的賦值,請(qǐng)?jiān)谧⑨專(zhuān)?*******4********后添加適當(dāng)?shù)恼Z(yǔ)句。注意:增加代碼,或者修改代碼的位置已經(jīng)用符號(hào)表示出來(lái)。請(qǐng)不要修改其他的程序代碼。#includeclassTestClass1{inta;public://********1********{returna=x;}voidshowa(){cout<標(biāo)準(zhǔn)答案:(1)添加語(yǔ)句:intseta(intx)(2)添加語(yǔ)句:classTestClass3:publicTestClass1,privateTestClass2(3)添加語(yǔ)句:intc;(4)添加語(yǔ)句:seta(x);知識(shí)點(diǎn)解析:(1)題目1要求“完成類(lèi)TestClass1的成員函數(shù)seta定義,定義seta對(duì)象X為int類(lèi)型”。類(lèi)的成員函數(shù)是函數(shù)的一種,它與一般函數(shù)的區(qū)別只是,它是一個(gè)類(lèi)的成員,出現(xiàn)在類(lèi)體中。所以類(lèi)TestClassl中的成員函數(shù),就是在TestClassl中定義題目中要求的參數(shù)為intx的seta函數(shù),即“intseta(intx)”。(2)題目2要求“完成類(lèi)TestClass1(公有)和類(lèi)TestClass2(私有)派生類(lèi)TestClass3的定義”。從已有的類(lèi)產(chǎn)生一個(gè)新的子類(lèi),稱(chēng)為類(lèi)的派生。聲明派生類(lèi)的一般形式為:class派生類(lèi)名:[繼承方式】基類(lèi)名。根據(jù)聲明派生類(lèi)的一般形式,這里補(bǔ)全“classTestClass3:publicTestClass1,privateTestClass2”。(3)題目3要求“定義類(lèi)TestClass3中的私有成員c為int”。在類(lèi)TestClass3中的pfivme數(shù)據(jù)成員區(qū)域,定義intc,即在第3個(gè)標(biāo)識(shí)下補(bǔ)全“intc:”。(4)題目4要求“完成setc中對(duì)基類(lèi)的變量a的賦值"?;?lèi)為T(mén)estClass1,setc對(duì)于該類(lèi)a的賦值,是hatseta(intx)函數(shù)的賦值,即“seta(x);”國(guó)家二級(jí)C++機(jī)試(操作題)模擬試卷第5套一、基本操作題(本題共1題,每題1.0分,共1分。)1、請(qǐng)使用VC6或使用【答題】菜單打開(kāi)考生文件夾proj1下的工程proj1。其中有線段類(lèi)Line的定義。程序中位于每個(gè)“//ERROR****found****”之后的一行語(yǔ)句有錯(cuò)誤,請(qǐng)加以改正。改正后程序的輸出結(jié)果應(yīng)該是:Endpoint1=(1,8),Endpoint2=(5,2),lenth=7.2111。注意:只修改每個(gè)“//ERROR****found****”下的那一行,不要改動(dòng)程序中的其他內(nèi)容。#include#includeusingnamespacestd;classLine;doublelength(Line),classLine{//線段類(lèi)doublex1,y1;//線段端點(diǎn)1doublex2,y2;//線段端點(diǎn)2public://ERROR********found********Line(doublex1,doubley1,doublex2,doubley2)const{this->x1=x1;this->y1=y1;this->x2=x2;this->y2=y2;}doubleqetX1()const{returnx1;}doublegetY1()const{returny1;}doubleqetX2()const{returnx2;}doublegetY2()const{returny2;}voidshow()const{cout<<"Endpoint1=("<標(biāo)準(zhǔn)答案:(1)Line(doublex1,doubley1,doublex2,doubley2){(2)tout<<"),length="<知識(shí)點(diǎn)解析:(1)主要考查考生對(duì)構(gòu)造函數(shù)的掌握,構(gòu)造函數(shù)要給私有成員賦初始值,因此不能使用const來(lái)限制。(2)主要考查考生對(duì)this指針的掌握,由函數(shù)length的聲明doublelength(Line);可知,length函數(shù)的形參是Line類(lèi),在voidshow()const函數(shù)里,this指針指向的是當(dāng)前Line類(lèi),因此可以用*this表示當(dāng)前Line類(lèi)。(3)主要考查考生對(duì)成員函數(shù)的掌握,length函數(shù)是類(lèi)外函數(shù),不能直接調(diào)用類(lèi)的私有成員,因此要通過(guò)成員函數(shù)取得對(duì)應(yīng)的值。二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、請(qǐng)使用VC6或使用【答題】菜單打開(kāi)考生文件夾proj2下的工程proj2,其中定義了Component類(lèi)、Composite類(lèi)和Leaf類(lèi)。Component是抽象基類(lèi),Composite和Leaf是Component的公有派生類(lèi)。請(qǐng)?jiān)跈M線處填寫(xiě)適當(dāng)?shù)拇a并刪除橫線,以實(shí)現(xiàn)上述類(lèi)定義。此程序的正確輸出結(jié)果應(yīng)為:LeafNode注意:只能在橫線處填寫(xiě)適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容,也不要?jiǎng)h除或移動(dòng)“//****found****”。#includeusingnamespacestd;classComponent{public://聲明純虛函數(shù)print()//********found********};classComposite:publicComponent{public://********found********voidsetChiid(__________){m_chiid=chiid;}virtualvoidprint()const{m_child->print();}private:Component*mchiid;};classLeaf:publicComponent{public:virtualvoidprint()const{//**********found**********}};intmain(){Leafnode;Compositecomp;comp.setChiid(&node);Component*p=&comp;p->print();return0;}標(biāo)準(zhǔn)答案:(1)virtualvoidprint()const=0;(2)Component*child(3)cout<<"LealfNode"<知識(shí)點(diǎn)解析:(1)主要考查考生對(duì)純虛函數(shù)的掌握,題目要求聲明純虛函數(shù)print()。在其派生類(lèi)中print()函數(shù)的定義為virtualvoidprint()const,由此可知純虛函數(shù)為virtualvoidprint()const=0。(2)主要考查考生對(duì)成員函數(shù)的掌握,題目要求填寫(xiě)函數(shù)voidsetChild的形參,由setChild的函數(shù)體可知形參為child,再看類(lèi)的私有成員m_child的定義:Component*m_child;。由此可知形參為:Component*child。(3)主要考查考生對(duì)純虛函數(shù)的掌握,先看主函數(shù)的程序:Leafnode;Compositecomp;comp.setChild(&node);Component*p=&comp;p->print();第一條和第二條語(yǔ)句都是定義語(yǔ)句,第三條語(yǔ)句調(diào)用函數(shù)setChild,由setChild函數(shù)的定義可知,comp中的m_child等于node,第四條語(yǔ)句定義了個(gè)指針p指向comp的地址,也就是node,最后一條語(yǔ)句通過(guò)指針p調(diào)用函數(shù)print,也就是調(diào)用類(lèi)Leaf的函數(shù)print,因?yàn)轭}目要求輸出:LeafNode,因此在這里添加語(yǔ)句:cout<<"LeafNode"<三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、使用VC6打開(kāi)考生文件夾proj3下的工程proj3,其中定義了一個(gè)字符串變量類(lèi)StringVar。類(lèi)成員的說(shuō)明在程序注釋中。請(qǐng)?jiān)冢?*********333**********和//*****666*****之間填寫(xiě)StringVar成員函數(shù)和友元函數(shù)的實(shí)現(xiàn)代碼。在main函數(shù)中給出了一組測(cè)試數(shù)據(jù),運(yùn)行時(shí)輸入:HelloKitty此情況下程序的輸出應(yīng)該是:HelloKittyBorgBorg注意:只需在//**********333**********和//**********666**********之間填入所編寫(xiě)的若干語(yǔ)句,不要改動(dòng)程序中的其他內(nèi)容。//StringVar.h#include#include#include#includeusingnamespacestd;voidwriteToFile(constchar*path);classStringVar{public:StringVar(intsize);//構(gòu)造函數(shù),size為字符串長(zhǎng)度(字符個(gè)數(shù))初始值;字符串內(nèi)容初始化為空串StringVar(constchara[]);//構(gòu)造函數(shù),用參數(shù)數(shù)組a的內(nèi)容初始化當(dāng)前對(duì)象StringVar(constStringVar&strobj);//復(fù)制構(gòu)造函數(shù)~StringVar(){delete[]value;);//析構(gòu)函數(shù)intlength()const{returnstrlen(value);}//從輸入流ins輸入一個(gè)字符串,其中可以包括空格voidinputline(istream&ins);//返回字符串首地址char*getValue()const{returnvalue;}private:char*value;//字符串首地址intmax_length;//字符串最大長(zhǎng)度(字符個(gè)數(shù)最大值)};//將the_string通過(guò)輸出流outs輸出ostream&operator<<(ostream&outs,constStringVarthe_string);//main.cpp#include#include#include"StringVar.h"//**********333**********//**********666**********intmain(){StringVarname1(30),name2("Borg");namel.input_line(cin);StringVarname3(name2);cout<#include#include#includeusingnamespacestd;#include"StringVar.h"voidwriteToFile(constchar*path){charfilename[30];strcpy(filename,path);strcat(filename,"out.dat");ofstreamfout(filename);istringstreamis(string("JennyZheng"));StringVarnamel(40),name2("John");namel.inputline(is);StringVarname3(name2);fout<標(biāo)準(zhǔn)答案:StringVar::StringVar(intsize):maxlength(size)//使用成員初始化列表初始化max_length{value=newchar[size];value[0]=‘\0’;}StringVar::StringVar(constchara[]){max_length=strlen(a)+1;value=newchar[maxlength];Strcpy(value,a);}StringVar::StringVar(constStringVar&strobj){max_length=strobj.max_length;value=newchar[strlen(strobj.value)+1];strcpy(value,strobj.value);}voidStringVar::inputline(istream&ins){inti=0;charch;while(i知識(shí)點(diǎn)解析:由StringVar.h這個(gè)頭文件可知:頭文件中定義了StringVar類(lèi),它包含的成員信息如下:兩個(gè)數(shù)據(jù)成員:char*類(lèi)型的value,指向字符串的首地址;int類(lèi)型的max_length,表示字符串的最大長(zhǎng)度。兩個(gè)構(gòu)造函數(shù):接收int類(lèi)型的構(gòu)造函數(shù)和接收constchara[]的構(gòu)造函數(shù)。一個(gè)復(fù)制構(gòu)造函數(shù):用參數(shù)strobj對(duì)象的成員值給當(dāng)前對(duì)象的成員賦值;析構(gòu)函數(shù):使用delete[]釋放value指向的地址空間;length()成員函數(shù):返回成員value指向的字符串長(zhǎng)度;input_line()成員函數(shù):使用輸入流參數(shù)輸入一個(gè)字符串,保存到value指向的內(nèi)存空間;getValue()成員函數(shù):常成員函數(shù),返回value的值。另外類(lèi)定義體外部還聲明一個(gè)重載“<<”運(yùn)算符函數(shù),將StringVar對(duì)象中value指向的字符串輸出,:并返回輸出流outs的引用StringVar.h中,已經(jīng)給出的定義有:析構(gòu)函數(shù)、length()函數(shù)和getValue()函數(shù),所以需要我們完成的函數(shù)定義有:構(gòu)造函數(shù)、復(fù)制構(gòu)造函數(shù)、input_line()函數(shù)和重載的“<<”運(yùn)算符函數(shù)①StringVar(intsize);題意指出,size為字符串長(zhǎng)度(字符個(gè)數(shù))初始值,字符串內(nèi)容初始化為空串,所以需要使用size設(shè)置成員max—length,為value申請(qǐng)size個(gè)字符的存儲(chǔ)空間,并把value的第一個(gè)字符設(shè)置為’\0’表示空串,這樣保證析構(gòu)函數(shù)的delete[]也是正確的。②StringVar(constchara[]);題意指出,使用參數(shù)數(shù)組a的內(nèi)容初始化對(duì)象的成員,即將數(shù)組a中的內(nèi)容,存放到value指向的內(nèi)存空間,由于value是使用new分配的(保證析構(gòu)函數(shù)的delete[]是正確的),所以不能簡(jiǎn)單的把數(shù)組a的首地址賦給value,需要將數(shù)組a的內(nèi)容復(fù)制到value指向的內(nèi)存空間中,另外成員max_length,初值最小必須是value指向的內(nèi)存空間長(zhǎng)度,即value指向的字符串長(zhǎng)度+1(題意中max_length表示字符個(gè)數(shù)的最大值,所以需要包含字符串結(jié)束符’\0’)(此構(gòu)造函數(shù)的形參必須傳人的是字符串,如果是字符數(shù)組,必須傳入數(shù)組的長(zhǎng)度,以防數(shù)組a的最后一個(gè)字符不是結(jié)束符’\0’,此時(shí)strlen()函數(shù)獲取的長(zhǎng)度,就不是字符數(shù)組a的字符個(gè)數(shù))③StringVar(constStringVar&strobj);復(fù)制構(gòu)造函數(shù)需要將形參strobj的成員賦給當(dāng)前調(diào)用該復(fù)制構(gòu)造函數(shù)的對(duì)象成員,在賦值value時(shí),同樣需要為value分配足夠的內(nèi)存空間。④inputjine(istream&ins);input_line()函數(shù)需要使用形參ins輸入流,輸入一個(gè)字符串存放到value中,題意要求可以輸入空格,所以我們不能直接用輸入流ins和輸入運(yùn)算符,因?yàn)檩斎脒\(yùn)算符會(huì)丟棄空白符、空格符和制表符,可以使用輸入流ins的成員函數(shù):get()和while循環(huán),逐個(gè)輸入字符存放到value下標(biāo)i的字符中,直到輸入的字符為換行符或value存滿(mǎn)(i=max_length)為止,當(dāng)這兩個(gè)條件滿(mǎn)足其一,那么就應(yīng)該停止輸入,另外需要注意:value指向的字符串結(jié)尾,必須包含空字符’\0’,所以下標(biāo)max_length-1必須是空字符,循環(huán)輸入時(shí),i取值最大為max_length-2。⑤ostream&operator<<(ostream&outs,constStringVarthe_string);輸出運(yùn)算符重載函數(shù),題意要求將the_string通過(guò)輸出流outs輸出,由于the_string是StringVar對(duì)象,所以輸出的應(yīng)該是對(duì)象的成員value指向的字符串,根據(jù)返回值可知,函數(shù)必須返回輸入流ostream的引用;另外由于第一形參是輸入流outs,所以無(wú)法通過(guò)StringVar對(duì)象來(lái)調(diào)用,該函數(shù)不是類(lèi)的成員函數(shù),函數(shù)定義時(shí),不能限定StringVar作用域,由于該函數(shù)不是類(lèi)的成員函數(shù),所以使用輸出流outs輸出value指向的字符串時(shí),不能直接使用私有成員value,而是應(yīng)該使用getValue()公有成員函數(shù),返回value的值,再輸出。國(guó)家二級(jí)C++機(jī)試(操作題)模擬試卷第6套一、基本操作題(本題共1題,每題1.0分,共1分。)1、下列給定程序中,函數(shù)fun的功能是:計(jì)算N×N矩陣的主對(duì)角線元素和反向?qū)蔷€元素之和,并作為函數(shù)值返回。要求先累加主對(duì)角線元素中的值,再累加反向?qū)蔷€元素中的值。例如,若N=3,有下列矩陣:123456789首先累加1、5、9,然后累加3、5、7,函數(shù)返回值為30。請(qǐng)?jiān)诔绦虻闹欣ㄌ?hào)處填入正確的內(nèi)容并將中括號(hào)刪除,使程序得出正確的結(jié)果。注意:部分源程序給出如下。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#include#defitieN4fun(intt[][N],intn){inti,sum;/*********found*********/【1】;for(i=0;i標(biāo)準(zhǔn)答案:(1)sunl=0(2)t[i][i](3)1知識(shí)點(diǎn)解析:填空1:變量SHill用來(lái)儲(chǔ)存“和”結(jié)果,所以將其初始化為0。填空2:從題目中可以了解到,主對(duì)角線元素的行和列下標(biāo)是相同的,所以應(yīng)填入t[i][i]。填空3:對(duì)于反向?qū)蔷€元素的行和列的下標(biāo),它們的關(guān)系是相加和為n—1,所以應(yīng)填入1。二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、下列給定程序中,函數(shù)fun的功能是:將s所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母(如“Z”轉(zhuǎn)化為“A”,“z”轉(zhuǎn)化為“a”),其他字符不變。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:#include#include#include#includevoidfun(char*s){/*********found*********/while(*s!=’@’){if(*s>=’A’&&*s<=’Z’||*s>=’a’&&*s<=’z’){if(*s==’Z’)*s=’A’;elseif(*s=’z’)*s=’a’;else*s+=1;}/*********found*********/(*s)++;}}voidmain(){chars[80];system("CLS");printf("\nEnterastringwithlength<80:\n\n");gets(s);printf("\nThestring:\n\n");puts(s);fun(s);printf("\n、nTheCords:\n\n");puts(s);}標(biāo)準(zhǔn)答案:(1)while(*s)或while(*s!=’\0’)(2)s++;知識(shí)點(diǎn)解析:(1)通過(guò)wh兒e語(yǔ)句可對(duì)字符串所有字符進(jìn)行遍歷,循環(huán)條件是對(duì)當(dāng)前字符進(jìn)行判斷,若當(dāng)前字符不是字符串結(jié)尾,則對(duì)其進(jìn)行其他操作。(2)因?yàn)樵撗h(huán)通過(guò)指針s的移動(dòng)遍歷字符串,所以每循環(huán)一次要使指針向后移動(dòng)一個(gè)位置,而不是將指針?biāo)傅脑丶?。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、編寫(xiě)函數(shù)intfun(intlim,intaa[MAX]),其功能是求出小于或等于lim的所有素?cái)?shù)并放在aa數(shù)組中,并返回所求出的素?cái)?shù)的個(gè)數(shù)。注意:部分源程序在文件PROGl.C中。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容.僅在函數(shù)fun的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include#include#include#defineMAX100intfun(intlim,intaa[MAx]){}voidmain(){FILE*wf;intlimit,i,sum;intaa[NAX];system("CLS");printf("輸入一個(gè)整數(shù):");Scanf("%d",&limit);sum=fun(limit,aa);for(i=0;i標(biāo)準(zhǔn)答案:intfun(intlim,intaa[MAX]){inti,j,k=0;for(i=2;i<=lim;i++)/*求出小于或等于lim的全部素?cái)?shù)*/{for(j=2;j=i)aa[k++]=i;/*將求出的素?cái)?shù)放入數(shù)組aa中木/}returnk;/*返回所求出的素?cái)?shù)的個(gè)數(shù)*/}知識(shí)點(diǎn)解析:本程序如果一個(gè)數(shù)是合數(shù),那么它的最小質(zhì)因數(shù)肯定小于等于他的平方根。使用for循環(huán)語(yǔ)句查找小于lim的所有數(shù),使用內(nèi)嵌的循環(huán)判斷語(yǔ)句判斷該數(shù)是否為素?cái)?shù)。在做這道題時(shí),需要重點(diǎn)掌握素?cái)?shù)的判定方法:for(j=2;j國(guó)家二級(jí)C++機(jī)試(操作題)模擬試卷第7套一、基本操作題(本題共1題,每題1.0分,共1分。)1、使用VC6打開(kāi)考生文件夾下的源程序文件modil.cpp,該程序運(yùn)行時(shí)有錯(cuò),請(qǐng)改正其中的錯(cuò)誤,使程序正常運(yùn)行,并使程序的執(zhí)行結(jié)果為:1234543211234321123211211注意:錯(cuò)誤的語(yǔ)句在∥********error********的下面,修改該語(yǔ)句即可。#include#includevoidmain(){inti,j,k;for(i=5;i>=lji一一){∥********error********for(j=1;j<=i;J++)cout<<“”:∥********error********for(k=1;k>=i;k++)cout(0;k++)cout<標(biāo)準(zhǔn)答案:(1)for(j=1;j<=5一i;J++)(2)for(k=1;k<=i;k++)(3)for(k=i一1;k>0;k一一)知識(shí)點(diǎn)解析:暫無(wú)解析二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、使用VC6打開(kāi)考生文件夾下的源程序文件modi2.cpp。請(qǐng)完成函數(shù)fun(char*s1,char*s2),此函數(shù)的功能是計(jì)算s1中出現(xiàn)s2的個(gè)數(shù),當(dāng)不出現(xiàn)時(shí),則返回0。如:s1為“1112223333aaaaeeffd”s2為“11”則返回1s2為”aa”則返回2注意:請(qǐng)勿改動(dòng)主函數(shù)main與其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。#include//注意只能使用int類(lèi)型,不能類(lèi)型轉(zhuǎn)換intfun(char*S1,char*s2){)voidmain(){chars1[1024];chars2[256];cout<<“pleaseinputastring:”<標(biāo)準(zhǔn)答案:intsize=0;//初始化字符串統(tǒng)計(jì)變量個(gè)數(shù)intsllen;ints2len;for(sllen=0;s1[sllen]!=0;sllen++);//第一個(gè)字符串循環(huán)for(s21en=0;s2[s21en]!=0;s21en++);//第二個(gè)字符串循環(huán)for(inti=0;i知識(shí)點(diǎn)解析:(1)該程序功能是計(jì)算s1中出現(xiàn)s2的個(gè)數(shù)。它的解題思路是兩個(gè)字符串逐個(gè)比較其中的字符,從而統(tǒng)計(jì)符合的字符串個(gè)數(shù)。(2)從已給部分源程序的main主函數(shù)開(kāi)始入手,核心函數(shù)intfun(char*sl,char*s2)中的s1,s2參數(shù)為輸入的字符串。解題思路(1)size變量用來(lái)存放s1中出現(xiàn)s2的個(gè)數(shù),初始值賦為0。(2)然后利用for循環(huán)對(duì)s2中的每一個(gè)字符與s1中的字符進(jìn)行比較。(3)如果循環(huán)中有符合條件的字符串,就將變量size個(gè)數(shù)加1。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、使用VC6打開(kāi)考生文件夾下的源程序文件modi3.cpp。其中定義的類(lèi)并不完整,按要求完成下列操作,將類(lèi)的定義補(bǔ)充完整,使得程序輸出21到屏幕。完成以下功能:(1)增加靜態(tài)私有變量mNumber,類(lèi)型為int,請(qǐng)?jiān)谧⑨尅?*******1********后添加適當(dāng)?shù)恼Z(yǔ)句。(2)增加靜態(tài)變量mNumber并初始化為10,請(qǐng)?jiān)谧⑨尅?*******2********后添加適當(dāng)?shù)恼Z(yǔ)句。(3)完成靜態(tài)函數(shù)get的定義,請(qǐng)?jiān)谧⑨尅?*******3********后添加適當(dāng)?shù)恼Z(yǔ)句。(4)完成對(duì)象obj對(duì)靜態(tài)函數(shù)get的調(diào)用,使得輸出2l到屏幕上,請(qǐng)?jiān)谧⑨尅?*******4********后添加適當(dāng)?shù)恼Z(yǔ)句。注意:增加代碼,或者修改代碼的位置已經(jīng)用符號(hào)表示出來(lái)。請(qǐng)不要修改其他的程序代碼。#lncludeC1assTestClass{∥********1********intmOther;public:TestClass(inti){mOther=i;}∥********3********{returnm—Number+obj一>m_Other;}},∥********2********intmain(){TestClassobj(11);∥********4********cout<<<標(biāo)準(zhǔn)答案:(1)添加語(yǔ)句:staticintmNumber;(2)添加語(yǔ)句:intTestClass::mNumber=10;(3)添加語(yǔ)句:staticintget(TestClass*obj)(4)將“cout<<<知識(shí)點(diǎn)解析:暫無(wú)解析國(guó)家二級(jí)C++機(jī)試(操作題)模擬試卷第8套一、基本操作題(本題共1題,每題1.0分,共1分。)1、使用VC6打開(kāi)考生文件夾下的源程序文件modil.cpp,該程序運(yùn)行時(shí)有錯(cuò),請(qǐng)改正其中的錯(cuò)誤,使程序正常運(yùn)行,并且使程序輸出的結(jié)果為:a=7,b=0a=8,b=10注意:錯(cuò)誤的語(yǔ)句在∥********error********的下面,修改該語(yǔ)句即可。#includeclasscobj{public:∥********error********friendvoidfunc(CObj&,int,int);voiddisplay(){∥********error********cout<<¨a=¨<標(biāo)準(zhǔn)答案:(1)添加語(yǔ)句:friendvoidfunc(CObj&,int);(2)cout<<“a=lI<知識(shí)點(diǎn)解析:(1)標(biāo)識(shí)1處是聲明一個(gè)友元函數(shù),友元函數(shù)是在類(lèi)聲明中由關(guān)鍵字friend修飾的非成員函數(shù),由friendvoidfunc(CObj&,int,int)可知,函數(shù)func0是CObj類(lèi)的友元,由程序后面的具體實(shí)現(xiàn)可知該函數(shù)重載了,已經(jīng)聲明了友元函數(shù)friendvoidfunc(CObj&,int,int),另外一個(gè)友元函數(shù)func(CObj&obj,intt)沒(méi)有聲明,因此第1個(gè)標(biāo)識(shí)下應(yīng)添加“friendvoidfunc(CObj&,int);”。(2)display()函數(shù)打印類(lèi)成員變量a和b的值,cout流中的數(shù)據(jù)是用流插入運(yùn)算符“<<”順序加入的,因此“<<<<”不正確,第2個(gè)標(biāo)識(shí)下應(yīng)改為“cout<<“a=”<<對(duì)象名>(<參數(shù)表>);,對(duì)象聲明語(yǔ)句是一個(gè)完整的語(yǔ)句,應(yīng)該以“:”結(jié)尾,因此第3個(gè)標(biāo)識(shí)下應(yīng)改為“CObjobjl;”。二、簡(jiǎn)單應(yīng)用題(本題共1題,每題1.0分,共1分。)2、使用VC6打開(kāi)考生文件夾下的源程序文件modi2.cpp。閱讀下列函數(shù)說(shuō)明和代碼,補(bǔ)充空出的代碼。函數(shù)DecToBin(char*des,intn)的功能是將十進(jìn)制數(shù)據(jù)n轉(zhuǎn)換成二進(jìn)制數(shù)據(jù),并將轉(zhuǎn)換結(jié)果存放在des中。如:120的二進(jìn)制數(shù)據(jù)為1111000例:DecToBin(char*des,120);cout<#defineMAXLEN1024voidDecToBin(char*des,intn){}voidmain(){chardes[MAXLEN];intn=120;DecToBin(des,n);cout<標(biāo)準(zhǔn)答案:intj,i=0;chartemp;while(n!=0){des[i]=n%2+’0’;n=n/2;i++;}//轉(zhuǎn)化結(jié)果為2進(jìn)制最高位在des的下標(biāo)最低處,順序剛好反了des[i]=NULL;for(j=o;j知識(shí)點(diǎn)解析:(1)本題為將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),因此采用除2求余法,通過(guò)該方法最終可以將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成一個(gè)只包含1和0的數(shù)組。(2)除2求余法得到的是0和1的數(shù)值,不是“0”和“1”字符,還需將數(shù)字轉(zhuǎn)化成字符,0和1通過(guò)加上“0”的ASCII碼便可得到0和1的ASCII碼字符。(3)因?yàn)槌?求余法得到的字符數(shù)組是從低位到高位保存的,因此需要先倒序后再輸出,可利用循環(huán)方式將順序調(diào)轉(zhuǎn)過(guò)來(lái)。三、綜合應(yīng)用題(本題共1題,每題1.0分,共1分。)3、使用VC6打開(kāi)考生文件夾下的源程序文件modi3.cpp。其中定義的類(lèi)并不完整,按要求完成下列操作,將類(lèi)的定義補(bǔ)充完整。完成以下功能:(1)定義私有常量PI,請(qǐng)?jiān)谧⑨尅?*******1********后添加適當(dāng)?shù)恼Z(yǔ)句。(2)完成類(lèi)的私有常量PI的賦值,以及完成對(duì)半徑radius的賦值。請(qǐng)?jiān)谧⑨尅?*******2********后添加適當(dāng)?shù)恼Z(yǔ)句。(3)完成計(jì)算圓面積的函數(shù)GetArea()。請(qǐng)?jiān)谧⑨尅?*******3********后添加適當(dāng)?shù)恼Z(yǔ)句。(4)完成計(jì)算圓周長(zhǎng)的函數(shù)GetGirth()。請(qǐng)?jiān)谧⑨尅?*******4********后添加適當(dāng)?shù)恼Z(yǔ)句。注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。#include#defineCONSTpI3.141592C1assCCircle{private:doubleradius;∥********1********public:∥********2********CCircle(intradius){this一>radius=radius;)doubleGetArea(){∥********3********}doubleGetGirth(){∥********4********}voidsetRadius(intm){radius=m;}};intmain(){CCircleCircle(5);cout<標(biāo)準(zhǔn)答案:(1)添加語(yǔ)句:constdoublePI;(2)將“CCircle(intradius)”補(bǔ)充完整為:CCircle(intradius).PI(CONST—PI)(3)添加語(yǔ)句:returnradius*radius*PI;(4)添加語(yǔ)句:return2*radius*PI;知識(shí)點(diǎn)解析:(1)第1個(gè)標(biāo)識(shí)下定義私有常量PI,常數(shù)據(jù)成員是使用const說(shuō)明的數(shù)據(jù)成員,因此第1個(gè)標(biāo)識(shí)下應(yīng)添加“constdoublePI;”0(2)常數(shù)據(jù)成員的初始化只能通過(guò)構(gòu)造函數(shù)的成員初始化列表進(jìn)行,構(gòu)造函數(shù)CCircle(intradius)應(yīng)對(duì)常數(shù)據(jù)成員PI進(jìn)行初始化,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 果洛環(huán)保塑膠跑道施工方案
- 白云區(qū)五下數(shù)學(xué)試卷
- 山東城市電梯燈施工方案
- 洋浦疏港高速公路工程SG01標(biāo)段水穩(wěn)拌合站環(huán)境影響報(bào)告表(公示稿)環(huán)評(píng)報(bào)告表
- 現(xiàn)場(chǎng)道路清理方案
- 弘景光電:盈利預(yù)測(cè)報(bào)告及審核報(bào)告
- 烏海市環(huán)氧自流平施工方案
- 山東省泰安市2025屆高三一輪檢測(cè)(泰安一模)日語(yǔ)參考答案
- 智能制造對(duì)勞動(dòng)市場(chǎng)的影響
- 危化企業(yè)安全生產(chǎn)監(jiān)控與檢查方案
- 2025年部編版道德與法治小學(xué)三年級(jí)下冊(cè)全冊(cè)教案(含教學(xué)計(jì)劃)
- DZ∕T 0248-2014 巖石地球化學(xué)測(cè)量技術(shù)規(guī)程(正式版)
- 2023河南中醫(yī)藥大學(xué)學(xué)士學(xué)位英語(yǔ)題
- 中等職業(yè)學(xué)校英語(yǔ)教學(xué)大綱詞匯表本表共收詞2200個(gè)左右含
- 深圳藝術(shù)學(xué)校初升高招生測(cè)試卷(英語(yǔ))
- 城市雕塑藝術(shù)工程工程量計(jì)價(jià)清單定額2022年版
- 證明銀行賬戶(hù)公戶(hù)轉(zhuǎn)個(gè)人戶(hù)
- 航海計(jì)算軟件---ETA計(jì)算器
- 光伏電站運(yùn)維手冊(cè)
- 南京連續(xù)運(yùn)行衛(wèi)星定位綜合服務(wù)系統(tǒng)
- 半導(dǎo)體及集成電路領(lǐng)域的撰寫(xiě)及常見(jiàn)問(wèn)題
評(píng)論
0/150
提交評(píng)論