C++程序語(yǔ)言模擬期末考試試卷試題及答案_第1頁(yè)
C++程序語(yǔ)言模擬期末考試試卷試題及答案_第2頁(yè)
C++程序語(yǔ)言模擬期末考試試卷試題及答案_第3頁(yè)
C++程序語(yǔ)言模擬期末考試試卷試題及答案_第4頁(yè)
C++程序語(yǔ)言模擬期末考試試卷試題及答案_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余8頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、C+模擬試卷(一) 一、 單項(xiàng)選擇題(共20題,每題1分,共20分)1、下列關(guān)于C+標(biāo)識(shí)符的命名不合法的是CA. Pad B. name_1 C. A#bc D. _a122、若有以下類(lèi)型標(biāo)識(shí)符定義: (D )int x=2; char w='a'; float y=23.45f; double z=45.6712;則表達(dá)式w*x+y-z的結(jié)果類(lèi)型是A. float B. char C. int D. double 3、若有int x=10,y=20,z=30; 則執(zhí)行下面語(yǔ)句后,x的值是Bif(x>y)z=x; x=y; y=z; A. 10 B. 20 C. 30 D

2、. 04、循環(huán)語(yǔ)句whlie(int i=0 )i-;的循環(huán)次數(shù)是AA. 0 B. 1 C. 5 D. 無(wú)限5、一個(gè)函數(shù)無(wú)返回值時(shí),應(yīng)選擇的說(shuō)明符是CA. static B. extern C. void D. 無(wú)說(shuō)明符6、對(duì)重載函數(shù)形參的描述中,錯(cuò)誤的是DA. 參數(shù)的個(gè)數(shù)可能不同 B. 參數(shù)的類(lèi)型可能不同C. 參數(shù)的順序可能不同 D. 參數(shù)的個(gè)數(shù)、類(lèi)型、順序都相同,只是函數(shù)的返回值類(lèi)型不同7、以下能正確定義數(shù)組并正確賦初值的語(yǔ)句是DA. int N=5,bNN; B. int a2=1,3,4,5;C. int c2=1,2,3,4; D. int d32=1,2,3,4;8、下列給字符數(shù)組

3、進(jìn)行的初始化中,不正確的是DA. char s1="abcd" B. char s23='x','y','0'C. char s3='a','x','y','0' D. char s46="xyz","mnp"9、通常的拷貝構(gòu)造函數(shù)的參數(shù)是CA 某個(gè)對(duì)象名 B某個(gè)對(duì)象成員名C 某個(gè)對(duì)象的引用 D某個(gè)對(duì)象的指針名10、關(guān)于構(gòu)造函數(shù)特點(diǎn)的描述中,錯(cuò)誤的是AA. 定義構(gòu)造函數(shù)必須指出類(lèi)型 B. 構(gòu)造函數(shù)的名字與該類(lèi)的類(lèi)名相同C.

4、一個(gè)類(lèi)中可定義0至多個(gè)構(gòu)造函數(shù) D. 構(gòu)造函數(shù)是一種成員函數(shù)11、下面程序的運(yùn)行結(jié)果為C#include <iostream.h>int add(int a,int b);void main() extern int x,y;cout<<add(x,y)<<endl;int x=20,y=5;int add(int a,int b)int s=a+b;return s; A20 B5 C25 D編譯會(huì)提示出錯(cuò)信息12、關(guān)于常成員的描述中,錯(cuò)誤的是BA. 常成員包含常數(shù)據(jù)成員和常成員函數(shù)兩種B. 常數(shù)據(jù)成員必須是公有的C. 常數(shù)據(jù)成員要使用構(gòu)造函數(shù)成員初始化列

