全國(guó)計(jì)算機(jī)等級(jí)考試無紙化真考題庫(kù)試卷二級(jí)C++_第1頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試無紙化真考題庫(kù)試卷二級(jí)C++_第2頁(yè)
全國(guó)計(jì)算機(jī)等級(jí)考試無紙化真考題庫(kù)試卷二級(jí)C++_第3頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、全國(guó)計(jì)算機(jī)等級(jí)考試無紙化真考題庫(kù)試卷(6)二級(jí) C+(考試時(shí)間120分鐘,滿分100分)一、選擇題(每小題1分,共40分)(1)下列關(guān)于棧敘述正確的是 ()。A)棧頂元素最先能被刪除B)棧頂元素最后才能被刪除c)棧底元素永遠(yuǎn)不能被刪除D)棧底元素最先被刪除(2)下列敘述中正確的是()。A)在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化B)在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化C)在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化D)以上說法都不正確(3)某二叉樹共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有I個(gè),則該二叉樹的深度為(假設(shè)根結(jié)點(diǎn)在第1 層)()。A)3B)4C)6D

2、)7(4)軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()。A)學(xué)生成績(jī)管理系統(tǒng)B)C語(yǔ)言編譯程序C)UNIX操作系統(tǒng)D)數(shù)據(jù)庫(kù)管理系統(tǒng)(5)結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括()。A)順序結(jié)構(gòu)B)GOTO跳轉(zhuǎn)C)選擇(分支)結(jié)構(gòu)D)重復(fù)(循環(huán))結(jié)構(gòu)(6)下面描述中錯(cuò)誤的是()。A)系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)B)軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過程C)數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫(kù)設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一D)PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具(7)負(fù)責(zé)數(shù)據(jù)庫(kù)中查詢操作的數(shù)據(jù)庫(kù)語(yǔ)言是()。A)數(shù)據(jù)定義語(yǔ)言B)數(shù)據(jù)管理語(yǔ)言C)數(shù)據(jù)操縱語(yǔ)言D)數(shù)據(jù)控制語(yǔ)言(8)一個(gè)

3、教師可講授多門課程,一門課程可由多個(gè)教師講授。則實(shí)體教師和課程間的聯(lián)系是( )。A)1 : 1聯(lián)系B) 1 : m聯(lián)系C) m : 1聯(lián)系D) m : n聯(lián)系(9)有三個(gè)關(guān)系R S和T如下.實(shí)例化值的是()。C語(yǔ)言的最根本的變化是()。則由關(guān)系R和S得到關(guān)系T的操作是()。A)自然連接B)并C)交D)差(10)定義無符號(hào)整數(shù)類為Ulnt,下面可以作.為類UlntA)一 369B)369C)0.369D)整數(shù)集合1 , 2,3 , 4,5(11)C+語(yǔ)言對(duì)C語(yǔ)言做了很多改進(jìn),C+語(yǔ)言相對(duì)于A)增加了一些新的運(yùn)算符B)允許函數(shù)重載,并允許設(shè)置默認(rèn)參數(shù)C)規(guī)定函數(shù)說明符必須用原型D)引進(jìn)了類和對(duì)象的

4、概念(12)下列()是C+語(yǔ)言的有效標(biāo)識(shí)符。A) NolB) N0 . 1C) 12345D) i nt(13) 沒有定義int x ; float Y ;,則10+x+y 值的數(shù)據(jù)類型是()。A) intB) doubleC) floatD) 不確定(14) 下列程序的執(zhí)行結(jié)果為()。#include<iostream. h>void mai n()int a=3 , b=0 ;in t*P =&a;b=+a+;cout<<*P<< ”,” <<b<<endl ;A) 3 , 4B) 4 , 3C) 3 , 4D) 4 ,

5、4(15) 下面程序的運(yùn)行結(jié)果為()。#include<iostream. h>void mai n()for(int a=0 , x=0 ; !x&&a<=10; a+)a+ :cout<<a<<e ndlA) 10B) 1lC) 12D) 0(16) 下面有關(guān)for循環(huán)的正確描述是()。A) for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B) for循環(huán)是先執(zhí)行循環(huán)體語(yǔ)句,后判斷表達(dá)式c)在for循環(huán)中,不能用 break語(yǔ)句跳出循環(huán)體D)在for循環(huán)的循環(huán)體語(yǔ)句中,可以包含多條語(yǔ)句,但必須用花括號(hào)括起來(17) 以下程序中調(diào)用cin函數(shù)

