




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、vc程序設(shè)計(jì) 試卷1一、單項(xiàng)選擇題(每小題1分,共20分)1、假定myclass為一個(gè)類,則執(zhí)行“” myclass a3,*p2;”語(yǔ)句時(shí),自動(dòng)調(diào)用該類構(gòu)造函數(shù)的次數(shù)為( b )a、2 b、3 c、4 d、52、對(duì)于類中定義的成員,其隱含訪問(wèn)權(quán)限為( b )a、protected b、private c、public d、 static3、一個(gè)類的友元函數(shù)或友元類能夠通過(guò)成員操作符訪問(wèn)該類的( b )a、私有成員 b、所有成員 c、公用成員 d、保護(hù)成員4、下面說(shuō)法正確的是( a )a、構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)不能重載。b、構(gòu)造函數(shù)不能重載,析構(gòu)函數(shù)可以重載。c、構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)
2、也可以重載。d、構(gòu)造函數(shù)和析構(gòu)函數(shù)都不可以重載。5、下列語(yǔ)句的運(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+中,若對(duì)函數(shù)未加說(shuō)明,則函數(shù)的隱含類型是( a )a、in
3、t b、double c、void d、char8、已知類a是類b的友元,類b是類c的友元,則( d )a、類a一定是類c的友元b、類c一定是類a的友元c、類c的成員函數(shù)可以訪問(wèn)類b的對(duì)象的任何成員d、類a的成員函數(shù)可以訪問(wèn)類b的對(duì)象的任何成員9、下列說(shuō)法中正確的是( b ) a、類定義中只能說(shuō)明函數(shù)成員的函數(shù)頭,不能定義函數(shù)體 b、類中的函數(shù)成員可以在類體中定義,也可以在類體之外定義 c、類中的函數(shù)成員在類體之外定義時(shí)必須要與類聲明在同一文件中 d、在類體之外定義的函數(shù)成員不能操作該類的私有數(shù)據(jù)成員10、以下不屬于成員函數(shù)的是( b )a、靜態(tài)成員函數(shù) b、友元函數(shù)c、構(gòu)造函數(shù) d、析構(gòu)函數(shù)
4、11、對(duì)于消息隊(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)用程序的消息對(duì)列中存儲(chǔ)了程序的所有窗口的全部消息。d、以上都正確12、一個(gè)視圖對(duì)象能連接( a )文檔對(duì)象,一個(gè)文檔對(duì)象能連接( )視圖對(duì)象。a、一個(gè),多個(gè) b、多個(gè),一個(gè) c、一個(gè),一個(gè) d、多個(gè),多個(gè)13、mfc類庫(kù)中的類按層次關(guān)系可知,cstatic 的直接
5、父類為( b )a、cobject b、cwnd c、ccmdtarget d、cframewnd14、可以利用控件的( c )屬性和tab鍵順序來(lái)為控件分組。a、id b、tab stop c、group d、caption15、根據(jù)對(duì)話框的行為性質(zhì),對(duì)話框可以分為兩類:( b )a、對(duì)話框資源和對(duì)話框類 b、模式對(duì)話框和非模式對(duì)話框c、對(duì)話框資源和對(duì)話框模板 d、消息對(duì)話框和模式對(duì)話框16、以下控件中,( c )沒有caption屬性。 a、按鈕 b、群組框 c、編輯控件 d、靜態(tài)控件17、菜單項(xiàng)助記符前用( b )引導(dǎo)。 a、% b、& c、# d、$18、更新菜單狀態(tài)的消息是(
6、 c )。 a、wm_command b、update c、on_update_command_ui d、invalidate19、關(guān)于工具欄、菜單和加速鍵的關(guān)系,正確的說(shuō)法是( c )。 a、工具按鈕與菜單必須一一對(duì)應(yīng) b、工具按鈕與加速鍵一一對(duì)應(yīng) c、工具按鈕不必與菜單一一對(duì)應(yīng) d、菜單與加速鍵一一對(duì)應(yīng)20、使用getwindowdc( )和getdc( )獲取的設(shè)備上下文在退出時(shí),必須調(diào)用( a )釋放設(shè)備上下文。 a、releasedc( ) b、delete( ) c、deletedc( ) d、detach( )二、填空題(每空1分,共25分)1、vc+開發(fā)環(huán)境中,int型數(shù)據(jù)占4
7、個(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型變量,則下列語(yǔ)句 ch = a; n = 3; ch = ch + n; cout<<” ch = ”<< ch;執(zhí)行的結(jié)果是_ch=d_。5、c+中函數(shù)的參數(shù)傳遞一種是按值傳遞,另一種是地址傳遞或_引用_傳遞。6、c+運(yùn)行時(shí)的多
8、態(tài)性通過(guò)_虛函數(shù)_來(lái)實(shí)現(xiàn),而編譯時(shí)的多態(tài)性通過(guò)_函數(shù)重載_來(lái)實(shí)現(xiàn)。7 只讀成員函數(shù)用_const_關(guān)鍵字標(biāo)識(shí),內(nèi)聯(lián)成員函數(shù)用_inline_關(guān)鍵字標(biāo)識(shí)。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)生的二義性問(wèn)題,c+語(yǔ)言提供了_虛基類_機(jī)制。將公共基類聲明為它以后,它在派生類中只產(chǎn)生一個(gè)實(shí)例。11、在代碼中,使用cwnd:_updatedata_函數(shù)可實(shí)現(xiàn)控
9、件與其成員變量之間的數(shù)據(jù)的傳輸。12、列表框clistbox類的成員函數(shù)_addstring_用來(lái)向列表框增加列表項(xiàng),成員函數(shù)_resetcontent_用來(lái)清除列表項(xiàng)所有項(xiàng)目。13、:_序列化_ 是指將對(duì)象寫入永久存儲(chǔ)介質(zhì)或者將對(duì)象從永久存儲(chǔ)介質(zhì)中讀出的過(guò)程。14、windows程序中的消息有窗口消息、命令消息和_控件通知_消息三種類型。15、mfc中的集合類包括 數(shù)組 、 列表 (鏈表) 、 映射(順序可變) 。16、在進(jìn)行繪圖時(shí), 畫刷 用于指定圖形的填充樣式, _畫筆_用于指定圖形的邊框樣式。三 選擇填空題(每空1分,共15分)1、如果在基類和派生類中都包含其他類的對(duì)象(即有對(duì)象成員)
10、,則在創(chuàng)建派生類的對(duì)象時(shí),首先執(zhí)行 a 的構(gòu)造函數(shù),接著執(zhí)行 c 的構(gòu)造函數(shù),然后執(zhí)行_ _b_的構(gòu)造函數(shù),最后才執(zhí)行 d 的構(gòu)造函數(shù)。a、基類的對(duì)象成員 b、派生類的對(duì)象成員 c、基類 d、派生類2、 5 b 代表窗口客戶區(qū)的顯示設(shè)備上下文, 6c 代表整個(gè)窗口的顯示設(shè)備上下文。a、cpaintdc b、cclientdc c、cwindowdc d、cmetafiledc3、消息循環(huán)的處理過(guò)程如下: a 函數(shù)不斷偵察應(yīng)用程序的消息隊(duì)列,若隊(duì)列為空,該函數(shù)一直運(yùn)行,不返回;一旦發(fā)現(xiàn)隊(duì)列不為空,便取出一條消息,把它拷貝到msg結(jié)構(gòu)變量中,同時(shí)該函數(shù)返回true;得到消息msg后, b 把來(lái)自鍵
11、盤的命令翻譯成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、setstate( ) c、
12、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 *a; public: a
13、(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<<endl; void mai
14、n() 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<<"i'm c
15、lass 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五、完成程序題(本大題共3小題,
16、每空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)生對(duì)象t,且t.num=10,并使用print()函數(shù)輸出這個(gè)對(duì)象的值。class testpriva
17、te: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)對(duì)象 a()_ 6 delete a;_ _;/釋
18、放動(dòng)態(tài)存儲(chǔ)空間;六、程序設(shè)計(jì)題(1題4 分,2題9 分,共13分)1、簡(jiǎn)單的計(jì)算程序界面如下圖所示,操作數(shù)1對(duì)應(yīng)編輯框控件的id為 idc_edit1,對(duì)應(yīng)值類型的成員變量m_op1(int);操作數(shù)2對(duì)應(yīng)編輯框控件的id為idc_edit2,對(duì)應(yīng)值類型的成員變量m_op2(int);計(jì)算結(jié)果對(duì)應(yīng)的編輯框控件的id 為idc_edit3,對(duì)應(yīng)值類型的成員變量m_result(int)。 假設(shè)輸入的數(shù)為整數(shù),加法按鈕的功能是將兩操作數(shù)相加,并將結(jié)果在對(duì)應(yīng)的編輯框idc_edit3顯示出來(lái)。寫出加法按鈕對(duì)應(yīng)的代碼。 void cexdlg:onbutton1() updatedate(true);
19、 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é)號(hào)、姓名、出生日期、家庭住址、班級(jí),并使該類可以實(shí)現(xiàn)串行化。請(qǐng)寫出可以實(shí)現(xiàn)要求的cstudent.h和cstudent.cpp文件的內(nèi)容/cstudent.hclass cstudent :public cobject 1分public:cstring num;cstring nam
20、e;ctime birth;cstring address;cstring grade; 2分 declare_serial(cstudent) / 使對(duì)象可串行化 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() )ar<<num&
21、lt;<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;”語(yǔ)句時(shí),自動(dòng)調(diào)用該類構(gòu)造函數(shù)的次數(shù)為( a )a、2 b、3 c、4 d、52、對(duì)于結(jié)構(gòu)中定義的成員,其隱含訪問(wèn)權(quán)限為(c)a、protected b、private c、public d、 static3
22、、在面向?qū)ο缶幊讨校瑢?duì)象的抽象集合稱為( c )。a、對(duì)象 b、集合 c、類 d、實(shí)例4、下面說(shuō)法正確的是( 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)性,必須通過(guò)( a )來(lái)完成。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 ( )和intcnum (
23、 )7、在類外定義類的成員函數(shù)時(shí),應(yīng)當(dāng)使用( b )來(lái)標(biāo)識(shí)該函數(shù)為特定類的成員。a、 : b、 : c、-> d、this8、已知類a是類b的友元,類b是類c的友元,則( d )a、類a一定是類c的友元b、類c一定是類a的友元c、類c的成員函數(shù)可以訪問(wèn)類b的對(duì)象的任何成員d、類a的成員函數(shù)可以訪問(wèn)類b的對(duì)象的任何成員9、下面( a )是函數(shù)重載。 a、void play(int) 和void play(float) b、play( ) 和 play() c、void play(int) 和int play(int) d、void play( ) 和int play( )10、下列說(shuō)法中正
24、確的是( b ) a.類定義中只能說(shuō)明函數(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è)視圖對(duì)象能連接( )文檔對(duì)象,一個(gè)文檔對(duì)象能連接( a )視圖對(duì)象。a、一個(gè),多個(gè) b、多個(gè),一個(gè) c、一個(gè),一個(gè) d、多個(gè),多個(gè)
25、13、所有的控件都是 ( b ) 類的派生類,都可以作為一個(gè)特殊的窗口來(lái)處理。a、cview b、cwnd c、cwindow d、cdialog14、設(shè)置編輯控件的文本內(nèi)容,可使用函數(shù) ( a )a、setwindowtext( )b、setsel( )c、replacesel( )d、getwindowtext( )15、根據(jù)對(duì)話框的行為性質(zhì),對(duì)話框可以分為兩類:( b )a、對(duì)話框資源和對(duì)話框類 b、模式對(duì)話框和非模式對(duì)話框c、對(duì)話框資源和對(duì)話框模板 d、消息對(duì)話框和模式對(duì)話框16、以下控件中,( c )沒有caption屬性。 a、按鈕 b、群組框 c、編輯控件 d、靜態(tài)控件17、菜單
26、項(xiàng)助記符前用( b )引導(dǎo)。 a、% b、& c、# d、$18、mfc中的集合類包括( c )。 a、對(duì)象、列表和映射 b、數(shù)組、列表和對(duì)象 c、數(shù)組、列表和映射 d、數(shù)組、列表和鏈表19、文檔負(fù)責(zé)將數(shù)據(jù)存儲(chǔ)到永久存儲(chǔ)介質(zhì)中,通常是磁盤文件或數(shù)據(jù)庫(kù),存取過(guò)程稱為( b )。 a、文件訪問(wèn) b、串行化 c、文件讀寫 d、格式化20、下列對(duì)模板的聲明,正確的是( d )。 a、template<t> b、template<class t1;class t2> c、template<class t1,t2> d、template<class t1,
27、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型變量,則下列語(yǔ)句 n = 65; ch = n+3; cout<<” ch = ”<< ch;執(zhí)行的結(jié)果是_ ch =d_。5、組合框與列表
28、框用途類似,它是由_列表框_和_編輯框_功能組合而成。6、 dc(設(shè)備上下文) 是windows應(yīng)用程序與設(shè)備驅(qū)動(dòng)程序和輸出設(shè)備之間的接口。7、如果一個(gè)類中含有純虛函數(shù),則稱該類為_抽象基類_8、如果類的所有對(duì)象共享一個(gè)成員,則稱該成員為_靜態(tài)成員_ 9、如果類中的成員只能被本類的成員函數(shù)和友元函數(shù)訪問(wèn),則這些成員的訪問(wèn)權(quán)限為_私有_ _;如果類中的成員能夠被類外的函數(shù)訪問(wèn),則這些成員的訪問(wèn)權(quán)限為:_公有 _。10、為解決多繼承中因公共基類而產(chǎn)生的二義性問(wèn)題,c+語(yǔ)言提供了_虛基類_機(jī)制。將公共基類聲明為它以后,它在派生類中只產(chǎn)生一個(gè)實(shí)例。11、windows程序中的消息有_窗口消息_、_命令
29、消息_和_控件通知消息_三種類型。11、用戶按下鍵盤按鍵并放開的過(guò)程中,將產(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、類的對(duì)象(即有對(duì)象成員),則在創(chuàng)建派生類的對(duì)象時(shí),首先執(zhí)行 a 的構(gòu)造函數(shù),接著執(zhí)行 c 的構(gòu)造函數(shù),然后執(zhí)行_ _b_的構(gòu)造函數(shù),最后才執(zhí)行 d 的構(gòu)造函數(shù)。a、基類的對(duì)象成員 b、派生類的對(duì)象成員 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ì)列中,由程序來(lái)處理消息; a 8 用來(lái)與windows的控制對(duì)象,如列表框、按鈕、復(fù)選框等進(jìn)行雙向通信。當(dāng)用戶在列
31、表框中改動(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、getcheck( ) e、getbu
32、ttonstyle( ) 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;void main() b
33、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"<<endl; ;class
34、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 getfloat( ) return
35、 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()<<endl;return 0
36、;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è)通用的用以求不同形狀的圖形面積總和的函數(shù)。請(qǐng)從shape類派生
37、三角形類(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)串行化。請(qǐng)寫出可以實(shí)現(xiàn)要求的caddrlist.h和caddrlist.cpp文件的內(nèi)容20052006學(xué)年第一學(xué)期vc+
38、程序設(shè)計(jì)試題答案及評(píng)分標(biāo)準(zhǔn)一、單項(xiàng)選擇題(每小題1分,共20分)題號(hào)12345678910答案bccaaabdab題號(hào)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_radion,中設(shè)置idc
39、_radiom為默認(rèn)14、單選列表框、多選列表框、單選列表框、多選列表框三 選擇填空題(每空1分,共15分)題號(hào)答案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 分,共20分)1、 #inc
40、lude<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 : public cobj
41、ect 1分public:cstring name;cstring address;cstring tel;ctime birth;caddrlist(); 3分declare_serial(caddrlist) / 使對(duì)象可串行化 1分 virtual void serialize( carchive & ar ); /重載串行化函數(shù) 1分;/ addrlist.cpp文件內(nèi)容:implement_serial(caddrlist,cobject, 0) 1分void caddrlist:serialize(carchive & ar) cobject:serialize(a
42、r); 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;”語(yǔ)句時(shí),自動(dòng)調(diào)用該類構(gòu)造函數(shù)的次數(shù)為( )a、2 b、3 c、4 d、52、對(duì)于類中定義的成員,其隱含訪問(wèn)權(quán)限為( )a、protected b、private c、publ
43、ic d、 static3、一個(gè)類的友元函數(shù)或友元類能夠通過(guò)成員操作符訪問(wèn)該類的( )a、私有成員 b、所有成員 c、公用成員 d、保護(hù)成員4、下面說(shuō)法正確的是( )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ǔ)句的運(yùn)行結(jié)果為( )#include <iostream.h>srtuct complexint x;int y; cnum2=1,3,2,7;void main()cout<< cnum0.y*cnum1 x<<endl;a、6
44、 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+中,若對(duì)函數(shù)未加說(shuō)明,則函數(shù)的隱含類型是( )a、int b、double c、void d、char8、已知類a是類b的友元,類b是類c的友元,則( )a、類a一定是類c的友元b、類c一定是類a的友元c、類c的成員函數(shù)可以訪問(wèn)類b的對(duì)象的任何成員d、類a的成員函數(shù)可以訪問(wèn)類b的對(duì)象的任何成員9、下列說(shuō)法中正確的是( ) a、類定義中只能說(shuō)明函數(shù)成員的函數(shù)頭,不能定義函數(shù)體 b、類中的函
45、數(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ì)于消息隊(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ì)列中去。應(yīng)用程序的消息對(duì)列
46、中存儲(chǔ)了程序的所有窗口的全部消息。d、以上都正確12、一個(gè)視圖對(duì)象能連接( )文檔對(duì)象,一個(gè)文檔對(duì)象能連接( )視圖對(duì)象。a、多個(gè),多個(gè) b、多個(gè),一個(gè) c、一個(gè),一個(gè) d、一個(gè),多個(gè)13、mfc類庫(kù)中的類按層次關(guān)系可知,cstatic 的直接父類為( )a、cobject b、cwnd c、ccmdtarget d、cframewnd14、可以利用控件的( )屬性和tab鍵順序來(lái)為控件分組。a、id b、group c、tab stop d、caption15、根據(jù)對(duì)話框的行為性質(zhì),對(duì)話框可以分為兩類:( )a、對(duì)話框資源和對(duì)話框類 b、模式對(duì)話框和非模式對(duì)話框c、對(duì)話框資源和對(duì)話框模板 d
47、、消息對(duì)話框和模式對(duì)話框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)系,正確的說(shuō)法是( )。 a、工具按鈕與菜單必須一一對(duì)應(yīng) b、工具按鈕與加速鍵一一對(duì)應(yīng) c、工具按鈕不必與菜單一一對(duì)應(yīng) d、菜單與加速鍵一一對(duì)應(yīng)20、使用getwindowdc( )和getdc( )獲取的設(shè)備上下文在退
48、出時(shí),必須調(diào)用( )釋放設(shè)備上下文。 a、deletedc( ) b、delete( ) c、releasedc( ) d、detach( )二、選擇填空題(每空1分,共20分)1、如果在基類和派生類中都包含其他類的對(duì)象(即有對(duì)象成員),則在創(chuàng)建派生類的對(duì)象時(shí),首先執(zhí)行 1 的構(gòu)造函數(shù),接著執(zhí)行 2 的構(gòu)造函數(shù),然后執(zhí)行_3_的構(gòu)造函數(shù),最后才執(zhí)行 4 的構(gòu)造函數(shù)。a、基類的對(duì)象成員 b、派生類的對(duì)象成員 c、基類 d、派生類2、 5 代表窗口客戶區(qū)的顯示設(shè)備上下文, 6 代表整個(gè)窗口的顯示設(shè)備上下文。a、cpaintdc b、cclientdc c、cwindowdc d、cmetafile
49、dc3、消息循環(huán)的處理過(guò)程如下: 7 函數(shù)不斷偵察應(yīng)用程序的消息隊(duì)列,若隊(duì)列為空,該函數(shù)一直運(yùn)行,不返回;一旦發(fā)現(xiàn)隊(duì)列不為空,便取出一條消息,把它拷貝到msg結(jié)構(gòu)變量中,同時(shí)該函數(shù)返回true;得到消息msg后, 8 把來(lái)自鍵盤的命令翻譯成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è)按鈕
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 強(qiáng)化基本醫(yī)療衛(wèi)生服務(wù)的重要性
- 糧食等重要農(nóng)產(chǎn)品穩(wěn)產(chǎn)保供的重要性
- 工業(yè)企業(yè)揮發(fā)性有機(jī)物排放控制的政策支持與激勵(lì)措施
- 圓柱施工方案
- 三級(jí)人力資源管理師-企業(yè)人力資源管理師(三級(jí))《理論知識(shí)》考前沖刺卷4
- 專題08應(yīng)用文寫作
- 安徽省安慶一中江西省南昌二中等五省六校(K12聯(lián)盟)高三上學(xué)期期末聯(lián)考英語(yǔ)試題
- 福建省莆田市第二十四中學(xué)2017-2018學(xué)年高一上學(xué)期期末考?xì)v史試題
- 工會(huì)組織在企業(yè)文化建設(shè)中的獨(dú)特作用
- 九年義務(wù)教育全日制初級(jí)中學(xué)英語(yǔ)教學(xué)大綱( 試用修訂版)
- 2024版標(biāo)本采集課件
- 蘇教版二年級(jí)數(shù)學(xué)下冊(cè)單元測(cè)試題及答案
- 部編版五年級(jí)下冊(cè)語(yǔ)文全冊(cè)優(yōu)質(zhì)課件
- 水泵站工程施工設(shè)計(jì)方案
- 細(xì)菌性痢疾流行病學(xué)個(gè)案調(diào)查表
- 新聞?lì)愇捏w的翻譯(課堂PPT)
- 員工年終述職報(bào)告工作總結(jié)PPT模板
- 現(xiàn)代寫作教程筆記
- 小小銀行家ppt課件
- 當(dāng)事人送達(dá)地址確認(rèn)書doc-浙江省 人民法院
- 龍牙百合高產(chǎn)栽培技術(shù)
評(píng)論
0/150
提交評(píng)論