5、表進(jìn)行初始化D. 常對(duì)象只能調(diào)用它的常成員函數(shù),不能調(diào)用其它的成員函數(shù) 13、關(guān)于友元函數(shù)的描述中,錯(cuò)誤的是BA. 友元函數(shù)不是成員函數(shù) B. 友元函數(shù)只能訪問(wèn)類(lèi)中私有成員C. 友元函數(shù)破壞隱藏性,盡量少用D. 友元函數(shù)說(shuō)明在類(lèi)體內(nèi),使用關(guān)鍵字friend 14、如果有int x,*p; float y,*q;則下面操作正確的是CAp=x Bp=q Cp=&x Dp=&y15、若有函數(shù)說(shuō)明void fA(int m, int n); 和指針變量的定義 void (*p)(int,int);并且有p= fA則下列操作不正確的是DA(*p)(3,4); Bp(3,4); CfA(3

6、,4); D*p+;16、若數(shù)組名作實(shí)參而指針變量作形參,函數(shù)調(diào)用時(shí)實(shí)參傳給形參的是DA. 數(shù)組的長(zhǎng)度 B. 數(shù)組第一個(gè)元素的值C. 數(shù)組所有元素的值 D. 數(shù)組第一個(gè)元素的地址17、對(duì)于動(dòng)態(tài)分配內(nèi)存空間描述正確的是DA使用new運(yùn)算符分配的內(nèi)存空間的長(zhǎng)度必需是常量 Bdelete運(yùn)算符可以釋放動(dòng)態(tài)的存儲(chǔ)空間和靜態(tài)的存儲(chǔ)空間C由new分配的內(nèi)存空間是不連續(xù)的Ddelete運(yùn)算符只能釋放由new分配的動(dòng)態(tài)存儲(chǔ)空間18、能夠釋放對(duì)象所占資源的是 ( A)A析構(gòu)函數(shù) B數(shù)據(jù)成員 C構(gòu)造函數(shù) D靜態(tài)成員函數(shù)19、虛函數(shù)的定義是在基類(lèi)中進(jìn)行的,定義時(shí)需要冠以關(guān)鍵字CAstatic Bfrend Cvir

7、tual Dpublic20、在C+中串流類(lèi)是在頭文件strstrea.h中定義的,下列不屬于串流類(lèi)的是 )CAstrstream Bostrstream Cofstream Distrstream二、填空題(共9題16空,每空1分,共16分)1、函數(shù)重載時(shí),編譯系統(tǒng)會(huì)根據(jù)_形參的類(lèi)型_ 或_形參的個(gè)數(shù)_ 來(lái)區(qū)分。2、若有char a80;則cin>>a表示從鍵盤(pán)上讀入一個(gè)_字符串_ 到數(shù)組a中。3、若希望用一個(gè)已有對(duì)象來(lái)構(gòu)造另一個(gè)同類(lèi)型的對(duì)象,可以使用_ 拷貝構(gòu)造函數(shù)來(lái)實(shí)現(xiàn)。4、靜態(tài)成員屬于_類(lèi),而不屬于_任何一個(gè)對(duì)象_ ,它被同一個(gè)類(lèi)的所有對(duì)象共享。5、類(lèi)的繼承方式有_ pub

8、lic(或公有)_ 繼承、_ private(或私有)_ 繼承和_ protected(或保護(hù))_ 繼承。6、重載運(yùn)算符的含義必須清楚,不能有_二義性_ 。7、按照聯(lián)編進(jìn)行階段的不同,聯(lián)編方法可分為兩種: _動(dòng)態(tài)聯(lián)編_ 和_靜態(tài)聯(lián)編。8、當(dāng)基類(lèi)中的某個(gè)成員函數(shù)被聲明為虛函數(shù)后,此虛函數(shù)就可以在一個(gè)或多個(gè)派生類(lèi)中被重新定義,在派生類(lèi)中重新定義時(shí),其函數(shù)原型,包括返回類(lèi)型、_函數(shù)名 _參數(shù)個(gè)數(shù)_ 、參數(shù)類(lèi)型以及參數(shù)的順序都必須與基類(lèi)中的原型完全相同。9、C+的I/O是以字節(jié)流的形式實(shí)現(xiàn)的,每個(gè)C+編譯系統(tǒng)都帶有一個(gè)面向?qū)ο蟮妮斎?輸出軟件包,這就是I/O流類(lèi)庫(kù) 。三、判斷題(共10題,每題1分,共

9、10分)1、C+語(yǔ)言支持封裝性和繼承性,不支持多態(tài)性。×2、關(guān)系運(yùn)算符可以用來(lái)比較兩個(gè)字符的大小,也可用來(lái)比較兩個(gè)字符串的大小。×3、字符串"sdfgh"的長(zhǎng)度是5。4、引用和指針都可作函數(shù)參數(shù)。5、友元函數(shù)說(shuō)明在類(lèi)體內(nèi),它是一種成員函數(shù)。×6、友元類(lèi)必須被說(shuō)明為公有成員。×7、純虛函數(shù)是在基類(lèi)中說(shuō)明的虛函數(shù),它在該基類(lèi)中沒(méi)有定義具體的操作內(nèi)容。8、析構(gòu)函數(shù)不能被繼承。9、運(yùn)算符重載以后,其優(yōu)先級(jí)和結(jié)合性都不能改變。10、在C+中,函數(shù)名實(shí)際上是一個(gè)指針,它指向函數(shù)的入口。四、分析程序,回答所提出的問(wèn)題(16分)1、 #include