6、給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是 ()。#include<iostream. h>void mai n()int * P , * q , a, b ;P=&a :eout<< ” in put a :”;cin»P :A) * P表示的是指針變量 P的地址B) P表示的是變量 a的地址,而不是變量a的值C) *P表示的是指針變量 P的值D) *P只能用來說明P是一個(gè)指針變量(18) 假定int類型變量占用兩個(gè)字節(jié),其有定義int x10=0 ,2,4;,貝U數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是()。A) 3B) 6C) 10D) 20(19) 下列選

7、項(xiàng),不正確的是()。A) for(int a=1; a<=10 ; a+);B) i nt a=1;doa+ :while(a<=10);C) i nt a=1;while(a<=10)a+ :D) for(int a=1; a<=10 ; a+)a+;(20) 下面關(guān)于數(shù)組的初始化正確的是()。A) char str=' abC' B) char str2=' ab c' C) char str23=' a',' b ' , ' C',' d ' , ' e'

8、;,' f' D) char str()=a,b,C(21) 下列程序的輸出結(jié)果為()。#include<iostream. h>void mai n()char*a= ” hell0 ",” the ",” world ” ;char* pa = a :pa+ ;cout<<*pa<<e ndlA) helloB) theC) worldD) hellotheworld(22) 決定C+語(yǔ)言中函數(shù)的返回值類型的是()。A) return 語(yǔ)句中的表達(dá)式類型B) 調(diào)用該函數(shù)時(shí)系統(tǒng)隨機(jī)產(chǎn)生的類型C) 調(diào)用該函數(shù)時(shí)的主調(diào)用函數(shù)

9、類型D) 在定義該函數(shù)時(shí)所指定的數(shù)據(jù)類型(23) 有以下程序:#include<iostream . h>void fun(int a, int b , int C)a=456 , b=567 , c=678 ; void mai n()int X=10 , Y=20 , Z=30 ;fun(X , Y, z);aout<<x<< ',' <<Y<<' ,' <<z<<endl輸出結(jié)果是()。A) 30 , 20 , 10B) 10 , 20, 30C) 456 , 567 ,

10、678D) 678 , 567 , 456(24) 以下敘述正確的是()。A) 函數(shù)可以嵌套定義但不能嵌套調(diào)用B) 函數(shù)既可以嵌套調(diào)用也可以嵌套定義c)函數(shù)既不可以嵌套定義也不可以嵌套調(diào)用D)函數(shù)可以嵌套調(diào)用但不可以嵌套定義(25) 下列程序的輸出結(jié)果是()。#include<iostream . h>int rain(iltl a , int b)if(a<b)return a ;else retum b ;retum 0 ;void mai n()eout<<min(1 , min(2 , 3)<<endl;A) 0B) 1C) 2D) 3(26)

11、 下列程序的運(yùn)行結(jié)果為()。#include<iostream . h>void prin t(double a)cout<<+avoid print(int atint b)cout<<b<<a :void mai n()print(1 . 2);eout<< ” ” :print(3 , 4);A) 1 . 2 34B) 2 . 2 34C) 1 . 2 43D) 2 . 2 43F列不是訪問控制(27) 對(duì)類成員訪問權(quán)限的控制,是通過設(shè)置成員的訪問控制屬性實(shí)現(xiàn)的,屬性的是()。A) 公有類型B) 私有類型C)保護(hù)類型D)友元類型

