《04737 C++程序設計》模擬題一
答題時間:150 分鐘 總題數:52 題 總分:100 分 類別:歷年真題
1【單選】(總分1分)下列關于C++的特點的說法中,錯誤的是(B)
A、 C++語言是一種編譯式的編程語言
B 、C++語言是一種專用的編程語言
C 、C++語言是一種大小寫敏感的編程語言
D 、C++語言的應用領域十分廣泛
[解析](P30)【考點點擊】本題主要考查的知識點為C++的特點!疽c透析】C++語言是一種編譯式的、通用的、大小寫敏感的編程語言。
2【單選】(總分1分)下列關于string對象的說法中,錯誤的是(C)
A、string是一個類
B、string數據類型專門用于處理字符串
C、string對象之間不可以互相賦值
D、string對象可以使用cin進行輸入
[解析](P52)【考點點擊】本題主要考查的知識點為string對象的操作!疽c透析】string對象之間可以互相賦值,也可以用字符串常量和字符數組的名字對string對象進行賦值。
3【單選】(總分1分)聲明函數為內聯函數使用的關鍵字為(B)
A、const
B、inline
C、short
D、signed
[解析](P44)【考點點擊】本題主要考查的知識點為內聯函數的聲明!疽c透析】使用關鍵字inline定義的函數稱為內聯函數。
4【單選】(總分1分)下列默認參數的聲明不正確的是(C)
A、int max(int a,int b,int c,int d=0);
B、int max(int a,int b,int c=0,int d=0);
C、int max(int a=0,int b,int c=0,int d=0);
D、int max(int a,int b=0,int c=0,int d=0);
5【單選】(總分1分)以下關鍵字不能用來聲明類的訪問權限的是(C)
A、public
B、private
C、static
D、protected
[解析](P77)【考點點擊】本題主要考查的知識點為聲明類的訪問權限的關鍵字!疽c透析】聲明類的訪問權限的關鍵有publie(公有)、private(私有)和protected(保護)。
6【單選】(總分1分)下列能聲明為虛函數的是(D)
A內聯函數
B友元函數
C構造函數
D析構函數
[解析](P247)【考點點擊】本題主要考查的知識點為虛函數!疽c透析】常見的不能聲明為虛函數的有全局函數(非成員函數)、靜態成員函數、內聯成員函數、構造函數和友元函數。
7【單選】(總分1分)(B)函數用于判斷輸入流是否已經結束。
A、getline()
B、eof()
C、ignore()
D、peek()
[解析](P294)【考點點擊】本題主要考查的知識點為cin的成員函數!疽c透析】eof()用于判斷輸入流是否已經站束,其值為true則表示輸入結束。
8【單選】(總分1分)下列關于二進制文件的說法中,錯誤的是(B)
A二進制文件中數據的存儲格式與內存格式一致
B二進制文件中數據的存儲長度不僅與數據類型相關,還與存儲方式相關
C二進制數據流不會對寫入或讀出的數據做格式轉換
D二進制數據文件的讀/寫完全由程序控制
[解析](P312)【考點點擊】本題主要考查的知識點為二進制文件的讀寫!疽c透析】二進制文件中數據的存儲格式與內存格式一致,存儲長度僅與數據類型相關。
9【單選】(總分1分)友元函數的主要作用是(A)
A提高程序的效率
B加強類的封裝性
C實現數據的隱蔽性
D增加成員函數的種類
[解析](P129)【考點點擊】本題主要考查的知識點為友元函數的主要作用!疽c透析】友元的概念破壞了類的封裝性和信息隱藏,但有助于數據共享,能夠提高程序執行的效率。友元函數的主要作用就是提高程序的效率。
10【單選】(總分1分)類模型結構圖不包括(A)
A對象名
B類名
C操作
D屬性
[解析](P64)【考點點擊】本題主要考查的知識點為類模型結構圖!疽c透析】類模型結構圖主要包括類名、屬性和操作。
11【單選】(總分1分)下列關于構造函數的描述中,錯誤的是(C)
A構造函數可以設置默認參數
B構造函數在聲明類對象時自動執行
C構造函數可以對靜態數據成員進行初始化
D構造函數可以重載
[解析](P110)【考點點擊】本題主要考查的知識點為構造函數!疽c透析】構造函數不能對靜態數據成員進行初始化,靜態數據成員要在類體外進行化。
12【單選】(總分1分)下面選項中不是類成員函數的是(C)
A構造函數
B析構函數
C友元函數
D靜態函數
[解析](P129)【考點點擊】本題主要考查的知識點為友元函數!疽c透析】友元函數不是當前類的成員函數,而是獨主于當前類的外部函數,但它可以訪問該類的所有成,包括私有成員、保護成員和公有成員。
13【單選】(總分1分)基類中的protected成員,通過(B)派生,其在派生類中的可見性為protected。
A、public和private
B、public和protected
C、protected和private
D、僅protected
14【單選】(總分1分)在C++語言中,包含以下哪種語句的函數不能聲明為內聯函數(D)
A、變量定義
B 、if……else
C、位操作
D、switch
[解析](P45)【考點點擊】本主要考查的知識點為內聯函數!疽c透析】C++中,含有循環語句、switch語句的函數不能聲明為內聯函數。
15【單選】(總分1分)對于類定義,下面正確的敘述是(C)
A、A::func2()和B::func1()都是虛函數
B、A::func2()和B::func1()都不是虛函數
C、B::func1()是虛函數,而A::func2()不是虛函數
D、B::func1()不是虛函數,而A::func2()是虛函數
[解析](P246)【考點點擊】本題主要考查的知識點為虛函數!疽c透析】基類定義了虛函數,在派生類中只要有同樣的函數(返回值相同,函數名相同,形參個數相同,類型相同),即使沒有virtual修飾,該函數也是虛函數;func1是虛函數,與派生類func1相同,所以派重奧func1也是虛函數。func2在基類中是通函數,在派生類中是虛函數。
16【單選】(總分1分)下列標識符中正確的是(A)
A、abc
B、3ab
C、int
D、+ab
[解析]C++的標識符由字母、下劃線和數字組成,而且第一個字符不能為數字。標識符不能與關鍵字同名。
17【單選】(總分1分)C++中類的成員默認為(B)
A、public
B、private
C、protected
D、static
[解析]訪問權限用于控制對象的某個成員在程序中的可訪問性,如果沒有使用關鍵字,則所有成員默認聲明為 private權限。
18【單選】(總分1分)已知類A是類B的友元,類B是類C的友元,則(D)
A類A一定是類C的友元
B類C一定是類A的友元
C類C的成員函數可以訪問類B的對象的任何成員
D類A的成員函數可以訪問類B的對象的任何成員
19【單選】(總分1分)實現兩個相同類型數加法的函數模板的聲明是(D)
A、add (T x, T y)
B、T add (x, y)
C、T add (T x, y)
D、T add (T x, T y)
[解析]實現兩個相同類型數的加法,結果應該和操作數具有相同類型A項無返回值要用void,B形參無類型,C項形參y沒有類型
20【單選】(總分1分)下列敘述中,錯誤的是(D)
A、ios:binary的作用是以二進制方式打開文件
B、ios_base::in的作用是以讀方式打開文件
C、ios_base::ate的作用是打開一個已有的文件并將文件讀指針指向文件末尾
D、ios_base::out的作用是打開文件進行讀操作
[解析] ios_base out作用是打開文件進行寫操作
21【填空題】(總分1分)在C++語言中函數參數有兩種傳遞方式:傳引用和________。
正確答案是:
22【填空題】(總分1分)在面向對象程序設計中,不同的對象可以調用相同名稱的函數并導致完全不同的行為的現象稱為________。
正確答案是:
23【填空題】(總分1分)在C++中,可以定義不是任何類的成員函數,這樣的函數可稱為________。
正確答案是:
24【填空題】(總分1分)C++語言規定,創建類的任何對象時都一定會調用________進行初始化。
正確答案是:
25【填空題】(總分1分)________就是給已有的運算符賦予多重含義,使同一個運算符作用于不同類型的數據時產生不同的行為。
正確答案是:
26【填空題】(總分0分)若有一個Myclass類,則執行語句“MyClass obj1,obj2[2],*p;”后,自動調用該類的構造函數________次。
正確答案是:
27【填空題】(總分1分)重載函數在參數類型或參數個數上不同,但________必須相同。
正確答案是:
28【填空題】(總分1分)指向常量的指針是在非常量指針聲明前使用關鍵字________。
正確答案是:
29【填空題】(總分1分)________的作用是使用一個已存在的對象去初始化另一個正在創建的對象。
正確答案是:
30【填空題】(總分1分)對于無返回值函數,定義函數時要用________修飾函數類型。
正確答案是:
31【填空題】(總分1分)要關閉一個輸出流對象myFile,所用的C++語句是________。
正確答案是:
32【填空題】(總分1分)string類中用于查找字符串中是否含有某一字符串的成員函數的第1個參數是______。
正確答案是:
33【填空題】(總分1分)私有派生時,在派生類中基類的 public權限變為______。
正確答案是:
34【填空題】(總分1分)如果要把類B的成員函數 void fun()說明為類A的友元函數,則應在類A中加入語句______。
正確答案是:
35【填空題】(總分1分)在C++語言中, ostream類的對象______用來實現基本的屏幕輸出。
正確答案是:
36【填空題】(總分1分)在對象消亡時將自動調用______。
正確答案是:
37【填空題】(總分1分)假定類AB中有一個公用屬性的靜態數據成員 static int bb;在類外不通過對象名給該成員bb賦值為10的寫法為______。
正確答案是:
38【填空題】(總分1分)每個對象都是所屬類的一個______。
正確答案是:
39【填空題】(總分1分)局部對象和全局對象中,在同一程序中______生存期最長
正確答案是:
40【填空題】(總分1分)在類體內定義類的成員時,在前面添加______關鍵字后,該成員即成為靜態成員。
正確答案是:
41【填空題】(總分1分)在使用 string類的find成員函數來檢索主串中是否含有指定的子串時,若在主串中不含指定的子串,find函數的返回值是______。
正確答案是:
42【程序填空題】(總分3分)以下程序輸出“a=10,b=5”,請將程序補充完整
正確答案是:
43【程序填空題】(總分3分)以下程序輸出“0,15,0”,請將程序補充完整
正確答案是:
44【程序填空題】(總分3分)以下程序輸出5.3,請將程序補充完整
查看題干
正確答案是:
45【程序填空題】(總分3分)以下程序輸出“0,5,5”,請將程序補充完整
正確答案是:
46【程序填空題】(總分3分)以下程序輸出12,請將程序補充完整
正確答案是:
47【程序分析題】(總分6分)給出以下程序的輸出結果
正確答案是:
48【程序分析題】(總分0分)給出以下程序的輸出結果
正確答案是:
49【程序分析題】(總分6分)給出以下程序的輸出結果
#include <iostream>
using namespace std;
正確答案是:
50【程序分析題】(總分6分)給出以下程序的輸出結果
正確答案是:
51【程序設計題】(總分10分)已有復數類Complex和函數main(),編寫一個類Root來實現求解一元二次方程的程序
查看解析
52【程序設計題】(總分10分)寫一個程序,定義一個抽象類 Shape,由它派生個類: Square(正方形) Trapezoid(梯形)和Triangle(三角形)。用虛函數分別計算幾種圖形面積,并求它們的和。要求用基類指針數組,使它每一個元素指向一個派生類對象
正確答案是:
查看解析