面向對象程序設計基礎A_第1頁
面向對象程序設計基礎A_第2頁
面向對象程序設計基礎A_第3頁
面向對象程序設計基礎A_第4頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、程工件軟90:業(yè)專級年院學機_ 算)_計_:_別_系_(_:號學:名姓東莞理工學院(本科)試卷(A 卷)2009-2018 學年第 2 學期面向對象程序設計基礎試卷開課單位: 計算機學院 ,考試形式:閉、開卷,允許帶入場 選擇題 ( 全部為單選,請把結果寫在本大題后面的答題紙內相應的橫線上,寫在其它地方無效,每小題2 分,共 50 分)1 以下敘述中不正確的是:()A 函數名屬于用戶標識符,其起名規(guī)則與變量相同B 形參只能是變量C 為保證程序的正確運行,函數中定義的變量不能與其他函數中定義的變量同名D 函數中定義的變量可以與其他函數中定義的變量同名2 有定義語句: int a=1,2,3,4,

2、5,6,7,*p=A *q=&a5。 ()則下列表達式中值不等于5 的是A*q-B*-qC-*qDq-p3 以下敘述中錯誤的是:()A 局部變量的定義可以在函數體內部B 全局變量的定義可以在函數以外的任何位置C 同一程序中,全局變量和局部變量不能同名D 函數的形參屬于局部變量4 以下敘述中錯誤的是:()A 變量的作用域取決于變量定義語句出現的位置B 同一程序中,全局變量的作用域一定比局部變量的作用域大C 局部變量的作用域是在定義它的函數體內D 全局變量的作用域是從定義位置開始至源文件結束5 關于 VC6建立的工程的說法,正確的是:()A 工程只能包含 .cpp 和.h 類型的文件B 工

3、作區(qū)文件的后綴是 .dspC 用鼠標雙擊工作區(qū)文件可以打開整個工程D 在 VC的 FileView 中可以看到工程中所有的文件,包括工作區(qū)文件,工程文1 / 9件等6 下面關于在 VC6環(huán)境下調試運行的說法錯誤的是()A 設置合適的斷點 (F9) ,按 Ctrl+F5 開始調試運行B 設置合適的斷點,按 F5 開始運行C 調試時,可以隨時觀察斷點處的變量值D在調試運行過程中,可隨時按下Stop Debugging(Shift+F5)結束調試運行7 下列情況中,哪一種情況不會調用拷貝構造函數()A 用派生類的對象去初始化基類對象時B 將類的一個對象賦值給該類的另一個對象時C 函數的形參是類的對象

4、,調用函數進行形參和實參結合時D 函數的返回值是類的對象,函數執(zhí)行返回調用者時8 以下哪一關鍵字可用于重載函數的區(qū)分()AexternB staticCconstDvirtual9 下列有關內聯函數的敘述中,正確的是()A內聯函數在調用時發(fā)生控制轉移B使用內聯函數有利于代碼重用10C必須通過關鍵字 inline來定義D是否最后內聯由編譯器決定實現運行時多態(tài)的機制是()A虛函數B重載函數C靜態(tài)函數D 模版函數11以下哪個符號(或組合)是作用域限定符()A->B .C :D12下列關于 this指針的說法正確的是()A this指針存在于每個函數之中B在類的非靜態(tài)函數中this指針指向調用該

5、函數的對象C this指針是指向虛函數表的指針D this指針是指向類的函數成員的指針13 若有以下類定義 class MyClass public:MyClass() cout << 1。 。則執(zhí)行語句 MyClass a,b2,*p2。后,程序的輸出結果是()A 11B 111C 1111D 1111114 下面程序的輸出結果是()#include <iostream>using namespace i = 0。int fun(int n)static int a = 2。a+。return a+n。2 / 9程工件軟90:業(yè)專級年院學機算 )計:別

6、系(:號學:名姓void main()int k = 5。int i = 2。k += fun(i)。k += fun(i)。cout << k 。A13B14C15D1615 下面程序的輸出結果是()#include <iostream>using namespace std。class Apublic:A (int i) x = i。 void dispa () cout << x <<“, ”。 private :int x。 。class B : public Apublic:B(int i) : A(i+10) x = i。 void

7、dispb() dispa()。 cout << x << endl。 private :int x。 。void main()B b(2) 。b.dispb()。A 10,2B 12,10C 12,2D 2,216 下面程序的輸出結果是()#include <iostream>using namespace std。class Basepublic:Base(int i) cout << i。 Base () 3 / 9 。class Base1: virtual public Basepublic:Base1(int i, int j=0)

8、: Base(j) cout << i。 Base1() 。class Base2: virtual public Basepublic:Base2(int i, int j=0) : Base(j) cout << i。 Base2() 。class Derived : public Base2, public Base1public:Derived(int a, int b, int c, int d) : mem1(a), mem2(b), Base1(c),Base2(d), Base(a) cout << b。 private:Base2 mem2

9、。Base1 mem1。 。void main() Derived objD (1, 2, 3, 4)。 A 134122B 123412C 14302018D 14321217 下面程序的輸出結果是()#include <iostream>using namespace countp=0。class Pointint X,Y。public:Point(int x=0,int y=0) X=x。 Y=y 。 Point(Point &p)X=p.X。Y=p.Y。countp+ 。 friend Point myfun(Point p1 ,Point p2 ,

10、const Point &p3)。 。Point myfun(Point p1,Point p2,const Point &p3)Point tmp(p1.X+p2.X+p3.X,p1.Y+p2.Y+p3.Y)。return tmp。void main()4 / 9Point pp0,pp1(1,2),pp2(1)。myfun(pp0,pp1,pp2) 。std:cout<<countp<<endl。A0B4C3D6 18 下面程序的輸出結果是()程工件軟90:業(yè)專級年#include <iostream >using namespace s

11、td。void swap1( int &v1, int &v2)int tmp = v2。 v2 = v1 。v1 = tmp 。void swap1( int *v1, int *v2)int tmp= *v2。 *v2 = *v1 。 *v1 = tmp 。void main()int i = 10, j = 20。 swap1(i,j)。 swap1(&i,&j)。cout<<i<< ”, ”<<j<<endl 。院學機算 )計:別系(:號學:名姓A 10,20B 20,10C 10,10D 20,2019

12、下面的程序段的運行結果為()char str = "job", *p = str。cout << *(p+2) << endl。A 98B無輸出結果C字符 b的地址D字符 b20 double 型數據所占字節(jié)數是()A2B4C6D821 若變量都已經正確定義,以下表達式中非法的是()Aa/=b+cB a % 4.0 C a=1/2*(x=y=10 , x*3)Da=b=c22以下選項中不是字符常量的是()A vB x6dC wD“0”23以下非法的字符串常量為()A“”B“It s”C“m= abc”D“$12.8”24對于類的常成員函數的描述正確的

13、是()A 常成員函數不修改類的數據成員B 常成員函數可以對類的數據成員進行修改C 常成員函數只能由常對象調用D 常成員函數不能訪問類的數據成員25 使用如 setw() 的操作符對數 據進 行格式 輸出時,應包含的 頭文件是5 / 9()A iostreamB fstreamC stdioDiomanip選擇題答題紙:12122232342452567891011121314151617186 / 91920上機編碼試卷,共 5 小題,共 50 分,請按要求答在給定的工程文件中提交。( 本頁不得撕掉 !答本大題前請先交卷! )! 請于考試結束前關閉你的工程,刪去你的文件夾下的Debug 文件夾

14、,然后把程你的整個工程文件夾打包成一個“ .rar ”文件提交到下面服務器中相應的地工方。件軟9! 服務器 980提交考試結果的用戶名及密碼 username/password : cs2009w/ cs2009w:業(yè)專! 你的程序不能有編譯錯誤,否則以0 分記!以“ 200941404101 陳曉雪”為級例,提交的文件名應為“ 200941404101 陳曉雪 _面向對象 A.rar ”,解壓后的年文件夾也應為“ 200941404101 陳曉雪 _面向對象 A”。 ( 注:中間沒有空格! )院1 創(chuàng)建一個 VC6.0 工程。要求:以你的學號 +姓名 +”

15、 _面向對象 A”為工程名創(chuàng)學機建一個帶“ Hello World ”的 win32 控制臺應用程序。以“ 200941404101 陳曉算)雪 ”為例,所創(chuàng)建工程的名稱為“200941404101陳曉雪 _面向對象 A”(10 分)計:別系2 聲明一個Point 類,該類描述了直角坐標系中的一個點。成員變量為私有的double x,y。 成員函數包括不帶參數的構造函數;帶兩個參數(double x,double y) 的構造函數,拷貝構造函數,分別取得x 和 y值的函數 getX和getY 。(10 分)(3 從第 2 題的 Point 類派生出一個新類 ( 名為 Circle) ,該新類是

16、描述圓的一個:類,成員變量為私有的表示圓的半徑double r。并請寫出一個成員函數號getMaxY,返回該圓在 y 軸最高點的坐標。 (10 分)學4 運算符重載。假設 obj 是第 3 題的 Circle類的對象, obj+ 是指把當前圓的半徑加 1,請實現這個 +運算符的重載。 (10分):名姓7 / 95 剛學會加減法的小學生都知道1+1 = 2, 2- 1 = 1。但是他還暫時還算不出來 1 2 = -1,而會認為1 2 是減不動的,所以得不出正確的結果?,F要求你寫一個小學生的減法函數int sum(int x, int y),當出現減不動的情況時拋出一個異常消息為“減不動”的異常;

17、并請在 main 函數中截獲并顯示該異常消息。 (10 分)( 請先撕掉本頁,交卷,然后再答本大題!)! 請于考試結束前關閉你的工程,刪去你的文件夾下的 Debug 文件夾,然后把你的整個工程文件夾打包成一個“ .rar ”文件提交到下面服務器中相應的地方。! 服務器提交考試結果的用戶名及密碼username/password :cs2009w/ cs2009w! 你的程序不能有編譯錯誤,否則以 0 分記!以“ 200941404101 陳曉雪”為例,提交的文件名應為“ 200941404101 陳曉雪 _面向對象 A.rar ”,解壓后的文件夾也應為“ 200941404101 陳曉雪 _面

18、向對象 A”。 ( 注:中間沒有空格! )1 創(chuàng)建一個 VC6.0 工程。要求:以你的學號 +姓名 +” _面向對象 A”為工程名創(chuàng)建一個帶“ Hello World ”的 win32 控制臺應用程序。以“ 200941404101 陳曉雪 ”為例,所創(chuàng)建工程的名稱為“ 200941404101陳曉雪 _面向對象 A”(10 分)2 聲明一個Point類,該類描述了直角坐標系中的一個點。成員變量為私有的double x,y。成員函數包括不帶參數的構造函數;帶兩個參數(double x,double y)的構造函數,拷貝構造函數,分別取得x 和 y 值的函數getX 和getY 。(10 分)3 從第 2 題的 Point 類派生出一個新類 ( 名為 Circle),該新類是描述圓的一個類,成員變量為私有的表示圓的半徑double r。并請寫出一個成員函數g

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論