2008年春面向?qū)ο蟪绦蛟O(shè)計(jì)期末復(fù)習(xí)指南_第1頁
2008年春面向?qū)ο蟪绦蛟O(shè)計(jì)期末復(fù)習(xí)指南_第2頁
2008年春面向?qū)ο蟪绦蛟O(shè)計(jì)期末復(fù)習(xí)指南_第3頁
2008年春面向?qū)ο蟪绦蛟O(shè)計(jì)期末復(fù)習(xí)指南_第4頁
2008年春面向?qū)ο蟪绦蛟O(shè)計(jì)期末復(fù)習(xí)指南_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第34頁共34頁2008年春《面向?qū)ο蟪绦蛟O(shè)計(jì)》期末復(fù)習(xí)指南課程責(zé)任教師蘇海燕第一部分考核說明本課程是開放教育本科計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的選修課程,由市電大命題。本課程考試命題依據(jù)的教材采用王萍主編,清華大學(xué)出版社出版的《C++程序設(shè)計(jì)教程》(2002年2月第1版),共4學(xué)分,課內(nèi)學(xué)時(shí)數(shù)為108,試卷編號(hào)1008,考試方式為閉卷。考試時(shí)間90分鐘。(一)試題類型及所占比例單項(xiàng)選擇題(占20分左右)填空題(占20分左右)程序填充題(占24分左右)理解問答題(占24分左右)編程題(占12分左右)(二)考試注意事項(xiàng)考試過程中,掌握時(shí)間的分配,做到先易后難,知識(shí)點(diǎn)準(zhǔn)確把握,詳略得當(dāng)。1.單項(xiàng)選擇題:根據(jù)題意,從四種可選擇的答案中選擇合適的一種答案。2.填空題:根據(jù)題意,在畫有橫線或空白處填寫合適內(nèi)容。3.程序填充題:根據(jù)C++程序或函數(shù)(類)模塊,及相應(yīng)的功能描述,在畫有橫線或空白處填寫合適內(nèi)容。4.理解問答題:根據(jù)C++程序或函數(shù)(類)模塊,回答一些問題。如寫出程序運(yùn)行結(jié)果或函數(shù)調(diào)用結(jié)果,寫出程序或函數(shù)所能實(shí)現(xiàn)的功能,按題意要求指出錯(cuò)誤位置并改正。5.編程題:給出編程要求和函數(shù)原型,編寫出相應(yīng)的程序或函數(shù)模塊。第二部分復(fù)習(xí)參考資料(一)紙質(zhì)資料1、教材:C++面向?qū)ο蟪绦蛟O(shè)計(jì)》,清華大學(xué)出版社出版、中央電大出版社發(fā)行部發(fā)行,熟讀教材,掌握各章重點(diǎn)。實(shí)驗(yàn)教材:《面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)》中央電大出版社出版和發(fā)行,機(jī)考參考。2、形成性測(cè)試考核冊(cè):獨(dú)立完成,掌握其中的知識(shí)點(diǎn)3、中央電大下發(fā)的《面向?qū)ο蟪绦蛟O(shè)計(jì)》期末復(fù)習(xí)指南:結(jié)合教材,及市電大的復(fù)習(xí)要求,掌握考核的知識(shí)點(diǎn)和重難點(diǎn),完成每個(gè)章節(jié)的練習(xí)題,尤其是各章的程序設(shè)計(jì)、程序填空和寫出程序運(yùn)行結(jié)果等大題。(二)網(wǎng)絡(luò)資源1、重慶電大平臺(tái)的,重難點(diǎn)分析,平時(shí)作業(yè)講評(píng)和自檢自測(cè),以及巴南電大平臺(tái)的作業(yè)講評(píng)、歷年考試真題、期末復(fù)習(xí)指南等。2、各平臺(tái)的直播課堂和IP課件和重慶電大平臺(tái)的教學(xué)演示文稿。(三)錄象教材:《面向?qū)ο蟪绦蛟O(shè)計(jì)》16講,每講50分鐘,中央電大音像出版社出版和發(fā)行;第三部分各章知識(shí)點(diǎn)梳理第1章C++編程基礎(chǔ)重點(diǎn)掌握1.簡單的C++程序結(jié)構(gòu)。P9-12第2章基本C++程序結(jié)構(gòu)重點(diǎn)掌握1.C++程序的基本單位是字符,由字符可以構(gòu)成標(biāo)識(shí)符,表示常量或變量;p182.常量和變量通過運(yùn)算符,按照一定的優(yōu)先級(jí)連接起來,構(gòu)成表達(dá)式,表達(dá)式有返回值。P24-253.定義具有簡單數(shù)據(jù)類型的常量p26和變量的方法p28,并對(duì)它們進(jìn)行初始化;4.簡單數(shù)據(jù)類型的含義和簡單運(yùn)算;p245.簡單表達(dá)式的寫法和賦值語句的用法;p296.用cout進(jìn)行簡單的輸出操作的語法和使用。P28第3章數(shù)據(jù)類型重點(diǎn)掌握1.C++語言的基本數(shù)據(jù)類型:char(字符型)、int(整型)、float(浮點(diǎn)型)、double(雙精度型)、w_char(雙字節(jié)字符型)、bool(布爾型)p362.計(jì)算機(jī)內(nèi)存中存儲(chǔ)數(shù)據(jù)是以字節(jié)為單位的,不同的數(shù)據(jù)類型占用的內(nèi)存空間不同;p39-403.不同的數(shù)據(jù)類型決定了計(jì)算機(jī)對(duì)內(nèi)存中信息的解釋方式,因此,盡管長整數(shù)和浮點(diǎn)數(shù)都是占用了四個(gè)字節(jié)的存儲(chǔ)空間,它們存儲(chǔ)數(shù)據(jù)的方式截然不同;p38第4章程序流程控制重點(diǎn)掌握1.if語句格式及應(yīng)用;p522.循環(huán)結(jié)構(gòu)語句(while,dowhile,for);p58-683.轉(zhuǎn)向控制語句(break,continue,goto);p73-74第5章函數(shù)重點(diǎn)掌握1.函數(shù)定義與函數(shù)聲明(函數(shù)名p79、函數(shù)類型p80、形式參數(shù)p79、函數(shù)體p80、函數(shù)返回p98、函數(shù)聲明p109);2.函數(shù)調(diào)用p82(調(diào)用表達(dá)式、實(shí)際參數(shù)、缺省參數(shù)、傳值調(diào)用、嵌套調(diào)用、遞歸調(diào)用)。第6章簡單程序設(shè)計(jì)重點(diǎn)掌握1.C++庫函數(shù)中常用的庫函數(shù)以及常用頭文件的功能;p1372.局部變量和全局變量的概念;p1423.外部存儲(chǔ)類型和靜態(tài)存儲(chǔ)類型在多文件程序中的聯(lián)絡(luò)作用;p130第7章數(shù)組與結(jié)構(gòu)重點(diǎn)掌握1.?dāng)?shù)組的定義p146和存取;p1472.一維和二維數(shù)組的定義p151、初始化;p1563.字符數(shù)組的定義、初始化,元素賦值與輸出;p147,p1564.向函數(shù)傳遞數(shù)組;p1585.字符數(shù)組及其用法;p156第8章指針與引用重點(diǎn)掌握1.指針變量的定義和運(yùn)算,指針參數(shù)的使用;p1692.用指針給函數(shù)傳遞參數(shù);3.指針、數(shù)組和字符串之間的緊密聯(lián)系;p1794.能夠聲明和使用字符串?dāng)?shù)組;p1835.命令行參數(shù),理解函數(shù)指針的用法;p1848.用引用傳遞參數(shù)的方法;p2039.鏈表的概念及指針對(duì)鏈表的操作:建立、修改、插入和刪除等。P195-201第9章面向?qū)ο蟪绦蚍椒ㄖ攸c(diǎn)掌握1.面向?qū)ο蟮母拍?;p2072.類的概念;p213第10章類與對(duì)象重點(diǎn)掌握1.聲明和定義類和成員函數(shù)的方法;p226-2272.掌握類訪問成員的方法;p2323.類定義與頭文件;p240第11章構(gòu)造函數(shù)與析構(gòu)函數(shù)重點(diǎn)掌握1.定義構(gòu)造函數(shù)和析構(gòu)函數(shù)的方法,把握默認(rèn)構(gòu)造函數(shù)的意義p2671.構(gòu)造類成員的方法。P275第12章靜態(tài)成員、友元重點(diǎn)掌握1.怎樣聲明一個(gè)靜態(tài)數(shù)據(jù)成員p297;2.靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)的使用方法;p298第13章運(yùn)算符重載重點(diǎn)掌握1.重定義與類有關(guān)的運(yùn)算符;p319-3282.運(yùn)算符重載的規(guī)則;p316第14章繼承重點(diǎn)掌握1.繼承的概念,能利用繼承現(xiàn)有的類建立新類;p3522.多重繼承的概念;p372第四部分綜合練習(xí)題一、單項(xiàng)選擇題1.C++源程序文件的缺省擴(kuò)展名為(A)。A.cppB.exeC.objD.lik2.能作為C++程序的基本單位是(C)。A.字符B.語句C.函數(shù)D.源程序文件3.由C++源程序文件編譯而成的目標(biāo)文件的缺省擴(kuò)展名為(C)。A.cppB.exeC.objD.lik4.程序中主函數(shù)的名字為(A)。A.mainB.MAINC.MainD.任意標(biāo)識(shí)符5.程序運(yùn)行中需要從鍵盤上輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用(D)符號(hào)作為分隔符。A.空格或逗號(hào)B.逗號(hào)或回車C.逗號(hào)或分號(hào)D.空格或回車6.x>0&&x<=10的相反表達(dá)式為(A)。A.x<=0||x>10B.x<=0&&x>10C.x<=0||x<=10D.x>0&&x>107.設(shè)”inta=12;”,則執(zhí)行完語句”a+=a*a;”后,a的值是(C)。A.12B.144C.156D.2888.由C++目標(biāo)文件連接而成的可執(zhí)行文件的缺省擴(kuò)展名為(B)。A.cppB.exeC.objD.lik9.假定下列x和y均為int型變量,則不正確的賦值為(B)。A.x+=y++B.x++=y++C.x=++yD.++x=++y10.在下面循環(huán)語句中循環(huán)體執(zhí)行的次數(shù)為(C)。inti=0,s=0;while(s<20){i++;s+=i;}A.4B.5 C.6D.711.下列的符號(hào)常量定義中,錯(cuò)誤的定義是(C)。A.constM=10;B.constintM=20;C.constcharch;D.constboolmark=true;12.x>0||y==5的相反表達(dá)式為(B)。A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==513.do語句能夠改寫為(D)語句。A.復(fù)合B.ifC.switchD.while14.假定一個(gè)二維數(shù)組的定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[2][1]的值為(C)。A.0B.4C.8D.615.在下面的一維數(shù)組定義中,哪一個(gè)有語法錯(cuò)誤。(C)A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];16.可用作C++語言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是(B)。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof17.以下關(guān)于函數(shù)模板敘述正確的是(C)。A.函數(shù)模板也是一個(gè)具體類型的函數(shù)B.函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個(gè)概念C.通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)D.用函數(shù)模板定義的函數(shù)沒有類型18.以下函數(shù)的返回結(jié)果是(A)。intfunction(char*x){char*p=x;while(*p++);return(p-x-1);}A.求字符串的長度B.將字符串x連接到字符串p后面C.將字符串x復(fù)制到字符串p中D.將字符串x反向存放19.下列(C)的調(diào)用方式是引用調(diào)用。A.形參和實(shí)參都是變量B.形參是指針,實(shí)參是地址值C.形參是引用,實(shí)參是變量D.形參是變量,實(shí)參是地址值20.函數(shù)調(diào)用不可以(D)。A.出現(xiàn)在一個(gè)表達(dá)式中B.出現(xiàn)在執(zhí)行語句中C.作為一個(gè)函數(shù)的實(shí)參D.作為一個(gè)函數(shù)的形參21.采用重載函數(shù)的目的是(D)。A.實(shí)現(xiàn)共享B.減少空間C.提高速度D.使用方便,提高可讀性22.以下正確的描述是(B)。A.函數(shù)的定義可以嵌套,函數(shù)的調(diào)用不可以嵌套B.函數(shù)的定義不可以嵌套,函數(shù)的調(diào)用可以嵌套C.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套D.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套23.存儲(chǔ)以下數(shù)據(jù),占用存儲(chǔ)字節(jié)最多的是(D)。A.0B.‘0’C.“0”D.0.024.C++語言的編譯系統(tǒng)對(duì)宏命令的處理是(D)。A.在程序運(yùn)行時(shí)進(jìn)行B.在程序連接時(shí)進(jìn)行C.和C++程序的其它語句同時(shí)進(jìn)行編譯D.在對(duì)源程序中其它成分正式編譯之前進(jìn)行25.關(guān)于局部變量,下面說法正確的是(C)。A.定義該變量的程序文件中的函數(shù)都可以訪問B.定義該變量的函數(shù)中的定義處以下的任何語句都可以訪問C.定義該變量的復(fù)合語句中的定義處以下的任何語句都可以訪問D.定義該變量的函數(shù)中的定義處以上的任何語句都可以訪問26.當(dāng)#include后面的文件名用雙引號(hào)括起來時(shí),尋找被包含文件的方式是(B)。A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄B.先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄C.僅僅搜索源程序所在目錄D.搜索當(dāng)前邏輯盤上的所有目錄27.若定義了函數(shù)double*function(),則函數(shù)function的返回值為(B)。A.實(shí)數(shù)型B.實(shí)數(shù)的地址C.指向函數(shù)的指針D.函數(shù)的地址28.下列給字符數(shù)組賦初值時(shí),正確的是(A)。A.chars1[]=”abcdef”;B.chars2[4]=”abcd”;C.chars3[2][3]={“abc”,”xyz”};D.chars4[4][]={‘a(chǎn)’,’x’,’s’,’t’};29.關(guān)于void指針,下列說法正確的是(C)。A.void指針就是未指向任何數(shù)據(jù)的指針B.void指針就是已定義而未初始化的指針C.指向任何類型數(shù)據(jù)的指針可直接賦值給一個(gè)void指針D.void指針值可直接賦給一個(gè)非void指針30.設(shè)有定義“staticintdata[5][6];”,設(shè)該數(shù)組在靜態(tài)存儲(chǔ)區(qū)中的起始地址為十進(jìn)制的100,若每個(gè)int型數(shù)占4個(gè)字節(jié),則數(shù)組元素data[2][3]的地址為(D)。A.115B.124C.130D.16031.設(shè)x是一個(gè)bool型的邏輯量,y的值為10,則表達(dá)式x&&y的值為(C)。A.1B.0C.與x值相同D.與x值相反32.假定p指向的字符串為”string”,若要輸出這個(gè)字符串的地址值,則使用(C)。A.cout<<*s;B.cout<<s;C.cout<<&s;D.cout<<(void*)s;33.假定有“structBOOK{chartitle[40];floatprice;};BOOK*book;”,則不正確的語句為(A)。A.BOOK*x=newbook;B.BOOKx={"C++Programming",27.0};C.BOOK*x=newBOOK;D.BOOK*x=book;34.定義p并使p指向動(dòng)態(tài)空間中的包含30個(gè)整數(shù)的數(shù)組所使用的定義語句為(A)。A.int*p=newint[30];B.int*p=newint(30);C.int*p=new[30];D.*p=newint[30];35.函數(shù)調(diào)用func((exp1,exp2),(exp3,exp4,exp5))中所含實(shí)參的個(gè)數(shù)為(B)個(gè)。A.1B.2C.4D.536.假定指針變量p定義為“int*p=newint(100);”,要釋放p所指向的動(dòng)態(tài)內(nèi)存,應(yīng)使用語句(A)。A.deletep;B.delete*p;C.delete&p;D.delete[]p;37.面向?qū)ο蠓椒ǖ亩鄳B(tài)性是指(C)。A.一個(gè)類可以派生出多個(gè)特殊類B.一個(gè)對(duì)象在不同的運(yùn)行環(huán)境中可以有不同的變體C.針對(duì)一消息,不同的對(duì)象可以以適合自身的方式加以響應(yīng)D.一個(gè)對(duì)象可以是由多個(gè)其他對(duì)象組合而成的38.假定指針變量p定義為“int*p=newint[30];”,要釋放p所指向的動(dòng)態(tài)內(nèi)存,應(yīng)使用語句(D)。A.deletep;B.delete*p;C.delete&p;D.delete[]p;39.字符串”a+b=12\n”的長度為(B)。A.6B.7C.8D.940.面向?qū)ο筌浖_發(fā)中使用的OOA表示(A)。A.面向?qū)ο蠓治鯞.面向?qū)ο笤O(shè)計(jì)C.面向?qū)ο笳Z言D.面向?qū)ο蠓椒?1.在關(guān)鍵字public后面定義的成員為類的(B)成員。A.私有B.公用C.保護(hù)D.任何42.面向?qū)ο筌浖_發(fā)中使用的OOD表示(B)。A.面向?qū)ο蠓治鯞.面向?qū)ο笤O(shè)計(jì)C.面向?qū)ο笳Z言D.面向?qū)ο蠓椒?3.將兩個(gè)字符串連接起來組成一個(gè)字符串時(shí),選用(C)函數(shù)。A.strlen()B.strcap()C.strcat()D.strcmp()44.假定AA為一個(gè)類,a為該類私有的數(shù)據(jù)成員,GetValue()為該類公有函數(shù)成員,它返回a的值,x為該類的一個(gè)對(duì)象,則訪問x對(duì)象中數(shù)據(jù)成員a的格式為(D)。A.x.aB.x.a()C.x->GetValue()D.x.GetValue()45.在多文件結(jié)構(gòu)的程序中,通常把類中所有非內(nèi)聯(lián)函數(shù)的定義單獨(dú)存放于(B)中。A.主文件B.實(shí)現(xiàn)文件C.庫文件D.頭文件46.假定AA為一個(gè)類,inta()為該類的一個(gè)成員函數(shù),若該成員函數(shù)在類定義體外定義,則函數(shù)頭為(A)。A.intAA::a()B.intAA:a()C.AA::a()D.AA::inta()47.循環(huán)語句“for(inti=0;i<n;i++)cout<<i*i<<’’;”中循環(huán)體執(zhí)行的次數(shù)為(C)。A.1B.n-1C.nD.n+148.假定AA是一個(gè)類,abc是該類的一個(gè)成員函數(shù),則參數(shù)表中隱含的第一個(gè)參數(shù)的類型為(D)。A.intB.charC.AAD.AA*49.結(jié)構(gòu)中定義的成員默認(rèn)為(A)訪問屬性。A.publicB.privateC.protectedD.friend50.假定AA是一個(gè)類,abc是該類的一個(gè)成員函數(shù),則參數(shù)表中隱含的第一個(gè)參數(shù)為(C)。A.abcB.*thisC.thisD.this&51.文件包含命令中被包含的文件的擴(kuò)展名(C)。A.必須是.hB.不能是.hC.可以是.h或.cppD.必須是.cpp52.在一個(gè)用鏈表實(shí)現(xiàn)的隊(duì)列類中,假定每個(gè)結(jié)點(diǎn)包含的值域用elem表示,包含的指針域用next表示,鏈隊(duì)的隊(duì)首指針用elemHead表示,隊(duì)尾指針用elemTail表示,若鏈隊(duì)非空,則進(jìn)行插入時(shí)必須把新結(jié)點(diǎn)的地址賦給(D)。A.elemHeadB.elemTailC.elemHead->next和elemHeadD.elemTail->next和elemTail53.對(duì)于一個(gè)類的析構(gòu)函數(shù),其函數(shù)名與類名(C)。A.完全相同B.完全不同C.只相差一個(gè)字符D.無關(guān)系54.假定一條定義語句為“inta[10],x,*pa=a;”,若要把數(shù)組a中下標(biāo)為3的元素值賦給x,則不正確的語句為(D)。A.x=pa[3];B.x=*(a+3)C.x=a[3];D.x=*pa+3;55.循環(huán)體至少被執(zhí)行一次的語句為(C)。A.for循環(huán)B.while循環(huán)C.do循環(huán)D.任一種循環(huán)56.假定AB為一個(gè)類,則執(zhí)行“ABx;”語句時(shí)將自動(dòng)調(diào)用該類的(B)。A.帶參構(gòu)造函數(shù)B.無參構(gòu)造函數(shù)C.拷貝構(gòu)造函數(shù)D.賦值重載函數(shù)57.當(dāng)類中的一個(gè)整型指針成員指向一塊具有n*sizeof(int)大小的存儲(chǔ)空間時(shí),它最多能夠存儲(chǔ)(A)個(gè)整數(shù)。A.nB.n+1C.n-1D.158.假定AB為一個(gè)類,則執(zhí)行“ABx(a,5);”語句時(shí)將自動(dòng)調(diào)用該類的(A)。A.帶參構(gòu)造函數(shù)B.無參構(gòu)造函數(shù)C.拷貝構(gòu)造函數(shù)D.賦值重載函數(shù)59.在下面的字符數(shù)組定義中,哪一個(gè)有語法錯(cuò)誤。(D)。A.chara[20]=”abcdefg”;B.chara[]=”x+y=55.”;C.chara[15];D.chara[10]=’5’;60.假定一個(gè)類AB只含有一個(gè)整型數(shù)據(jù)成員a,當(dāng)用戶不定義任何構(gòu)造函數(shù)時(shí),系統(tǒng)為該類定義的無參構(gòu)造函數(shù)為(D)。A.AB(){a=0;}B.AB(intaa=0):a(aa){}C.AB(intaa):a(aa){}D.AB(){}61.設(shè)px是指向一個(gè)類對(duì)象的指針變量,則執(zhí)行“deletepx;”語句時(shí),將自動(dòng)調(diào)用該類的(C)。A.無參構(gòu)造函數(shù)B.帶參構(gòu)造函數(shù)C.析構(gòu)函數(shù)D.拷貝構(gòu)造函數(shù)62.假定一個(gè)類AB只含有一個(gè)整型數(shù)據(jù)成員a,用戶為該類定義的帶參構(gòu)造函數(shù)可以為(C)。A.AB(){}B.AB():a(0){}C.AB(intaa=0){a=aa;}D.AB(intaa){}63.假定有“structBOOK{chartitle[40];floatprice;}book;”,則正確的語句為(B)。A.BOOK&x=&book;B.BOOK&x=book;C.BOOK&x=newBOOK;D.BOOK&x=BOOK;64.假定AB為一個(gè)類,則執(zhí)行“ABa,b(3),*p;”語句時(shí)共調(diào)用該類構(gòu)造函數(shù)的次數(shù)為(A)。A.2B.3C.4D.565.對(duì)類對(duì)象成員的初始化是通過構(gòu)造函數(shù)中給出的(B)實(shí)現(xiàn)的。A.函數(shù)體B.初始化表C.參數(shù)表D.初始化表或函數(shù)體66.假定AB為一個(gè)類,則執(zhí)行“ABa(2),b[3],*p[4];”語句時(shí)共調(diào)用該類構(gòu)造函數(shù)的次數(shù)為(B)。A.3B.4C.5D.967.假定一個(gè)二維數(shù)組的定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[1][2]的值為(C)。A.2B.4C.6D.868.一個(gè)類的靜態(tài)數(shù)據(jù)成員所表示屬性(C)。A.是類的或?qū)ο蟮膶傩訠.只是對(duì)象的屬性C.只是類的屬性D.類和友元的屬性69.當(dāng)將一個(gè)類A或函數(shù)f()說明為另一個(gè)類B的友元后,類A或函數(shù)f()能夠直接訪問類B的(D)。A.只能是公有成員B.只能是保護(hù)成員C.只能是除私有成員之外的任何成員D.具有任何權(quán)限的成員70.類的靜態(tài)成員的訪問控制(D)。A.只允許被定義為privateB.只允許被定義為private或protectedC.只允許被定義為publicD.可允許被定義為private、protected或public71.軟件產(chǎn)品在需求發(fā)生變化、運(yùn)行環(huán)境發(fā)生變化或發(fā)現(xiàn)軟件產(chǎn)品本身的錯(cuò)誤或不足時(shí)進(jìn)行相應(yīng)的軟件更新的難易程度叫做軟件的(A)。A.可維護(hù)性B.可復(fù)用性C.兼容性D.正確性72.在成員函數(shù)中進(jìn)行雙目運(yùn)算符重載時(shí),其參數(shù)表中應(yīng)帶有(B)個(gè)參數(shù)。A.0B.1C.2D.373.如果表達(dá)式++a中的“++”是作為成員函數(shù)重載的運(yùn)算符,若采用運(yùn)算符函數(shù)調(diào)用格式,則可表示為(D)。A.a.operator++(1)B.operator++(a)C.operator++(a,1)D.a.operator++()74.雙目運(yùn)算符重載為普通函數(shù)時(shí),其參數(shù)表中應(yīng)帶有(C)個(gè)參數(shù)。A.0B.1C.2D.375.以下敘述中不正確的是(C)。A.在一個(gè)函數(shù)中,可以有多條return語句B.函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套C.函數(shù)必須有返回值D.不同的函數(shù)中可以使用相同名字的變量76.對(duì)于公有繼承,基類中的私有成員在派生類中將(C)。A.能夠直接使用成員名訪問B.能夠通過成員運(yùn)算符訪問C.仍然是基類的私有成員D.變?yōu)榕缮惖乃接谐蓡T77.從一個(gè)基類派生出的各個(gè)類的對(duì)象之間(C)。A.共享所有數(shù)據(jù)成員,每個(gè)對(duì)象還包含基類的所有屬性B.共享部分?jǐn)?shù)據(jù)成員,每個(gè)對(duì)象還包含基類的所有屬性C.不共享任何數(shù)據(jù)成員,但每個(gè)對(duì)象還包含基類的所有屬性D.共享部分?jǐn)?shù)據(jù)成員和函數(shù)成員78.當(dāng)保護(hù)繼承時(shí),基類的(B)在派生類中成為保護(hù)成員,在類作用域外不能夠通過派生類的對(duì)象來直接訪問該成員。A.任何成員B.公有成員和保護(hù)成員C.保護(hù)成員和私有成員D.私有成員79.在關(guān)鍵字private后面定義的成員為類的(A)成員。A.私有B.公用C.保護(hù)D.任何80.函數(shù)原型語句正確的是(B)。A.intFunction(voida);B.voidFunction(int);C.intFunction(a);D.voidint(doublea);81.在多文件結(jié)構(gòu)的程序中,通常把含有main()函數(shù)的文件稱為(A)。A.主文件B.實(shí)現(xiàn)文件C.程序文件D.頭文件82.設(shè)有如下函數(shù)定義intf(char*s){char*p=s;while(*p!=’\0’)p++;return(p-s);}在主函數(shù)中用cout<<f(“good”)調(diào)用上述函數(shù),則輸出結(jié)果為(B)。A.3B.4C.5D.683.當(dāng)類中一個(gè)字符指針成員指向具有n個(gè)字節(jié)的存儲(chǔ)空間時(shí),它所能存儲(chǔ)字符串的最大長度為(C)。A.nB.n+1C.n-1D.n-284.若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是(A)。A.數(shù)組的首地址B.數(shù)組中第一個(gè)元素的值C.數(shù)組全部元素的值D.數(shù)組元素的個(gè)數(shù)85.類的構(gòu)造函數(shù)是在定義該類的一個(gè)(C)時(shí)被自動(dòng)調(diào)用執(zhí)行的。A.成員函數(shù)B.數(shù)據(jù)成員C.對(duì)象D.友元函數(shù)86.預(yù)處理命令在程序中都是以(B)符號(hào)開頭的。A.*B.#C.&D.@87.假定一個(gè)類的構(gòu)造函數(shù)為“A(intaa,intbb){a=aa;b=aa*bb;}”,則執(zhí)行“Ax(4,5);”語句后,x.a和x.b的值分別為(C)。A.4和5B.5和4C.4和20D.20和588.假定有定義“intb[10];int*pb;”,則不正確的賦值語句為(D)。A.pb=b;B.pb=&b[0];C.*pb=newint;D.pb=b[5];89.當(dāng)一個(gè)類對(duì)象離開它的作用域時(shí),系統(tǒng)自動(dòng)調(diào)用該類的(D)。A.無參構(gòu)造函數(shù)B.帶參構(gòu)造函數(shù)C.拷貝構(gòu)造函數(shù)D.析構(gòu)函數(shù)90.假定變量b和pb定義為“intb[10],*pb=b;”,要將24賦值給b[1]元素中,不正確的語句是(C)。A.*(pb+1)=24;B.*(b+1)=24;C.*++b=24;D.*++pb=24;91.對(duì)類中常量成員的初始化是通過構(gòu)造函數(shù)中給出的(C)實(shí)現(xiàn)的。A.函數(shù)體B.參數(shù)表C.初始化表D.初始化表或函數(shù)體92.假定AA為一個(gè)類,a為該類公有的數(shù)據(jù)成員,若要在該類的一個(gè)成員函數(shù)中訪問它,則書寫格式為(A)。A.aB.AA::aC.a()D.AA::a()93.引入友元的主要目的是為了(C)。A.增強(qiáng)數(shù)據(jù)安全性B.提高程序的可靠性C.提高程序的效率和靈活性D.保證類的封裝性94.類中定義的成員默認(rèn)為(B)訪問屬性。A.publicB.privateC.protectedD.friend95.關(guān)于運(yùn)算符重載,下列說法正確的是(C)。A.重載時(shí),運(yùn)算符的優(yōu)先級(jí)可以改變。B.重載時(shí),運(yùn)算符的結(jié)合性可以改變。C.重載時(shí),運(yùn)算符的功能可以改變。D.重載時(shí),運(yùn)算符的操作數(shù)個(gè)數(shù)可以改變。96.如果是類B在類A的基礎(chǔ)上構(gòu)造,那么,就稱(B)。A.類A為基類或父類,類B為超類或子類B.類A為基類、父類或超類,類B為派生類或子類C.類A為派生類,類B為基類D.類A為派生類或子類,類B為基類、父類或超類97.一個(gè)類的構(gòu)造函數(shù)通常被定義為該類的(A)成員。A.公用B.保護(hù)C.私有D.友元98.假定一個(gè)類對(duì)象數(shù)組為A[n],當(dāng)離開它定義的作用域時(shí),系統(tǒng)自動(dòng)調(diào)用該類析構(gòu)函數(shù)的次數(shù)為(C)。A.0B.1C.nD.n-1二、填空題1.C++語言是在____C_____語言的基礎(chǔ)上發(fā)展起來的。2.假定x=10,則表達(dá)式x<=10?20:30的值為___20___。3.一條表達(dá)式語句必須以__;____作為結(jié)束符。4.一個(gè)完整程序中必須有一個(gè)名為___main_____的函數(shù)。5.行尾使用注釋的開始標(biāo)記符為_____//_____。6.程序中的預(yù)處理命令是指以___#___字符開頭的命令。7.當(dāng)在程序中執(zhí)行到__continue______語句時(shí),將結(jié)束所在循環(huán)語句中循環(huán)體的一次執(zhí)行。8.當(dāng)執(zhí)行cout語句輸出endl數(shù)據(jù)項(xiàng)時(shí),將使C++顯示輸出屏幕上的光標(biāo)從當(dāng)前位置移動(dòng)到_下一行_______的開始位置。9.C++頭文件和源程序文件的擴(kuò)展名分別為__h____和___cpp___。10.C++常數(shù)0x145對(duì)應(yīng)的十進(jìn)制值為___325_______。11.從一條函數(shù)原型語句“intfun1(void);”可知,該函數(shù)的返回類型為__int____,該函數(shù)帶有___0___個(gè)參數(shù)。12.用于存儲(chǔ)一個(gè)長度為n的字符串的字符數(shù)組的長度至少為__n+1______。13.int和float類型的數(shù)據(jù)分別占用___4_____和_____4_____個(gè)字節(jié)。14.假定一個(gè)類對(duì)象數(shù)組為A[N],當(dāng)離開它的作用域時(shí),系統(tǒng)自動(dòng)調(diào)用該類析構(gòu)函數(shù)的次數(shù)為___N_____。15.當(dāng)執(zhí)行cin語句時(shí),從鍵盤上輸入每個(gè)數(shù)據(jù)后必須接著輸入一個(gè)___空白____符,然后才能繼續(xù)輸入下一個(gè)數(shù)據(jù)。16.假定x和y為整型,其值分別為16和5,則x/y和double(x)/y的值分別為____3______和_____3.2_____。17.如果一個(gè)函數(shù)只允許同一程序中的函數(shù)調(diào)用,則應(yīng)在該函數(shù)定義前加上_____static_____C++保留字。18.假定x是一個(gè)邏輯量,則x&&true的值為____x______。19.假定x是一個(gè)邏輯量,則x&&!x的值為_____0_____。20.使用#include命令可以包含一個(gè)頭文件,也可以包含一個(gè)__程序____文件。21.常數(shù)-4.205和6.7E-9分別具有___4_______和___2_______位有效數(shù)字。22.調(diào)用系統(tǒng)函數(shù)時(shí),要先使用#include命令包含該系統(tǒng)函數(shù)的原型語句所在的_____頭文件_____。23.枚舉類型中的每個(gè)枚舉值都是一個(gè)_枚舉常量____,它的值為一個(gè)_整數(shù)_____。24.在程序中執(zhí)行到__return__語句時(shí),將結(jié)束所在函數(shù)的執(zhí)行過程,返回到調(diào)用該函數(shù)的位置。25.假定x=5,y=6,則表達(dá)式x++*++y的值為__35________。26.元素類型為char的二維數(shù)組a[10][30]共占用___300_____字節(jié)的存儲(chǔ)空間。27.當(dāng)定義一個(gè)結(jié)構(gòu)體變量時(shí),系統(tǒng)分配給該變量的內(nèi)存大小等于各成員所需內(nèi)存大小的___總和____。28.執(zhí)行switch語句時(shí),在進(jìn)行作為條件的表達(dá)式求值后,將從某個(gè)匹配的標(biāo)號(hào)位置起向下執(zhí)行,當(dāng)碰到下一個(gè)標(biāo)號(hào)位置時(shí)(停止/不停止)___不停止_____執(zhí)行。29.若a是一個(gè)字符數(shù)組,則從鍵盤上向該數(shù)組輸入一個(gè)字符串的表達(dá)式為___cin>>a_______。30.假定x是一個(gè)邏輯量,則x&&false的值為__0________。31.若需要把一個(gè)字符串”aaa”賦值到字符數(shù)組a中,則需要執(zhí)行_strcpy_______函數(shù)的調(diào)用來實(shí)現(xiàn)。32.假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為42,則執(zhí)行(*p)++運(yùn)算后,p所指對(duì)象的值為__26______。33.存儲(chǔ)字符’a’和字符串”a”分別需要占用___1_____和___2_____個(gè)字節(jié)。34.若“doublex=100;”是文件F1.CPP中的一個(gè)全局變量定義語句,若文件F2.CPP中的某個(gè)函數(shù)需要訪問此x,則應(yīng)在文件F2.CPP中添加對(duì)x的聲明語句為____externdoulex;_____________。35.常數(shù)100和3.62的數(shù)據(jù)類型分別為_int___和__double____。36.全局變量和靜態(tài)局部變量具有靜態(tài)生存期,存放在內(nèi)存的__全局?jǐn)?shù)據(jù)____區(qū)中。37.假定一個(gè)二維數(shù)組為c[5][8],則c[3]的值為二維元素_c[3][0]_______的地址,c[3]+2的值為二維元素_c[3][2]_______的地址。38.假定對(duì)數(shù)組a[]進(jìn)行初始化的數(shù)據(jù)為{2,7,9,6,5,7,10},則a[2]和a[5]分別被初始化為__9______和____7____。39.函數(shù)形參的作用域是該函數(shù)的_函數(shù)體___________。40.若a是一個(gè)字符數(shù)組,則向屏幕輸出a中所存字符串的表達(dá)式為__cout<<a___。41.對(duì)于無返回值函數(shù),定義函數(shù)時(shí)要用__void_____修飾函數(shù)類型。42.假定p是一個(gè)指向整數(shù)對(duì)象的指針,則用__*p__表示該整數(shù)對(duì)象,用__&p__表示指針變量p的地址。43.一個(gè)數(shù)組的數(shù)組名實(shí)際上是指向該數(shù)組_第一個(gè)_元素的指針,并且在任何時(shí)候都不允許_修改___它。44.一個(gè)指針類型的對(duì)象占用內(nèi)存的_4___個(gè)字節(jié)的存儲(chǔ)空間。45.假定對(duì)二維數(shù)組a[3][4]進(jìn)行初始化的數(shù)據(jù)為{{3,5,6},{2,8},{7}},則a[1][1]和a[2][3]分別被初始化為_8___和___0_____。46.局部變量具有局部生存期,存放在內(nèi)存的__棧____區(qū)中。47.假定x是一個(gè)邏輯量,則!x||false的值為__!x________。48.若y是x的引用,則&y和&x的值_相等___,即為變量__x______的地址。49.假定p為指向二維數(shù)組intd[4][6]的指針,則p的類型為__int(*)[6]______。50.假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為42,則執(zhí)行*(p++)或*p++運(yùn)算后,p所指對(duì)象的值為___42_____。51.假定p是一個(gè)指針,則*p++運(yùn)算首先訪問__*p__,然后使___p_____的值增1。52.特殊類的對(duì)象擁有其一般類的全部屬性與操作,稱特殊類__繼承____了一般類。53.假定用戶沒有給一個(gè)名為AB的類定義構(gòu)造函數(shù),則系統(tǒng)為其定義的構(gòu)造函數(shù)為__AB(){}________。54.在函數(shù)模板的參數(shù)中,用class修飾的參數(shù)稱為__類型________參數(shù)。55.執(zhí)行_delete[]p_______操作將釋放由p所指向的動(dòng)態(tài)分配的數(shù)組空間。56.假定指向一維數(shù)組b[10]中元素b[4]的指針為p,則p+3所指向的元素為_b[7]____,p-2所指向的元素為__b[2]______。57.假定x=5,y=6,則執(zhí)行表達(dá)式y(tǒng)+=x--計(jì)算后,x和y的值分別為__4__和_11______。58.用于從鍵盤上為變量輸入值的標(biāo)準(zhǔn)輸入流對(duì)象是_cin_______。59.若二維數(shù)組a有m列,設(shè)a[0][0]位于數(shù)組的第一個(gè)位置上,則計(jì)算任一元素a[i][j]在數(shù)組中位置序號(hào)的公式為___i*m+j+1_________。60.已知有定義“intx,a[]={5,7,9},*pa=a;”,在執(zhí)行“x=++*pa;”語句后,x的值是__6______。61.執(zhí)行intp=newint操作得到的一個(gè)動(dòng)態(tài)分配的整型對(duì)象為__*p______。62.對(duì)于類中定義的任何成員,其隱含訪問權(quán)限為_private_______。63.為了避免在調(diào)用成員函數(shù)時(shí)修改對(duì)象中的任何數(shù)據(jù)成員,則應(yīng)在定義該成員函數(shù)時(shí),在函數(shù)頭的后面加上_const______關(guān)鍵字。64.如果一個(gè)派生類的基類不止一個(gè),則這種繼承稱為___多重繼承_________。65.假定用戶沒有給一個(gè)名為AB的類定義析構(gòu)函數(shù),則系統(tǒng)為其定義的析構(gòu)函數(shù)為__~AB(){}________。66.若一個(gè)函數(shù)的定義處于調(diào)用它的函數(shù)之前,則在程序開始可以省去該函數(shù)的_原型_____語句。67.已知變量a定義為“inta=5;”,要使ra成為a的引用,則ra應(yīng)定義為___int&ra=a_________。68.對(duì)于結(jié)構(gòu)中定義的任何成員,其隱含訪問權(quán)限為_public_______。69.已知語句“cout<<s;”的輸出是“apple”,則執(zhí)行語句“cout<<s+2;”的輸出結(jié)果為__ple________。70.執(zhí)行__deletep______操作將釋放由p所指向的動(dòng)態(tài)分配的數(shù)據(jù)空間。71.每個(gè)對(duì)象都是所屬類的一個(gè)___實(shí)例_______。72.若只需要通過一個(gè)成員函數(shù)讀取數(shù)據(jù)成員的值,而不需要修改它,則應(yīng)在函數(shù)頭的后面加上__const_____關(guān)鍵字。73.假定a是一個(gè)一維數(shù)組,則a[i]的指針訪問方式為___*(a+i)_____。74.字符串”This\'sabook.\n”的長度為___15_______。75.若在類的定義體中只給出了一個(gè)成員函數(shù)的原型,則在類外給出完整定義時(shí),其函數(shù)名前必須加上類名和兩個(gè)__冒號(hào)______分隔符。76.在一個(gè)用數(shù)組實(shí)現(xiàn)的隊(duì)列類中,假定數(shù)組長度為MS,隊(duì)首元素位置為first,隊(duì)列長度為length,則隊(duì)列為滿的條件為___length==MS_______。77.若y是x的引用,則對(duì)y的操作就是對(duì)___x____的操作。78.在一個(gè)用鏈表實(shí)現(xiàn)的隊(duì)列類中,若隊(duì)首指針與隊(duì)尾指針的值不同,則說明鏈隊(duì)中至少包含有___2_____個(gè)結(jié)點(diǎn)。79.執(zhí)行newchar[m][n]操作時(shí)的返回值的類型為__char(*)[]______。80.與結(jié)構(gòu)成員訪問表達(dá)式p->name等價(jià)的表達(dá)式是_____(*p).name_______。三、程序填充1.斐波那契數(shù)列的第1和第2個(gè)數(shù)分別為0和1,從第三個(gè)數(shù)開始,每個(gè)數(shù)等于其前兩個(gè)數(shù)之和。求斐波那契數(shù)列中的前20個(gè)數(shù),要求每行輸出5個(gè)數(shù)。#include<iostream.h>voidmain(){intf,f1,f2,i;cout<<”斐波那契數(shù)列:\n”;f1=0;f2=1;cout<<setw(6)<<f1<<setw(6)<<f2;for(i=3;i<=20;i++){f=______(1)______;cout<<setw(6)<<f;if(_____(2)______)cout<<endl;f1=f2;f2=____(3)_______;}cout<<endl;}【答案】(1)f1+f2(2)i%5==0(3)f2.在輸出屏幕上打印出一個(gè)由字符’*’組成的等腰三角形,該三角形的高為5行,從上到下每行的字符數(shù)依次為1,3,5,7,9。#include<iostream.h>voidmain(){inti,j;for(i=1;___(1)___;i++){for(j=1;j<=9;j++)if(j<=5-i||___(2)___)cout<<’’;else___(3)___;cout<<endl;}}【答案】(1)i<=5(2)j>=5+i(3)cout<<’*’3.打印出2至99之間的所有素?cái)?shù)(即不能被任何數(shù)整除的數(shù))。#include<iostream.h>#include<math.h>voidmain(){inti,n;for(n=2;___(1)___;n++){inttemp=int(sqrt(n));//求出n的平方根并取整for(i=2;___(2)___;i++)if(n%i==0)___(3)___;if(i>temp)cout<<n<<'';}cout<<'\n';}【答案】(1)n<=99(2)i<=temp(3)break4.統(tǒng)計(jì)字符串中英文字母?jìng)€(gè)數(shù)的程序。#include<iostream.h>intcount(charstr[]);voidmain(){chars1[80];cout<<”Enteraline:”;cin>>s1;cout<<”count=”<<count(s1)<<endl;}intcount(charstr[]){intnum=0;//給統(tǒng)計(jì)變量賦初值for(inti=0;str[i];i++)if(str[i]>=’a’&&str[i]<=’z’||___(1)___)___(2)___;___(3)___;}【答案】(1)str[i]>=’A’&&str[i]<=’Z’(2)num++(3)returnnum5.采用輾轉(zhuǎn)相除法求出兩個(gè)整數(shù)的最大公約數(shù)。#include<iostream.h>voidmain(){inta,b;cout<<"請(qǐng)輸入兩個(gè)正整數(shù):";cin>>a>>b;while(a<=0||__(1)___){cout<<"重新輸入:";cin>>a>>b;}while(b){intr;r=a%b;___(2)___;___(3)___;//分別修改a和b的值}cout<<a<<endl;//輸出最大公約數(shù)}【答案】(1)b<=0(2)a=b(3)b=r6.從鍵盤上輸入一個(gè)正整數(shù),然后把它轉(zhuǎn)換成的二進(jìn)制數(shù)的每一位存放到一維數(shù)組中,最后輸出該二進(jìn)制數(shù)。注意二進(jìn)制數(shù)的存放是按照從低位到高位的次序進(jìn)行的。#include<iostream.h>voidmain(){intx;cout<<"輸入一個(gè)整數(shù):";cin>>x;inta[20],k=0,r;do{r=x%2;a[k++]=r;x=___(1)___;}while(___(2)___);for(--k;k>=0;k--)___(3)___;cout<<endl;}【答案】(1)x/2(2)x!=0(3)cout<<a[k]7.假定有定義為“structNODE{intdata;NODE*next;};”,下面算法根據(jù)table數(shù)組中的n個(gè)元素建立一個(gè)表頭指針為L的鏈表,鏈表中結(jié)點(diǎn)值的順序與數(shù)組元素值的順序相同。voidf5(NODE*&L,inttable[],intn){if(n<=0){L=NULL;return;}L=newNODE;//生成附加的頭結(jié)點(diǎn)inti=0;NODE*p=L;while(___(1)___){p=p->next=___(2)___;p->data=___(3)___;i++;}p->next=NULL;//把最后一個(gè)結(jié)點(diǎn)的指針域置空p=L;L=L->next;//使L指向鏈表的第一個(gè)帶值的結(jié)點(diǎn)deletep;}【答案】(1)i<n(2)newNODE(3)table[i]8.對(duì)數(shù)組a[n]按升序進(jìn)行的選擇排序算法voidSelectSort(inta[],___(1)___){inti,j,k;for(i=1;i<n;i++){//進(jìn)行n-1次選擇和交換k=i-1;for(j=i;j<n;j++)if(a[j]<a[k])___(2)___;intx=a[i-1];a[i-1]=a[k];___(3)___;}}【答案】(1)intn(2)k=j(3)a[k]=x9.假定有定義為“structNODE{intdata;NODE*next;};”,下面算法根據(jù)table數(shù)組中的n個(gè)元素建立一個(gè)表頭指針為L的鏈表,鏈表中結(jié)點(diǎn)值的順序與數(shù)組元素值的順序正好相反。voidf6(NODE*&L,inttable[],intn){L=NULL;if(n<=0)return;inti=0;NODE*p;while(___(1)___){p=newNODE;p->data=___(2)___;p->next=L;___(3)___;i++;}}【答案】(1)i<n(2)table[i](3)L=p10.下面函數(shù)是求兩個(gè)整型參數(shù)a和b的最小公倍數(shù)。intf2(inta,intb){inti=2,p=1;do{while(a%i==0&&___(1)___){p*=i;a/=i;b/=i;}___(2)___;}while(a>=i&&___(3)___);returnp*a*b;}【答案】(1)b%i==0(2)i++(或++i)(3)b>=i11.classA{char*a;public:___(1)___//定義無參構(gòu)造函數(shù),使a的值為空A(char*aa){a=___(2)___;strcpy(a,aa);//用aa所指字符串初始化a所指向的動(dòng)態(tài)存儲(chǔ)空間}___(3)___//定義析構(gòu)函數(shù),刪除a所指向的動(dòng)態(tài)存儲(chǔ)空間};【答案】(1)A(){a=0;}或A():a(0){}(2)newchar[strlen(aa)+1](3)~A(){delete[]a;}12.已知一個(gè)類的定義如下:#include<iostream.h>classAA{inta[10];intn;public:voidSetA(intaa[],intnn);//用數(shù)組aa初始化數(shù)據(jù)成員a,//用nn初始化數(shù)據(jù)成員nintMaxA();//從數(shù)組a中前n個(gè)元素中查找最大值voidSortA();//采用選擇排序的方法對(duì)數(shù)組a中前n個(gè)元素//進(jìn)行從小到大排序voidInsertA();//采用插入排序的方法對(duì)數(shù)組a中前n個(gè)元素進(jìn)行從小到大排序voidPrintA();//依次輸出數(shù)組a中的前n個(gè)元素//最后輸出一個(gè)換行};使用該類的主函數(shù)如下:voidmain(){inta[10]={23,78,46,55,62,76,90,25,38,42};AAx;___(1)___;intm=___(2)___;___(3)___;cout<<m<<endl;}該程序運(yùn)行結(jié)果為:23784655627678【答案】(1)x.SetA(a,6)(2)x.MaxA()(3)x.PrintA()13.classA{inta,b;public:A(intaa=0,intbb=0)___(1)___{}//分別用aa和bb對(duì)應(yīng)初始化a和b};main(){___(2)___;//定義類A的對(duì)象x并用5初始化,同時(shí)定義y并用x初始化___(3)___;//定義p指針,使之指向?qū)ο髕}【答案】(1):a(aa),b(bb)(2)Ax(5),y(x)(3)A*p=&x14.classPoint{private:intx,y;public:Point(){x=y=0;}Point(intx0,inty0){x=x0;y=y0;}intGetX(){returnx;}intGetY(){returny;}voidPrint(){cout<<"Point("<<x<<","<<y<<")"<<endl;}___(1)___;//友元函數(shù)聲明___(2)___;//友元函數(shù)聲明};Pointoperator+(Point&pt,intdd)//加號(hào)操作符重載函數(shù),實(shí)現(xiàn)Point類對(duì)象與整數(shù)加法{Pointtemp=pt;temp.x+=dd;temp.y+=dd;returntemp;}Pointoperator+(Point&pt1,Point&pt2)//加號(hào)操作符重載函數(shù),實(shí)現(xiàn)兩個(gè)Point類對(duì)象的加法{Pointtemp=pt1;temp.x+=pt2.x;___(3)___;returntemp;}【答案】(1)friendPointoperator+(Point&pt,intdd)(2)friendPointoperator+(Point&pt1,Point&pt2)(3)temp.y+=pt2.y15.classA{inta,b;public:___(1)___//定義構(gòu)造函數(shù),使參數(shù)aa和bb的默認(rèn)值為0,//在函數(shù)體中用aa初始化a,用bb初始化b};main(){A*p1,*p2;___(2)___;//調(diào)用無參構(gòu)造函數(shù)生成由p1指向的動(dòng)態(tài)對(duì)象___(3)___;//調(diào)用帶參構(gòu)造函數(shù)生成由p2指向的動(dòng)態(tài)對(duì)象,//使a和b成員分別被初始化為4和5}【答案】(1)A(intaa=0,intbb=0){a=aa;b=bb;}(2)p1=newA(3)p2=newA(4,5)四、寫出程序運(yùn)行結(jié)果1.#include<iostream.h>#include<stdlib.h>voidmain(){inta[8]={25,48,32,85,64,18,48,29};intmax,min;max=min=a[0];for(inti=0;i<8;i++){if(x>a[i])max=a[i];if(x<a[i])min=a[i];}cout<<"max:"<<max<<endl;cout<<"min:"<<min<<endl;}【答案】max:85min:182.#include<iomanip.h>#include<math.h>inta[4]={36,-5,73,8};voidmain(){inti,y;for(i=0;i<4;i++){if(a[i]<0)y=1;elseif(a[i]<10)y=a[i]*a[i]+3;elseif(a[i]<60)y=4*a[i]-5;elsey=int(sqrt(a[i]));//sqrt(x)為取x的平方根函數(shù)cout<<setw(5)<<a[i]<<setw(5)<<y;}}【答案】36139-517388673.#include<iostream.h>voidmain(){inta,b;for(a=1,b=2;b<50;){

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論