




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上VC程序設(shè)計(jì) 試卷1一、單項(xiàng)選擇題(每小題1分,共20分)1、假定MyClass為一個(gè)類,則執(zhí)行“” MyClass a3,*p2;”語句時(shí),自動(dòng)調(diào)用該類構(gòu)造函數(shù)的次數(shù)為( B )A、2 B、3 C、4 D、52、對于類中定義的成員,其隱含訪問權(quán)限為( B )A、protected B、private C、public D、 static3、一個(gè)類的友元函數(shù)或友元類能夠通過成員操作符訪問該類的( B )A、私有成員 B、所有成員 C、公用成員 D、保護(hù)成員4、下面說法正確的是( A )A、構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)不能重載。B、構(gòu)造函數(shù)不能重載,析構(gòu)函數(shù)可以重載。C、
2、構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)也可以重載。D、構(gòu)造函數(shù)和析構(gòu)函數(shù)都不可以重載。5、下列語句的運(yùn)行結(jié)果為( D )#include <iostream.h>srtuct COMPLEXint x;int y; cNum2=1,3,2,7;void main()cout<< cNum0.y*cNum1 x<<endl;A、3 B、2 C、21 D、66、類AB的缺省構(gòu)造函數(shù)和析構(gòu)函數(shù)是( A )A、AB( )和AB( ) B、AB(int)和AB( ) C、AB( )和AB(delete ) D、AB( )和intAB( )7、在C+中,若對函數(shù)未加說明,則函數(shù)的隱
3、含類型是( A )A、int B、double C、void D、char8、已知類A是類B的友元,類B是類C的友元,則( D )A、類A一定是類C的友元B、類C一定是類A的友元C、類C的成員函數(shù)可以訪問類B的對象的任何成員D、類A的成員函數(shù)可以訪問類B的對象的任何成員9、下列說法中正確的是( B ) A、類定義中只能說明函數(shù)成員的函數(shù)頭,不能定義函數(shù)體 B、類中的函數(shù)成員可以在類體中定義,也可以在類體之外定義 C、類中的函數(shù)成員在類體之外定義時(shí)必須要與類聲明在同一文件中 D、在類體之外定義的函數(shù)成員不能操作該類的私有數(shù)據(jù)成員10、以下不屬于成員函數(shù)的是( B )A、靜態(tài)成員函數(shù) B、友元函數(shù)
4、C、構(gòu)造函數(shù) D、析構(gòu)函數(shù)11、對于消息隊(duì)列的描述正確的是( D )A、在Windows中只有一個(gè)消息系統(tǒng),即系統(tǒng)消息隊(duì)列。消息隊(duì)列是一個(gè)系統(tǒng)定義的數(shù)據(jù)結(jié)構(gòu),用于臨時(shí)存儲(chǔ)消息。B、系統(tǒng)可從消息隊(duì)列將信息直接發(fā)給窗口。另外,每個(gè)正在Windows下運(yùn)行的應(yīng)用程序都有自己的消息隊(duì)列。C、系統(tǒng)消息隊(duì)列中的每個(gè)消息最終都要被USER模塊傳送到應(yīng)用程序的消息隊(duì)列中去。應(yīng)用程序的消息對列中存儲(chǔ)了程序的所有窗口的全部消息。D、以上都正確12、一個(gè)視圖對象能連接( A )文檔對象,一個(gè)文檔對象能連接( )視圖對象。A、一個(gè),多個(gè) B、多個(gè),一個(gè) C、一個(gè),一個(gè) D、多個(gè),多個(gè)13、MFC類庫中的類按層次關(guān)系可
5、知,CStatic 的直接父類為( B )A、CObject B、CWnd C、CcmdTarget D、CFrameWnd14、可以利用控件的( C )屬性和Tab鍵順序來為控件分組。A、ID B、Tab stop C、Group D、Caption15、根據(jù)對話框的行為性質(zhì),對話框可以分為兩類:( B )A、對話框資源和對話框類 B、模式對話框和非模式對話框C、對話框資源和對話框模板 D、消息對話框和模式對話框16、以下控件中,( C )沒有Caption屬性。 A、按鈕 B、群組框 C、編輯控件 D、靜態(tài)控件17、菜單項(xiàng)助記符前用( B )引導(dǎo)。 A、% B、& C、# D、$1
6、8、更新菜單狀態(tài)的消息是( C )。 A、WM_COMMAND B、UPDATE C、ON_UPDATE_COMMAND_UI D、INVALIDATE19、關(guān)于工具欄、菜單和加速鍵的關(guān)系,正確的說法是( C )。 A、工具按鈕與菜單必須一一對應(yīng) B、工具按鈕與加速鍵一一對應(yīng) C、工具按鈕不必與菜單一一對應(yīng) D、菜單與加速鍵一一對應(yīng)20、使用GetWindowDC( )和GetDC( )獲取的設(shè)備上下文在退出時(shí),必須調(diào)用( A )釋放設(shè)備上下文。 A、ReleaseDC( ) B、delete( ) C、DeleteDC( ) D、Detach( )二、填空題(每空1分,共25分)1、VC+開
7、發(fā)環(huán)境中,int型數(shù)據(jù)占4個(gè)字節(jié),short int占_2_個(gè)字節(jié),long int 占_4_個(gè)字節(jié)。2、若for循環(huán)的“頭”為“for(int i=1;i<10;i+)”,并且在循環(huán)體中不會(huì)修改i的值,則循環(huán)體將被重復(fù)執(zhí)行_9_次后結(jié)束。3、兩個(gè)函數(shù)的函數(shù)名_相同_,但參數(shù)的個(gè)數(shù)或?qū)?yīng)參數(shù)的類型_不同_時(shí),則稱為重載函數(shù)。4、若ch為char型變量,n為int型變量,則下列語句 ch = a; n = 3; ch = ch + n; cout<<” ch = ”<< ch;執(zhí)行的結(jié)果是_ch=d_。5、C+中函數(shù)的參數(shù)傳遞一種是按值傳遞,另一種是地址傳遞或_引用
8、_傳遞。6、C+運(yùn)行時(shí)的多態(tài)性通過_虛函數(shù)_來實(shí)現(xiàn),而編譯時(shí)的多態(tài)性通過_函數(shù)重載_來實(shí)現(xiàn)。7 只讀成員函數(shù)用_const_關(guān)鍵字標(biāo)識,內(nèi)聯(lián)成員函數(shù)用_inline_關(guān)鍵字標(biāo)識。8、 class test public: static int x;test t1,t2; t1.x = 25;程序運(yùn)行到這里時(shí),t2.x的值為_25_。9、所有的文檔類都派生于_CDocument_ _,所有的視圖類都派生于:_ CView _。10、為解決多繼承中因公共基類而產(chǎn)生的二義性問題,C+語言提供了_虛基類_機(jī)制。將公共基類聲明為它以后,它在派生類中只產(chǎn)生一個(gè)實(shí)例。11、在代碼中,使用CWnd:_Upda
9、teData_函數(shù)可實(shí)現(xiàn)控件與其成員變量之間的數(shù)據(jù)的傳輸。12、列表框ClistBox類的成員函數(shù)_AddString_用來向列表框增加列表項(xiàng),成員函數(shù)_ResetContent_用來清除列表項(xiàng)所有項(xiàng)目。13、:_序列化_ 是指將對象寫入永久存儲(chǔ)介質(zhì)或者將對象從永久存儲(chǔ)介質(zhì)中讀出的過程。14、Windows程序中的消息有窗口消息、命令消息和_控件通知_消息三種類型。15、MFC中的集合類包括 數(shù)組 、 列表 (鏈表) 、 映射(順序可變) 。16、在進(jìn)行繪圖時(shí), 畫刷 用于指定圖形的填充樣式, _畫筆_用于指定圖形的邊框樣式。三 選擇填空題(每空1分,共15分)1、如果在基類和派生類中都包含其
10、他類的對象(即有對象成員),則在創(chuàng)建派生類的對象時(shí),首先執(zhí)行 A 的構(gòu)造函數(shù),接著執(zhí)行 C 的構(gòu)造函數(shù),然后執(zhí)行_ _B_的構(gòu)造函數(shù),最后才執(zhí)行 D 的構(gòu)造函數(shù)。A、基類的對象成員 B、派生類的對象成員 C、基類 D、派生類2、 5 B 代表窗口客戶區(qū)的顯示設(shè)備上下文, 6C 代表整個(gè)窗口的顯示設(shè)備上下文。A、CPaintDC B、CClientDC C、CWindowDC D、CMetaFileDC3、消息循環(huán)的處理過程如下: A 函數(shù)不斷偵察應(yīng)用程序的消息隊(duì)列,若隊(duì)列為空,該函數(shù)一直運(yùn)行,不返回;一旦發(fā)現(xiàn)隊(duì)列不為空,便取出一條消息,把它拷貝到msg結(jié)構(gòu)變量中,同時(shí)該函數(shù)返回TRUE;得到消
11、息msg后, B 把來自鍵盤的命令翻譯成WM_XXX消息命令形式。 E 函數(shù)通知Windows把每個(gè)消息分發(fā)給相應(yīng)的窗口函數(shù)。應(yīng)用程序并不直接調(diào)用窗口函數(shù),而由Windows根據(jù)消息去調(diào)用窗口函數(shù),因此,窗口函數(shù)經(jīng)常被稱為回調(diào)函數(shù)。A、GetMessage( ) B、translateMessage( ) C、PostMessage( ) D、SendMessage( ) E、DispatchMessage( )4、常用的CButton類的成員函數(shù)中: A 獲得一個(gè)按鈕控件的選中、選擇和 聚焦?fàn)顟B(tài); D 得到一個(gè)按鈕的選中狀態(tài); C 設(shè)置一個(gè)按鈕的選中狀態(tài)。 A、GetState( ) B、S
12、etState( ) C、SetCheck( ) D、GetCheck( ) E、GetButtonStyle( ) 5、滾動(dòng)條類CScrollBar的成員函數(shù)規(guī)定了滾動(dòng)條的操作。設(shè)置滾動(dòng)條的范圍使用 C 函數(shù),設(shè)置滾動(dòng)塊的位置使用 E 函數(shù),獲取滾動(dòng)塊的當(dāng)前位置使用 F 函數(shù)。A、SetPos B、SetRange C、SetScrollRange D、GetPosE、SetScrollPos F、GetScrollPos G、 GetScrollRange四 寫出下列程序的運(yùn)行結(jié)果(每小題5分,共15分)1、 .#include<iostream.h> class A int
13、*a; public: A(int x) a=new int(x); cout<<"*a="<<*a<<endl; delete a; ; void main() A x(3), *p; p=new A (5); delete p; *a=3*a=52、class testprivate: int num;public:test();int GetNum() return num;test();;test:test() num=0; test:test() cout<<Destructor is active<<e
14、ndl; void main() test x3;cout<<Exiting main<<endl;Exiting mainDestructor is activeDestructor is activeDestructor is active3、 #include<iostream.h>class A public:virtual void fun() cout<<"I'm class A"<<endl; ;class B: public Apublic:void fun() cout<<&q
15、uot;I'm class B"<<endl; ;class C: public Bpublic:void fun() cout<<"I'm class C"<<endl; ;void main()A a,*pA=&a;pA->fun();B b; pA=&b;pA->fun();C c;a=c;a.fun();A &aRef=c;aRef.fun();I'm class AI'm class BI'm class AI'm class C五、完
16、成程序題(本大題共3小題,每空2分,共12分)。根據(jù)題目要求,完成程序填空。 1、在下面程序的橫線處填上適當(dāng)字句,使該程序執(zhí)行結(jié)果為6。 #include <iostream.h>class base int X; public: _innit(int a)X=a;_1_/為X置值 _int GetNum()return X;_2_/取X值 ; void main() base test; test.init(6); cout<<test.GetNum();2、一個(gè)類的頭文件如下所示,主程序中產(chǎn)生對象T,且T.num=10,并使用Print()函數(shù)輸出這個(gè)對象的值。cl
17、ass testprivate:int num;public: test(int);void Print();test:test(int n) num=n; void test:Print() cout<<num<<endl; #include<iostream.h>void main() _3_test T(10)_; _4_T.print()_;3、在下面橫線處填上適當(dāng)字句,完成類中成員函數(shù)的定義。class A int * a;public: A(int x=0) a=_ 5_ new int(x)_;/用x初始化a所指向的動(dòng)態(tài)對象 A()_ 6 de
18、lete a;_ _;/釋放動(dòng)態(tài)存儲(chǔ)空間;六、程序設(shè)計(jì)題(1題4 分,2題9 分,共13分)1、簡單的計(jì)算程序界面如下圖所示,操作數(shù)1對應(yīng)編輯框控件的ID為 IDC_EDIT1,對應(yīng)值類型的成員變量m_op1(int);操作數(shù)2對應(yīng)編輯框控件的ID為IDC_EDIT2,對應(yīng)值類型的成員變量m_op2(int);計(jì)算結(jié)果對應(yīng)的編輯框控件的ID 為IDC_EDIT3,對應(yīng)值類型的成員變量m_result(int)。 假設(shè)輸入的數(shù)為整數(shù),加法按鈕的功能是將兩操作數(shù)相加,并將結(jié)果在對應(yīng)的編輯框IDC_EDIT3顯示出來。寫出加法按鈕對應(yīng)的代碼。 void CExDlg:OnButton1() Upda
19、teDate(TRUE); m_result = m_op1 + m_op2; UpdateDate(FALSE); void CExDlg:OnButton2() UpdateDate(TRUE); m_result = m_op1 - m_op2; UpdateDate(FALSE); 2、為學(xué)員信息設(shè)計(jì)一個(gè)類CStudent,包含:學(xué)號、姓名、出生日期、家庭住址、班級,并使該類可以實(shí)現(xiàn)串行化。請寫出可以實(shí)現(xiàn)要求的CStudent.h和CStudent.cpp文件的內(nèi)容/CStudent.hclass CStudent :public CObject 1分public:CString Nu
20、m;CString Name;CTime Birth;CString Address;CString Grade; 2分 DECLARE_SERIAL(CStudent) / 使對象可串行化 1分 virtual void Serialize( CArchive & ar ); /重載串行化函數(shù) 1分;/ CStudent.cppIMPLEMENT_SERIAL(CStudent ,CObject, 0) 1分void CStudent:Serialize(CArchive & ar)CObject:Serialize(ar); 1分if ( ar.IsStoring() )a
21、r<<Num<<Name<< Birth <<Address<<Grade; 1分else ar>>Num>>Name>> Birth >>Address>>Grade; 1分VC+程序設(shè)計(jì)試卷2一、單項(xiàng)選擇題(每小題1分,共20分)1、假定AB為一個(gè)類,則執(zhí)行“AB a(4),b(3),*p2;”語句時(shí),自動(dòng)調(diào)用該類構(gòu)造函數(shù)的次數(shù)為( A )A、2 B、3 C、4 D、52、對于結(jié)構(gòu)中定義的成員,其隱含訪問權(quán)限為(C)A、protected B、private C、publ
22、ic D、 static3、在面向?qū)ο缶幊讨?,對象的抽象集合稱為( C )。A、對象 B、集合 C、類 D、實(shí)例4、下面說法正確的是( A )A、構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)不能重載。B、構(gòu)造函數(shù)不能重載,析構(gòu)函數(shù)可以重載。C、構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)也可以重載。D、構(gòu)造函數(shù)和析構(gòu)函數(shù)都不可以重載。5、實(shí)現(xiàn)運(yùn)行時(shí)的多態(tài)性,必須通過( A )來完成。A、虛函數(shù) B、重載函數(shù) C、構(gòu)造函數(shù) D、析構(gòu)函數(shù)6、類CNum的缺省構(gòu)造函數(shù)和析構(gòu)函數(shù)是( A )A、CNum ( )和CNum ( ) B、CNum (int)和CNum( ) C、CNum ( )和CNum (delete ) D、CNum
23、( )和intCNum ( )7、在類外定義類的成員函數(shù)時(shí),應(yīng)當(dāng)使用( B )來標(biāo)識該函數(shù)為特定類的成員。A、 : B、 : C、-> D、this8、已知類A是類B的友元,類B是類C的友元,則( D )A、類A一定是類C的友元B、類C一定是類A的友元C、類C的成員函數(shù)可以訪問類B的對象的任何成員D、類A的成員函數(shù)可以訪問類B的對象的任何成員9、下面( A )是函數(shù)重載。 A、void play(int) 和void play(float) B、play( ) 和 play() C、void play(int) 和int play(int) D、void play( ) 和int pla
24、y( )10、下列說法中正確的是( B ) A.類定義中只能說明函數(shù)成員的函數(shù)頭,不能定義函數(shù)體。 B.類中的函數(shù)成員可以在類體中定義,也可以在類體之外定義。 C.類中的函數(shù)成員在類體之外定義時(shí)必須要與類聲明在同一文件中。D.在類體之外定義的函數(shù)成員不能操作該類的私有數(shù)據(jù)成員。11、Windows操作系統(tǒng)主要基本內(nèi)核元件中,_支持與操作系統(tǒng)密切相關(guān)的功能:如進(jìn)程加載、文本切換、文件I/O以及內(nèi)存管理、線程管理等。( B )A、GDI B、KERNEL C、USER D、以上都不是。12、一個(gè)視圖對象能連接( )文檔對象,一個(gè)文檔對象能連接( A )視圖對象。A、一個(gè),多個(gè) B、多個(gè),一個(gè) C、
25、一個(gè),一個(gè) D、多個(gè),多個(gè)13、所有的控件都是 ( B ) 類的派生類,都可以作為一個(gè)特殊的窗口來處理。A、CView B、CWnd C、CWindow D、CDialog14、設(shè)置編輯控件的文本內(nèi)容,可使用函數(shù) ( A )A、SetWindowText( )B、SetSel( )C、ReplaceSel( )D、GetWindowText( )15、根據(jù)對話框的行為性質(zhì),對話框可以分為兩類:( B )A、對話框資源和對話框類 B、模式對話框和非模式對話框C、對話框資源和對話框模板 D、消息對話框和模式對話框16、以下控件中,( C )沒有Caption屬性。 A、按鈕 B、群組框 C、編輯控
26、件 D、靜態(tài)控件17、菜單項(xiàng)助記符前用( B )引導(dǎo)。 A、% B、& C、# D、$18、MFC中的集合類包括( C )。 A、對象、列表和映射 B、數(shù)組、列表和對象 C、數(shù)組、列表和映射 D、數(shù)組、列表和鏈表19、文檔負(fù)責(zé)將數(shù)據(jù)存儲(chǔ)到永久存儲(chǔ)介質(zhì)中,通常是磁盤文件或數(shù)據(jù)庫,存取過程稱為( B )。 A、文件訪問 B、串行化 C、文件讀寫 D、格式化20、下列對模板的聲明,正確的是( D )。 A、template<T> B、template<class T1;class T2> C、template<class T1,T2> D、template
27、<class T1,class T2>二、填空題(每空1分,共25分)1、VC+開發(fā)環(huán)境中,char型數(shù)據(jù)占 1 個(gè)字節(jié),int型數(shù)據(jù)占_4_個(gè)字節(jié),double型數(shù)據(jù)占_8_個(gè)字節(jié)。2、若for循環(huán)的“頭”為“for(int i=1;i<10;i+)”,并且在循環(huán)體中不會(huì)修改i的值,則循環(huán)體將被重復(fù)執(zhí)行_9_次后結(jié)束。3、兩個(gè)函數(shù)的函數(shù)名相同,但參數(shù)的個(gè)數(shù)或?qū)?yīng)參數(shù)的類型不同時(shí),則稱為 函數(shù)重載 。4、若ch為char型變量,n為int型變量,則下列語句 n = 65; ch = n+3; cout<<” ch = ”<< ch;執(zhí)行的結(jié)果是_ ch
28、 =D_。5、組合框與列表框用途類似,它是由_列表框_和_編輯框_功能組合而成。6、 DC(設(shè)備上下文) 是Windows應(yīng)用程序與設(shè)備驅(qū)動(dòng)程序和輸出設(shè)備之間的接口。7、如果一個(gè)類中含有純虛函數(shù),則稱該類為_抽象基類_8、如果類的所有對象共享一個(gè)成員,則稱該成員為_靜態(tài)成員_ 9、如果類中的成員只能被本類的成員函數(shù)和友元函數(shù)訪問,則這些成員的訪問權(quán)限為_私有_ _;如果類中的成員能夠被類外的函數(shù)訪問,則這些成員的訪問權(quán)限為:_公有 _。10、為解決多繼承中因公共基類而產(chǎn)生的二義性問題,C+語言提供了_虛基類_機(jī)制。將公共基類聲明為它以后,它在派生類中只產(chǎn)生一個(gè)實(shí)例。11、Windows程序中的
29、消息有_窗口消息_、_命令消息_和_控件通知消息_三種類型。11、用戶按下鍵盤按鍵并放開的過程中,將產(chǎn)生至少三條消息:_WM_KEYDOWN_、_WM_KEYUP_和_WM_CHAR_。13、單選按鈕初始化要使用函數(shù)如下:void CheckRadioButton(IDC_RADIO1, IDC_RADIOn , IDC_RADIOm) 其功能的具體描述為:_從IDC_RADIO1到 IDC_RADIOn中設(shè)置IDC_RADIOm _14、列表框分為 單選列表框 和 多選列表框 兩種,單選列表框 中任一時(shí)刻只能選擇一項(xiàng), 多選列表框 則可以選取多項(xiàng)。三 選擇填空題(每空1分,共15分)1、如果
30、在基類和派生類中都包含其他類的對象(即有對象成員),則在創(chuàng)建派生類的對象時(shí),首先執(zhí)行 A 的構(gòu)造函數(shù),接著執(zhí)行 C 的構(gòu)造函數(shù),然后執(zhí)行_ _B_的構(gòu)造函數(shù),最后才執(zhí)行 D 的構(gòu)造函數(shù)。A、基類的對象成員 B、派生類的對象成員 C、基類 D、派生類2、所有的文檔類都派生于 5 C ,所有的視圖類都派生于 6 A 。A、CView B、CWindow C、CDocument D、CFormView3、 7 C 包括鍵盤和鼠標(biāo)的輸入。這一類消息首先放在系統(tǒng)消息隊(duì)列中,然后由Windows將它們送入應(yīng)用程序消息隊(duì)列中,由程序來處理消息; A 8 用來與Windows的控制對象,如列表框、按鈕、復(fù)選框
31、等進(jìn)行雙向通信。當(dāng)用戶在列表框中改動(dòng)當(dāng)前選擇或改變了復(fù)選框的狀態(tài)時(shí)發(fā)出此類消息。A、系統(tǒng)消息 B、用戶消息 C、輸入消息 D、控制消息4、使用 9 獲取的設(shè)備上下文在退出時(shí),必須調(diào)用ReleaseDC( )釋放設(shè)備上下文。 A、GetWindowRect( ) B、GetDC( ) C、BeginPaint() D、GetClientRect( )5、常用的CButton類的成員函數(shù)中: A 獲得一個(gè)按鈕控件的選中、選擇和 聚焦?fàn)顟B(tài); D 得到一個(gè)按鈕的選中狀態(tài); C 設(shè)置一個(gè)按鈕的選中狀態(tài)。 A、GetState( ) B、SetState( ) C、SetCheck( ) D、GetChe
32、ck( ) E、GetButtonStyle( ) 6、滾動(dòng)條類CScrollBar的成員函數(shù)規(guī)定了滾動(dòng)條的操作。設(shè)置滾動(dòng)條的范圍使用 C 函數(shù),設(shè)置滾動(dòng)塊的位置使用 E 函數(shù),獲取滾動(dòng)塊的當(dāng)前位置使用 F 函數(shù)。A、SetPos B、SetRange C、SetScrollRange D、GetPosE、SetScrollPos F、GetScrollPos G、 GetScrollRange四 寫出下列程序的運(yùn)行結(jié)果(每小題5分,共20分)1、 #include<iostream.h>class B public: static int num;int B: num=100;v
33、oid main() B b1, b2; cout<<b1.num << ; b1.num+=25;cout<<b2.num <<endl;100 1252、 #include<iostream.h>class A public:virtual void fun() cout<<"I'm class A"<<endl; ;class B: public Apublic:void fun() cout<<"I'm class B"<<
34、endl; ;class C: public Bpublic:void fun() cout<<"I'm class C"<<endl; ;void main()A a,*pA=&a;pA->fun();B b; pA=&b;pA->fun();C c;a=c;a.fun();A &aRef=c;aRef.fun();3、 class test private: int num; float fl; public: test( ); int getInt( ) return num; float getFl
35、oat( ) return fl; test( ); ; test test( ) cout << "Initalizing default" << endl; num=0; fl=0.0; test test( ) cout << "Desdtructor is active" << endl; int main( ) test array2; cout<<array1.getInt()<<" "<<array1.getFloat()<<
36、endl;return 0;4. int main( ) int num=50; int & ref=num; ref=ref+10 cout << "num=" << num << endl; num=num+40; cont << "ref=" << ref << endl; return 0; 五、程序設(shè)計(jì)題(每題10 分,共20分)1、下列shape類是一個(gè)表示形狀的抽象類,area( )為求圖形面積的函數(shù),total( )則是一個(gè)通用的用以求不同形狀的圖形面積總和的
37、函數(shù)。請從shape類派生三角形類(triangle)、矩形類(rectangle)、并給出具體的求面積函數(shù)。 class shape public: virtual float area( )=0 ; float total(shape *s ,int n) float sum=0.0; for(int i=0; i<n: i+)sum=sum+i.area( ); return sum; 2、創(chuàng)建一個(gè)記錄通訊錄內(nèi)容的新類Caddrlist,包含:姓名、住址、電話、出生日期,并使該類可以實(shí)現(xiàn)串行化。請寫出可以實(shí)現(xiàn)要求的CAddrlist.h和CAddrlist.cpp文件的內(nèi)容2005
38、2006學(xué)年第一學(xué)期VC+程序設(shè)計(jì)試題答案及評分標(biāo)準(zhǔn)一、單項(xiàng)選擇題(每小題1分,共20分)題號12345678910答案BCCAAABDAB題號11121314151617181920答案BABABCBCBD二、填空題(每空1分,共25分)1、 1、 4 、8 2、 9 3、 函數(shù)重載 4、 ch=D 5、列表框、編輯框 6、DC(設(shè)備上下文) 7、抽象基類 8、 靜態(tài)成員 9、 私有、公有(或者private 、public) 10、虛基類 11、窗口消息、命令消息、控件通知消息(順序可變) 12、WM_KEYDOWN,WM_CHAR,WM_KEYUP 13、從IDC_RADIO1到IDC_
39、RADIOn,中設(shè)置IDC_RADIOm為默認(rèn)14、單選列表框、多選列表框、單選列表框、多選列表框三 選擇填空題(每空1分,共15分)題號答案ACBDCACDBADCCEF四 寫出下列程序的運(yùn)行結(jié)果(每小題5分,共20分)1、 100 1252、 I'm class AI'm class BI'm class AI'm class C3、 Initalizing defaultInitalizing default0 0Desdtructor is activeDesdtructor is active4、num=60 ref=100五、程序設(shè)計(jì)題(每題10 分
40、,共20分)1、 #include<math.h> 1分class triangle:public shape 1分public: virtual float area( )float s=(a+b+c)/2;return sqrt(s*(s-a)*(s-b)*(s-c); 3分private:float a,b,c; 1分;class rectangle:public shape 1分public: virtual float area( )return a*b; 2分private:float a,b; 1分;2、/Addrlist.h文件內(nèi)容:class CAddrlist
41、: public CObject 1分public:CString Name;CString Address;CString Tel;CTime Birth;CAddrlist(); 3分DECLARE_SERIAL(CAddrlist) / 使對象可串行化 1分 virtual void Serialize( CArchive & ar ); /重載串行化函數(shù) 1分;/ Addrlist.cpp文件內(nèi)容:IMPLEMENT_SERIAL(CAddrlist,CObject, 0) 1分void CAddrlist:Serialize(CArchive & ar) CObjec
42、t:Serialize(ar); 1分if ( ar.IsStoring() )ar<<Name<<Tel<<Address<<Birth; 1分else ar>>Name>>Tel>>Address>>Birth; 1分VC+程序設(shè)計(jì)試卷3一、單項(xiàng)選擇題(每小題1分,共20分)1、假定MyClass為一個(gè)類,則執(zhí)行“” MyClass a3,*p2;”語句時(shí),自動(dòng)調(diào)用該類構(gòu)造函數(shù)的次數(shù)為( )A、2 B、3 C、4 D、52、對于類中定義的成員,其隱含訪問權(quán)限為( )A、protected B、p
43、rivate C、public D、 static3、一個(gè)類的友元函數(shù)或友元類能夠通過成員操作符訪問該類的( )A、私有成員 B、所有成員 C、公用成員 D、保護(hù)成員4、下面說法正確的是( )A、構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)不能重載。B、構(gòu)造函數(shù)不能重載,析構(gòu)函數(shù)可以重載。C、構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)也可以重載。D、構(gòu)造函數(shù)和析構(gòu)函數(shù)都不可以重載。5、下列語句的運(yùn)行結(jié)果為( )#include <iostream.h>srtuct COMPLEXint x;int y; cNum2=1,3,2,7;void main()cout<< cNum0.y*cNum1 x<
44、;<endl;A、6 B、2 C、21 D、36、類AB的缺省構(gòu)造函數(shù)和析構(gòu)函數(shù)是( )A、AB( )和AB( ) B、AB(int)和AB( ) C、AB( )和AB(delete ) D、AB( )和intAB( )7、在C+中,若對函數(shù)未加說明,則函數(shù)的隱含類型是( )A、int B、double C、void D、char8、已知類A是類B的友元,類B是類C的友元,則( )A、類A一定是類C的友元B、類C一定是類A的友元C、類C的成員函數(shù)可以訪問類B的對象的任何成員D、類A的成員函數(shù)可以訪問類B的對象的任何成員9、下列說法中正確的是( ) A、類定義中只能說明函數(shù)成員的函數(shù)頭,不
45、能定義函數(shù)體 B、類中的函數(shù)成員可以在類體中定義,也可以在類體之外定義 C、類中的函數(shù)成員在類體之外定義時(shí)必須要與類聲明在同一文件中 D、在類體之外定義的函數(shù)成員不能操作該類的私有數(shù)據(jù)成員10、以下不屬于成員函數(shù)的是( )A、靜態(tài)成員函數(shù) B、友元函數(shù)C、構(gòu)造函數(shù) D、析構(gòu)函數(shù)11、對于消息隊(duì)列的描述正確的是( )A、在Windows中只有一個(gè)消息系統(tǒng),即系統(tǒng)消息隊(duì)列。消息隊(duì)列是一個(gè)系統(tǒng)定義的數(shù)據(jù)結(jié)構(gòu),用于臨時(shí)存儲(chǔ)消息。B、系統(tǒng)可從消息隊(duì)列將信息直接發(fā)給窗口。另外,每個(gè)正在Windows下運(yùn)行的應(yīng)用程序都有自己的消息隊(duì)列。C、系統(tǒng)消息隊(duì)列中的每個(gè)消息最終都要被USER模塊傳送到應(yīng)用程序的消息隊(duì)
46、列中去。應(yīng)用程序的消息對列中存儲(chǔ)了程序的所有窗口的全部消息。D、以上都正確12、一個(gè)視圖對象能連接( )文檔對象,一個(gè)文檔對象能連接( )視圖對象。A、多個(gè),多個(gè) B、多個(gè),一個(gè) C、一個(gè),一個(gè) D、一個(gè),多個(gè)13、MFC類庫中的類按層次關(guān)系可知,CStatic 的直接父類為( )A、CObject B、CWnd C、CCmdTarget D、CFrameWnd14、可以利用控件的( )屬性和Tab鍵順序來為控件分組。A、ID B、Group C、Tab stop D、Caption15、根據(jù)對話框的行為性質(zhì),對話框可以分為兩類:( )A、對話框資源和對話框類 B、模式對話框和非模式對話框C、
47、對話框資源和對話框模板 D、消息對話框和模式對話框16、以下控件中,( )沒有Caption屬性。 A、按鈕 B、群組框 C、編輯控件 D、靜態(tài)控件17、菜單項(xiàng)助記符前用( )引導(dǎo)。 A、% B、# C、& D、$18、更新菜單狀態(tài)的消息是( )。 A、WM_COMMAND B、UPDATE C、ON_UPDATE_COMMAND_UI D、INVALIDATE19、關(guān)于工具欄、菜單和加速鍵的關(guān)系,正確的說法是( )。 A、工具按鈕與菜單必須一一對應(yīng) B、工具按鈕與加速鍵一一對應(yīng) C、工具按鈕不必與菜單一一對應(yīng) D、菜單與加速鍵一一對應(yīng)20、使用GetWindowDC( )和GetDC
48、( )獲取的設(shè)備上下文在退出時(shí),必須調(diào)用( )釋放設(shè)備上下文。 A、DeleteDC( ) B、delete( ) C、ReleaseDC( ) D、Detach( )二、選擇填空題(每空1分,共20分)1、如果在基類和派生類中都包含其他類的對象(即有對象成員),則在創(chuàng)建派生類的對象時(shí),首先執(zhí)行 1 的構(gòu)造函數(shù),接著執(zhí)行 2 的構(gòu)造函數(shù),然后執(zhí)行_3_的構(gòu)造函數(shù),最后才執(zhí)行 4 的構(gòu)造函數(shù)。A、基類的對象成員 B、派生類的對象成員 C、基類 D、派生類2、 5 代表窗口客戶區(qū)的顯示設(shè)備上下文, 6 代表整個(gè)窗口的顯示設(shè)備上下文。A、CPaintDC B、CClientDC C、CWindowD
49、C D、CMetaFileDC3、消息循環(huán)的處理過程如下: 7 函數(shù)不斷偵察應(yīng)用程序的消息隊(duì)列,若隊(duì)列為空,該函數(shù)一直運(yùn)行,不返回;一旦發(fā)現(xiàn)隊(duì)列不為空,便取出一條消息,把它拷貝到msg結(jié)構(gòu)變量中,同時(shí)該函數(shù)返回TRUE;得到消息msg后, 8 把來自鍵盤的命令翻譯成WM_XXX消息命令形式。 9 函數(shù)通知Windows把每個(gè)消息分發(fā)給相應(yīng)的窗口函數(shù)。應(yīng)用程序并不直接調(diào)用窗口函數(shù),而由Windows根據(jù)消息去調(diào)用窗口函數(shù),因此,窗口函數(shù)經(jīng)常被稱為回調(diào)函數(shù)。A、GetMessage( ) B、translateMessage( ) C、PostMessage( ) D、SendMessage( ) E、DispatchMessage( )4、常用的CButton類的成員函數(shù)中: 10 獲得一個(gè)按鈕控件的選中、選擇和 聚焦?fàn)顟B(tài); 11 得到一個(gè)按鈕的選中狀態(tài);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司生日會(huì)文案策劃方案
- 公司班組拓展活動(dòng)方案
- 公司端午節(jié)DIY包粽子活動(dòng)方案
- 公司摘橙子活動(dòng)方案
- 公司花園種植活動(dòng)方案
- 公司科技展廳策劃方案
- 公司組織游玩兒活動(dòng)方案
- 公司組織游戲策劃方案
- 公司猜照片活動(dòng)策劃方案
- 2025年中級會(huì)計(jì)考試試卷及答案
- 學(xué)校會(huì)議室改造項(xiàng)目投標(biāo)方案(技術(shù)標(biāo))
- 《操作風(fēng)險(xiǎn)管理》課件
- 兒童樂園安全管理制度
- 【醫(yī)學(xué)課件】外科營養(yǎng)支持
- 燕秀工具箱模具設(shè)計(jì)快捷鍵一覽表
- 物業(yè)承接查驗(yàn)標(biāo)準(zhǔn)及表格
- 燈箱廣告投標(biāo)方案(完整技術(shù)標(biāo))
- dzl213型鍋爐低硫煙煤煙氣袋式除塵濕式脫硫系統(tǒng)設(shè)計(jì)
- 《公路橋涵養(yǎng)護(hù)規(guī)范》(5120-2021)【可編輯】
- 新人教版一年級數(shù)學(xué)下冊期末考試卷(附答案)
- 人教版三年級語文上冊期末試卷及答案【完整】
評論
0/150
提交評論