[渝粤教育] 中国地质大学 面向对象程序设计 复习题
《面向對象程序設計》模擬題
一.單選題
1.如果一個類中包含純虛函數(shù)則該類稱為().
A.抽象類
B.虛基類
C.派生類
D.子類
2.在類中將show聲明為不帶返回值的純虛函數(shù)則正確的寫法是().
A.virtual void show()=0;
B.virtual show()=0;
C.virtual void show();
D.void show()=0 virtual;
3.虛函數(shù)必須是類的().
A.構造函數(shù)
B.友元函數(shù)
C.成員函數(shù)
D.私有成員函數(shù)
4.下列關于虛函數(shù)的描述中()是正確的.
A.虛函數(shù)一定不能有函數(shù)體
B.含有虛函數(shù)的類不能定義該類對象
C.虛函數(shù)只能被重載不能被繼承
D.基類中聲明虛函數(shù)后派生類中可以不重載該虛函數(shù)
5.在C++中要實現(xiàn)動態(tài)聯(lián)編可以使用()調(diào)用虛函數(shù).
A.類名
B.派生類指針
C.對象名
D.基類指針
6.下列函數(shù)中不能說明為虛函數(shù)的是().
A.私有成員函數(shù)
B.公有成員函數(shù)
C.構造函數(shù)
D.析構函數(shù)
7.一個類中的某個函數(shù)被聲明為virtual則該函數(shù)在該類的所有派生類中().
A.都是虛函數(shù)
B.重載后才是虛函數(shù)
C.被重新說明為virtual時才是虛函數(shù)
D.不是虛函數(shù)
8.類B是類A的公有派生類類A和類B中都定義了虛函數(shù)func()p是一個指向類A的指針則p->func()將().
A.調(diào)用類A中的函數(shù)func()
B.調(diào)用類B中的函數(shù)func()
C.根據(jù)p實際所指對象類型確定調(diào)用A或B類中的函數(shù)func()
D.同時調(diào)用A類和B類中的函數(shù)func()
9.下列關于虛函數(shù)的說明中正確的是().
A.從虛基類繼承的函數(shù)都是虛函數(shù)
B.虛函數(shù)不能是靜態(tài)成員函數(shù)
C.通過對象不能調(diào)用虛函數(shù)
D.抽象類中的函數(shù)都是虛函數(shù)
10.有一個重載運算符的函數(shù)參數(shù)表中沒有任何參數(shù)則可以斷定被重載的運算符函數(shù)是().
A.單目友元函數(shù)
B.單目成員函數(shù)
C.雙目友元函數(shù)
D.雙目成員函數(shù)
11.下列關于運算符函數(shù)返回值類型的描述中錯誤的是().
A.可以是類類型
B.可以是int類型
C.可以是void類型
D.可以是float類型
12.友元運算符obj1>obj2被C++編譯器解釋為().
A.operator>(obj1obj2)
B.>(obj1obj2)
C.obj1.operator>(obj2)
D.obj2.operator>(obj1)
13.在表達式x+yz中+作為成員函數(shù)重載的運算符作為友元函數(shù)重載的運算符以下敘述中正確的是().
A.operator+有2個參數(shù)operator有2個參數(shù)
B.operator+有2個參數(shù)operator有1個參數(shù)
C.operator+有1個參數(shù)operator有2個參數(shù)
D.operator+有1個參數(shù)operator有1個參數(shù)
14.重載賦值運算符時應聲明為()函數(shù).
A.友元
B.虛
C.成員
D.多態(tài)
15.在成員函數(shù)中進行雙目運算符重載時參數(shù)表中應有()個參數(shù).
A.0
B.1
C.2
D.3
16.雙目運算符重載為友元函數(shù)時參數(shù)表中應有()個參數(shù).
A.0
B.1
C.2
D.抽象類中的函數(shù)都是虛函數(shù)
17.若表達式a+b中的”+”是作為成員函數(shù)重載的運算符若采用運算符函數(shù)調(diào)用格式則可表示為().
A.a.operator+(b)
B.b.operator+(a)
C.operator+(ab)
D.雙目成員函數(shù)
18.假定M是一個類名且M中重載了操作符=可以實現(xiàn)M對象間的連續(xù)賦值如”m1=m2=m3;”.重載操作符=的函數(shù)原型最好是().
A.int operaotor=(constM);
B.int operator=(constM&);
C.Moperator=(constM&);
D.可以是float類型
19.下面是重載雙目運算符+的普通函數(shù)原形其中最符合+原來含義的是().
A.Value operator+(ValueValue);
B.Value operator+(Valueint);
C.Value &operator+(ValueValue);
D.obj2.operator>(obj1)
20.類模板允許我們創(chuàng)建一系列相關的().
A.類
B.變量
C.數(shù)組
D.operator+有1個參數(shù)operator*有1個參數(shù)
21.關于異常以下敘述中正確的是().
A.友元
B.當異常被一個catch塊處理后執(zhí)行流程進入下一個catch塊
C.當一個異常被拋出后其后的第一個catch塊執(zhí)行
D.多態(tài)
22.以下關于函數(shù)模板敘述正確的是().
A.函數(shù)模板也是一個具體類型的函數(shù)
B.函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個概念
C.通過使用不同的類型參數(shù)函數(shù)模板可以生成不同類型的函數(shù)
D.用函數(shù)模板定義的函數(shù)沒有類型
23.有如下函數(shù)模板定義則下列函數(shù)調(diào)用中錯誤的是().templateTfunc(T xT y){returnxx+yy;}
A.func(35);
B.func(33.5)
C.func(35.5);
D.func(33.5);
24.下列關于函數(shù)模板的描述中錯誤的是().
A.函數(shù)模板必須由程序員實例化為可執(zhí)行的模板函數(shù)
B.函數(shù)模板的實例化由編譯器完成
C.一個類定義中只要有一個函數(shù)模板則這個類是類模板
D.類模板的成員函數(shù)都是函數(shù)模板
25.下列模板聲明中正確的是().
A.template
B.template
C.template
D.template
26.類模板的使用實際上是將類模板實例化為一個().
A.函數(shù)
B.對象
C.類
D.抽象類
27.下列關于異常的敘述中錯誤的是().
A.編譯錯屬于異常可以拋出
B.運行錯屬于異常
C.拋出異常后將跳過函數(shù)中的其它代碼
D.拋出的異常可以不被捕獲
28.在C++程序中使用的cin標識符是系統(tǒng)類庫中定義的()類中的一個對象.
A.istream
B.ostream
C.iostream
D.fstream
29.要進行文件的輸入輸出除了包含頭文件iostream外還需要包含頭文件().
A.ifstream
B.fstream
C.ostream
D.cstdio
30.定義charp=“abcd”能輸出p的值(字符串地址)的語句為().
A.cout<<&p;
B.cout<<p;
C.cout<<(char)p;
D.cout<<const_cast<void*>§;
31.用于打開二進制文件的標志是().
A.ios::binary
B.ios::in
C.ios::out
D.ios::trunc
32.下列輸出字符’B’的方法中錯誤的是().
A.cout.put(‘B’);
B.chara=’B’;cout<<a;
C.cout<<put(‘B’);
D.cout<<’B’;
33.使用setw()等操作函數(shù)設置數(shù)據(jù)輸出格式時應包含頭文件().
A.
B.
C.
D.
34.可設置輸出寬度的方法是().
A.setfill()
B.setw()
C.setprecision()
D.oct
35.面向對象程序設計思想的主要特征不包括().
A.繼承性
B.功能分解逐步求精
C.封裝性和信息隱藏
D.多態(tài)性
36.下列能用作C++標識符的是().
A._123
B.for
C.case
D.virtual
37.以下工具中()將C++源代碼轉換為目標文件.
A.編譯器
B.鏈接器
C.編輯器
D.集成開發(fā)環(huán)境
38.C++程序主函數(shù)名稱是().
A.Main
B.main
C.MAIN
D.用戶自定義函數(shù)
39.main函數(shù)的返回值類型是().
A.char
B.double
C.int
D.無返回類型
40.下列關于相同類型指針的運算中()是非法的.
A.兩個指針進行相等或不等的運算
B.將NULL賦值給某個指針變量
C.一個指針加上一個整數(shù)
D.兩個指針相加
41.下列關于動態(tài)聯(lián)編的敘述中()是錯誤的.
A.動態(tài)聯(lián)編是以虛函數(shù)為基礎的
B.動態(tài)聯(lián)編在程序運行時確定所調(diào)用的函數(shù)代碼塊
C.動態(tài)聯(lián)編調(diào)用多態(tài)函數(shù)時傳遞的是基類對象的指針或基類對象引用
D.動態(tài)聯(lián)編是在編譯時確定調(diào)用某個函數(shù)的
42.下列描述中()是抽象類的特征.
A.可以聲明虛函數(shù)
B.不能說明其對象
C.可以定義友元函數(shù)
D.可以進行構造函數(shù)重載
43.在派生類中重載一個虛函數(shù)時要求函數(shù)名.參數(shù)個數(shù).參數(shù)類型和函數(shù)返回值().
A.相同
B.不同
C.相容
D.部分相同
44.下列關于抽象類的說明中不正確的是().
A.含有純虛函數(shù)的類稱為抽象類
B.抽象類不能被實例化
C.抽象類的派生類一定可以實例化
D.可以聲明抽象類的指針
45.下列運算符中不能使用友元函數(shù)實現(xiàn)的是().
A.+
B.=
C.*
D.<<
46.若表達式ab中的””是作為普通函數(shù)重載的運算符若采用運算符函數(shù)調(diào)用格式則可表示為().
A.a.operator==(b)
B.b.operator==(a)
C.operator==(ab)
D.operator==(ba)
47.對于int *p[5]以下敘述正確的是().
A.p是一個指向數(shù)組的指針所指向的數(shù)組是5個int型元素
B.p是一個指向某數(shù)組中下標為5的元素的指針該元素為int型
C.p[5]表示某個數(shù)組的第5個元素的值
D.p是一個具有5個元素的指針數(shù)組每個元素是一個int型指針
48.若一個函數(shù)無返回值則定義它時函數(shù)的類型應該為().
A.void
B.任意
C.int
D.無
49.在VC環(huán)境下int型占用的字節(jié)數(shù)為().
A.1
B.2
C.4
D.8
50.類型修飾符unsigned修飾()類型是錯誤的.
A.char
B.int
C.longint
D.float
51.已有int m=10;則屬于合法引用定義的是().
A.int &rm=m;
B.int &rm=10;
C.int &rm;rm=m;
D.int &rm=&m;
52.在C++中下列關于設置參數(shù)默認值的敘述中正確的是().
A.不允許設置參數(shù)的默認值
B.設置參數(shù)默認值時應先設置右邊的再設置左邊的
C.設置參數(shù)默認值時要么全部設置要么一個也不設置
D.設置參數(shù)默認值時應先設置左邊的再設置右邊的
53.下列對重載函數(shù)的描述中()是錯誤的.
A.重載函數(shù)中不允許使用缺省參數(shù)
B.重載函數(shù)不能通過返回值類型區(qū)分不同的版本
C.編譯系統(tǒng)根據(jù)參數(shù)表確定函數(shù)版本
D.類的析構函數(shù)不能重載
54.下面動態(tài)分配內(nèi)存的代碼執(zhí)行后正確的描述是().Int *p;p=new int[5];
A.動態(tài)開辟5個int元素初值不確定
B.動態(tài)開辟初值為5的一個int元素
C.動態(tài)開辟5個int元素初值為0
D.釋放p所指向內(nèi)存的代碼為:delete p;
55.重載函數(shù)在調(diào)用時選擇的依據(jù)中()是錯誤的.
A.參數(shù)個數(shù)
B.參數(shù)類型
C.函數(shù)名字
D.函數(shù)的類型
56.已知數(shù)組定義int array[10];則最小數(shù)組下標為().
A.0
B.1
C.9
D.10
57.字符串”ab”在內(nèi)存中占用的字節(jié)數(shù)為().
A.1
B.2
C.3
D.4
58.1條return語句可以返回()值.
A.1個
B.多個
C.1個或多個
D.任意
59.以下表達式中結果為false的是().
A.3.15
B.-0.5
C.0
D.‘0’
60.已知數(shù)組定義int array[10]😭)是非法的數(shù)組元素訪問.
A.array[10]
B.array[1]
C.array[0]
D.array[9]
61.下列的符號常量定義中錯誤的定義是().
A.int constM=10;
B.const intM=20;
C.const char ch;
D.const bool mark=true;
62.設array為一個數(shù)組則表達式sizeof(array)/sizeof(array[0])的結果為().
A.array數(shù)組首地址
B.array數(shù)組中元素個數(shù)
C.array數(shù)組中每個元素所占的字節(jié)數(shù)
D.array數(shù)組占的總字節(jié)數(shù)
63.用new運算符創(chuàng)建一個含10個元素的一維整型數(shù)組的正確語句是().
A.int *p=new a[10];
B.int *p=new float[10];
C.int *p=new int[10];
D.int *p=new int[10]={12345}
64.假定指針變量p定義為”int *p=new int[30];”要釋放p所指向的動態(tài)內(nèi)存應使用語句().
A.delete p;
B.delete *p;
C.delete &p;
D.delete[]p;
65.采用重載函數(shù)的目的是().
A.實現(xiàn)共享
B.減少空間
C.提高速度
D.使用方便提高可讀性
66.關于封裝下列說法中不正確的是().
A.通過封裝對象的全部屬性和操作結合在一起形成一個整體
B.通過封裝一個對象的實現(xiàn)細節(jié)被盡可能地隱藏起來(不可見)
C.通過封裝每個對象都成為相對獨立的實體
D.通過封裝對象的屬性都是不可見的
67.面向對象方法的多態(tài)性是指().
A.一個類可以派生出多個特殊類
B.一個對象在不同的運行環(huán)境中可以有不同的變體
C.針對一消息不同的對象可以以適合自身的方式加以響應
D.一個對象可以是由多個其他對象組合而成的
68.在類作用域中能夠通過直接使用該類的()成員名進行訪問.
A.私有
B.公有
C.保護
D.任何
69.假定AA為一個類a為該類公有的數(shù)據(jù)成員px為指向該類對象的一個指針則訪問px所指對象中數(shù)據(jù)成員a的格式為().
A.px(a)
B.px[a]
C.px->a
D.px.a
70.類的析構函數(shù)是一個對象被()時自動調(diào)用的.
A.建立
B.銷毀
C.賦值
D.引用
71.設px是指向一個類對象的指針變量則執(zhí)行”delete px;”語句時將自動調(diào)用該類的().
A.無參構造函數(shù)
B.帶參構造函數(shù)
C.析構函數(shù)
D.拷貝構造函數(shù)
72.類的析構函數(shù)可以帶有()個參數(shù).
A.0
B.1
C.2
D.任意
73.靜態(tài)成員函數(shù)對類的數(shù)據(jù)成員訪問().
A.是不允許的
B.只允許是靜態(tài)數(shù)據(jù)成員
C.只允許是非靜態(tài)數(shù)據(jù)成員
D.可允許是靜態(tài)數(shù)據(jù)成員或非靜態(tài)數(shù)據(jù)成員
74.假定AB為一個類則執(zhí)行”AB a(2)b[3]*p[4];”語句時共調(diào)用該類構造函數(shù)的次數(shù)為().
A.3
B.4
C.5
D.9
75.假定AA為一個類int a()為該類的一個成員函數(shù)若該成員函數(shù)在類定義體外定義則函數(shù)頭為().
A.int AA::a()
B.int AA:a()
C.AA::a()
D.AA::inta()
76.類中具有數(shù)據(jù)操作功能的是().
A.常數(shù)據(jù)成員
B.函數(shù)成員
C.數(shù)據(jù)成員
D.靜態(tài)成員
77.關鍵字()定義允許在類外部使用的成員數(shù)據(jù)和成員函數(shù).
A.virtual
B.class
C.public
D.private
78.下列對構造函數(shù)的描述中()是錯誤的.
A.函數(shù)名與類名完全相同
B.構造函數(shù)允許重載
C.返回類型應該為void
D.構造函數(shù)允許使用缺省參數(shù)
79.已知print是某個類的常成員函數(shù)返回值類型為void正確的定義形式是().
A.void const print();
B.const void print();
C.void print() const;
D.void print(const);
80.假定MyClass為一個類執(zhí)行”MyClassa[3]*p;”語句時會自動調(diào)用該類型構造函數(shù)()次.
A.2
B.3
C.4
D.5
81.下列運算符中必須使用友元函數(shù)實現(xiàn)的是().
A.+
B.++
C.*
D.<<
82.如果表達式a++中的”++”是作為普通函數(shù)重載的運算符若采用運算符函數(shù)調(diào)用格式則可表示為().
A.a.operator++()
B.operator++(a)
C.operator++(a1)
D.operator++(1a)
83.在C++程序中使用的cout標識符是系統(tǒng)類庫中定義的()類中的一個對象.
A.istream
B.ostream
C.iostream
D.fstream
84.假定AB為一個類則執(zhí)行”AB x;”語句時將自動調(diào)用該類的().
A.帶參構造函數(shù)
B.無參構造函數(shù)
C.拷貝構造函數(shù)
D.賦值重載運算符
85.類的構造函數(shù)可以帶有()個參數(shù).
A.0
B.1
C.2
D.任意
86.對類對象成員的初始化是通過構造函數(shù)中給出的()實現(xiàn)的.
A.函數(shù)體
B.初始化列表
C.參數(shù)表
D.初始化列表或函數(shù)體
87.假定一個類AB只含有一個整型數(shù)據(jù)成員a當用戶不定義任何構造函數(shù)時系統(tǒng)為該類定義的無參構造函數(shù)為().
A.AB(){a=0;}
B.AB(int aa=0):a(aa){}
C.AB(int aa):a(aa){}
D.AB(){}
88.假定AA是一個類abc是該類的一個成員函數(shù)則參數(shù)表中隱含的第一個參數(shù)為().
A.abc
B.*this
C.this
D.this&
89.下列關于析構函數(shù)的描述中()是正確的.
A.一個類中可以重載多個版本析構函數(shù)
B.析構函數(shù)名與類名完全相同
C.析構函數(shù)可以有1個或多個參數(shù)
D.析構函數(shù)不能指定返回值類型
90.假定AB為一個類x是AB類的一個對象則執(zhí)行”AB y=x;”語句時將自動調(diào)用該類的().
A.復制構造函數(shù)
B.析構函數(shù)
C.缺省構造函數(shù)
D.賦值運算符函數(shù)
91.若有類Test該類的復制構造函數(shù)聲明為().
A.Test();
B.Test (constCTest&);
C.void Test(constCTest&t);
D.Test(constCTest*t);
92.以下選項中()不是類的成員函數(shù).
A.構造函數(shù)
B.析構函數(shù)
C.友元函數(shù)
D.復制構造函數(shù)
93.構造函數(shù)在()時被調(diào)用.
A.程序編譯
B.程序裝入內(nèi)存
C.創(chuàng)建類
D.創(chuàng)建對象
94.用戶能夠為類定義()個析構函數(shù).
A.1
B.0
C.2
D.多個
95.下列函數(shù)原型中可以作為類AA構造函數(shù)的是().
A.void AA(int);
B.int AA();
C.AA(int)const;
D.AA(int);
96.友元的作用是().
A.提高程序的運行效率
B.加強類的封裝性
C.實現(xiàn)數(shù)據(jù)的隱藏
D.增加成員函數(shù)的種類
97.被非靜態(tài)成員函數(shù)訪問的類的數(shù)據(jù)成員().
A.可以是非靜態(tài)數(shù)據(jù)成員或靜態(tài)數(shù)據(jù)成員
B.不可能是類的靜態(tài)數(shù)據(jù)成員
C.只能是類的非靜態(tài)數(shù)據(jù)成員
D.只能是類的靜態(tài)數(shù)據(jù)成員
98.使用關鍵字()修飾的數(shù)據(jù)成員允許當前類及其派生類訪問而不允許在類的外部訪問.
A.public
B.protected
C.private
D.不指定
99.派生類的成員函數(shù)可以直接訪問基類的()成員.
A.公有
B.保護
C.公有和保護
D.私有
100.下列敘述中()不符合賦值兼容性規(guī)則.
A.基類的對象可以賦值給派生類對象
B.派生類對象可以賦值給基類的對象
C.派生類對象可以初始化基類對象的引用
D.派生類對象的地址可以賦值給基類的對象指針
101.如果采用公有繼承通過派生類對象可以訪問基類的().
A.私有成員
B.所有成員
C.保護成員
D.公有成員
102.派生類構造函數(shù)的成員初始化列表中不能包含().
A.基類的構造函數(shù)
B.派生類中成員對象的初始化
C.基類成員對象的初始化
D.派生類中一般數(shù)據(jù)成員的初始化
103.當保護繼承時基類的()在派生類中成為保護成員不能通過派生類對象來直接訪問.
A.任何成員
B.公有成員和保護成員
C.公有成員和私有成員
D.私有成員
104.設置虛基類的目的是().
A.簡化程序
B.消除二義性
C.提高運行效率
D.減少目標代碼
105.下列虛基類的聲明中()是正確的.
A.class virtualB:publicA
B.classB:virtual publicA
C.virtual classB:publicA
D.classB:publicA virtual
106.類O定義了私有函數(shù)F1.P和Q為O類的派生類定義為classP:public){…};classQ:protectedO{…}.則()可以訪問F1.
A.O的對象
B.P類內(nèi)
C.O類內(nèi)
D.Q類內(nèi)
107.派生類采用()繼承方式可以使基類保護成員成為自己的私有成員.
A.私有繼承
B.保護繼承
C.公有繼承
D.私有.保護.公有均可
108.從一個基類派生出的各個類的對象之間().
A.共享所有數(shù)據(jù)成員每個對象還包含基類的所有屬性
B.共享部分數(shù)據(jù)成員每個對象還包含基類的所有屬性
C.不共享任何數(shù)據(jù)成員但每個對象還包含基類的所有屬性
D.共享部分數(shù)據(jù)成員和函數(shù)成員
109.建立包含有類對象成員的派生類對象時自動調(diào)用構造函數(shù)的執(zhí)行順序依次為()的構造函數(shù).
A.自己所屬類.對象成員所屬類.基類
B.對象成員所屬類.基類.自己所屬類
C.基類.對象成員所屬類.自己所屬類
D.基類.自己所屬類.對象成員所屬類
110.當派生類中有和基類一樣名字的成員時一般來說().
A.將產(chǎn)生二義性
B.派生類的同名成員將覆蓋基類的成員
C.是不能允許的
D.基類的同名成員將覆蓋派生類的成員
111.下列關于運算符重載的描述中正確的是().
A.運算符重載可以改變操作數(shù)的個數(shù)
B.運算符重載可以改變優(yōu)先級
C.運算符重載可以改變結合性
D.運算符重載不可以改變語法結構
112.下列關于模板的描述錯誤的是().
A.模板把數(shù)據(jù)類型作為一個設計參數(shù)
B.模板定義中支持多個參數(shù)類型
C.模板定義中只能支持一個參數(shù)
D.模板參數(shù)列表中可以有類型參數(shù)和非類型參數(shù)
113.read函數(shù)的功能是從輸入流中讀入().
A.一個字符
B.當前字符
C.一行字符
D.指定若干字符
114.要求打開文件”D:\file.dat”并能寫入數(shù)據(jù)的正確語句是().
A.if streamin file(“D:\file.data”ios::in);
B.if streamin file(“D:\file.data”ios::out);
C.of streamin file(“D:\file.data”ios::out);
D.if streamin file(“D:\file.data”ios::in|ios::out);
115.編譯器將C++源代碼翻譯為().
A.目標文件
B.可執(zhí)行文件
C.頭文件
D.資源文件
116.C++源程序文件的缺省擴展名為().
A…lib
B…obj
C…exe
D…cpp
117.假定一個二維數(shù)組的定義語句為”int a[3][4]={{34}{286}};”則元素a[1][2]的值為().
A.2
B.4
C.6
D.8
118.函數(shù)重載是指().
A.兩個或兩個以上的函數(shù)取相同的函數(shù)名但形參的個數(shù)或類型不同
B.兩個以上的函數(shù)取相同的名字和具有相同的參數(shù)個數(shù)但形參的類型可以不同
C.兩個以上的函數(shù)名字不同但形參的個數(shù)或類型相同
D.兩個以上的函數(shù)取相同的函數(shù)名并且函數(shù)的返回類型相同
119.假定AA為一個類a為該類公有的數(shù)據(jù)成員x為該類的一個對象則訪問x對象中數(shù)據(jù)成員a的格式為().
A.x(a)
B.x[a]
C.x->a
D.x.a
120.類的實例化是指().
A.定義類
B.創(chuàng)建類的對象
C.調(diào)用類的成員
D.指明具體類
二.問答題
1.寫出下面程序的執(zhí)行結果.#include using namespace std;int f(int n){if(n<=0) throw n;int s=1;for(int i=1;i<=n;i++) s*=i;return s;}int main(){try{ cout<<“4!=“<<f(4)<<endl; cout<<“-2!=“<<f(-2)<<endl;}catch(int n){ cout<<“n=“<<n<<“不能計算n!”<<endl; cout<<“程序執(zhí)行結束”<<endl;}return 0;}
4!=24
n=-2不能計算n!
程序執(zhí)行結束
2.下面程序執(zhí)行后假定用戶輸入”Every student love C++”寫出程序執(zhí)行后文件”D:\1.txt”中存儲的內(nèi)容.#include #include using namespace std;int main(){char buf[100];cin>>buf;ofstream of;of.open(“D:\1.txt”);of<<buf;of.close();return 0;}
very
3.寫出下面程序的執(zhí)行結果.#include int main(){int number = 267;int digit tens hundreds;digit = number %10;tens = (number/10)%10;hundreds = (number/100)%10;cout<<"Result: “<<hundreds<<” “<<tens<<” "<<digit<<endl;return 0;}
Result: 2 6 7
4.寫出下面程序的執(zhí)行結果.#include using namespace std;double func( double pData[ ] int size);int main(){ double array[]={2.2 3.8 6 5.4}; cout<<"Result: "<<func(array 4)<<endl; cout<<"Result: "<<func(array 3)<<endl; return 0;}double func( double pData[ ] int size){ double result=0; int i; for(i=0; i<size; ++i) {result+=pData[i]; } result /= size; return result;}
Result: 4.35 Result: 4
5.寫出下面程序的輸出結果.#include using namespace std;class Base {public:void display() {cout<<“Base display”<<endl; } }; class Derived : public Base { public:void display() { cout<<“Derived display”<<endl; }};void display(Base & rr){rr.display();}intmain(){Base b;Derived d;display(b);display(d);return 0;}
ase display Base display
6.寫出程序輸出結果.#include using namespace std;class Base{private:int base;public:Base(int b) {base=b;cout<<“base=“<<b<<endl;}~Base() { }};class Derived : public Base{private:Base bb;int derived;public:Derived(int dintbint c) : bb? Base(b) {derived=d;cout<<“derived=“<<derived<<endl;}~Derived(){}};int main(){Derived d(345);return 0;}
base=4 base=5 derived=3
總結
以上是生活随笔為你收集整理的[渝粤教育] 中国地质大学 面向对象程序设计 复习题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 低位高换手意味着什么?
- 下一篇: 95587是什么号码?