10、 <iostream.h>class B;class Apublic:A(int i) a=i; friend int F(A &f1,B &f2);private:int a;class Bpublic:B(int i) b=i; friend int F(A &f1,B &f2);private:int b;int F(A &f1,B &f2)return (f1.a+f2.b)* (f1.a-f2.b);void main()A n1(10);B n2(8);cout<<F(n1,n2)<<endl; 寫(xiě)

11、出程序的運(yùn)行結(jié)果。36 該程序中共有幾個(gè)對(duì)象,分別屬于哪個(gè)類(lèi) 為什么在程序的開(kāi)頭處通過(guò)語(yǔ)句class B; 對(duì)類(lèi)B進(jìn)行聲明n1 和 n2 兩個(gè)對(duì)象,n1屬于A類(lèi),n2屬于B類(lèi)。因?yàn)锽類(lèi)的定義在A類(lèi)后,而A類(lèi)中要引用B類(lèi)。 程序中的哪兩條語(yǔ)句會(huì)分別調(diào)用A、B的構(gòu)造函數(shù)?寫(xiě)出這兩個(gè)構(gòu)造函數(shù)。語(yǔ)句A n1(10); 和語(yǔ)B n2(8); A類(lèi)的構(gòu)造函數(shù):A(int i) a=i; B類(lèi)的構(gòu)造函數(shù):B(int i) b=i; 函數(shù)F是什么函數(shù)它的作用是什么函數(shù)F是友元函數(shù)。它的作用是:提供了不同類(lèi)或?qū)ο蟮某蓡T函數(shù)之間、類(lèi)的成員函數(shù)與一般函數(shù)之間共享數(shù)據(jù)的機(jī)制。(關(guān)鍵答出共享數(shù)據(jù)、或答出通過(guò)友元可以訪問(wèn)

12、到封裝與類(lèi)A、B中的數(shù)據(jù))五、閱讀程序,寫(xiě)出運(yùn)行結(jié)果(共2題,第1題6分,第2題8分,共14分)1、 #include <iostream.h>int func(int a)int b=0;static int c=4;b+; c-;return(a+b+c);void main( )int a=2;for(int j=0;j<2;j+)cout<<func(a+j)<< " "輸出結(jié)果為:輸出結(jié)果為:6 62、 #include <iostream.h>class Xpublic:X(int i) x=i; cout&

13、lt;<”int: ”<<i<<,<<”calledn”; X(double i) x=(int)i*2; cout<<” double: ”<<i<<,<<”calledn”; X() cout<<” X(): ”<<x<<,<<”calledn”; private:int x;void main()int a=8;double b=11.0;X x1(55), x2(a*5);X x3=X(2*a);X x4=X(b);輸出結(jié)果為: int:55,cal

14、ledint:40,calledint:16,calleddouble:11,calledx<>:22,calledx<>:16,calledx<>:40,calledx<>:50,called六、編寫(xiě)程序(共2題,第1題10分,第2題14分,共24分)1、輸入一組數(shù)據(jù)以-1作為結(jié)束標(biāo)志,要求刪除其它數(shù)據(jù)只保留能被2整除的數(shù)據(jù)并輸出結(jié)果。# include <iostream.h> void main()int b50,x,n=0;cin>>x; while(x!=-1)b+n=x;cin>>x;for(int

