




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021年江西省新余市全國計(jì)算機(jī)等級考試C++語言程序設(shè)計(jì)真題(含答案)學(xué)校: 班級: 姓名: 考號: 一、1.選擇題(10題)以下敘述中不正確的是C++語言中的文本文件以ASCII碼形式存儲數(shù)據(jù)B.C++語言中,對二進(jìn)制文件的訪問速度比文本文件快C.C++語言中,隨機(jī)讀寫方式不適用于文本文件D.C++語言中,順序讀寫方式不適用于二進(jìn)制文件下列輸出字符的方法中,()是錯(cuò)誤的。coat<<put(*A')cout<<'A'coat.put('A')charA='A';cout<<A設(shè)計(jì)數(shù)據(jù)庫的存儲結(jié)構(gòu)屬于()。需求分析B.概念設(shè)計(jì)C.邏輯設(shè)計(jì)D.物理設(shè)計(jì)下列能對對象進(jìn)行初始化的是( )o構(gòu)造函數(shù)B.析構(gòu)函數(shù)C.友元函數(shù)D.靜態(tài)成員函數(shù)靜態(tài)數(shù)據(jù)成員是為()的數(shù)據(jù)。私有B.保護(hù)C.所有對象共享D.類成員下列描述中錯(cuò)誤的是()o繼承分為多重繼承和單繼承對象間通信靠傳遞消息實(shí)現(xiàn)在外面看不到對象的內(nèi)部特征是基于對象的“模塊獨(dú)立性好”這個(gè)特征類是具有共同屬性、共同方法的對象的集合下列不是構(gòu)造函數(shù)的特征的是()oA.函數(shù)名與類名相同B.構(gòu)造函數(shù)可以重載C.構(gòu)造函數(shù)可以設(shè)置默認(rèn)值D.構(gòu)造函數(shù)可以有返回值下列關(guān)于運(yùn)算符重載的描述中,正確的是()運(yùn)算符重載可以改變運(yùn)算符的操作數(shù)的個(gè)數(shù)運(yùn)算符重載可以改變優(yōu)先級運(yùn)算符重載可以改變結(jié)合性運(yùn)算符重載不可以改變語法結(jié)構(gòu)只能作為成員函數(shù)重載的是A.=B.++C.*D.newC++語言是以哪種語言為基礎(chǔ)逐漸發(fā)展演變而成的一種程序設(shè)計(jì)語言?A.ASPB.CC.VBD.Java二、單選題(13題)有下列程序:#include<stdiO.h>voidmain( ){char*a[]={”abed”,"ef,”gh”,”ijk”);inti;for(i=0;i<4;i++)printf("%C",*a[i]);}程序運(yùn)行后的輸出結(jié)果是( )oA.A.aegiB.dfhkC.abedD.abcdcfghijk當(dāng)使用ifstream流類定義一個(gè)流對象并打開一個(gè)磁盤文件時(shí),文件的默認(rèn)打開方式為ios_base::inios_base::in1ios_base::outios_base::outios_base::ingdos_base::out有下列程序:#include<stdiO.h>voidmain({inti=5;do{if(i%3=l)if(i%5==2){printf("*%d",i);break;)i++:}while(i!=O);printf("\n");)程序運(yùn)行后的輸出結(jié)果是()oA.aegiB.dfhkC.abedD.abcdcfghijk為了使模塊盡可能地獨(dú)立,要求 模塊的內(nèi)聚程度要盡量高,模塊的內(nèi)聚程度要盡量高,模塊的內(nèi)聚程度要盡量低,模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)且各模塊間的耦合程度要盡量弱且各模塊間的耦合程度要盡量弱且各模塊間的耦合程度要盡量強(qiáng)有如下程序:#include<iostream>usingnamespacestd;classPair{intm?n;public;Pair(intj?intk):m(j),n(k){}intget(){returnm;)intget()const{returnm+n;)};intmain(){Paira(3,5);constPairb(3?5);cout?a.get()?b.get();returnO;1運(yùn)行時(shí)的輸出結(jié)果是()oA.33B.38C.83D.88模板函數(shù)的真正代碼是在()時(shí)候產(chǎn)生。源程序中聲明函數(shù)時(shí)B.源程序中定義函數(shù)時(shí)C.源程序中調(diào)用函數(shù)時(shí)D.運(yùn)行執(zhí)行函數(shù)時(shí)在C++語言中,打開一個(gè)文件就是將這個(gè)文件與一個(gè)什么建立關(guān)聯(lián)?流B.類C.結(jié)構(gòu)D.對象下列程序的輸出結(jié)果是()。#include<iostream>usingnamespacestd;intmain()(chara[]="Hello,Test";char*p=a;while(*p)(if(*p>='a'&&*p<=,z,)cout<<char(*p+'A'-'a');elsecout<<*p;p++;}rehllo,testB.Hello,TestC.HELLO,TESTD.hELLO,tEST下面有關(guān)重載函數(shù)的說法中正確的是A.重載函數(shù)必須具有不同的返回值類型重載函數(shù)形參個(gè)數(shù)必須不同重載函數(shù)必須有不同的形參列表重載函數(shù)名可以不同為了取代C中帶參數(shù)的宏,在C++中使用A.重載函數(shù)B.內(nèi)聯(lián)函數(shù)C.遞歸函數(shù)D.友元函數(shù)定義如下枚舉類型enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2);則下列選項(xiàng)正確的是()。表達(dá)式Wednesday==Friday的值是trueDayday;day=3;Dayday;day=Monday+3;Daydayday=Tuesday+10;有下列程序:#include<stdiO.h>voidmain( )(intx=8;for(;x>0;x—)(if(x%3){printf("%d,",x—),continue;}printf("%d,",—x);}}程序的運(yùn)行結(jié)果是()。A.7,4,2B.8,7,5,2C.9,7,6,4D.8,5,4,2下列敘述中正確的是為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)一個(gè)關(guān)系的屬性名表稱為關(guān)系模式—個(gè)關(guān)系可以包括多個(gè)二維表三、2.填空題(12題)已知類sample是一個(gè)抽象類,其成員函數(shù)display是無形參、無返回類型的純虛函數(shù),請完成其聲明:sample{public:sample()(););—個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體,,項(xiàng)目主管,,與實(shí)體“項(xiàng)目”的聯(lián)系屬于【]的聯(lián)系。以下程序的輸出結(jié)果是【】。#include<iostream.h>voidfun(){staticinta=0;a+=2;cout<<a<<M";)voidmain(){intcc;for(cc=l;cc<4;cc++)fun();cout<<endl;}順序存儲方法是把邏輯上相鄰的結(jié)點(diǎn)存儲在物理位置【】的存儲單元中。一棵二叉樹第6層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)最多為 個(gè)。動(dòng)態(tài)聯(lián)編中直到 時(shí)才能確定調(diào)用哪個(gè)函數(shù);而靜態(tài)聯(lián)編則是在 時(shí)進(jìn)行的。在深度為6的滿-X樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為【]o數(shù)據(jù)模型分為格式化模型與非格式化模型,層次模型與網(wǎng)狀模型屬于【】。順序存儲方法是把邏輯上相鄰的節(jié)點(diǎn)存儲在物理位置 的存儲單元中。以下程序的執(zhí)行結(jié)果是【]o#include<iostream,h>classSample(public:intx:inty;voiddisp(){cout<<'x="<<X<<”,尸<<y<<endl;});voidmain(){intSample::**pc;Samples;pc=&Sample::x;s.*pc=10;pc:=&Sample::y;s.*pc=20;s.dispQ;} 是一種信息隱蔽技術(shù),目的在于將對象的使用者和對象的設(shè)計(jì)者分開。關(guān)系操作的特點(diǎn)是【】操作。四、程序改錯(cuò)題(10題)使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò),請改正其中的錯(cuò)誤,使程序正常運(yùn)行,輸出的結(jié)果為Constructor,i=0,Destructor注意:錯(cuò)誤的語句在//******error******的下面,修改該語句即可。試題程序:#include(iostream.h)classTC(inti;public:TC;voiddisplay;?TC;);//******error******TC:TC(cout?,,Constructor',?',l";i=0;)//******errc)r******TC:displaytout?ui=u?i?n,u?endl;//******error******TC:TC{COUI?nDestructorn?endl:)voidmain(TCa;a.display;}使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請改正錯(cuò)誤,使程序正常運(yùn)行,并且要求最后一個(gè)catch必須拋出執(zhí)行的任何異常。程序異常,輸出信息為errorOERROR注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語句在//******eiror******的下面。試題程序:#include<iostream.h)intmaintrythrow("errorH);I//********error********catch(chars)cout?s?endl;throw((int)0);catchcout?i?endl;throw(O);throw("error");catchcout?"ERROR"?endl:returnO;使用VC++6.0打開考生文件夾下的源程序文件1.cppo本程序要求輸入一個(gè)字符串,然后將其中的小寫字母改成大寫字母,字符可能輸入多行,當(dāng)輸入字符“?''時(shí),默認(rèn)字符輸入結(jié)束,最后把結(jié)果輸出到屏幕中。注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語句在//******error******的下面。試題程序:#include<iostream.h>voidmain(inti=O;charstr[120];cout?"Enterastringendwith?."?endl;cin.getline(str,120);while(str)if(str[i])=a)str[i]=str[i]-a+A;i++;Icout?str?endl;return;使用VC++6.。打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行有問題,請改正main函數(shù)中的錯(cuò)誤,使程序的輸出結(jié)果為:number=lnumber=10number=100注意:不要改動(dòng)main函數(shù),不能增加或刪除行。也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語句在//******error******的下面。試題程序:#include<iostream.h>classTC(public:TC(inti)(number=i;}voidSetNumber(intm)(number=m;}intGetNumberconst(returnnumber;)voidPrintconst(cout?"number="?number?endl;Iprivate:intnumber;};voidmainTCobjl;objl.Print;TCobj2(3);objl.number=10;/ /********0^01.*^******TC?SetNumber(l00);objl.Print;obj2.Print;}使用VC++6.。打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò),請改正其中的錯(cuò)誤,使程序正常運(yùn)行,輸出的結(jié)果為Constructor,i=0?Destructor注意:錯(cuò)誤的語句在//******error******的下面,修改該語句即可。試題程序:#include(iostream.h)classTC(inti;public:TC;voiddisplay;?TC;};TC:TC{cout?HConstructor"?",";TC:display(tout?,,i=H?i?",H?endl;TC:TC{COUI?"Destructor"?endl:}#include<iostream.h>voidmain(inti=O;charstrll20];cout?nEnterastringendwith?."?endl;//********eifor********cin.getline(str,120);//********eifor********while(str)//********eifor********if(str[i])=a)str[i]=str[i]-a+A;i++;}cout?str?endl;return;}使用VC++6.0打開考生文件夾下的源程序文件cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請改正程序中的錯(cuò)誤。本程序要求實(shí)現(xiàn)的功能為從鍵盤輸入一個(gè)字符串,并將結(jié)果保存到文件1.txt中。注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語句在cout?"pleaseinputastrin9:"?endl;cin.getline(s,1024);WriteFile(s);returnO;}使用VC++6.。打開考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò)。請改正程序中的錯(cuò)誤,使程序輸出的結(jié)果為1003732注意:錯(cuò)誤的語句在//******error******的下面,修改該語句即可。試題程序:#include<iostream.h>voidmainintm=0142://******error******intn=0X27:intq=32;coutV<mVVendl;cout<<nVVendl;coutV<q<Vendl;return;}使用VC++6.0打開考生文件夾下的源程序文件1?cpp,該程序運(yùn)行時(shí)有錯(cuò)誤,請改正程序中的錯(cuò)誤。本程序要求實(shí)現(xiàn)的功能為從鍵盤輸入一個(gè)字符串,并將結(jié)果保存到文件1.txt中。注意:不要改動(dòng)main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯(cuò)誤的語句在//******err()r******的下面°試題程序:#include<iostream>#include<fstream>//********eifor********usingstd;voidWriteFile(char*s)(ofstreamoutl;//********eifor********outl.open("1.txt",binarylapp);for(inti=0;s[i]!=0;i++){//********eiror********outl.puts(s[i]);return0;}參考答案D解析:在C語言中文本文件是以ASCII碼形式存放的,每個(gè)字符占一個(gè)字節(jié)。由于數(shù)據(jù)在計(jì)算機(jī)中是以二進(jìn)制形式存放的,因此二進(jìn)制文件中的數(shù)據(jù)可以直接讀出,而不需要像文本文件那樣把ASCII碼轉(zhuǎn)換成二進(jìn)制,因此速度較快。在文本文件葉,,數(shù)據(jù)以ASCII碼形式存放,用戶很難判定一個(gè)數(shù)據(jù)到底占幾個(gè)字節(jié),所以不適合使用隨機(jī)讀寫方式。數(shù)據(jù)以二進(jìn)制形式存放,占有的字節(jié)數(shù)是固定的,所以可以進(jìn)行隨機(jī)讀寫,當(dāng)然也可以順序讀寫。故D選項(xiàng)為所選。A解析:put()函數(shù)本身就是用于輸出字符。DDo【解析】物理設(shè)計(jì)階段主要解決選擇文件存儲結(jié)構(gòu)和確定文件存取方法的問題。物理設(shè)計(jì)階段包括:選擇存儲結(jié)構(gòu)、確定存取方法、選擇存取路徑、確定數(shù)據(jù)的存放位置。A類的構(gòu)造函數(shù)的作用就是在類實(shí)例化對象時(shí),即對象還沒有生成時(shí)完成一些初始化的工作。此時(shí),析構(gòu)函數(shù)和靜態(tài)成員函數(shù)都還沒有建立,而友元函數(shù)是類外部的函數(shù),根本無法完成類的實(shí)例化工作。C解析:靜態(tài)數(shù)據(jù)成員是一種特殊的數(shù)據(jù)成員。靜態(tài)數(shù)據(jù)成員不屬于B解析:程序設(shè)計(jì)的相關(guān)概念。BBo【解析】eonst函數(shù)只能被eonst對象調(diào)用,a.get函數(shù)調(diào)用的返回值是3,而b.get調(diào)用的返回值是8。C解析:本題考核模板函數(shù)的使用。在說明一個(gè)函數(shù)模板后,當(dāng)編譯系統(tǒng)發(fā)現(xiàn)有一個(gè)對應(yīng)的函數(shù)調(diào)用時(shí),將根據(jù)實(shí)參中的類型來確認(rèn)是否匹配函數(shù)模板中對象的形參,然后生成一個(gè)重載函數(shù)。由此可知模板函數(shù)的真正代碼是在函數(shù)調(diào)用時(shí)產(chǎn)生的。A解析:C++的I/O系統(tǒng)是通過一種稱為流的機(jī)制來實(shí)現(xiàn)文件和控制臺的I/O操作。簡單地說,在C++中,輸入輸出操作是通過流來完成的。而文件流以磁盤文件以及其他可按文件方式進(jìn)行管理的外部設(shè)備為輸入輸出對象。每個(gè)文件流都應(yīng)當(dāng)與一個(gè)打開的文件相聯(lián)系;關(guān)閉一個(gè)文件就是取消這種聯(lián)系。C解析:用一個(gè)指針變量p指向字符數(shù)組a,在while循環(huán)中,當(dāng)不指向數(shù)組尾時(shí),將小寫字母轉(zhuǎn)換為大寫字母,然后將其輸出。C解析:函數(shù)重載允許用同一個(gè)函數(shù)名定義多個(gè)函數(shù)。被重載的函數(shù)必須要有不同的形參列表。不可以根據(jù)函數(shù)返回值類型來重載函數(shù)。B一般函數(shù)進(jìn)行調(diào)用時(shí),要將程序執(zhí)行權(quán)轉(zhuǎn)到被調(diào)用函數(shù)中,然后再返回到調(diào)用它的函數(shù)中;而內(nèi)聯(lián)函數(shù)在調(diào)用時(shí),是將調(diào)用表達(dá)式用內(nèi)聯(lián)函數(shù)體來替換,即類似于宏。A是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有3種,即一對一(1;1)的聯(lián)系、一對多(1:N)或多對一(N:1)的聯(lián)系和多對多(M:N)的聯(lián)系。26.246246解析:本題考查靜態(tài)局部變量的使用。用關(guān)鍵字static聲明的局部變量為“靜態(tài)局部變量”,其值在函數(shù)調(diào)用結(jié)束后不消失而保留原值,即其占用的存儲單元不釋放,在下一次該函數(shù)調(diào)用時(shí),該變量已有值,就是上一次函數(shù)調(diào)用結(jié)束時(shí)的值。27.相鄰相鄰解析:常用的存儲表示方法有4種,順序存儲、鏈?zhǔn)酱鎯?、索引存儲、散列存儲。其中,順序存儲方法是把邏輯上相鄰的結(jié)點(diǎn)存儲在物理位置也相鄰的存儲單元中。28.3229.程序運(yùn)行程序編譯程序運(yùn)行程序編譯30.6363解析:所謂滿--X樹是指這樣的一種二叉樹:除最后一層外,每一層上的所有結(jié)點(diǎn)都有兩個(gè)葉子結(jié)點(diǎn)。在深度為N的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為2N-1。格式化模型格式化模型解析層次模型與網(wǎng)狀模型屬于格式化模型。相鄰相鄰解析:常用的存儲表示方法有4種,順序存儲、鏈?zhǔn)酱鎯Α⑺饕鎯?、散列存儲。其中,順序存儲的方法是把邏輯上相鄰的?jié)點(diǎn)存儲在物理位置也相鄰的存儲單元中。x=10y=20x=10,y=20解析:本題比較特殊,考察域作用符的使用規(guī)則。其實(shí)際含義是;指針先指向x,然后指向y,并利用該指針分別為x和y賦值。在使用過程中進(jìn)行了作用域的限定。封裝封裝集合集合解析:在關(guān)系操作中,所有操作對象與操作結(jié)果都是關(guān)系。而關(guān)系定義為元數(shù)相同的元組的集合。因此,關(guān)系操作的特點(diǎn)是集合操作。⑴應(yīng)改為“TC::TC”。\n(2)應(yīng)改為“voidTC::display”。\n⑶應(yīng)改為“TC::?TC”。\n【解析】在類的外部定義成員函數(shù)時(shí),必須在成員函數(shù)前面加上類名和作用域運(yùn)算符“::”,作用域運(yùn)算符用采表示某個(gè)成員屬于哪個(gè)類,使用格式為“(類名)::v成員函數(shù)>((參數(shù)函數(shù))),因此第1處應(yīng)改為“TC::TC”,默認(rèn)構(gòu)造函數(shù)沒有參數(shù)。由第2處“TC::display”后的語句看,這是在類外實(shí)現(xiàn)TC函數(shù),因此也有作用域運(yùn)算符使用錯(cuò)誤問題,display函數(shù)返回值為void,因此第2處的語句應(yīng)改為“voidTC:[display”。由第3處的語句“TC::TC”可知,顯然這里是在類外實(shí)現(xiàn)析構(gòu)函數(shù),析構(gòu)函數(shù)是一個(gè)特殊的函數(shù),它的名稱和類名相同,并在前面加字符,用采與構(gòu)造函數(shù)加以區(qū)別,因此第3處的語句應(yīng)改為“TC::~TC”。(1)應(yīng)改為4tcatch(char*s),,o應(yīng)改為“cateh(inti)”。應(yīng)改為“catch(...)氣【解析】本題中第1個(gè)標(biāo)識前的異常拋出語句為-throw(-error-); 其中的類型為字符串。所以對應(yīng)的異常捕捉語句catch中應(yīng)該符合這個(gè)類型,而程序中給出的語句“catch(chars)”是字符型的,所以第1處的語句修改為“catch(char*S)”。第2個(gè)標(biāo)識前的異常拋出語句為“throw((int)0);”,其中的類型為int。對應(yīng)的異常捕捉語句catch中應(yīng)該符合這個(gè)類型,所以補(bǔ)充catch子句中的類型,否則如果找不到匹配的catch塊,系統(tǒng)就會調(diào)用一個(gè)系統(tǒng)函數(shù),使程序終止運(yùn)行。即第2處的語句修改為“catch(inti)”。如果在catch子句中沒有指定異常信息的類型,那么就用刪節(jié)號表示它可以捕捉任何類型的異常信息,即修改為“catch(...)”。(1)應(yīng)改為“ein.getline(str,120,?);"。應(yīng)改為“while(str[i])"。應(yīng)改為“iRstr[i]>=a&&str[i]v=2)”。【解析】本題中要求以輸入字符“?"為結(jié)束符,用于字符輸入的流成員函數(shù)getline函數(shù)讀入一行字符,格式為“cin.getline(字符數(shù)組,字符個(gè)數(shù),終止標(biāo)志字符)”,所以第1處改為“cin.getline(str,120,?);”。第2處的“while(str)”語句應(yīng)該是判斷字符串str中的每一個(gè)字符是否為結(jié)束符,若不是結(jié)束符,在循環(huán)中判斷每一個(gè)字符是否為小寫,若為小寫,則轉(zhuǎn)換。所以應(yīng)該修改為“while(str[i])”°第3處的“if(str[i]>=a)”語句是判斷字符str[i]是否為小寫字符,而現(xiàn)有的語句只是判斷字符是否大于a,但是小寫字符應(yīng)該是a到2,所以修改為“if(str[i]>=a&&str[i]>=z)"。⑴應(yīng)改為“TCobjl⑴;氣(2)應(yīng)改為“Objl.SetNumber(lO);(3)應(yīng)改為“0bj2.SelNumber(lOO);【解析】本題第1處的“TCobjl;”語句是聲明TC類的對象Objl,根據(jù)TC類構(gòu)造函數(shù)的定義TC(inti),存在整型參數(shù),并且題目要求第一個(gè)輸出結(jié)果兩1,所以補(bǔ)全參數(shù)1,即第1處的“TCobjl(l);”。第2處處的"objl.number=10;"應(yīng)該是調(diào)用成員函數(shù)SetNumber賦值。在C++中成員函數(shù)的使用形式應(yīng)該是:對象名.成員函數(shù),所以修改為“objl.SetNumber(lO);”。類是對象的抽象,而對象是類的具體實(shí)例。第3處“TC.SetNumber(lOO);”語句中的TC為類,并不是對象,這里應(yīng)該使用定義的對象,即obj2,所以將語句修改為“obj2.SetNumber(lOO);"。(1)應(yīng)改為“TC::TC”。(2)應(yīng)改為"voidTC::display''。⑶應(yīng)改為“TC::?TC”?!窘馕觥吭陬惖耐獠慷x成員函數(shù)時(shí),必須在成員函數(shù)前面加上類名和作用域運(yùn)算符“::",作用域運(yùn)算符用釆表示某個(gè)成員屬于哪個(gè)類,使用格式為“(類名)::v成員函數(shù)>((參數(shù)函數(shù))),因此第1處應(yīng)改為“TC::TC”,默認(rèn)構(gòu)造函數(shù)沒有參數(shù)。由第2處“TC::display”后的語句看,這是在類外實(shí)現(xiàn)TC函數(shù),因此也有作用域運(yùn)算符使用錯(cuò)誤問題,display函數(shù)返回值為void,因此第2處的語句應(yīng)改為“voidTC::display"o由第3處的語句“TC::TC”可知,顯然這里是在類外實(shí)現(xiàn)析構(gòu)函數(shù),析構(gòu)函數(shù)是一個(gè)特殊的函數(shù),它的名稱和類名相同,并在前面加“?”字符,用采與構(gòu)造函數(shù)加以區(qū)別,因此第3處的語句應(yīng)改為“TC::?TC”。(1)“staticintn=O"應(yīng)改為“staticintn;"?!癷ntCO::n;”應(yīng)改為“intCO::n=0;"coutv<c?n?endl;"應(yīng)改為t6cout?c->n?endl:"?!窘馕觥勘绢}要在屏幕上輸出兩個(gè)字符,首先要靜態(tài)變量初始化,第1處應(yīng)改為“staticintn;”,第2處要給n賦值,第3處輸出時(shí)引用c的對象,應(yīng)改為"coutvvc?>nvvendl;⑴應(yīng)改為“ein.getline(str,120,?);”。\n(2)應(yīng)改為“wh、e(str[i])"。\n⑶應(yīng)改為“if(str[i]>=a&&str[i]<=2fo\n【解析】本題中要求以輸入字符“?”為結(jié)束符,用于字符輸入的流成員函數(shù)getline函數(shù)讀入一行字符,格式為“cin.getline(字符數(shù)組,字符個(gè)數(shù),終止標(biāo)志字符)",所以第1處改為4tcin.getline(str,120,?);”。第2處的“while(str)”語句應(yīng)該是判斷字符串str中的每一個(gè)字符是否為結(jié)束符,若不是結(jié)束符,在循環(huán)中判斷每一個(gè)字符是否為小寫,若為小寫,則轉(zhuǎn)換。所以應(yīng)該修改為“while(str[i])”。第3處的“if(str[i]>=a)”語句是判斷字符str[i]是否為小寫字符,而現(xiàn)有的語句只是判斷字符是否大于a,但是小寫字符應(yīng)該是a到2,所以修改為“if(str[i]>=a&&str[i]>=z),,o(1)應(yīng)改為“usingnamespacestd;"。(2)應(yīng)改為"outl.open("1.txt”,ios::binaryIios::app);⑶應(yīng)改為“outLput(s[i]);”。【解析】本題第1處的“usingstd;”是在程序中引入標(biāo)準(zhǔn)命名空間std,對于C++中引入標(biāo)準(zhǔn)命名空間的格式,缺少namespace,所以第1處的語句修改為“usingnamespacestd;”。第2處,調(diào)用成員函數(shù)open中,輸入、輸出方式是在ios類中定義的,所以“outl.open(nl.txt",binaryIapp);”語句缺少類ios,即第2處的語句修改為"outl.open("l.txt",ios::binaryIios::app);第3個(gè)標(biāo)識應(yīng)該用流成員函數(shù)put輸出字符,所以第3處的語句修改為"outl.put(s[i]);(l)"voidmain"?!癷ntm=0144;“intn=OX25;”或“intn===0x25;【解析】本題主要考查了主函數(shù)定義及幕同進(jìn)制之間的轉(zhuǎn)換,包括十進(jìn)制到八進(jìn)制,十進(jìn)制到十六進(jìn)制。主函數(shù)定義的定義形式為“main”,函數(shù)名之后必須是一對括號,因此第1處應(yīng)改為“voidmain”。cout輸出默認(rèn)是以十進(jìn)制方式輸出的,根據(jù)題目要求輸出的結(jié)果可發(fā)現(xiàn)變量的初值不正確,十進(jìn)制的100對應(yīng)八進(jìn)制的144,卡進(jìn)制的37對應(yīng)十六進(jìn)制的25,因此2和3應(yīng)分別改成“intm=0144;”,“intn=0x25;'‘或“intn=0x25;"。(1)應(yīng)改為“usingnamespacestd;\n(2)應(yīng)改為“outl.open(*l.txt',ios::binary|ios::app);\n(3)應(yīng)改為“outl.put(s[i]);\n【解析】本題第1處的“usingstd建是在程序中引入標(biāo)準(zhǔn)命名空間std
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版全新商鋪?zhàn)赓U終止合同
- 光伏傭金合同樣本
- 體育課教案:武術(shù)
- 人教版小學(xué)四年級上冊音樂全冊教案
- 買水果 合同范例
- 股權(quán)代持協(xié)議書及授權(quán)委托書
- 人教部編版高中語文上冊喜看稻菽千重浪教案
- 入股餐館合同樣本
- 安防監(jiān)控合同
- 為規(guī)范合同范例
- 2024-2025學(xué)年人教新目標(biāo)英語八年級下冊期末綜合檢測卷(含答案)
- 331金屬晶體課件高二化學(xué)人教版選擇性必修2
- 礦山礦石采購合同模板
- 2024年浪潮數(shù)字企業(yè)技術(shù)有限公司社會招聘(105人)筆試核心備考題庫及答案解析
- 第47屆世界技能大賽江蘇省選拔賽競賽技術(shù)文件-混凝土建筑項(xiàng)目
- 2024年新人教版四年級數(shù)學(xué)下冊《第6單元第2課時(shí) 小數(shù)加減法》教學(xué)課件
- 國開2024年《數(shù)據(jù)庫運(yùn)維》形考1-3
- 勞動(dòng)合同(模版)4篇
- 137案例黑色三分鐘生死一瞬間事故案例文字版
- 藥物研發(fā)監(jiān)管的國際協(xié)調(diào)
- 生豬屠宰獸醫(yī)衛(wèi)生檢驗(yàn)人員理論考試題及答案
評論
0/150
提交評論