




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、單項選擇題1- 1C+ 語言是從早期的 C 語言逐步發展演變而來的,與 C 語 言相比,它在求解問題方法上進行的最大改進是( B )。A面向過程B面向對象C安全性D 復用性1- 2 C+ 源程序文件的缺省擴展名為(A )。A. cpp B. exe C. objD. lik1- 3由 C+ 源程序文件編譯而成的目標文件的缺省擴展名為 ( C )。A. cpp B. exe C. objD. lik1- 4由 C+ 目標文件連接而成的可執行文件的缺省擴展名為 ( B )。A. cpp B. exe C. objD. lik1- 5編寫 C+ 程序一般需經過的幾個步驟依次是(B )。A. 編譯
2、、編輯、連接、調試B. 編輯、編譯、連接、調試C. 編譯、調試、編輯、連接D. 編輯、調試、編輯、連接1- 6用“”運算符從鍵盤輸入多于一個數據時,各數據之間應 使用( D )符號作為分隔符。A空格或逗號B逗號或回車C 逗號或分號D 空格或回車1-7C+ 中聲明常量的關鍵字是(A )。A constB externC publicD enum1- 8以下敘述中正確的是(B )A. 使用 #define 可以為常量定義一個名字,該名字在程序中可 以再賦另外的值B. 使用 const 定義的常量名有類型之分, 其值在程序運行時是 不可改變的C. 在程序中使用內置函數使程序的可讀性變差D. 在定義函
3、數時可以在形參表的任何位置給出缺省形參值1- 9下列的符號常變量定義中,錯誤的定義是(C )。A const M=10;Bconst int M=20;C const char ch; D const bool mark=true;1- 10函數原型語句正確的是( B )。A int Function(void a)B void Function (int);C int Function(a);D void int(double a);1- 11以下正確的函數原型語句是(C )。A double fun(int x,int y)B double fun(int x;int y)C double
4、 fun(int,int);D double fun(int x,y);1- 12下面有關重載函數的說法中正確的是(C )。A重載函數必須具有不同的返回值類型 B重載函數形參個數必須不同 C重載函數必須有不同的形參列表 D重載函數名可以不同 1-13函數重載是指(A )。A. 兩個或兩個以上的函數取相同的函數名, 但形參的個數或類 型不同B. 兩個以上的函數取相同的名字和具有相同的參數個數, 但形 參的類型可以不同C. 兩個以上的函數名字不同,但形參的個數或類型相同D. 兩個以上的函數取相同的函數名, 并且函數的返回類型相同1- 14采用重載函數的目的是(D )。A 實現共享B減少空間C提高速
5、度D使用方便,提高可讀性1- 15以下關于函數模板敘述正確的是(C )。A函數模板也是一個具體類型的函數B函數模板的類型參數與函數的參數是同一個概念C通過使用不同的類型參數,函數模板可以生成不同類型的 函數定義D用函數模板定義的函數沒有類型1- 16以下正確的描述是(C )A. 不允許設置參數的默認值B. 設置參數的默認值只能在定義函數時設置C. 設置參數的默認值時,應該設置右邊的參數D. 設置參數的默認值時,應該全部參數都設置1- 17( B )是給變量取一個別名,它引入了變量的同義詞 A指針B引用C枚舉D結構1-18假定變量 名), rx 應定義為(x 定義為 “ int x=5; ”,要
6、使 rx 成為 x 的引用(別 D )。A. int rx=x;B. int rx=&x;C. int *rx=&x; D. int &rx=x;1- 19下列對引用的陳述中不正確的是(C )。A. 每一個引用都是其所引用對象的別名 ,因此必須初始化B. 形式上針對引用的操作實際上作用于它所引用的對象C. 一旦定義了引用, 一切針對其所引用對象的操作只能通過該 引用間接進行D. 不需要單獨為引用分配存儲空間1- 20下列( C )的調用方式是引用調用。A. 形參和實參都是變量B. 形參是指針,實參是地址值C. 形參是引用,實參是變量D. 形參是變量,實參是地址值1-21在 ( C )情況下適宜
7、采用 inline 定義內置函數。A函數體含有循環語句B函數體含有遞歸語句C函數代碼少、且頻繁調用D函數代碼多、不常調用1- 22為了提高程序的運行速度, 可將不太復雜的功能用函數實現, 此函數應選擇( A )。A 內置函數B重載函數C 遞歸函數D 函數模板1- 23一個函數功能不太復雜,但要求被頻繁調用,選用(A )A 內置函數B重載函數C 遞歸函數D 嵌套函數1- 24說明內置函數的關鍵字是(A )。A inlineB virtualC defineD static1- 37對于動態分配內存空間描述正確的是(D )。A使用 new 運算符分配的內存空間的長度必須是常量 Bdelete 運算
8、符可以釋放動態的存儲空間和靜態的存儲空間 C用 new 分配的內存空間是不連續的D delete運算符只能以釋放由 new 分配的動態存儲空間1- 38定義 p 并使 p 指向動態空間中的包含 30 個整數的數組所使 用的定義語句為( A )。A. int *p=new int30;C. int *p=new 30;B. int *p=new int(30);D. *p=new int30;2- 1C+對 C語言作了很多改進, 即從面向過程變成為面向對象 的主要原因是( D )。A增加了一些新的運算符 B允許函數重載,并允許設置缺省參數 C規定函數說明符必須用原型D引進了類和對象的概念2- 2
9、面向對象軟件開發中使用的 OOA 表示( A )。A. 面向對象分析B. 面向對象設計C. 面向對象語言D. 面向對象方法2- 3面向對象軟件開發中使用的 OOD 表示( B )。A. 面向對象分析 B. 面向對象設計C. 面向對象語言 D. 面向對象方法2- 4 關于面向對象系統分析,下列說法中不正確的是( B )。A. 術語 “面向對象分析 ”可以用縮寫 OOA 表示B. 面向對象分析階段對問題域的描述比設計階段更詳細C. 面向對象分析包括問題域分析和應用分析兩個步驟D. 面向對象分析需要識別對象的內部和外部特征2- 5下列關于成員函數特征的描述中, ( A )是錯誤的。 A成員函數一定是
10、內置函數 B成員函數可以重載 C成員函數可以設置參數的默認值 D成員函數可以是靜態的2-6 在關鍵字 private 后面定義的成員為類的( A )成員。 A. 私有 B. 公用 C. 保護 D. 任何2- 7在一個類的定義中,包含有(C )成員的定義。A. 數據B. 函數C. 數據和函數D. 數據或函數2- 8在類作用域中能夠通過直接使用該類的(D )成員名進行訪問。A. 私有 B. 公用 C. 保護 D. 任何2-9 在關鍵字 public 后面定義的成員為類的( B )成員。A. 私有 B. 公用 C. 保護 D. 任何2- 10類中定義的成員默認為( B )訪問屬性。A. public
11、 B. privateC. protected D. friend2- 11假定 AA 為一個類, a 為該類公有的數據成員, x 為該類的 一個對象,則訪問 x 對象中數據成員 a 的格式為( D )x 為該類A. x(a) B. xaC. x-aD. x.a2- 12假定 AA 為一個類, a() 為該類公有的函數成員,的一個對象,則訪問 x 對象中函數成員 a() 的格式為( B )。A. x.a B. x.a()C. x-aD. x-a()2- 13假定 AA 為一個類, a 為該類公有的數據成員, px 為指向 該類對象的一個指針,則訪問 px 所指對象中數據成員 a 的格式為 (
12、C )。A. px(a) B. pxaC. px-aD. px.a2-14假定 AA 為一個類, a 為該類私有的數據成員, GetValue() 為該類公有函數成員, 它返回 a 的值,x 為該類的一個對象, 則訪問 x 對象中數據成員 a 的格式為( D )。A. x.aB. x.a()C. x-GetValue()D. x.GetValue()2- 14假定 AA 為一個類, int a() 為該類的一個成員函數, 若該成 員函數在類定義體外定義,則函數頭為( A )。A. int AA:a()B. int AA:a()C. AA:a()D. AA:int a()2- 15若需要把一個類
13、外定義的成員函數指明為內聯函數,則必 須把關鍵字( B )放在函數原型或函數頭的前面。A. inB. inlineC. inLineD. InLiner2- 16下列特性不是面向對象程序設計語言所特有的是( D )。A數據封裝B繼承C多態性D 模板3- 1關于構造函數,下列說法不正確的是(D )。A構造函數名字和類名相同 B構造函數在創建對象時自動執行 C構造函數無任何函數返回類型D構造函數有且只有一個3- 2類的構造函數是在定義該類的一個( C )時被自動調用執行的。A. 成員函數 B. 數據成員C. 對象 D. 友元函數3- 3一個類的構造函數通常被定義為該類的( A )成員。A. 公用
14、B. 保護 C. 私有 D. 友元3- 4 關于構造函數特點描述中,錯誤的是(A )。A定義構造函數必須指出類型 B構造函數的名字與該類的類名相同 C一個類中可以定義 0 個至多個構造函數 D構造函數是一個成員函數3-5對于一個類的構造函數,其函數名與類名( A )A完全相同C不相同3-6每個類(A只能有一個C可以有多個B基本相同D無關系C )構造函數。B可以有公用的D只可有缺省的3-7對類對象成員的初始化是通過構造函數中給出的( B ) 實現的。A 函數體B參數初始化表C 參數表D參數初始化表或函數體3- 8假定 AB 為一個類,則執行“ AB x;”語句時將自動調用該類 的 ( B ).
15、。A有參構造函數B無參構造函數C復制構造函數D 賦值重載函數3-9假定 AB 為一個類, 則執行 “AB x(a,5); 語”句時將自動調用該 類的 ( A )。A. 帶參構造函數 B. 無參構造函數C. 復制構造函數 D. 賦值重載函數3- 10假定 CTest 為一個類,并且有一無默認值的的有參構造函數 和一無參構造函數,則執行“ CTest objTest;”語句時將自動調用該類 的( B )。A有參構造函數C復制構造函數B無參構造函數D賦值構造函數3- 11構造函數不具備的特征是(D )。A構造函數的函數名與類名相同 B構造函數可以重載 C構造函數可以設置默認參數 D構造函數必須指定類
16、型說明3- 12假定一個類的構造函數為 “ Bi(nt ax, int bx): a(ax), b(bx) ”,執行 “B x(1,2),y(3,4);x=y;語句序”列后 x.a 的值為( C )。 A1B2C3D 43- 13假定一個類的構造函數為“ A(int aa, int bb) a=aa;b=aa*bb; ”,則執行 “A x(4,5); 語”句后,x.a 和 x.b 的值分別為 ( C )A. 4 和 5 B. 5 和 4 C. 4 和 20 D. 20 和 53- 14假定一個類的構造函數為 “ A(int aa=1, int bb=0) a=aa; b=bb; ”,則執行 “
17、A x(4);語句”后, x.a和 x.b的值分別為 ( D )。 A. 1 和 0 B. 1 和 4 C. 4 和 1D. 4 和 03- 15假定一個類 AB 只含有一個整型數據成員 a,用戶為該類定 義的帶參構造函數可以為 ( C )。A. AB() B. AB(): a(0)C. AB(int aa=0) a=aa;D. AB(int aa) 3- 16類的析構函數是一個對象被 ( B )時自動調用的。A. 建立 B. 撤消 C. 賦值 D. 引用3- 17能夠釋放對象所占資源的是(A )。A. 析構函數B. 數據成員C. 構造函數D. 靜態成員函數3-18類的析構函數的作用是 ( D
18、 ).。A一般成員函數B類的初始化C對象的初始化D對象釋放后的操作3- 19對于一個類的析構函數,其函數名與類名( C )。A. 完全相同 B. 完全不同C. 只相差一個字符 D. 無關系3- 20一個類的析構函數通常被定義為該類的( C )成員。A. 私有 B. 保護 C. 公用 D. 友元3- 21定義析構函數時,應該注意(C )。A其名與類名完全相同B返回類型是 void 類型C無形參,也不可重載D函數體中必須有 delete 語句 3-22類的析構函數可以帶有 ( A )個參數。A. 0 B. 1 C. 2 D. 任意3- 23類的析構函數是在(C )調用的。A 類創建時B創建對象時C
19、 對象生命期結束時D 不自動調用3- 24當一個類對象離開它的作用域時,系統自動調用該類的 ( D ) 。A. 無參構造函數B. 帶參構造函數C. 拷貝構造函數D. 析構函數3- 25假定一個類對象數組為 An ,當離開它定義的作用域時, 系 統自動調用該類析構函數的次數為 ( C )。A. 0 B. 1 C. n D. n-13-26假定 AB 為一個類,則執行 “AB a10;語”句時調用該類無 參構造函數的次數為 ( D )。A. 0 B. 1 C. 9 D. 103- 27假定 AA 是一個類, abc 是該類的一個成員函數,則參數 表中隱含的第一個參數的類型為( D )。A. int
20、 B. char C. AA D. AA*3- 28假定 AA 是一個類, abc 是該類的一個成員函數,則參數表 中隱含的第一個參數為( C )。A. abc B. *this C. this D. this&3-29假定 AB 為一個類,則執行 “AB *px=new ABn; ”語句時 將 ( A )。A. 動態分配一個數組B. 動態分配一個對象C. 靜態分配一個數組D. 靜態分配一個對象3-30設 px 是指向一個類對象的指針變量,則執行“ delete px;語句時,將自動調用該類的 ( C )A. 無參構造函數 B. 帶參構造函數C. 析構函數 D. 復制構造函數3- 31 對于在
21、類中定義的靜態數據成員,下面正確的說法是( C )。A該類的每一個對象中都有一個靜態數據成員B對象創建時產生C在類外進行初始化D既可以在類外初始化,也可以在類內初始化3- 32一個類的靜態數據成員所表示屬性 ( C )。A. 是類的或對象的屬性B. 只是對象的屬性C. 只是類的屬性D. 類和友元的屬性3- 33類的靜態成員的訪問控制( D )。A. 只允許被定義為 privateB. 只允許被定義為 private 或 protectedC. 只允許被定義為 publicD. 可允許被定義為 private 、protected或 public3- 34靜態成員函數對類的數據成員訪問( B )
22、。A. 是不允許的B. 只允許是靜態數據成員C. 只允許是非靜態數據成員D. 可允許是靜態數據成員或非靜態數據成員3- 35被非靜態成員函數訪問的類的數據成員 ( A ) 。A. 可以是非靜態數據成員或靜態數據成員B. 不可能是類的靜態數據成員C. 只能是類的非靜態數據成員D. 只能是類的靜態數據成員3-36靜態數據成員的初始化是在( D )中進行的。A. 構造函數B. 任何成員函數C. 所屬類D. 全局區3-37由于數據隱藏的需要, 靜態數據成員通常被說明為 ( A )。A 私有的B公用的C 保護的D 不可訪問的3-38復制構造函數的參數通常是(C )。A無特殊要求B指向對象的指針C自己類對
23、象的常引用D對象 3-39通常,復制構造函數的參數是(C )。A某個對象名B某個對象的成員C某個對象的引用名D某個對象的引用名3-40 關于常成員的描述中,錯誤的是(B )。A常成員包括常數據成員和常成員函數兩種 B常數據成員必須是公用的 C常數據成員要使用構造函數成員初始化列表進行初始化 D常對象只能調用它的常成員函數,不能調用其它的成員函 數3-41引入友元的主要目的是為了(C )。A. 增強數據安全性B. 提高程序的可靠性C. 提高程序的效率和靈活性D. 保證類的封裝性3-42一個類的成員函數也可以成為另一個類的友元函數,這時 的友元說明( A )。A. 需加上類域的限定B. 不需加上類
24、域的限定C. 類域的限定可加可不加D. 不需要任何限定3-43類成員的訪問權限中, ( C )只能被本類的成員函數和 其友元函數訪問。A shareB publicC privateD protected3-44當將一個類 A 或函數 f()說明為另一個類 B 的友元后, 類 A 或函數 f() 能夠直接訪問類 B 的( D )。A. 只能是公有成員B. 只能是保護成員C. 只能是除私有成員之外的任何成員D. 具有任何權限的成員3-45下面不是描述類的成員函數的是(B析構函數D復制構造函數C )不是類的成員函數。 B析構函數 D復制構造函數A構造函數C友元函數3-46 下列函數中,A構造函數C
25、友元函數)。3-47如果類 A 被說明成類 B 的友元,則( A 類 A 的成員即類 B 的成員 B類 B 的成員即類 A 的成員C 類 A 的成員函數不得訪問類 B 的成員D 類 B 不一定是類 A 的友元4- 1 關于運算符重載,下列說法正確的是(C )。A. 重載時,運算符的優先級可以改變。B. 重載時,運算符的結合性可以改變。C. 重載時,運算符的功能可以改變。D. 重載時,運算符的操作數個數可以改變。4- 2 下列關于運算符重載的描述中,錯誤的是(B )A運算符重載不可以改變操作數的個數B運算符重載不可以改變運算符的功能C運算符重載不可以改變結合方向D運算符重載不可以改變運算優先級4
26、- 3關于運算符重載,下列說法正確的是(B )。A所有運算符都可以重載B通過重載,可以使運算符應用于自定義的數據類型C通過重載,可以創建原來沒有的運算符號D通過重載,可以改變運算符的優先級4- 4在一個類中可以對一個運算符進行(D )重載。A1 種B2 種以下C3 種以上D多種4- 5不能參與重載的運算符是(A )。A 類B函數C 函數模板D 運算符4- 6在重載一個運算符時,其參數表中沒有任何參數,這表明該- 10 - 運算符是( B )。A. 作為友元函數重載的 1 元運算符B. 作為成員函數重載的 1 元運算符C. 作為友元函數重載的 2 元運算符D. 作為成員函數重載的 2 元運算符4
27、- 7在成員函數中進行雙目運算符重載時,其參數表中應帶有 ( B )個參數。A. 0 B. 1 C. 2 D. 34- 8雙目運算符重載為普通函數時,其參數表中應帶有(C )個參數。A. 0 B. 1 C. 2 D. 34- 9如果表達式 a+b 中的 “+”是作為成員函數重載的運算符,若 采用運算符函數調用格式,則可表示為( A )。A. a.operator+(b) B. b.operator+(a)C. operator+(a,b) D. operator(a+b)4- 10如果表達式 a=b 中的 “ =”是作為普通函數重載的運算 符,若采用運算符函數調用格式,則可表示為( C )。A
28、. a.operator=(b)B. b.operator=(a)C. operator=(a,b)D. operator=(b,a)4- 11如果表達式 +a 中的 “+”是作為成員函數重載的運算符, 若采用運算符函數調用格式,則可表示為( D )。A. a.operator+(1) B. operator+(a)C. operator+(a,1) D. a.operator+()4- 12在重載一運算符時,若運算符函數的形參表中沒有參數,則 不可能的情況是( D )A. 該運算符是一個單目運算符。B. 該運算符函數有一個隱含的參數this。C. 該運算符函數是類的成員函數。D. 該運算符函
29、數是類的友元函數。4- 13關于插入運算符 a=3; c1.A-display()5-21當派生類中有和基類一樣名字的成員時, 一般來說,( B )A. 將產生二義性B. 派生類的同名成員將覆蓋基類的成員C. 是不能允許的D. 基類的同名成員將覆蓋派生類的成員5-22 C+ 中的虛基類機制可以保證:(D )。A. 限定基類只通過一條路徑派生出派生類B. 允許基類通過多條路徑派生出派生類, 派生類也就能多次繼 承該基類C. 當一個類多次間接從基類派生以后, 派生類對象能保留多份 間接基類的成員D. 當一個類多次間接從基類派生以后,其基類只被一次繼承5-23下列虛基類的聲明中正確的是(D )。A
30、class virtual B:public AB virtual class B:public AC class B:public A virtualD class B: virtual public A5-24若類 A 和類 B 的定義如下:class Aint i,j;public:A(int m,int n):i(m),j(n)int Geti()return i;class B:public Aint k;public:B(int m,int n,int u):A(m,n),k(u)void Make()k=i*j;int main()- 15 -B b(1,2,3); return
31、 0; 則上述定義中, ( A )是非法的表達式。 A k=i*j;Bint k;C return i;D void Make()5-25以下說法中,錯誤的是(D )A派生類對象可以向基類對象賦值 B派生類對象可以替代基類對象向基類對象的引用進行賦 值或初始化C如果函數的參數是基類對象或基類對象的引用,實參可 以用子對象的實參D可以用基類對象的指針指向派生類對象,并訪問派生類 中的全部成員6- 1面向對象方法的多態性是指(C )。A. 一個類可以派生出多個特殊類B. 一個對象在不同的運行環境中可以有不同的變體C. 針對一消息,不同的對象可以以適合自身的方式加以響應D. 一個對象可以是由多個其他
32、對象組合而成的6- 2 從系統實現的角度看, 多態性分為靜態多態性和動態多態性。 以下說法錯誤的是( C )。A靜態多態性是編譯時的多態性 B函數重載實現的多態性是靜態多態性 C通過虛函數實現的多態性是靜態多態性 D動態多態性是運行時的多態性6- 3關于消息,下列說法中不正確的是(B )。A. 發送消息的對象請求服務,接受消息的對象提供服務B. 消息的發送者必須了解消息的接收者如何響應消息C. 在 C+ 中,消息的發送具體體現為對接收消息的對象的某 個函數的調用D. 每個對象只能接收某些特定格式的消息6- 4編譯時的多態性使用什么獲得?(A )A 重載函數B繼承C虛函數DB和 C6- 5運行時
33、的多態性使用什么獲得?(C )A 重載函數B繼承- 16 -C虛函數DB和 C6- 6虛函數的定義是在基類中進行的,定義時需要冠以關鍵字 ( C )。A. staticB. friendC. virtual D. public6- 7 C+編譯系統確定調用是具體對象的過程稱為關聯。C+ 有( B )關聯。A1種B2 種C3種D4種6- 8 調用一個成員函數時,使用動態關聯的情況是(B )。A通過對象調用一虛函數 B通過指針或引用調用一虛函數 C通過對象調用一靜態函數 D通過指針或引用調用一靜態函數6- 9C+ 類體系中,不能被派生繼承的有(C )。A轉換函數B構造函數C虛函數D 靜態成員函數6
34、-10C+ 語言建立類族是通過(B )。A類的嵌套B類的繼承C虛函數D 抽象類6- 11在下面的 4 個關鍵字中, ( A )是用來說明虛函數的。 A virtualB publicC protected D private6- 12實現運行時的多態性要使用(D )。A 重載函數B析構函數C 構造函數D 虛函數6- 13關于純虛函數,下列說法不正確的是(C )。A純虛函數是在聲明虛函數時被初始化為0 的函數B純虛函數沒有函數體 C純虛函數可以被調用D如果在一個類中聲明了純虛函數,該虛函數中在派生類中仍 有可能為虛函數6- 14如果一個類至少有一個純虛函數,那么該類稱為( A ).。A抽象類B虛
35、基類C派生類D 以上都不對7-1C+ 的輸入輸出不包括( D )。A標準的輸入輸出B文件的輸入輸出C字符串輸入輸出- 17 -D顯示屏和打印機的輸入輸出7- 2下面的類中, ( C )不是由抽象基類 ios 直接派生出來的。 A istreamB ostreamC iostreamD fstreambase7-3在 C+ 中,抽象基類 ios直接派生出( D )。A istrean, ostream, ifstream,ofstreamB istrean, ostream, istrstream,ostrstreamC istrean, ostream, iostreamD istrean,
36、ostream, fstreambase,strstreambase7- 4cin 是某個類的標準對象,該類是(B )。A ostreamB istreamC stdoutD stdin7-5 cout 是某個類的標準對象,該類是(A )。A ostreamB istreamC stdoutD stdin7- 6關于 cout 流對象,以下說法不正確的是(D )。A cout 是 ostream 流類對象B用“ cout ”輸出數據時,不須考慮數據是什么類型C當向 cout流插入一個 endl 時,輸出換行D 用“ cout”可以直接輸出用戶聲明的類型的數據。7-7在 iostream文件中定
37、義了 4 種流對象,它們是(A )。A cin, cout, cerr, clogB cin, cout, cerr, putC cin, cout, put, getD cin, cout, cerr, get7-8在 C+ 中串流類是在頭文件 strstream.h 中定義的 ,下列不屬 于串流類的是 ( C )。A. strstream B. ostrstreamC. ofstream D. istrstream7- 9在 C+程序中使用的 cin 標識符是系統類庫中定義的 ( A ) 類中的一個對象。A. istreamB. ostreamC. iostreamD. fstream7-
38、10在 C+ 程序中使用的 cout標識符是系統類庫中定義的 B )類中的一個對象。A. istream B. ostreamC. iostream D. fstream 7-11以下的函數中, ( AA cout.put(a)C cin.get(ch)不是用于字符輸入的。B cin.get()D cin.get(ch,10, n)- 18 -7- 12關于文件,以下說法不正確的是(C )。A用戶常用的文件有程序文件和數據文件兩大類 B根據數據的組織形式,文件可分為ASCII 文件和二進制文件C對于字符信息,用 ASCII 文件輸出和用二進制文件輸出, 其形式是不同的D對于數值數據,用 ASC
39、II 文件和用二進制文件所占內存空 間是不同的8- 1以下說法中,正確的是( C )。 A編譯系統能發現語法錯誤,也能發現運行錯誤 B程序能通過編譯,也能運行,就能得到正確的運行結果 C程序能通過編譯,也能運行,不一定能得到正確的運行結 果D發現運行錯誤比發現編譯錯誤較容易8- 2 C+處理異常的機制有 3 部分組成,即( B )。 A檢查( try )、捕捉( catch)和糾錯( error correction ) B檢查( try )、拋出( throy )和捕捉( catch) C檢查( try )、捕捉( catch)和處理( heandl) D檢查( try )、拋出( thro
40、y)和處理( heandl)8- 3關于異常處理,以下說法不正確的是( C )。A 被檢測的函數必須放在 try 塊中 B try 塊和 catch 塊作為一個整體出現 Ccatch 既要檢查所捕獲的異常信息的類型,也檢查它們的值 D如果 throw 拋出的異常信息找不到與之匹配的catch 塊,程序終止運行8- 4關于命名空間,以下說法不正確的是( D )。 A命名空間實際上是一個由程序設計者命名的內存區域 B命名空間的作用是建立一些互相分隔的作用域,以免產生 名字沖突C全局變量獨立于所有有名的命名空間之外,不需聲明命名 空間D不能在一個命名空間內再定義一個命名空間二、填空題1-1 C+ 預
41、定義的標準流包括cin 、 cout 、cerr 和clog。1-2 要把 PI=3.14159 定義為常變量,定義語句是 const float- 19 -PI=3.14259 。1- 3重載函數在函數類型或參數個數上不同,但 函數名 相 同。1- 4函數重載時,編譯系統會根據 形參的類型 或 形參的 個數 來區分,與返回類型無關。1-5所有的函數模板都是以template 關鍵字和一個形參表開頭的。1-6設函數 max 是由函數模板實現的, 并且 max(3.5,5) 和 max(2,5) 都是正確的函數調用,則此函數模板具有 2 個類型參數。1-7如果一個函數既作為重載函數,又作為有默認
42、值的函數,當 調用函數時如果少寫了一個參數,會出現 二義性 。1-8引用通常用作函數的 參數 和返回值。1-9、 C+ 語言的函數參數傳遞方式有 傳值 和 傳址 。1-10 要把一個函數指定為一個內置函數, 有在函數首行的左端加一 個關鍵字 inline 。1-11在 C+ 中,用動態分配 /撤消內存運算符new 和 delete分別取代 C 中的 malloc 和 free 函數。1-12 New的功能是 動態申請 內存空間, delete 的功能是 釋放由 new 申請的 內存空間。1-13使用函數模板的方法是先說明函數模板,然后實例化成相應的 模板函數 進行調用、執行。2- 1對象的三大
43、特征是封裝 、 繼承 和 多態 。2- 2對象的三大基本特性是多態性、繼承 、封裝性。2- 3 在 C+ 類中可以包含公共 、 保護 和私有 三種具有不同訪問控制權的成員。2-4如果在類的定義中既不指定 private ,也不指定 public,則系 統默認為是 私有的( private ) 。2- 5如果在類外定義成員函數,必須在函數名前加上類名和作用域限定符“ :” 。2- 6在以下程序段的空白處填上合適的語句:Class Timepublic:Int hour;Int minute; ;Time t,*pP=&t ;- 20 -Couthour ; /輸出 p 指向的對象中的成員 hou
44、r2- 7類的具體表現是通過創建 對象 來操作的。3- 1構造函數的作用是處理對象的初始化 。3- 2析構函數的作用是在撤消對象占用的內存之前完成一些清理工作 。3- 3如果一個類的名稱是 Student,則它的析構函數名為 Student() 。3- 4一個類可以有多 個構造函數,有 一 個析構函數。3- 5每一個成員函數都包含一個特殊的指針,這個指針稱為this ,它是指向本類對象的指針,它的值是當前被調用的成員函數 所在對象的的 起始地址 。3- 6如果要在定義對象時指定對象為常對象,應在對象名之前加 上關鍵字 const 。3-7一個 const 對象只能訪問const 成員函數。3-
45、8常成員函數可以 訪問常對象中的數據成員, 不允許修改常對象中成員函數的值。3-9 若希望用一個已有對象構造另一個同類型的對象,可以使用 復制構造函數 來實現。3-10靜態成員( static)屬于類 ,而不屬于 任何一個對象 ,它被同一個類的所有對象共享。3-11由 static 修飾的數據成員為該類的所有對象共享 。3-12靜態成員函數是類的成員,友元 函數不是類的成員。3-13C+ 類的組成包括數據成員和成員函數 ,友元 不是 (是、不是)該類的成員函數。3-14 友元函數是用關鍵字friend 修飾的非成員函數。3-15使用友元函數是為了提高程序效率。且節約了調用類的成員函數 的開銷。
46、3-16假定 AB 為一個類,則執行“ AB a10; ”語句時,系統自動 調用該類的構造函數的次數為 10 。3-17復制構造函數用它所在的類的引用 作為參數。4- 1運算符重載應保持原來的優先級 、 結合性 和運算順序 。4- 2重載運算符必須和用戶定義的自定義類型的對象一起使用,- 21 -其參數至少應有一個是 類對象(或類對象的引用)。4- 3重載雙目運算符 “ +”,如果作為類成員函數, 它應有 1 個 參數;如果作為友元函數,它應有 2 個參數。4- 4在 C+中,一般將單目運算符重載為成員 函數, 將雙目運算符重載為 友元 函數。4- 6 重載運算符的含義必須清楚,不能有二義性 。4-7重載運算符“ ”的函數名為operator ”的函數的第一個參數和函數的類型 必須是 istream& 類型,第二個參數是 是要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 堅果品種分類及儲存方法考核試卷
- 禮儀用品行業創新驅動發展考核試卷
- 紡織品防縮水處理考核試卷
- 漁業發展與環境保護的挑戰與解決辦法考核試卷
- 地質勘查設備在礦山救援中的應用考核試卷
- 社區居民健康檔案管理考核試卷
- 紡織品在汽車安全帶的安全性能考核試卷
- 荊楚理工學院《養老金規劃》2023-2024學年第二學期期末試卷
- 內蒙古自治區包頭市第二中學2024-2025學年高三下學期期中模擬數學試題含解析
- 泰山護理職業學院《健美操三》2023-2024學年第一學期期末試卷
- 節能環保產品推廣銷售協議
- 電子商務稅收政策研究報告
- 人工智能賦能教師數字素養提升
- 傳染病防治中的醫學倫理
- 學習方法教育分享模板
- 新能源設備安裝承攬合同三篇
- 中國船舶金融租賃行業深度分析、投資前景、趨勢預測報告(智研咨詢)
- 《EPS處理表面氧化鐵皮技術要求 》
- MCN機構運營流程優化與管理方案
- 防爆電氣工程施工方案
- (高清版)DBJ52∕T 017-2014 回彈法檢測山砂混凝土抗壓強度技術規程
評論
0/150
提交評論