12、(28)在類的定義中,用于為對(duì)象分配內(nèi)存空間,對(duì)類的數(shù)據(jù)成員進(jìn)行初始化并執(zhí)行其他內(nèi)部管理操作的函數(shù)是()。A)友元函數(shù)B)虛函數(shù)C)構(gòu)造函數(shù)D)析構(gòu)函數(shù)(29)類的析構(gòu)函數(shù)的作用是()。A)一般成員函數(shù)的初始化B)類的初始化C)對(duì)象的初始化D)刪除類創(chuàng)建的對(duì)象(30)下列說法正確的是()。A)內(nèi)聯(lián)函數(shù)在運(yùn)行時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方B)內(nèi)聯(lián)函數(shù)在編譯時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方c)類的內(nèi)聯(lián)函數(shù)必須在類體內(nèi)定義D)類的內(nèi)聯(lián)函數(shù)必須在類體外通過加關(guān)鍵字inline定義(31)下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是()。A)靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進(jìn)行初始化B)靜

13、態(tài)數(shù)據(jù)成員不可以被類的對(duì)象調(diào)用c)靜態(tài)數(shù)據(jù)成員不能受private控制符的作用D)靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用(32)下面對(duì)于友元函數(shù)描述正確的是()。A)友元函數(shù)的實(shí)現(xiàn)必須在類的內(nèi)部定義B)友元函數(shù)是類的成員函數(shù)c)友元函數(shù)破壞了類的封裝性和隱藏性D)友元函數(shù)不能訪問類的私有成員(33)在公有派生情況下,有關(guān)派生類對(duì)象和基類對(duì)象的關(guān)系,下列敘述不正確的是()。A)派生類的對(duì)象可以賦給基類的對(duì)象B)派生類的對(duì)象可以初始化基類的引用C)派生類的對(duì)象可以直接訪問基類中的成員D)派生類的對(duì)象的地址可以賦給指向基類的指針(34)下面程序的運(yùn)行結(jié)果為()。#include<iostream. h

14、>class Apublic :A()tout<< ” 1 ”; A()tout<< ” 2 ”; ;class B : public Apublic :B()cout<< ” 3 ”; B()cout<< ” 4 ”; ;void mai n()B b ;A) 1234B) 1324C) 1342D) 3142(35) 下列關(guān)于虛基類的描述,錯(cuò)誤的是()。A) 設(shè)置虛基類的目的是為了消除二義性B) 虛基類的構(gòu)造函數(shù)在非虛基類之后調(diào)用C) 若同一層中包含多個(gè)虛基類,這些虛基類的構(gòu)造函數(shù)按它們說明的次序調(diào)用D) 若虛基類由非虛基類派生而來,則

15、仍然先調(diào)用基類構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù)(36) 下列關(guān)于多態(tài)性的描述,錯(cuò)誤的是()。A) c+語(yǔ)言中的多態(tài)性分為編譯時(shí)的多態(tài)性和運(yùn)行時(shí)的多態(tài)性B) 編譯時(shí)的多態(tài)性可通過函數(shù)重載實(shí)現(xiàn)C) 運(yùn)行時(shí)的多態(tài)性可通過模板和虛函數(shù)實(shí)現(xiàn)D) 實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的機(jī)制稱為動(dòng)態(tài)綁定(37) 下列運(yùn)算符中,在C+語(yǔ)言中不能重載的是()。A) *B) >=C) :D) /(38) 當(dāng)使用fstream流類定義一個(gè)流對(duì)象并打開一個(gè)磁盤文件時(shí),文件的隱含打開方式為( )。A) ios : inB) ios : : OutC) ios : : in I ios : : OutD) 以上都不對(duì)(39) 下列程序

16、的運(yùn)行結(jié)果是()。#include<iostream. h>class Aint a ;public :A()a=0 ; A(int aa)a=aa ;cout<<a+ :;void mai n()A X , Y(2) , z(3);cout<<e ndlA) 00B) 23C) 34D) 25(40) 下面程序的輸出結(jié)果是()。#include<iostreanl. h>class exampleint a ;public :example(int b)a=b+; void print()a=a+1; eout<<a<<

17、 ”; void print()constcout<<a<<"”; ;void mai n()example x(3);const example Y(2);x. print();Y. print();A) 2 2B) 4 3C) 4 2D) 3 2二、基本操作題(共18分)請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾 projl下的工程projl,該工程中包含 程序文件ma in . epp,其中有類Door("門”)和主函數(shù)mai n的定義。程序中位于每個(gè)"/ / ERROR*found* ”之后的一行語(yǔ)句有錯(cuò)誤,請(qǐng)加以改正。改正后程序

