




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C+程序設(shè)計(jì)試卷 第 PAGE 44 頁 共 NUMPAGES 44 頁第 PAGE 1 頁 共 NUMPAGES 44 頁2012年大學(xué)C+期末考試(q m ko sh)題庫一、單選題:1. 能作為C+程序的基本(jbn)單位是( C )。 A. 字符 B. 語句 C. 函數(shù)(hnsh) D. 源程序文件2. 程序中主函數(shù)的名字為( A )。 A. main B. MAIN C. Main D. 任意標(biāo)識(shí)符3. 關(guān)于C+與C語言的關(guān)系的描述中,(D)是錯(cuò)誤的。 A. C語言是C+的一個(gè)子集; B. C語言與C+是兼容的; C. C+對C語言進(jìn)行了一些改進(jìn);D. C+和C語言都是面向?qū)ο蟮?.
2、 可用作C+語言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是( B)。A. void define +WORD B. a3_b3 _123 YNC. for -abc Case D. 2a DO sizeof5. 存儲(chǔ)以下數(shù)據(jù),占用存儲(chǔ)字節(jié)最多的是( D)。 A. 0 B. 0 C. “0” D. 0.06. 設(shè)int a=12;則執(zhí)行完語句a+=a*a;后,a的值是( C )。 A. 12 B. 144 C. 156 D. 2887. 假設(shè)在程序中 a、b、c 均被定義成整型,所賦的值都大于1,則下列能正確表示代數(shù)式的表達(dá)式是( D )。A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(f
3、loat)c D. 1.0/a/b/c8. 以下說法中正確的是(B)。 A. C+程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行 B. C+程序總是從main函數(shù)開始執(zhí)行 C. C+函數(shù)必須有返回值,否則不能使用函數(shù) D. C+程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)程序文件中9. 下面有關(guān)構(gòu)造函數(shù)的描述中,正確的是(B )。 A. 構(gòu)造函數(shù)可以帶有返回值 B. 構(gòu)造函數(shù)的名字與類名完全相同 C. 構(gòu)造函數(shù)必須帶有參數(shù) D. 構(gòu)造函數(shù)必須定義,不能缺省10.10.在聲明類時(shí),下面的說法正確的是( )。A. 可以在類的聲明中給數(shù)據(jù)成員賦初值B. 數(shù)據(jù)成員的數(shù)據(jù)類型可以是registerC. private,
4、public,protected可以按任意順序出現(xiàn)D. 沒有用private,public,protected定義的數(shù)據(jù)成員是公有成員11.在下面有關(guān)析構(gòu)函數(shù)特征的描述中,正確的是( A )。 A. 一個(gè)類可以有多個(gè)析構(gòu)函數(shù) B. 析構(gòu)函數(shù)與類名完全相同 C. 析構(gòu)函數(shù)不能指定返回類型 D. 析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù)12.構(gòu)造函數(shù)是在(B )時(shí)被執(zhí)行(zhxng)的。 A. 程序(chngx)編譯 B. 創(chuàng)建對象 C. 創(chuàng)建(chungjin)類 D. 程序裝入內(nèi)存13. 下面有關(guān)靜態(tài)成員函數(shù)的描述中,正確的是( B ) A. 在靜態(tài)成員函數(shù)中可以使用this指針 B. 在建立對象前,就可
5、以為靜態(tài)數(shù)據(jù)成員賦值 C. 靜態(tài)成員函數(shù)在類外定義是,要用static前綴 D. 靜態(tài)成員函數(shù)只能在類外定義14.下面有關(guān)友員函數(shù)的描述中,真確的說法是(A ) A. 友員函數(shù)是獨(dú)立于當(dāng)前類的外部函數(shù) B. 一個(gè)友員函數(shù)不可以同時(shí)定義為兩個(gè)類的友員函數(shù) C. 友員函數(shù)必須在類的外部進(jìn)行定義 D. 在類的外部定義友員函數(shù)時(shí)必須加上friend關(guān)鍵字15.友員的作用之一是( A ) A. 提高程序的運(yùn)行效率 B. 加強(qiáng)類的封裝 C. 實(shí)現(xiàn)數(shù)據(jù)的隱蔽性 D. 增加成員函數(shù)的種類16.使用派生類的主要原因是( A ) A. 提高代碼的可重用性 B. 提高程序的運(yùn)行效率 C. 加強(qiáng)類的封裝性 D. 實(shí)現(xiàn)
6、數(shù)據(jù)的隱藏17.在C+中繼承方式有幾中( C ) A. 1 B. 2 C. 3 D. 418.假設(shè)已經(jīng)定義好了類student,現(xiàn)在要定義類derived,它是從student私有派生的,則定義類derived的正確寫法是( D ) A. class derived :student private /. B. class derived :student public /. C. class derived :public student /. D. class derived :private student /.19.派生類的對象對它的基類成員中(C)是可以訪問的。 A.公有繼承的公有成
7、員; B.公有繼承的私有成員; C.公有繼承的保護(hù)成員; D.私有繼承的公有成員。20. 類中定義的成員默認(rèn)為(A )訪問屬性。 A. public B. private C. protected D. friend21.下列存儲(chǔ)類標(biāo)識(shí)符中,要求通過函數(shù)來實(shí)現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,選用( A )合適。 A. 內(nèi)聯(lián)函數(shù); B. 重載函數(shù); C. 遞歸調(diào)用; D. 嵌套調(diào)用。22.C+對C語言作了很多改進(jìn),下列描述中(D)使得C語言發(fā)生了質(zhì)變,從面向過程變成了面向?qū)ο蟆?A. 增加了一些新的運(yùn)算符; B. 允許函數(shù)重載,并允許設(shè)置缺省參數(shù); C. 規(guī)定函數(shù)說明必須用原型; D.
8、 引進(jìn)了類和對象的概念;23.按照標(biāo)識(shí)符的要求,(A)符號(hào)不能組成標(biāo)識(shí)符。 A. 連接符 B. 下劃線 C.大小寫字母 D. 數(shù)字(shz)字符24.下列(xili)變量名中,( A )是合法的。 A CHINA B byte-size C double D A+a25.下列各種函數(shù)中,( C)不是(b shi)類的成員函數(shù)。 A 構(gòu)造函數(shù) B 析構(gòu)函數(shù) C 友元函數(shù) D 拷貝構(gòu)造函數(shù)26.下列( A )是正確的語句。 A ; B a=17 C x+y D cout0); D) ;59、(D)不是構(gòu)造函數(shù)的特征。A)構(gòu)造函數(shù)的函數(shù)名與類名相同 B)構(gòu)造函數(shù)可以重載C)構(gòu)造函數(shù)可以設(shè)置缺省參數(shù)
9、D)構(gòu)造函數(shù)必須指定類型說明60、以下程序段中與語句k=ab? 1:0;功能等價(jià)的是(D )。A) if(ab) k=1; B) if(ab) k=0C)if(ab) k=1; D)if(ab) k=0;else k=0; else k=1;61、下列常量中,( D)不是字符常量。A)005 B)n C) c D)a62、表示“x大于1而小于10”的邏輯表達(dá)式是(B )。A)1x1&x10 C) !(x=10) D)x1|x1063、關(guān)于成員函數(shù)特征的下列描述中,(A)是錯(cuò)誤的。A)成員函數(shù)一定是內(nèi)聯(lián)函數(shù) B)成員函數(shù)可以重載C)成員函數(shù)可以設(shè)置缺省參數(shù)值 D)成員函數(shù)可以是靜態(tài)的64、有以下
10、程序#include void main( ) int i,s=0;for(i=1;i10;i+=2) s+=i;couts;程序執(zhí)行后的輸出(shch)結(jié)果是(C )。A) 自然數(shù)19的累加和 B) 自然數(shù)110的累加和C) 自然數(shù)19中的奇數(shù)(j sh)之和 D) 自然數(shù)110中的偶數(shù)之和65、設(shè)有定義:int n=0,*p=&n,*q=&p;則以下(yxi)選項(xiàng)中,正確的賦值語句是(D)。A) p=1; B) *q=2; C) q=p; D) *p=5;66、( A)能正確輸出結(jié)果:C+。 A) char s=C+;coutsendl; B)char s3=C+;coutsendl; C
11、)char s3=C,+,+,0;coutsendl; D)char s3=C,+,+;coutsendl;67、有以下程序段int a10=1,2,3,4,5,6,7,8,9,10,*p=a,b;b=p5;b中的值是( B)。A)5 B)6 C) 8 D) 968、有以下程序#include void main( ) char *p10=abc,aabdfg,dcdbe,abbd,cd;coutp3endl;執(zhí)行后輸出結(jié)果是 BA)dcdbe B) abbd C) abc D) abb69、下列靜態(tài)數(shù)據(jù)成員的特性中,(C)是錯(cuò)誤的。A) 說明靜態(tài)數(shù)據(jù)成員時(shí)前邊要加修飾符staticB) 靜態(tài)
12、數(shù)據(jù)成員要在類體外進(jìn)行初始化C) 靜態(tài)數(shù)據(jù)成員不是所有對象所共用的D)引用靜態(tài)數(shù)據(jù)成員時(shí),要在其名稱前加和作用域運(yùn)算符70、有以下語句struct S int g; char h; T;則下面敘述中不正確的是(C )。A)S是結(jié)構(gòu)體名 B)該結(jié)構(gòu)體包含2個(gè)成員C)S是struct類型的變量 D)T是struct S類型的變量71、派生類的對象對它的基類成員中(A)是可以訪問的。A)公有繼承的公有成員B)公有繼承的私有成員C)公有繼承(jchng)的保護(hù)成員D)私有繼承的公有(gngyu)成員72、實(shí)現(xiàn)(shxin)運(yùn)行時(shí)的多態(tài)性用 。DA、重載函數(shù) B、構(gòu)造函數(shù) C、析構(gòu)函數(shù) D、虛函數(shù)73下
13、列變量名中,( A )是合法的。 A. CHINA B. byte-size C. double D. A+a74. 在int b3=1,3,2,4,5,6,0;b22的值是(D )。 A. 0 B. 2 C. 5 D. 675. 下列各運(yùn)算符中,(B)優(yōu)先級(jí)最高。A. +(雙目) B. *(單目) C. = D. *=76. 下列for循環(huán)的次數(shù)為( B )。for(int i(0),x=0;!x&i=5;i+)A. 5 B. 6 C . 1 D. 無限77. 下述關(guān)于break語句的描述中,( C )是正確的。A.break語句可用于循環(huán)體內(nèi),它將退出該重循環(huán)。B.break語句可用于開關(guān)
14、語句中,它將退出開關(guān)語句。C.break語句可用于if體內(nèi),它將退出if語句。D.break語句在一個(gè)循環(huán)體內(nèi)可以出現(xiàn)多次。78. 在一個(gè)被調(diào)用函數(shù)中,關(guān)于return語句使用的描述,(D )是錯(cuò)誤的。A.被調(diào)用函數(shù)中可以不用 return語句。B.被調(diào)用函數(shù)中可以使用多個(gè)return語句。C.被調(diào)用函數(shù)中,如果有返回值,就一定要有return語句。D.被調(diào)用函數(shù)中,一個(gè)return語句可返回多個(gè)值給調(diào)用函數(shù)。79. 在C+中,關(guān)于下列設(shè)置參數(shù)默認(rèn)的描述中,( C )是正確的。A.不允許設(shè)置參數(shù)的默認(rèn)值。B.設(shè)置參數(shù)默認(rèn)值只能在定義函數(shù)時(shí)設(shè)置。C.設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該是先設(shè)置右邊的再設(shè)置左邊
15、的。D.設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該全部參數(shù)都設(shè)置。80. 下列存儲(chǔ)類標(biāo)識(shí)符中,要求通過函數(shù)來實(shí)現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,選用( A )合適。A. 內(nèi)聯(lián)函數(shù) B. 重載函數(shù) C. 遞歸調(diào)用 D. 嵌套調(diào)用 81. 下列的各類函數(shù)中,( C )不是類的成員函數(shù)。A. 構(gòu)造函數(shù) B. 析構(gòu)函數(shù) C . 友元函數(shù) D. 拷貝初始化構(gòu)造函數(shù) 82.( D)不是構(gòu)造函數(shù)的特征A.構(gòu)造函數(shù)的函數(shù)名與類名相同 B.構(gòu)造函數(shù)可以重載 C.構(gòu)造函數(shù)可以設(shè)置缺省參數(shù) D.構(gòu)造函數(shù)必須指定類型說明 83.f1(int)是類A的公有成員函數(shù),p是指向成員函數(shù)f1()的指針,采用( C)是正確的。A.p=f
16、1 B. p=A:f1 C. p=A:f1() D. p=f1() 84.下列定義中,(A )是定義指向數(shù)組的指針p。A.int *p5 B.int (*p)5 C.(int *)p5 D.int *p 85循環(huán)(xnhun)while(int i=0) i-;執(zhí)行次數(shù)是( A )。A. 0 B. 1 C . 5 D . 無限(wxin)86.設(shè)int x;,則經(jīng)過(jnggu)( C )后,語句*px=0;可將x值置為0。A. int * px; B . int const * px=&x; C. int * const px=&x; D. const int * px=&x;87.設(shè)voi
17、d f1(int * m,long & n);int a;long b;則以下調(diào)用合法的是( B )。A. f1(a,b); B. f1(&a,b); C. f1(a,&b); D. f1(&a,&b)88. 關(guān)于對象概念的描述中,( A )是錯(cuò)誤的。A. 對象就是C語言中的結(jié)構(gòu)變量;B. 對象代表著正在創(chuàng)建的系統(tǒng)中的一個(gè)實(shí)體;C. 對象是一個(gè)狀態(tài)和操作(或方法)的封裝體;D. 對象之間的信息傳遞是通過消息進(jìn)行的;89. 在下列double型常量表示中,(A )是錯(cuò)誤的。A. E15; B. .35; C. 3E5; D. 3E-590. 下列給字符數(shù)組進(jìn)行初始化中,(A )是正確的。A. c
18、har s1 =12345abcd; B. char s23=xyz; C. char s33=a,x,y; D. char s423=xyz,mnp;91. 對于int *pa5;的描述,( D )是正確的。A.pa是一個(gè)指向數(shù)組的指針,所指向的數(shù)組是5個(gè)int型元素;B.pa是一個(gè)指向某個(gè)數(shù)組中第5個(gè)元素的指針,該元素是int型變量;C.pa5表示某個(gè)數(shù)組的第5個(gè)元素的值;D.pa是一個(gè)具有5個(gè)元素的指針數(shù)組,每個(gè)元素是一個(gè)int型指針;92. 下列各運(yùn)算符中,( A )優(yōu)先級(jí)最低。A?: B. | C. | D. !=93. 下列for循環(huán)的循環(huán)體執(zhí)行次數(shù)為( D )。for(int i
19、(0),j(10);i=j=4;i+,j- -) A. 0; B. 1; C. 4; D. 無限;94. 下述關(guān)于開關(guān)語句的描述中,( A )是正確的。A.開關(guān)語句中default子句可以沒有,也可以有一個(gè);B.開關(guān)語句中每個(gè)語句序列中必須有break語句;C.開關(guān)語句中default子句只能放在最后;D.開關(guān)語句中case子句后面的表達(dá)式可以是整形表達(dá)式。95. 下列存儲(chǔ)類標(biāo)識(shí)符中,( C )的可見性與存在性不一值。A. 外部類; B. 自動(dòng)類; C. 內(nèi)部靜態(tài)類; D. 寄存器類。96. 下述靜態(tài)數(shù)據(jù)成員的特征中,( D)是錯(cuò)誤的。A.說明靜態(tài)數(shù)據(jù)成員時(shí)前邊要加修飾符static;B.靜態(tài)
20、數(shù)據(jù)成員要在類體外進(jìn)行初始化;C.引用(ynyng)靜態(tài)數(shù)據(jù)成員時(shí),要在靜態(tài)數(shù)據(jù)成員名前加和作用域運(yùn)算符;D.靜態(tài)數(shù)據(jù)成員不是所有對象(duxing)所共用的。97. ( A)是析構(gòu)函數(shù)(hnsh)的特征。A. 一個(gè)類中只能定義一個(gè)析構(gòu)函數(shù); B. 析構(gòu)函數(shù)與類名不同;C. 析構(gòu)函數(shù)的定義只能在類體內(nèi); D. 析構(gòu)函數(shù)可以有各個(gè)或多個(gè)參數(shù)。;98.已知:p是一個(gè)指向類A數(shù)據(jù)成員m的指針,A1是類A的一個(gè)對象。如果要給m賦值為5,( C )是正確的。A. A1.p=5; B. A1-p=5;C. A.*p=5; D. *A1.p=5;99.關(guān)于new運(yùn)算符的下列描述中,( D )是錯(cuò)的。A.它可
21、以用來動(dòng)態(tài)創(chuàng)建對象和對象數(shù)組;B.使用它創(chuàng)建的對象或?qū)ο髷?shù)組可以使用運(yùn)算符delete刪除;C.使用它創(chuàng)建對象時(shí)要調(diào)用構(gòu)造函數(shù);D.使用它創(chuàng)建對象數(shù)組時(shí)必須指定初始值。 100.派生類的構(gòu)造函數(shù)的成員初始化列中,不能包含(C )。A.基類的構(gòu)造函數(shù);B.派生類中子對象的初始化;C.基類的子對象初始化;D.派生類中一般數(shù)據(jù)成員的初始化101.派生類的對象對它的基類成員中( A)是可以訪問的。A.公有繼承的公有成員;B.公有繼承的私有成員;C.公有繼承的保護(hù)成員;D.私有繼承的公有成員。102C+類體系中,不能被派生類繼承的有( A)。A.構(gòu)造函數(shù) B.虛函數(shù) C.靜態(tài)成員函數(shù) D.賦值操作函數(shù)1
22、03下面標(biāo)識(shí)符中正確的是(A )。A_abc B3ab C int D+ab104下列哪項(xiàng)( D )不是面向?qū)ο蟪绦蛟O(shè)計(jì)的主要特征?a.封裝b.繼承c.多態(tài)d.結(jié)構(gòu)105已知i=5,j=0,下列各式中運(yùn)算結(jié)果為j=6的表達(dá)式是( A )。Aj=i+(+j) Bj=j+i+ Cj=+i+j Dj=j+i106若整型變量a、b、c、d中的值依次為:1、4、3、2。則條件表達(dá)式ab?a:cd?c:d的值 AA1 B2 C3 D4107以下不正確的是( C )。 A語句for(i=0;i+)表示無限循環(huán) Bfor(;)表示無限循環(huán)Cfor()也表示無限循環(huán) Dwhile(1)表示無限循環(huán)108有如下程
23、序:int x=3;doX-=2;couta+&cd)?+d:ab”的值為( D )。 A) 9 B)6 C)8 D) 0134、下面有關(guān)重載函數(shù)的說法中正確的是( C )。 A)重載函數(shù)必須具有不同的返回值類型。B)重載函數(shù)形參個(gè)數(shù)必須不同。 C)重載函數(shù)必須有不同的形參列表。D)重載函數(shù)名可以不同。135、C+語言的跳轉(zhuǎn)語句中,對于break和continue說法正確的是( B )。 A)break語句只應(yīng)用于循環(huán)體中。 B)continue語句只應(yīng)用于循環(huán)體中。 C)break是無條件跳轉(zhuǎn)語句,continue不是。 D)break和continue的跳轉(zhuǎn)范圍不夠明確,容易產(chǎn)生問題。13
24、6、longint的字節(jié)數(shù)是(D )。 A)4 B)1 C)0 D)8 137、下列(xili)非法的字符常量是( C )。A)# B) C)a D)A 二、填空(tinkng): 1. C+語言(yyn)的頭文件與源程序文件擴(kuò)展名分別是(.h )和( .cpp )。 2. 在C+程序中使用基本輸入與輸出流時(shí)需要包含的頭文件名是( iostr eam )。 3. 在C+語言中,惟一的一個(gè)三目運(yùn)算運(yùn)算符是( ?: )。 4. C+中當(dāng)一個(gè)函數(shù)無返回值時(shí),則函數(shù)的類型是(void )。5. 一個(gè)類中可以有(多)個(gè)構(gòu)造函數(shù),只能有( 一 )個(gè)析構(gòu)函數(shù)。6.一般情況下,按照面向?qū)ο蟮囊?把類中的數(shù)據(jù)
25、成員(屬性)定義為( 私有 )權(quán)限, 而把成員函數(shù)(方法)定義為(公有 )權(quán)限.7.在定義類的對象時(shí),C+程序?qū)⒆詣?dòng)調(diào)用該對象的( 構(gòu)造 )函數(shù)初始化對象自身.在撤銷類的對象時(shí),C+程序?qū)⒆詣?dòng)調(diào)用該對象的( 折構(gòu) ) 函數(shù).8.類繼承中,缺省的繼承方式是( 私有繼承 ).9在C+語言中,用轉(zhuǎn)義字符序列( n )或操縱符( endl )表示輸出一個(gè)換行符。10表達(dá)式a=al表示成增量表達(dá)式為( +a )。11當(dāng)不需要函數(shù)返回任何值時(shí),則應(yīng)把該函數(shù)類型定義為( void )。12用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出流對象是( cout)。,用于從鍵盤上為變量輸人值的標(biāo)準(zhǔn)輸人流對象是(cin )。13、變量分
26、為全局和局部兩種,(全局變量默認(rèn)初始化為0 )。變量沒有賦初值時(shí),其值是不確定的。14、假定類AB中有一個(gè)公用屬性的靜態(tài)數(shù)據(jù)成員bb,在類外不通過對象名訪問該成員bb的寫法為( AB::bb )。15、類的成員分為數(shù)據(jù)成員和成員函數(shù)。16、一個(gè)類和對象的關(guān)系,正如基本數(shù)據(jù)類型與該類型的變量一樣,如int x;。17、對一個(gè)類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)中的賦值實(shí)現(xiàn),也可以通過構(gòu)造函數(shù)中的初始化列表實(shí)現(xiàn)。18、類有兩種用法:一種是定義對象,即生成類的對象;另一種是通過派生,派生出新的類。19、C+語言提供的多態(tài)機(jī)制允許一個(gè)派生類繼承多個(gè)基類,即使這些基類是相互無關(guān)的。20、聲明虛函數(shù)(h
27、nsh)的方法是在基類中的成員函數(shù)原型前加上關(guān)鍵字virtual。21、如果一個(gè)類中有一個(gè)或多個(gè)(du )純虛函數(shù),則這個(gè)類稱為虛基類。22、靜態(tài)數(shù)據(jù)成員(chngyun)在定義或說明時(shí),前面要加上關(guān)鍵字static。23、如果成員函數(shù)不需要訪問類的非靜態(tài)成員,則可以把它聲明為靜態(tài)成員函數(shù)。24、友元可以是全局函數(shù),也可以是其他類的成員函數(shù)。25、若需要把一個(gè)函數(shù)“void fun();”定義為一個(gè)類A的友元函數(shù),則應(yīng)在類A的定義中加入一條語句:friend void fun();。26、運(yùn)算符函數(shù)中的關(guān)鍵字是operator,它和運(yùn)算符一起組成該運(yùn)算符函數(shù)的函數(shù)名。27、類中運(yùn)算符重載一般采
28、用兩種形式:成員函數(shù)和友元函數(shù)。28、面向?qū)ο蟪绦蛟O(shè)計(jì)的3大機(jī)制為:封裝性、繼承性和多態(tài)性。2、類的訪問權(quán)限有public、private和protected三種。29、構(gòu)造函數(shù)是對象被創(chuàng)建時(shí)自動(dòng)執(zhí)行,對象消失時(shí)自動(dòng)執(zhí)行的成員函數(shù)稱為析構(gòu)函數(shù)。30、如果類A繼承了類B,則類A稱為基類,類B稱為派生類。31、如果一個(gè)特定的類型S當(dāng)且僅當(dāng)它提供了類型T的行為時(shí),則稱類型S是類型T的子類型。32、在類定義中,將=0置于虛函數(shù)的函數(shù)原型的末尾可以聲明該函數(shù)為純虛函數(shù)。33、類的靜態(tài)成員分為靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)。34、友元函數(shù)的聲明可以放在類的私有部分,也可以放在類的共有部分,它們是沒有區(qū)別的。3
29、5、如果說類B是類A的友元類,則類B的所有成員函數(shù)都是類A的成員函數(shù)。36、設(shè)a和b是兩個(gè)整型變量,我們用a+b的形式求這兩個(gè)變量的和;設(shè)c和d為浮點(diǎn)型變量,我們用c+d的形式求這兩個(gè)變量的和。顯然運(yùn)算符“+”具有不同的用途,這是運(yùn)算符重載的例子。37、對于雙目運(yùn)算符,若重載為類的成員函數(shù),有1個(gè)參數(shù);若重載為友元函數(shù),則有2個(gè)參數(shù)。38、 當(dāng)建立_一個(gè)新的對象_,程序自動(dòng)調(diào)用該類的構(gòu)造函數(shù)。39、 在C+中有二種參數(shù)傳遞方式:_傳值_ 和_引用_ 。40、 模板對處理數(shù)據(jù)的類型的要求不同可以分為兩種類型:_函數(shù)模板_ 和 _ 類模板_。41、 異常是通過_檢查(try)_ 、_拋出(thro
30、w)_和_捕捉(catch)_ 來實(shí)現(xiàn)的。42、 虛函數(shù)實(shí)現(xiàn)了C+的_多態(tài)_ 機(jī)制,類實(shí)現(xiàn)了C+的_封裝_ 機(jī)制。43、 面向?qū)ο蟪绦蛟O(shè)計(jì)的_繼承_機(jī)制提供了重復(fù)利用程序資源的一種途徑。44、C+語言程序設(shè)計(jì)的三種基本結(jié)構(gòu)是:_順序結(jié)構(gòu)_ 、 _選擇結(jié)構(gòu)_ 、 _循環(huán)結(jié)構(gòu)_ 。45、為了避免嵌套的條件(tiojin)語句if-else的二義性,C+語言規(guī)定else與_if _配對(pi du)使用。46、定義函數(shù)(hnsh)時(shí),在函數(shù)的類型前加上修飾詞 _ inline _,指明將該函數(shù)定義為內(nèi)聯(lián)函數(shù)。47、有說明語句:*p;則*p+運(yùn)算首先訪問 _*p_,然后使_p_ 的值加1。48、執(zhí)行i
31、nt *p=new int 操作,可以得到一個(gè)動(dòng)態(tài)分配整型對象的_指針_。49、有說明語句:int *p;則(*p)+運(yùn)算首先訪問 _*p_,然后使 _*p_的值加1。50 C+目標(biāo)程序經(jīng)_編譯鏈接_后生成擴(kuò)展名為exe的可執(zhí)行程序文件。51 16位計(jì)算機(jī)中整型占_2_個(gè)字節(jié)存儲(chǔ)空間。52 要在屏幕上顯示Hello,world!應(yīng)執(zhí)行語句cout=0|x=0) coutabcd;else coutwxyz;屏幕上顯示的是_abcd_。56 設(shè)一維整型數(shù)組data已進(jìn)行了初始化,則其元素個(gè)數(shù)可由操作符sizeof通過表達(dá)式_ sizeof(data) / sizeof(int) _計(jì)算出來。57
32、 若一全局變量只允許本程序文件中的函數(shù)使用,則定義它時(shí)應(yīng)加上修飾符_ static _。58 設(shè)有int w34;,pw是與數(shù)組名w等價(jià)的數(shù)組指針,則pw應(yīng)初始化為_ int*4 pw = w; _。59.要使引用pr代表變量char * p;,則pr應(yīng)初始化為_ char*& pr = p; _。60在C+中封裝性、繼承性和_多態(tài)性 61假設(shè)int a=1,b2;則表達(dá)式a+-b的值為 _2_。62下面的程序?qū)崿F(xiàn)輸出x,y,z三個(gè)數(shù)中的最大值,請?zhí)钊胝_的內(nèi)容。#includevoid main() int x=5,y=8,z=9, u, v; if_(xu)_ u=x;else u=y;i
33、f_(uv)_ v=u;else v=z;cout”v=”v _。65C+語言支持的兩種多態(tài)性分別(fnbi)是編譯時(shí)的多態(tài)性和 _運(yùn)行時(shí)_的多態(tài)性。66設(shè)有如下程序結(jié)構(gòu):class Box ;void main()Box A,B,C; 該程序運(yùn)行時(shí)調(diào)用_3_次構(gòu)造函數(shù);調(diào)用 _3_次析構(gòu)函數(shù)。67目前,有兩種重要的程序設(shè)計(jì)方法,分別是:_面向過程_和_面向?qū)ο骭。68 C+語言提供的基本控制結(jié)構(gòu)可以分為3種類型:順序結(jié)構(gòu)、_分支_ 和循環(huán)結(jié)構(gòu)。69函數(shù)的調(diào)用主要分為傳值調(diào)用和_引用調(diào)用_調(diào)用。前者的特點(diǎn)是_不能改變傳入變量的值 _。70函數(shù)重載時(shí)要求同名函數(shù)的_參數(shù)個(gè)數(shù)_或_參數(shù)類型_不同,
34、否則無法確定是哪個(gè)函數(shù)。71靜態(tài)數(shù)據(jù)成員是類的所有對象中的_共享_成員,而非靜態(tài)數(shù)據(jù)成員是屬于_一個(gè)具體_對象的。設(shè)A為test類的對象且賦有初值,則語句test B(A); 表示_將對象A復(fù)制給對象B _。73.面向?qū)ο蟪绦蛟O(shè)計(jì)方法中的每個(gè)對象都具有_屬性_和_方法_兩方面的特征。74.“類”指的是_對象的類型,代表了某一批對象的共性和特征_。75.構(gòu)造數(shù)據(jù)類型,包括數(shù)組、_指針_、_結(jié)構(gòu)體和共用體_、_枚舉_和類等。76.C+中數(shù)據(jù)類型標(biāo)識(shí)符Signed Char,其字節(jié)數(shù)為_1_,范圍是_-128到127_。77.在函數(shù)體內(nèi)部定義的變量稱為_局部變量_。在所有函數(shù)體外部定義的變量稱為_全
35、局變量_。78.有一數(shù)學(xué)表達(dá)式為2/3(f-32),要寫成對應(yīng)的C+的表達(dá)式時(shí),正確地寫法應(yīng)寫_2.0/3.0*(f-32)_。79.類的靜態(tài)成員是_的所有對象中共享_的成員,不是_某個(gè)對象_的成員,靜態(tài)成員在_類的聲明中_進(jìn)行引用性說明,在_其文件作用域的其他地方_進(jìn)行定義性說明。80.使用傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)程序的步驟是_自頂向下_、_逐步細(xì)化_、_模塊化設(shè)計(jì)_。81.“封裝”指的是_將有關(guān)的數(shù)據(jù)和操作代碼封裝在一個(gè)對象中,形成一個(gè)基本單位,各個(gè)對象之間相互獨(dú)立,互不干擾,且將對象中某些部分對外隱藏_。82.可以讓新類繼承(jchng)已定義的類的_數(shù)據(jù)(shj)成員_和_成員(c
36、hngyun)函數(shù)_,這個(gè)新類稱為_繼承_,原來的類稱為_基類_。新類可以從一個(gè)類中派生,這叫_單繼承_,也可以從多個(gè)類中派生,稱為_多重繼承_。83.指針類型變量用于存儲(chǔ)_另一變量的地址_,在內(nèi)存中它占有_一個(gè)_存儲(chǔ)單元。84.類有三種繼承方式,分別是:_公有繼承_、_保護(hù)繼承_、_私有繼承_。七、指出下列程序的錯(cuò)誤,并說明為什么:1、#include class Student int sno; int age; void printStu(); void setSno(int d);void printStu() coutnStudent No. is sno, ; coutage is
37、 age.endl;void setSno(int s) sno=s;void setAge(int a) age=a;void main() Student lin; lin.setSno(20021); lin.setAge(20); lin.printStu();1)void printStu() 應(yīng)該改為 void Student:printStu()2)void setSno(int s) 應(yīng)該改為 void Student:setSno(int s)3)Student的定義中應(yīng)加入成員函數(shù)的聲明語句 void setAge(int a);4)void setAge(int a) 應(yīng)
38、該改為 void Student:setAge(int a)5)應(yīng)將成員函數(shù)定義為public類型 在前面加 public:2、#include class Pointpublic: int x,y;private: Point()x=1;y=2;void main() Point cpoint; cpoint.x=2;2.應(yīng)將成員(chngyun)x定義為public3、#include void main( ) int x=0,y=5,z=3;while(z0 & +x3) y=y-1;coutxyz;4、#includevoid main()int x=10;int &y=x;coutx
39、=x,y=yendl;x+;coutx=x,y=yendl;y+;coutx=x,y=yendl; 5、#include void main( ) int i,n=0;for(i=2;i10;i+) if(i%3!=0) continue;n+; coutn;6、#include class A int *a; public: A(int x)a=new int(x);cout*a=*a; ;void main() A x(3),*p; p=new A(5); delete p; 7、# include class base public:virtual int func () return
40、0; ;class derived: public base public:int func() return 100; ;void main() derived d;base& b = d;cout b.func() endl;cout b.base:func() endl;8、#include #define pi=3.1416; const float r=3.2; void main() float s1,s2,c1,c2,r1; c1=pi*r*r; s1=2*pi*r; r=2.8; c2=pi*r*r; s2=2*pi*r; coutc2s2; 1)#define pi=3.14
41、16; 應(yīng)改為(i wi) #define pi 3.14162) 修改(xigi)了const類型的變量r 應(yīng)改為 static float r=3.2;3)coutc2s2; 應(yīng)改為(i wi) coutc2 s九、編程題:6、設(shè)計(jì)一個(gè)汽車類Vehicle,包含數(shù)據(jù)成員車輪數(shù)和車重,由它派生出類Car和類Truck,前者包含載客數(shù),后者包含載重量。編寫程序?qū)崿F(xiàn)。#include class vehicle / 定義汽車類 protected: int wheels; / 車輪數(shù) float weight; / 重量 public: vehicle(int wheels,float weig
42、ht); int get_wheels(); float get_weight(); float wheel_load(); void show(); ; class car:public vehicle / 定義小車類 int passenger_load; / 載人數(shù) public: car(int wheels,float weight,int passengers=4); int get_passengers(); void show(); ; class truck:public vehicle / 定義卡車類 int passenger_load; / 載人數(shù) float payl
43、oad; / 載重量 public: truck(int wheels,float weight,int passengers=2,float max_load=24000.00); int get_passengers(); float efficiency(); void show(); ; vehicle:vehicle(int wheels,float weight) vehicle:wheels=wheels; vehicle:weight=weight; int vehicle:get_wheels() return wheels; float vehicle:get_weight
44、() return weight/wheels; void vehicle:show() cout 車輪(ch ln): wheels 個(gè) endl; cout 重量(zhngling): weight 公斤 endl; car:car(int wheels, float weight, int passengers) :vehicle (wheels, weight) passenger_load=passengers; int car:get_passengers () return passenger_load; void car:show() cout 車型:小車(xioch) end
45、l; vehicle:show(); cout 載人: passenger_load 人 endl; cout endl; truck: truck(int wheels, float weight,int passengers, float max_load):vehicle(wheels,weight) passenger_load=passengers; payload=max_load; int truck:get_passengers() return passenger_load; float truck:efficiency() return payload/(payload+w
46、eight); void truck:show() cout 車型:卡車(kch) endl; vehicle: show (); cout 載人: passenger_load 人 endl; cout 效率(xio l): efficiency() endl; cout endl; void main () car car1(4,2000,5); truck tru1(10,8000,3,340000); cout 輸出(shch)結(jié)果 endl; car1. show (); tru1. show (); 7、設(shè)計(jì)一個(gè)點(diǎn)類Point,包含點(diǎn)的坐標(biāo)x,y 兩個(gè)數(shù)據(jù)成員,采用友元類的方式分別
47、計(jì)算兩點(diǎn)間的水平距離和垂直距離。#includeusing namespace std;class Point;/先聲明類型Pointint horizontalDistance(const Point& first, const Point& second);/水平距離函數(shù)聲明int verticalDistance(const Point& first, const Point& second);/垂直距離函數(shù)聲明class Pointprivate: int x;/橫坐標(biāo) int y;/縱坐標(biāo)public: Point(int x=0, int y = 0)/構(gòu)造函數(shù) this-x =
48、x; this-y = y; friend int horizontalDistance(const Point& first, const Point& second); friend int verticalDistance(const Point& first, const Point& second); /水平距離(jl)函數(shù)定義 int horizontalDistance(const Point& first, const Point& second) if(first.x -second.x =0) return first.x-second.x; else return sec
49、ond.x-first.x; /垂直距離函數(shù)(hnsh)定義int verticalDistance(const Point& first, const Point& second) if(first.y -second.y =0) return first.y-second.y; else return second.y-first.y;int main() Point a(1,2); /定義(dngy)三個(gè)Point對象 Point b(0,0); Point c(-1,-1); /測試(csh) cout horizontalDistance(a,b) endl; cout horizo
50、ntalDistance(a,c) endl; cout verticalDistance(a,b) endl; cout verticalDistance(a,c) endl;return 0;8、設(shè)計(jì)一個(gè)點(diǎn)類Point,包含橫、縱兩個(gè)坐標(biāo)數(shù)據(jù)x,y,由它派生出圓類Circle,并添加(tin ji)一個(gè)半徑數(shù)據(jù)r,求其面積area。#include /#include/此頭文件與下面的setprecision(3)對應(yīng),可同時(shí)加上,控制輸出精度using namespace std;#define PI 3.1415926/點(diǎn)類如下:class Pointpublic: Point() P
51、oint(float x1,float y1) x=x1; y=y1; virtual float area()=0; virtual float perim()=0;/周長(zhu chn)private: float x; float y;class Circle:public Pointpublic: Circle(float x1,float y1,float r1); float area(); float perim();private: float r;Circle:Circle(float x1,float y1,float r1):Point(x1,y1) r=r1;floa
52、t Circle:area() return PI*r*r;float Circle:perim() return 2*PI*r;int main() Point *p; Circle circle(0,0,3);/前兩個(gè)為point(0,0),第三個(gè)常量(chngling)3為圓的半徑。 p=&circle; coutCircle的周長(zhu chn)是:perim()endl; coutCircle的面積(min j)是:area()endl;9、設(shè)計(jì)一個(gè)點(diǎn)類Point,包含兩個(gè)坐標(biāo)數(shù)據(jù)成員x,y和一個(gè)構(gòu)造函數(shù);再設(shè)計(jì)一個(gè)友元函數(shù)distance()用于求兩點(diǎn)之間的距離。#include
53、using namespace std;class Point;/先聲明類型Pointint horizontalDistance(const Point& first, const Point& second);/水平距離函數(shù)聲明int verticalDistance(const Point& first, const Point& second);/垂直距離函數(shù)聲明class Pointprivate: int x;/橫坐標(biāo) int y;/縱坐標(biāo)public: Point(int x=0, int y = 0)/構(gòu)造函數(shù) this-x = x; this-y = y; friend in
54、t horizontalDistance(const Point& first, const Point& second);/水平距離(jl)函數(shù)定義 int horizontalDistance(const Point& first, const Point& second) if(first.x -second.x =0) return first.x-second.x; else return second.x-first.x;int main() Point a(1,2);/定義(dngy)三個(gè)Point對象 Point b(0,0); Point c(-1,-1); cout horizontalDistance(a,b) endl; cout horizontalDistance(a,c) endl; return 0;12、編寫(binxi)class cA的派生類class cAB,增加成員函數(shù),用于求圓的周長class cAint r;public:cA(int x) r=x; double area( ) return r*r*3.14; int get_r( ) return r; ;class cAB:public
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)書課題進(jìn)度表格
- 課題的項(xiàng)目申報(bào)書
- 翻譯課題項(xiàng)目申報(bào)書范文
- 腫瘤護(hù)理課題申報(bào)書
- 出租噴涂車間合同范本
- 變更土地合同范本
- 紅色文化產(chǎn)業(yè)課題申報(bào)書
- 醫(yī)學(xué)課題申報(bào)書意見
- 合同范本 工商
- 2025中鐵集裝箱運(yùn)輸有限責(zé)任公司招聘46人(京外地區(qū)崗位)筆試參考題庫附帶答案詳解
- 中國農(nóng)業(yè)大學(xué)人文與發(fā)展學(xué)院管理服務(wù)崗位招聘筆試真題2023
- 《中華人民共和國學(xué)前教育法》專題培訓(xùn)
- 2023-2024 中國滑雪產(chǎn)業(yè)白皮書
- 二年級(jí)下冊數(shù)學(xué)課件-1.3 分草莓 北師大版(共14張PPT)
- 2022年中小學(xué)心理健康教育指導(dǎo)綱要
- 中國紅十字會(huì)救護(hù)員培訓(xùn)理論考試試卷 (1)附答案
- 高架橋梁混凝土工程專項(xiàng)施工方案
- 銀行案件風(fēng)險(xiǎn)排查實(shí)施細(xì)則
- 亞馬遜品牌授權(quán)書(英文模板)
- 10級(jí)空乘《形體訓(xùn)練3》課程標(biāo)準(zhǔn)(共14頁)
評(píng)論
0/150
提交評(píng)論