15、 i=1,j=0;i<=n;i+) if(bi%2=0) b+j=bi;for(i=1;i<=j;i+) cout<<bi<< 't'cout<<endl;2、定義一個(gè)日期類(lèi)Date,包含年、月、日三個(gè)數(shù)據(jù)成員,以及一個(gè)求第二天日期的成員函數(shù)和輸出日期的成員函數(shù)。#include <iostream.h> class Date private:int year,month,day;public:Date(int y, int m, int d)year=y;month=m;day=d;void nextday();vo

16、id display()cout<<year<<"/"<<month<<"/"<<day<<endl;void Date:nextday() int totaldays212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31;day+;int leap=(year%400=0|year%4=0&&year%100!=0);if(day>totaldaysleapmont

17、h-1)day=1; month+;if(month>12)month=1;year+;void main() int d,m,y;cout<<"請(qǐng)輸入年、月、日:n"cin>>y>>m>>d;Date d1(y,m,d); cout<<"今天是:"d1.display();d1.nextday();cout<<"明天是:"d1.display(); 模擬試卷(一)答案一、單項(xiàng)選擇題1、C 2、D 3、B 4、A 5、C 6、D 7、D 8、D 9、C 10

18、、A11、C 12、B 13、B 14、C 15、D 16、D 17、D 18、A 19、C 20、C二、填空題1、形參的類(lèi)型 形參的個(gè)數(shù)2、字符串3、拷貝構(gòu)造函數(shù)4、類(lèi) 任何一個(gè)對(duì)象5、public(或公有) private(或私有) protected(或保護(hù))6、二義性7、動(dòng)態(tài)聯(lián)編 靜態(tài)聯(lián)編8、函數(shù)名 參數(shù)個(gè)數(shù)9、字節(jié)流 I/O流類(lèi)庫(kù)三、判斷題1、× 2、× 3、 4、 5、× 6、× 7、 8、 9、 10四、分析程序,回答所提出的問(wèn)題(平分標(biāo)準(zhǔn):每問(wèn)4分,共16分) 36 n1 和 n2 兩個(gè)對(duì)象,n1屬于A類(lèi),n2屬于B類(lèi)。因?yàn)锽類(lèi)的定義在A

19、類(lèi)后,而A類(lèi)中要引用B類(lèi)。 語(yǔ)句A n1(10); 和語(yǔ)B n2(8); A類(lèi)的構(gòu)造函數(shù):A(int i) a=i; B類(lèi)的構(gòu)造函數(shù):B(int i) b=i; 函數(shù)F是友元函數(shù)。它的作用是:提供了不同類(lèi)或?qū)ο蟮某蓡T函數(shù)之間、類(lèi)的成員函數(shù)與一般函數(shù)之間共享數(shù)據(jù)的機(jī)制。(關(guān)鍵答出共享數(shù)據(jù)、或答出通過(guò)友元可以訪問(wèn)到封裝與類(lèi)A、B中的數(shù)據(jù))五、閱讀程序,寫(xiě)出運(yùn)行結(jié)果1、輸出結(jié)果為:6 62、輸出結(jié)果為:int:55,calledint:40,calledint:16,calleddouble:11,calledx<>:22,calledx<>:16,calledx<&g

20、t;:40,calledx<>:50,called六、編寫(xiě)程序1、輸入一組數(shù)據(jù)以-1作為結(jié)束標(biāo)志,要求刪除其它數(shù)據(jù)只保留能被2整除的數(shù)據(jù),并輸出結(jié)果。# include <iostream.h> void main()int b50,x,n=0;cin>>x; while(x!=-1)b+n=x;cin>>x;for(int i=1,j=0;i<=n;i+) if(bi%2=0) b+j=bi;for(i=1;i<=j;i+) cout<<bi<< 't'cout<<endl;2、定義一個(gè)日期類(lèi)Date,包含年、月、日三個(gè)數(shù)據(jù)成員,以及一個(gè)求第二天日期的成員函數(shù)和輸出日期的成員函數(shù)。#include &l

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論