?自考C++程序設(shè)計(jì)2014年4月試題
摘要:自考C++程序設(shè)計(jì)2014年4月試題及答案解析,該試卷為自考C++程序設(shè)計(jì)歷年真題試卷,包含答案及詳細(xì)解析。
自考C++程序設(shè)計(jì)2014年4月試題及答案解析
自考C++程序設(shè)計(jì)2014年4月試題及答案解析,該試卷為自考C++程序設(shè)計(jì)歷年真題試卷,包含答案及詳細(xì)解析。
一、單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分。)在每小題列出的備選項(xiàng)中只有一項(xiàng)是最符合題目要求的,請(qǐng)將其代碼填寫(xiě)在題后的括號(hào)內(nèi)。錯(cuò)選、多選或未選均不得分。
1.下列關(guān)于類的權(quán)限描述錯(cuò)誤的是( )
A.類本身的成員函數(shù)可以訪問(wèn)自身的任何成員
B.類的對(duì)象只能訪問(wèn)公有成員
C.普通函數(shù)可以不通過(guò)對(duì)象直接訪問(wèn)類的公有成員
D.一個(gè)類可以包含另一個(gè)類的對(duì)象作為成員
2.只能在自身類和子類成員函數(shù)中被訪問(wèn),無(wú)法通過(guò)對(duì)象在類外訪問(wèn)的成員屬于( )
A.private
B.protected
C.public
D.publish
3.面向?qū)ο笾械摹皩?duì)象”是指( )
A.行為抽象
B.數(shù)據(jù)抽象
C.行為抽象和數(shù)據(jù)抽象的統(tǒng)一
D.行為抽象和數(shù)據(jù)抽象的對(duì)立
4.在類外定義成員函數(shù)時(shí),::運(yùn)算符兩側(cè)分別連接( )
A.返回值類型 函數(shù)名
B.返回值類型 類名
C.函數(shù)名 類名
D.類名 函數(shù)名
5.設(shè)函數(shù)int& index(int * a, int i)返回?cái)?shù)組a中下標(biāo)為i的元素,如存在整型數(shù)組int Array[ ]={1,2,3},在執(zhí)行index(Array, 2)++后,Array中各元素值為( )
A.{0, 1, 2}
B.{1, 1, 2}
C.{1, 2, 4}
D.{0, 2, 3}
6.類構(gòu)造函數(shù)定義的位置是( )
A.類體內(nèi)或體外
B.只是在類體內(nèi)
C.只在類體外
D.在類的成員函數(shù)中
7.設(shè)存在數(shù)組a,其長(zhǎng)度為L(zhǎng)en,則下列哪項(xiàng)泛型算法用于在a中尋找值Value的位置( )
A.reverse(a, a+Len, Value);
B.sort(a, a+Len, Value);
C.find(a, a+Len, Value);
D.copy(a, a+Len, Value);
8.關(guān)于對(duì)象的性質(zhì),下列描述錯(cuò)誤的是:( )
A.同一類對(duì)象間可相互賦值
B.可以使用對(duì)象數(shù)組
C.對(duì)象不可以用作函數(shù)參數(shù)
D.一個(gè)對(duì)象可以用作另一個(gè)類的成員
9.聲明一個(gè)沒(méi)有初始化參數(shù)的對(duì)象,需調(diào)用( )
A.指定參數(shù)構(gòu)造函數(shù)
B.拷貝構(gòu)造函數(shù)
C.初始化函數(shù)
D.默認(rèn)構(gòu)造函數(shù)
10.下列運(yùn)算符不能重載的是( )
A.!
B.sizeof
C.new
D.delete
11.如P是一指針類型表達(dá)式,則下列表達(dá)式中不是左值表達(dá)式的是( )
A.P
B.*P
C.&P
D.P+1
12.使用下列流格式控制符能輸出一個(gè)換行符的是( )
A.dec
B.oct
C.hex
D.endl
13.下列表達(dá)式,能將P聲明為常量指針的是( )
A.const int * P;
B.int *const P;
C.const int * const P;
D.int * P;
14.C++程序文件擴(kuò)展名為( )
A..cpp
B..h
C..lib
D..obj
15.對(duì)C++中主函數(shù)描述正確的是( )
A.名稱為main,可為多個(gè)
B.名稱不限,可為多個(gè)
C.名稱為main,必須有且只能有一個(gè)
D.名稱不限,必須有且只能有一個(gè)
16.假定有char * P="Hello";,要輸出這個(gè)字符串的地址值的正確寫(xiě)法是( )
A.cout﹤﹤ *P
B.cout﹤﹤P
C.cout﹤﹤&P
D.cout﹤﹤(void *)P
17.下列描述錯(cuò)誤的是( )
A.在沒(méi)創(chuàng)建對(duì)象前,靜態(tài)成員不存在
B.靜態(tài)成員是類的成員,不是對(duì)象成員
C.靜態(tài)成員不能是虛函數(shù)
D.靜態(tài)成員函數(shù)不能直接訪問(wèn)非靜態(tài)成員
18.對(duì)于友元描述正確的是( )
A.友元是本類的成員函數(shù)
B.友元不是本類的成員函數(shù)
C.友元不是函數(shù)
D.以上皆不正確
19.一個(gè)函數(shù)功能不太復(fù)雜,但要求頻繁使用,則該函數(shù)適合作為( )
A.內(nèi)聯(lián)函數(shù)
B.重載函數(shù)
C.遞歸函數(shù)
D.嵌套函數(shù)
20.下列默認(rèn)參數(shù)的聲明不正確的是( )
A.int max(int a, int b, int c, int d=0);
B.int max(int a, int b, int c=0, int d=0);
C.int max(int a=0, int b, int c=0, int d=0);
D.int max(int a, int b=0, int c=0, int d=0);
二、填空題(本大題共20小題,每小題1分,共20分)請(qǐng)?jiān)诿啃☆}的空格中填上正確答案。錯(cuò)填、不填均無(wú)分。
11.C++程序的編譯是以_________為單位進(jìn)行的。
12.默認(rèn)參數(shù)是在_________中說(shuō)明的,默認(rèn)參數(shù)可以多于一個(gè)。
13.通過(guò)C++語(yǔ)言中的_________機(jī)制,可以從現(xiàn)存類中構(gòu)建其子類。
14.拷貝構(gòu)造函數(shù)使用_________作為參數(shù)初始化創(chuàng)建中的對(duì)象。
15.基類的公有成員在通過(guò)公有派生得到的子類中訪問(wèn)權(quán)限是_________。
16.要關(guān)閉一個(gè)輸出流對(duì)象myFile,所用的C++語(yǔ)句是_________。
17.執(zhí)行下列代碼:double pi= 3.1415926; cout﹤﹤setprecision(5)﹤﹤pi; 程序的輸出結(jié)果是_________。
18.對(duì)象作為函數(shù)參數(shù),就是將實(shí)參對(duì)象的_________傳遞給形參對(duì)象,這種傳遞是單向的。
19.建立一個(gè)對(duì)象時(shí),對(duì)象的狀態(tài)是不確定的。為了使對(duì)象的狀態(tài)確定,必須對(duì)其進(jìn)行正確的_________。
110.C++類中的_________函數(shù)在對(duì)象的生存期結(jié)束時(shí)被自動(dòng)調(diào)用。
111.C++語(yǔ)言中的整數(shù)常量有四種:十進(jìn)制常量、長(zhǎng)整型常量、八進(jìn)制常量和_________。
112.UML中對(duì)象之間的靜態(tài)關(guān)系是通過(guò)對(duì)象屬性之間的連接反映的,稱之為_(kāi)________。
113.聲明一個(gè)常成員函數(shù)Fun,返回類型為char,第一個(gè)參數(shù)類型為int,第二個(gè)參數(shù)類型為double,則該函數(shù)的聲明原型是_________。
114.在C++語(yǔ)言中,利用向量類模板定義一個(gè)具有20個(gè)int類型且初值為1的向量C,實(shí)現(xiàn)此操作的語(yǔ)句是_________。
115.執(zhí)行下列代碼:int a=123,b=321; cout﹤﹤setw(3)﹤﹤a﹤﹤b﹤﹤endl; 程序輸出結(jié)果是:_________。
116.將指向?qū)ο蟮闹羔樧鳛楹瘮?shù)參數(shù),形參是對(duì)象指針,實(shí)參是對(duì)象的_________。
117.vector類中用于返回向量中第一個(gè)對(duì)象的方法是_________。
118.C++語(yǔ)言中動(dòng)態(tài)分配內(nèi)存的關(guān)鍵字是_________。
119.C++類成員的訪問(wèn)權(quán)限有_________、公有和保護(hù)三種。
120.寫(xiě)出聲明一個(gè)復(fù)數(shù)對(duì)象num的語(yǔ)句,并使對(duì)象被初始化為單精度 2.2+ 1.3i,此聲明語(yǔ)句是_________。
三、改錯(cuò)題(本大題共5小題,每小題2分,共10分)
21.#include ﹤iostream.h﹥ main( ){ int x=5, y=6; const int *p=&x; * p=y; cout﹤﹤*p﹤﹤endl; }
22.#include ﹤iostream.h﹥ class f { private: T x, y; public: f1(T a, T b){x=a; y=b;} T max( ){return(x﹥y)? x: y;} }; main( ) { f a; a.f1( 1.5, 3.8); cout﹤﹤a.max( )﹤﹤endl; }
23.#include ﹤iostream.h﹥ class point { private: float x,y; public: point(float a, float b){x=a; y=b; } f( ){x=0; y=0; } void getx( ){cout﹤﹤x﹤﹤endl;} void gety( ){cout﹤﹤y﹤﹤endl;} }; main( ) { point a ( 3.5); a.getx( ); }
24.#include ﹤iostream.h﹥class f{ private: float x,y; float get( ){return x+y;} public:f1(float a,float b){x=a;y=b;} }; main( ) { f a; a.f1(1, 3.8); cout﹤﹤a.get( )﹤﹤endl; }
25.#include ﹤iostream.h﹥ class test1{ private: int x; public: test1( ){x=2;} void set(int a){x=a;} void get(){cout﹤﹤x﹤﹤endl;} }; class test2{ private: int x; public: test2( ){x=3;} void set(int a){x=a;} void get( ){cout﹤﹤x﹤﹤endl;} }; class test: public test1, public test 2. { private: int x; public: void set(int a){x=a;} void gettest( ){cout﹤﹤x﹤﹤endl;} }; main( ) { test a; a.get( ); }
四、完成程序題(本大題共5小題,每小題4分,共20分)
31.完成下面類中的成員函數(shù)的定義。 class point { private: int m, n; public: point(int, int); point(point&); }; point:: point(int a, int b) { m=a; _________=b; } point::point( _________ ) { m=t.m; n=t.n; }
32.#include ﹤iostream﹥ using namespace std; class base { private: int x; public: base(int a){x=a;} int get( ){return x:} void showbase( ) {cout﹤﹤"x="﹤﹤x﹤﹤endl; } }; class Derived: public base {private: int y; public: Derived(int a, int b): base(a) {y=b; } void showderived( ) {cout﹤﹤"x="﹤﹤get( )﹤﹤",y="﹤﹤y﹤﹤endl; } }; void main( ) { base b(3); Derived d(6, 7); b.showbase( ); d.showderived( ); _________; b.showbase( ); _________; b 1.showbase( ); base * pb=&b1; pb-﹥showbase( ); d.showderived( ); b.showbase( ); } 輸出結(jié)果如下: x=3 x=6,y=7 x=6 x=6 x=6 x=6,y=7 x=6
33.#include ﹤iostream﹥ #include ﹤fstream﹥ using namespace std; class complex { public: int real: int imag; complex(int r=0, int i=0) { real=r; imag=i; } }; complex operator+(_________,complex&b) { int r=a.real+b.real; int i=a.imag+b.imag; return _________; } void main( ) { complex x(1, 2), y(3, 4), z; z=x+y; cout﹤﹤z.real﹤﹤"+"﹤﹤z.imag﹤﹤"i"﹤﹤endl; }
34.下面程序的運(yùn)行結(jié)果如下: This is line1 This is line2 This is line3 將下列程序補(bǔ)充完整,答案寫(xiě)在答題紙上。源程序如下: #include ﹤iostream﹥ #include _________ using namespace std; void main( ) { fstream fin, fout; fout.open("my.txt", ios:: out); if(!fout.is_open( )) return; for(int i=0; i﹤3; i=i+1) fout﹤﹤"This is line"﹤﹤i+1﹤﹤endl; fout.close( ); fin.open("my.txt", ios:: in); if(! fin.is_open( )) return; char str[100]; while(_________) { fin.getline(str,100); cout﹤﹤str﹤﹤endl; } fin.close( ); }
35.求兩個(gè)浮點(diǎn)數(shù)之差的cha函數(shù)的原型聲明、調(diào)用方法。 #include ﹤iostream﹥ using namespace std; void main( ) { float a, b; _________; //函數(shù)cha的原型聲明 a= 12.5; b= 6.5; float c=_____________; //調(diào)用函數(shù)cha cout﹤﹤c﹤﹤endl; } float cha(float x,float y) { float w; w=x-y; return w; }
五、程序分析題(本大題共2小題,每小題10分,共20分)
41.#lnclude ﹤iostream.h﹥ void func( ); void main( ) { for(int i=0; i﹤6; i++) { func( ); } } void func( ) { int x=0; x++; static int y=0; y++; cout﹤﹤"x="﹤﹤x﹤﹤";y="﹤﹤y﹤﹤endl; }
42.#include ﹤iostream.h﹥ class A { public: A( ); void Show( ); ~A( ); private: static int c; }; int A:: c=O; A:: A( ) { cout﹤﹤"constructor."﹤﹤endl; c +=10; } void A:: Show( ) { cout﹤﹤"c="﹤﹤c﹤﹤endl; } A:: ~A( ) { cout﹤﹤"destrucator."﹤﹤endl; } void main( ) { A a, b; a.Show( ); b.Show( ); }
六、程序設(shè)計(jì)題(本大題共1小題,共10分)
51.在三角形類tri實(shí)現(xiàn)兩個(gè)函數(shù),功能是輸入三個(gè)頂點(diǎn)坐標(biāo)判斷是否構(gòu)成等邊三角形 #include ﹤iostream.h﹥ #include ﹤math.h﹥ class point { point private: float x, y; public: f(float a, float b){x=a; y=b;} f( ){x=0; y=0;} Void set(float a, float b){x=a; y=b;} float getx( ){return x;} noat gety( ){return y;} }; class tri{ point x, y, z; float s1, s2, s3; public....settri(....); //用于輸入三個(gè)頂點(diǎn)坐標(biāo) ....test(....); //用于判斷是否構(gòu)成等邊三角形 }; 請(qǐng)寫(xiě)出兩個(gè)函數(shù)的過(guò)程(如果需要形式參數(shù),請(qǐng)給出形參類型和數(shù)量,以及返回值類型)
延伸閱讀
- 2023年10月自考00257票據(jù)法真題
- 2023年10月自考00249國(guó)際私法真題
- 2023年10月自考00246國(guó)際經(jīng)濟(jì)法概論真題
- 2023年10月自考00245刑法學(xué)真題
- 2023年10月自考00186國(guó)際商務(wù)談判真題
- 2023年10月自考00185商品流通概論真題
自考微信公眾號(hào)
掃碼添加
自考備考資料免費(fèi)領(lǐng)取
去領(lǐng)取