18、的輸出結(jié)果應(yīng)為:打開503號(hào)門門是鎖著的,打不開。打開503號(hào)門的鎖鎖開了。打開503號(hào)門門打開了。打開503號(hào)門門是開著的,無須再開門。鎖上503號(hào)門先關(guān)門.門鎖上了。注意:只修改每個(gè)"/ ERROR*fo und *”下的那一行,不要改動(dòng)程序中的其他內(nèi)容。#in clude<iostream>using n amespace std ;class Doorint Bum ;/門號(hào)bool closed ; / true 表示門關(guān)著bool locked : / true 表示門鎖著 public :Door(i nt nH m)/ ERROR*found*nun=th

19、is 一 >ann closed=locked=true bool isClosed()constrehlrn closed ; /門關(guān)著時(shí)返回true,否則返回falsebool isOpened()constreturn!closed; /門開著時(shí)返回true,否則返回falseb001 isLocked()constretum locked; /門鎖著時(shí)返回true,否則返回falsebool isUnlocked()constreturn!locked; /門未鎖時(shí)返回true,否則返回falsevoid ope n()/開門cout<<e ndl<<”

20、打開” <<nnm<<”號(hào)門./ ERROR*found*if(closed)cout<< ”門是開著的,無須再開門?!?;else if(10cked)cout<< ”門是鎖著的,打不開?!保籩lseclosed=false ;eout<< ”門打開了。”;void close() /關(guān)門cout<<endl<<” 關(guān)上” <<num<< ”號(hào)門”;if(closed)cout<< ”門是關(guān)著的,無須再關(guān)門?!?;elseclosed=true ;cout<< ”門

21、關(guān)上了*/ ERROR*found*void lock()co nst/鎖門cout<<endl<< ” 鎖上” <<num<< ”號(hào)門”;if(locked)cout<< ”門是鎖著的,無須再鎖門。elseif(!closed)cout<< ”先關(guān)門.”;closed=true ;locked=truecout<< ”門鎖上了?!保粀ild unl ock() /開鎖cout<<endl<<”開” <<num<< ”號(hào)門的鎖.if(!locked)cout<

22、;< ”門沒有上鎖,無須再開鎖。elselocked=false ;cout<< ”鎖開了。” ;int mai n()Door door(503);door . open();door .uniock();door .open();door .open();floor .10ck();return 0;三、簡(jiǎn)單應(yīng)用題(共24分)請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,該工程中包含一個(gè)程序文件 ma in . cpp,其中有日期類 Date、人員類Person及排序函數(shù)sortByName 和主函數(shù)main的定義。請(qǐng)?jiān)诔绦蛑械臋M線處填寫適當(dāng)?shù)?/p>

