![](https://img.examw.com/index/logo.png)
全國2020年10月高等教育自學考試C++程序設計試題
課程代碼:04737
1.請考生按規(guī)定用筆將所有試題的答案涂、寫在答題紙上。
2.答題前,考生務必將自己的考試課程名稱、姓名、準考證號用黑色字跡的簽字筆或鋼筆填寫在答題紙規(guī)定的位置上。
選擇題部分
注意事項:
每小題選出答案后,用2B鉛筆把答題紙上對應題目的答案標號涂黑。如需改動,用橡皮擦干凈后,再選涂其他答案標號。不能答在試題卷上。
一、 單項選擇題:本大題共20小題,每小題1分,共20分。在每小題列出的備選項中只有一項是最符合題目要求的,請將其選出。
1.下列選項中,能表現(xiàn)出C++語言的主要特點的是
A.繼承于C#語言
B.可以進行面向?qū)ο蟮某绦蛟O計
C.不能進行結(jié)構(gòu)化程序設計
D..基于數(shù)據(jù)流的程序設計
2.下列關(guān)于C++語言類庫提供輸入流類和輸出流類的描述中,正確的是
A.輸入流類ostream
B.輸出流類istream
C. cin是istream類的對象
D. cout是istream類的對象
3.下列關(guān)于封裝特點的描述中,錯誤的是
A.隱藏對象的屬性
B.公開實現(xiàn)的細節(jié)
C.提供使用的信息
D.公開的信息是與外界交互的接口
4.下列關(guān)于訪 問范圍說明符public、private、 protected 的描述中,正確的是
A.每種關(guān)鍵字至少出現(xiàn)1次
B.不加說明符默認為公有的
C.3種關(guān)鍵字出現(xiàn)的先后次序沒有限制
D.成員的訪問范圍由它之后最近的說明符決定
5.有關(guān)語句“Student *ss =new Student[2];delete[]ss;”的描述中,正確的是
A. delete[]ss 釋放動態(tài)對象數(shù)組
B. delete[]ss 調(diào)用3次析構(gòu)函數(shù)g m
C. new Student[2]分配8個字節(jié)的內(nèi)存
D. new Student[2]調(diào)用十次構(gòu)造函數(shù)
6.“class Demo{public:void SetValueO{};", 主函數(shù)中有語句“const Demo Obj;Obj.SetValue();",正確的說法是
A. Obj是常量對象
B. SetValue()函 數(shù)值為整型
C. const Demo Obj;編譯時錯誤
D. Obj.SetValue();編 譯時正確
7.設類Test將其他類對象作為成員,則創(chuàng)建類Test的對象時,下列描述正確的是
A.先執(zhí)行類的構(gòu)造函數(shù)
B.先執(zhí)行成員對象的構(gòu)造函數(shù)
C.先執(zhí)行類的析構(gòu)函數(shù)
D.先執(zhí)行成員對象的析構(gòu)函數(shù)
8.下列關(guān)于重載流插入和流提取運算符的描述中,正確的是
A.不可以對流插入運算符進行重載
B.不可以對流提取運算符進行重載
C.重載函數(shù)不能是流類庫中的成員
D.流是標準類庫用戶能繼承也能修改
9.有定義“Demo & Demo:oprato++()..return *this;}", 若obj是類Demo的對象,
則以下描述錯誤的是
A.自增運算符“++”可以被重載
B.函數(shù)可以區(qū)分前置及后置情況
C. ++obj等價于obj.operator++
D. obj+ +等價于obj.operator++()
10.當派生類私有繼承基類時,基類中的公有成員和保護成員成為派生類的
A. public 成員
B. private 成員
C. protected 成員
D.友元
11.下列關(guān)于派生類對象的初始化敘述中,正確的是
A.是由基類的構(gòu)造函數(shù)實現(xiàn)的
B.是由派生類的構(gòu)造函數(shù)實現(xiàn)的
C.是由基類和派生類的構(gòu)造函數(shù)實現(xiàn)的
D.是系統(tǒng)自動完成的不需程序設計者干預
12.下面關(guān)于基類和派生類的描述中,正確的是
A.一個類不能被多次說明為某個派生類的直接類,可以不止一次地成為間接基類
B.一個類可以被多次說明為某個派生類的直接類,可以不止一次地成為間接基類
C.一個類不能被多次說明為某個派生類的直接類,但只能成為一次間接基類
D.一個類可以被多次說明為某個派生類的直接類,但只能成為一次間接基類.
13.對于下面類定義,正確的敘述是
class A{
public: virtual void funcl(){ }
void func2( ){ } };
class B:public A{
public: void funcl( ){cout<<" class B func !" <
virtual void func2( ){cout<<" class B func 2”<
A. A::func2( )和B::funcl( )都是虛函數(shù)
B. A::func2( )和B::funcl( )都不是虛函數(shù)
C. B::func1() 是虛函數(shù),而A::func2( )不是虛函數(shù)
D. B::funcl( )不是虛函數(shù),而A::func2( )是虛函數(shù)
14.關(guān)于純虛函數(shù)和抽象類的描述中,錯誤的是
A.純虛函數(shù)是-種特殊的虛函數(shù),它沒有具體實現(xiàn)
B.抽象類--般作為基類使用,其純虛函數(shù)的實現(xiàn)由派生類給出
C.抽象類中--定具有一個或多個純虛函數(shù)
D.抽象類的派生類中一定不會再有純虛函數(shù)
15.、 下列流類中,可以用于輸入/輸出的是
A. ios .
B. fstream
C. iostream
D. strstream
16.對ignore()成員函數(shù)原型“istream & ignore(int n=1,int delim EOF);”描述正確的是
A.跳過輸出流中的n個字符
B.跳過delim及其之后的所有字符
C.常用于跳過輸出中的無效部分
D. cin.ignore()等 效于cin.ignore( I ,EOF)
17.在C++中打開一個文件就是將指定的文件與下列哪個選項建立關(guān)聯(lián)
A.流對象
B.流類
C.流函數(shù)
D.流結(jié)構(gòu)
18.以下不能正確創(chuàng)建輸出文件對象并使其與磁盤文件相關(guān)聯(lián)的語句是
A. ofstream myfile;myfile.open("d:ofile.xt");
B. ofstream *myfile=new ofstream;myfile->open("d:ofile.txt");
C. ofstream myfile.open("d:ofile.txt");
D. ofstream *myfile=new("d:ofile.txt");
19.假設聲明了以下函數(shù)模板,并定義了“int i;char c;”, 則錯誤的調(diào)用語句是template
T max(T x,T y) { return (x>y)?x:y;}
A. max(i,i)
B. max(i,c)
C. max(c,c) .
D. max((int)c,i)
20.下面對模板的聲明正確的是
A. template class
B. template
C. template
D. template