23、代碼并刪除橫線,以實(shí)現(xiàn)上述類定義和函數(shù)定義。此程序的正確輸出結(jié)果應(yīng)為:按姓名排序排序前:張三男 出生日期:1978年4月20日王五女出生日期:1965年8月3日楊六女出生日期:1965年9月5日李四男 出生日期:1973年5月30日排序后:李四 男出生日期:1973年5月30日王五 女出生日期:1965年8月3日楊六 女出生日期:1965年9月5日張三 男 出生日期:1978年4月20日“/注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動(dòng)程序中的其他內(nèi)容,也不要?jiǎng)h除或移動(dòng)/*found*”。#in clude<iostream>using n amespace std;class Dat

24、e /日期類int year , month , day ; /年、月、public :Date(int year , int month , int day):year(year) , mon th(m on th), day(day)int getYear()c on stretur n yearint getMo nth()con streturn monthint getDay()c on stretur n dayclass Perso n/人員類char name14 ; /姓名bool is male ; /性別,為true時(shí)表示男性Date birth date ; /出生日期

25、public :Person(char*name, bool is male , Date birth_date) / *found*strcpy(this 一 >name , name);const char * getName()c on stretur n n amebool isMale()c on stretur n ismale ; Date getBirthdate()c on stretur n birthdate/利用strcmp()函數(shù)比較姓名,返回一個(gè)正數(shù)、0或負(fù)數(shù),分別表示大于、等于、小于int compareName(c onst Person&p)c

26、onst/ *found*void show()cout<<e ndlcout< <n ame<<” <<(is_male? ”男”:”女”)<< ” << ”出生日期:” <<birthdate . getYear()<<”年”/顯示出生年/ *fo und*/顯示出生月<<“birth date . getDay()<< ” 日”;/顯示出生日void sortByName(Person ps , int size)/將人員數(shù)組按姓名排列為升序for(int i=0; i

27、<size 一 1 ; i+)/采用選擇排序算法int m=i ;for(int j=i+1; j<size ; j+)if(ps j. eompareName(psm)<0) m=j ;if(m>i)Pers on P=psm;psm=psi;psi=p ;int mai n()Person staff=Person( ” 張三”,true , Date(1978 , 4, 20),Person( ” 王五” ,false , Date(1965 , 8 , 3),Person( ” 楊六” ,false , Date(1965 , 9 , 5),Person( ”

28、李四” ,tme , Date(1973 , 5, 30)const int size=sizeof(staff) / sizeof(staff0) ; for(i=0 ; i<size ; i+)staffi . show(); sortByName(staff , size);int i ;eout<<e ndl<<cout<<e ndl<<按姓名排序”;排序前:”;cout<<endl<<endl<<”排序后:”;for(i_0 ; i<size ; i+)staffi . show(); c

29、out<<e ndlreturn 0 ;四、綜合應(yīng)用題(共18分)請(qǐng)使用VC6或使用【答題】菜單打開考生文件夾proj3下的工程proj3,其中包含了類IntegerSet 和主函數(shù) main的定義。一個(gè)IntegerSet 對(duì)象就是一個(gè)整數(shù)的集合,其中包 含0個(gè)或多個(gè)無重復(fù)的整數(shù);為了便于進(jìn)行集合操作,這些整數(shù)按升序存放在成員數(shù)組elem的前若干單元中。成員函數(shù)add的作用是將一個(gè)元素添加到集合中(如果集合中不存在該元素),成員函數(shù)remove 從集合中刪除指定的元素(如果集合中存在該元素)。請(qǐng)編寫成員函 數(shù)remove。在ma in函數(shù)中給出了一組測(cè)試數(shù)據(jù),此時(shí)程序的正確輸出結(jié)

30、果應(yīng)為:2 3 4 527 283166 752 3 4 56 27 28 31 56 752 3 4 5619 27 28 3166 753 4 5 619 27 28 3166 753 4 5 619 27 28 3166 75要求:補(bǔ)充編制的內(nèi)容寫在“*333*之間,不得修改程序的其他部分。注意:程序最后將結(jié)果輸出到文件out . dat中。輸出函數(shù)writeToFile已經(jīng)編譯為obj文件,并且在本程序中調(diào)用。/ IntegorSet . h#ifndef INTEGERSET#defi ne INTEGERSET#in clude<iostream>using n ame

31、space std;const int MAXELEMENTS=100 ;/集合最多可擁有的元素個(gè)數(shù)class In tegerSetint elemMAXELEMENTS ;/用于存放集合元素的數(shù)組in t cou nter ;/用于記錄集合中元素個(gè)數(shù)的計(jì)數(shù)器puhlic :IntegerSet() : counter(O)/創(chuàng)建一個(gè)空集合IntegerSet(int data, int size);/利用數(shù)組提供的數(shù)據(jù)創(chuàng)建一個(gè)整數(shù)集合void add(i nt eleme nt);/添加一個(gè)元素到集合中void remeve(i nt eleme nt) ;/刪除集合中指定的元素int g

32、etCount()constreturn counter; /返回集合中元素的個(gè)數(shù)int getElement(int i)constretum elemi; /返回集合中指定的元素void show()c onst;;void WriteToFile(char*) ;#en dif/ main . cpp#include ” IntegerSet . h ”#i nclude<i nman ip>IntegerSet : : IntegerSet(int data, int size) : counter(0)for(int i=0; i<size ; i+)add(dat

33、ai);void IntegerSet : add(int element)int j ;/從后往前尋找第一個(gè)小于等于eleme nt的元素for( j=counter; j>0 ; j-)if(element>=elemj 1)break ;/如果找到的是等于eleme nt的元素,說明要添加的元素已經(jīng)存在,直接返回if(j>0)if(eleme nt=elemj-1)return;/如果找到的是小于element的元素,j就是要添加的位置/該元素及其后面的元素依次后移,騰出插入位置for(i nt k=co un ter;k>j ; k 一)elemk=elemk一

34、 1;elem j=element;/將element插入到該位置coun ter+;/計(jì)數(shù)器加1void In tegerSet:remove(int element)*333*/*666*void IntegerSet : show()constfor(int i=0; ivgetCount(); i+) cout<<setw(4)<<getEleme nt(i) cout<<e ndlint mai n()int d=5, 28, 2, 4, 5, 3, 2, 75, 27, 66 , 31;In tegerSet S(d ,11);S. show()

35、;S.add(6);s.show();S.add(19);S.show();S.remove(2);s.show();S. add(4) ; S. show(); writeToFile( ” );return 0 ;無紙化真考題庫(kù)試卷(6)、選擇題(1) A【解析】棧是先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),所以棧頂元素最后入棧卻最先被刪除。棧底元素最先人棧卻最后被刪除。所以選擇A。(2) C【解析】棧是先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),在整個(gè)過程中,棧底指針不變,入棧與出棧操作均由棧頂指針的變化來操作,所以選擇(3)D【解析】根據(jù)二叉樹的基本性質(zhì)為2的結(jié)點(diǎn)多一個(gè),所以本題中度為3 :在任意一棵二叉樹中,度為0的葉子結(jié)點(diǎn)總比

36、度2的結(jié)點(diǎn)為1-1=0個(gè),所以可以知道本題目中的二叉樹的每一個(gè)結(jié)點(diǎn)都有一個(gè)分支,所以共7個(gè)結(jié)點(diǎn)共7層,即度為7。(4) A【解析】軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件、支撐軟件。操作系統(tǒng)、編譯程 序、匯編程序、網(wǎng)絡(luò)軟件、數(shù)據(jù)庫(kù)管理系統(tǒng)都屬于系統(tǒng)軟件。所以B、C、D都是系統(tǒng)軟件, 只有A是應(yīng)用軟件。(5) B【解析】1966年Boehm和Jacopini證明了程序沒計(jì)語(yǔ)言僅僅使用順序、選擇和重復(fù)三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。(6) A【解析】詳細(xì)設(shè)計(jì)的任務(wù)是為軟件結(jié)構(gòu)圖中而非總體結(jié)構(gòu)圖中的每一個(gè)模塊確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)

37、的細(xì)節(jié),所以A錯(cuò)誤。(7) C【解析】數(shù)據(jù)定義語(yǔ)言:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱語(yǔ)言: 負(fù)責(zé)數(shù)據(jù)的操縱,包括查詢及增、刪、改等操作;數(shù)據(jù)控制語(yǔ)言:負(fù)責(zé)數(shù)據(jù)完整性、安全性 的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。(8) D【解析】因?yàn)橐粋€(gè)教師可講授多門課程,而一門課程又能由多個(gè)老師講授,所以他們之問是多對(duì)多的關(guān)系,可以表示為m: n。(9) D【解析】關(guān)系T中的元組是關(guān)系 R中有而關(guān)系s中沒有的元組的集合,即從關(guān)系R中除去與關(guān)系s中相同元組后得到的關(guān)系T。所以做的是差的運(yùn)算。(10) B【解析】只有 B選項(xiàng)中369可以用無符號(hào)整數(shù)來表示和存儲(chǔ)。A選項(xiàng)中一 369有負(fù)號(hào),選項(xiàng)

38、C中0 369是小數(shù)都不能用無符號(hào)整數(shù)類存儲(chǔ)。選項(xiàng)D是一個(gè)整數(shù)集合得用數(shù)組來存儲(chǔ)。(11) D【解析】C+語(yǔ)言最重要的特點(diǎn)是其為一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,但是C+語(yǔ)言也包含了 C語(yǔ)壽的全部特征。(12) A【解析】標(biāo)識(shí)符是一個(gè)以字母或下畫線開始的,由字母、下畫線和數(shù)字組成的字符串,標(biāo)識(shí)符不能與任意關(guān)鍵字同名。(13) C【解析】由算術(shù)運(yùn)算符組成的表達(dá)式中,若含有不同類型的操作數(shù),則系統(tǒng)隱含地將低類型轉(zhuǎn)化為高類型,由低至高的順序?yàn)閕nt t float t double 。(14) B【解析】*P為所指對(duì)象a的值,語(yǔ)句"b=+a+ ;等價(jià)于"b=b+a ; a=a+1 ;

39、”。(15) C【解析】在進(jìn)入最后一次循環(huán)時(shí)a=10,在循環(huán)體內(nèi)執(zhí)行“ a+ ; ”后a=11 ,執(zhí)行完該次循環(huán)體計(jì)算for循環(huán)的增量部分后 a=12小于10,循環(huán)結(jié)束。(16) D【解析】選項(xiàng) A中for循環(huán)可以用于循環(huán)次數(shù)不確定的情況;選項(xiàng) 8中for循環(huán)是 先判斷表達(dá)式,后執(zhí)行循環(huán)體語(yǔ)句; 選項(xiàng)c中for循環(huán)可以用break語(yǔ)句跳出循環(huán)體,從而 接著執(zhí)行循環(huán)體后面的語(yǔ)句。(17) B【解析】P表示的是變量a的地址,定義后*P表示的是變量a的值。(18) D【解析】x數(shù)組共有10個(gè)元素,在花括號(hào)內(nèi)只提供3個(gè)初值,這表示只給前面的3個(gè)成員賦值,后7個(gè)元素的值為0,所以,一共有20個(gè)字節(jié)。(1

40、9) B【解析】本題考查的是基本循環(huán)語(yǔ)句的使用,選項(xiàng) A,選項(xiàng)C和選項(xiàng)D都為正確的 形式,在選項(xiàng)B中的while(a<=10) 后缺少結(jié)束符分號(hào)“;”。(20) A【解析】本題考查的是字符數(shù)組的初始化。選項(xiàng)B中用3個(gè)庀素初始化大小為 2的數(shù)組,越界了;選項(xiàng) c中應(yīng)該是2行3列的數(shù)組,題中使用 3行2列初始化;選項(xiàng) D中數(shù) 組合后應(yīng)用方括號(hào)。(21) B【解析】本題主要考查的是指針數(shù)組和指向指針的指針之間的關(guān)系,其中a是指針數(shù)組,pa是指向指針數(shù)組行的指針,所以pa自加I相當(dāng)于指向下一行。(22) D【解析】C+語(yǔ)言中,在定義該函數(shù)時(shí)所指定的數(shù)據(jù)類瓔決定函數(shù)的返回值類型。(23) B【解析

41、】本題考查函數(shù)中變量的作用范圍,在主函數(shù)中給變餐x、Y、Z賦值,然后將其作為實(shí)參傳遞給了函數(shù)fun(),雖然在函數(shù)fun()中改變了這3個(gè)變量的值,但只是同名的局部變量,不影響函數(shù)中變量的值,所以在調(diào)用函數(shù)fun()結(jié)束后,主函數(shù) 3個(gè)變量的值未改變。(24) D【解析】在 C+語(yǔ)言中,所有的函數(shù)都是平行的,即在定義函數(shù)時(shí)是互相獨(dú)立的, 一個(gè)函數(shù)并不從屬于另一個(gè)函數(shù),即函數(shù)不能嵌套定義,但可以互相調(diào)用。但是不能調(diào)用 main()函數(shù)。(25) B【解析】本題考查的是函數(shù)的調(diào)用,第一次調(diào)用min(2 ,3),因?yàn)?<3,所以返回值為2,第二次調(diào)用 min(1 ,2),因?yàn)閘<2,所以

42、返回1。(26) 1)【解析】本題考查的是對(duì)重載函數(shù)的掌握,因?yàn)?a是右結(jié)合的,所以 a先自加1再輸出,即為2 . 2,之后調(diào)用函數(shù) print(int a , int b) 輸出h和a,即43。(27) D【解析】所謂的訪問控制只包含公有類型、私有類型和保護(hù)類型3種,友元可以是一個(gè)函數(shù),也可以是一個(gè)類。(28) C【解析】構(gòu)造函數(shù)在創(chuàng)建對(duì)象時(shí)系統(tǒng)自動(dòng)調(diào)用,其功能是使用給定的值將對(duì)象初始化。(29) D【解析】析構(gòu)函數(shù)就是用來釋放對(duì)象的它的調(diào)用完成之后,對(duì)象也就消失了,相 應(yīng)的內(nèi)存空間也被釋放了。(30) B【解析】本題考查的是內(nèi)聯(lián)函數(shù)的定義,引入內(nèi)聯(lián)函數(shù)是為了解決程序中函數(shù)調(diào)用的效率問題,是

43、以目標(biāo)代碼的增加為代價(jià)換取時(shí)間的節(jié)??;一般函數(shù)在運(yùn)行時(shí)被調(diào)用,而調(diào)用的內(nèi)聯(lián)函數(shù)在編譯時(shí)就被替代了,如果不加in li ne關(guān)鍵字,則編譯器會(huì)將在類說明部分定義的任何函數(shù)都被認(rèn)定為內(nèi)聯(lián)函數(shù)。(31) D【解析】靜態(tài)數(shù)據(jù)成員必須在類體外初始化,它是類的所有對(duì)象的共有成員,需要使用類名調(diào)用,靜態(tài)數(shù)據(jù)成員的初始化與權(quán)限控制無關(guān)。(32) C【解析】友元函數(shù)的定義既可以在類內(nèi)部進(jìn)行,也可以在類外部進(jìn)行。它提高了程序 的運(yùn)行效率,但破壞了類的封裝性和隱藏性,使得類的非成員函數(shù)可以訪問類的私有成員。(33) C【解析】公有繼承的派生類和基類是子類型的關(guān)系, 所謂子類型是類型間一般和特殊 的關(guān)系,即派生類是基

44、類的子類型或者說基類的操作可以被用于操作派生類的對(duì)象。(34) C【解析】本題考查的是在繼承中構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序,應(yīng)該是先調(diào)用基類的構(gòu)造函數(shù),再調(diào)用派生類的構(gòu)造函數(shù),調(diào)用析構(gòu)函數(shù)時(shí)的順序是先調(diào)用派生類的析構(gòu)函數(shù), 后調(diào)用基類的析構(gòu)函數(shù)。(35) B【解析】虛基類的引入就是為 j-消除。二義性,其構(gòu)造函數(shù)的調(diào)用仍然是按照繼承的順序進(jìn)行的,對(duì)于多個(gè)虛基類則按它們說明的次序調(diào)用,虛基類的構(gòu)造函數(shù)先于非虛基類的構(gòu)造函數(shù)執(zhí)行。(36) C【解析】編譯時(shí)的多態(tài)性是通過函數(shù)重載和模板體實(shí)現(xiàn)的,運(yùn)行時(shí)的多態(tài)性是通過虛函數(shù)體實(shí)現(xiàn)的。(37) C【解析】不能被重載的運(yùn)算符還包括:*”、“->* ”和“ ?:”。(38) D【解析】使用fstream類建立文件流必須定義打開方式,否則編譯器無法判斷該文 件流是讀還是寫。(39) B【解析】本題考查的是對(duì)構(gòu)造函數(shù)的掌握,另外“ + ”運(yùn)算符是右結(jié)合的,所以在進(jìn)行輸出的時(shí)候都是先把原來的輸出后再自加I。(40) c【解析】“ + ”是右結(jié)合的,所以先賦值為3,最后輸出3+1 ;常成員函數(shù)只有常對(duì)象才能調(diào)用,所以輸出2。二、基本操作題【參考答案】(1) this >num=num;(2) if(!closed)(3) void lock()【考點(diǎn)分析】本題考查Door類,其中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論