版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
國家二級(C++)筆試模擬試卷22(共9套)(共436題)國家二級(C++)筆試模擬試卷第1套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、下列有關(guān)繼承和派生的敘述中,正確的是A)派生類不能訪問基類的保護(hù)成員B)作為虛基類的類不能被實(shí)例化C)派生類應(yīng)當(dāng)向基類的構(gòu)造函數(shù)傳遞參數(shù)D)虛函數(shù)必須在派生類中重新實(shí)現(xiàn)A、
B、
C、
D、
標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析2、以下模板定義:template<classT>Tfun(Tx,Ty){returnx*x+y*y;}下面對fun的調(diào)用中錯(cuò)誤的是()。A、fun<int>(2,6.5)B、fun(2,6.5)C、fun<>(2,6)D、fun(2,6)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析3、從工程管理角度,軟件設(shè)計(jì)一般分為兩步完成,它們是A、概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)B、數(shù)據(jù)設(shè)計(jì)與接口設(shè)計(jì)C、軟件結(jié)構(gòu)設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)D、過程設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:從工程管理的角度,軟件設(shè)計(jì)可分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩大步驟。概要設(shè)計(jì)是根據(jù)需求確定軟件和數(shù)據(jù)的總體框架;詳細(xì)設(shè)計(jì)是將其進(jìn)一步簡化成軟件的算法或表示和數(shù)據(jù)結(jié)構(gòu)。而在技術(shù)上,概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)又由若干活動(dòng)組成,包括總體結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)和過程設(shè)計(jì)。因此,本題的正確答案是A。4、有如下程序:#include<iostream>usingnamespacestd:classA{public:virtualvoidfuncl(){cout<<"A1";}voidfunc2(){cout<<"A2";}};classB:publicA{public:voidfuncl(){cout<<"B1";}voidfllnc2(){cout<<"B2";}};intmain(){A*p=newB;p->funcl();p->func2();return0:}運(yùn)行程序,屏幕上將顯示輸出A、B182B、A1A2C、BlA2D、AlB2標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:基類指針可以指向派生類對象,但是指針只能訪問繼承自基類的成員,而不能訪問派生類中的新增加成員或重新定義后的成員。故p->funcl();p->func2();都執(zhí)行基類的成員函數(shù),打印A1A2。5、A、
B、
C、
D、
標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析6、單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為()。A、外模式B、概念模式C、內(nèi)模式D、存儲模式標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為外模式。7、以下關(guān)于外碼和相應(yīng)的主碼之間的關(guān)系,正確的是_______。A、外碼并不一定要與相應(yīng)的主碼同名B、外碼一定要與相應(yīng)的主碼同名C、外碼一定要與相應(yīng)的主碼同名而且唯一D、外碼一定要與相應(yīng)的主碼同名,但并不一定唯一標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:暫無解析8、若結(jié)點(diǎn)的存儲地址與其關(guān)鍵字之間存在某種映射關(guān)系,則稱這種存儲結(jié)構(gòu)為______。A、順序存儲結(jié)構(gòu)B、鏈?zhǔn)酱鎯Y(jié)構(gòu)C、索引存儲結(jié)構(gòu)D、散列存儲結(jié)構(gòu)標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:暫無解析9、下列說法中錯(cuò)誤的是()。A、公有繼承時(shí)基類中的public成員在派生類中仍是public的B、公有繼承時(shí)基類中的private成員在派生類中仍是private的C、私有繼承時(shí)基類中的public成員在派生類中是private的D、保護(hù)繼承時(shí)基類中的public成員在派生類中是protected的標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:暫無解析10、對建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是()。A、程序應(yīng)簡單、清晰、可讀性好B、符號的命名只要符合語法C、充分考慮程序的執(zhí)行效率D、程序的注釋可有可無標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:本題涉及程序的編程風(fēng)格,考生應(yīng)該掌握一些基本的良好編程風(fēng)格。符號的命名不僅要符合語法,應(yīng)有一定實(shí)際意義,且盡量簡潔。除非對效率有特別要求,程序編寫要做到清晰第一,效率第二。必須要有必要的注釋。二、選擇題(本題共25題,每題1.0分,共25分。)11、在進(jìn)行了任何C++流的操作后,都可以用C++流的有關(guān)成員函數(shù)檢測流的狀態(tài),其中只能用于檢測剛進(jìn)行的操作是否失敗函數(shù)名是A、failB、eofC、badD、good標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:C++中可以用文件流對象的下列成員函數(shù)來判別文件流的當(dāng)前狀態(tài)。函數(shù)is_open()判定流對象是否與一個(gè)打開的文件相聯(lián)系,若是,返回true,否則返回false;函數(shù)good()剛進(jìn)行的操作成功時(shí)返回true,否則返回false;函數(shù)fail()與good()相反,剛進(jìn)行的操作失敗時(shí)返回true,否則返回false;函數(shù)bad()如果進(jìn)行了非法操作返回true,否則返回false;函數(shù)eof()進(jìn)行輸入操作時(shí),若到達(dá)文件尾返回true,否則返回false。其中,eof函數(shù)只能用于輸入流操作。12、在下面的類定義中,橫線處應(yīng)填入的內(nèi)容是classFred{public:voidprint(){cout<<data<<end1;}voidsetData(doubleD){data=d;staticintcount;private:doubledata;};______count=0;//靜態(tài)數(shù)據(jù)成員的定義A、intB、staticintC、intFred::D、staticintFred::標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考核靜態(tài)數(shù)據(jù)成員的定義。題中數(shù)據(jù)成員count被定義成了靜態(tài)的,其初始化的格式為:<類型><類名>::靜態(tài)數(shù)據(jù)成員=常量值;,所以橫線處應(yīng)填入的為“intFred”。13、有如下程序:#include<iostream>usingnamespacestd;intmain(){cout.fill(’*’);cout.width(6);cout.fill(’#’);cout<<123<<end1;return0;}執(zhí)行后的輸出結(jié)果是A、###123B、123###C、***123D、123***標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考核I/O的格式化輸出。語句“cout.fill(’*’);”表示填充字符為‘*’,并且一直有效,直到再次設(shè)置填充字符為止。語句“cout.width(6);”用來設(shè)置輸入輸出寬度,當(dāng)實(shí)際數(shù)據(jù)寬度小于指定的寬度時(shí),多余的位置用填充字符填滿;當(dāng)實(shí)際數(shù)據(jù)的寬度大于設(shè)置的寬度時(shí),仍按實(shí)際的寬度輸出。語句“cout.fill(’#’);”表示將填充字符改為‘#’(即把之前設(shè)置的‘#’改為‘#’),由于數(shù)據(jù)“123”的實(shí)際寬度小于6,由于輸出的初始狀態(tài)為在輸出寬度內(nèi)右對齊,所以前面將會有3個(gè)填充字符‘#’。14、已知n是一個(gè)int型變量,下列語句中錯(cuò)誤的是()。A、long*p=newlong[n];B、longp[n];C、long*p=newlong(n);D、longp[10];標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:此題考查的是數(shù)組、指針及關(guān)鍵字new。說明一維數(shù)組的一般形式是:數(shù)組類型數(shù)組名[數(shù)組長度];其中數(shù)組長度必須是整型常量或常量表達(dá)式。選項(xiàng)B)中,n是一個(gè)變量,不能做數(shù)組的長度,故選項(xiàng)B)錯(cuò)誤;其他選項(xiàng)均正確。15、下列有關(guān)類和對象的敘述不正確的是A、任何一個(gè)對象都?xì)w屬于一個(gè)具體的類B、類與對象的關(guān)系和數(shù)據(jù)類型與變量的關(guān)系相似C、類的數(shù)據(jù)成員不允許是另一個(gè)類的對象D、一個(gè)類可以被實(shí)例化成多個(gè)對象標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:對象是類的實(shí)例,類的成員可以是其他類的對象。那么在該類實(shí)例化的時(shí)候,必須保證其他類的對象已經(jīng)生成,否則將會出現(xiàn)錯(cuò)誤。16、有如下程序:#include<iostream>usingnamespacestd;ClassA{public:A(){cout<<“A”;}~A(){cout<<“~A”;}};A*p;public:B(){cout<<“B”;p=newA;}~B(){cout<<“~B”;deletep;}};Bobj;return0;)執(zhí)行這個(gè)程序的輸出結(jié)果是(A、BAA~A~B~AB、ABA~B~A~AC、BAA~B~A~AD、ABA~A~B~A標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查的是類的構(gòu)造函數(shù)和析構(gòu)函數(shù)。派生類構(gòu)造函數(shù)的執(zhí)行順序:首先調(diào)用基類的構(gòu)造函數(shù),調(diào)用順序按它們被繼承時(shí)說明的順序;然后調(diào)用予對象的構(gòu)造函數(shù),調(diào)用順序按它們在類中說明的順序,最后是派生類構(gòu)造函數(shù)中的內(nèi)容。因此本題中,首先調(diào)用基類構(gòu)造函數(shù)輸出A,然后調(diào)用于對象的構(gòu)造函數(shù)輸出B,p=newA再調(diào)用類A的構(gòu)造函數(shù)輸出A;析構(gòu)函數(shù)的調(diào)用順序和構(gòu)造函數(shù)的調(diào)用順序相反。17、下列程序的運(yùn)行結(jié)果是#include<iostream.h>classA{inta;public:A(){a=0;}A(intaa){a=aa;cout<<a++;}};voidmain()Ax,y(2),z(3);cout<<endl;}A、00B、23C、34D、25標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:本題考查的是對構(gòu)造函數(shù)的掌握,另外“++”運(yùn)算符是右結(jié)合的,所以在進(jìn)行輸出的時(shí)候都是先把原來的輸出后再自加1。18、下列關(guān)于虛函數(shù)與函數(shù)重載區(qū)別的敘述中不正確的是()。A、函數(shù)說明形式上不同B、函數(shù)重載允許是非成員函數(shù),虛函數(shù)只能是成員函數(shù)C、函數(shù)重載的調(diào)用依據(jù)參數(shù)和類型的差別,虛函數(shù)則依據(jù)對象D、函數(shù)重載的本體可以在類外定義,虛函數(shù)不可以標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:A項(xiàng),B項(xiàng),C項(xiàng)均為虛函數(shù)與函數(shù)重載的不同之處。但有一點(diǎn)它們是相同的:在類內(nèi)外定義均可。故D項(xiàng)錯(cuò)誤。19、有如下程序:#include<iostream)usingnamespacestd;classBase{public:Base(intx=0){cout<<x;}};ClassDerived:publicBase{public:Derived(intx=0){cout<<x;}private:BaseVal;};intmain(){Derivedd(1);returnA、100B、000C、010D、001標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查的知識點(diǎn)是:類的構(gòu)造。建立一個(gè)類的對象時(shí),構(gòu)造函數(shù)的執(zhí)行順序如下:①執(zhí)行基類的構(gòu)造函數(shù),調(diào)用順序按照各個(gè)基類被繼承時(shí)聲明的順序(自左向右);②執(zhí)行成員對象的構(gòu)造函數(shù),調(diào)用順序按照各個(gè)成員對象在類中聲明的順序(自上而下):③執(zhí)行自身的構(gòu)造函數(shù)。本題Derived類繼承于Base類,所以首先會構(gòu)造基類Base,但Derived類的構(gòu)造函數(shù)沒有初始化列表,所以將調(diào)用Base類的默認(rèn)構(gòu)造函數(shù),輸出一個(gè)0。接下來由于它的成員中還定義了一個(gè)Base類的對象,而構(gòu)造函數(shù)也沒有顯示初始化這個(gè)對象,所以再次調(diào)用20、下面程序的功能是把316表示為兩個(gè)加數(shù)的和,使兩個(gè)加數(shù)分別能被13和11整除,在下畫線處應(yīng)填入的選項(xiàng)是#include<iostream.h>Voidmain(){inti=0,j,k;do{i++;k=316-13*i;}while(____);j=k/11;cout<<"316=13*"<<i<<"+11*"<<j;}A、k/11B、k%11C、k/11=0D、k%11=0標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:do…while語句的一般形式是do{語句}while(表達(dá)式);特點(diǎn)是:“直到型”循環(huán)結(jié)構(gòu)。先執(zhí)行一次“語句”,判“表達(dá)式”,當(dāng)“表達(dá)式”為非0,再執(zhí)行“語句”,直到“表達(dá)式”的值為0時(shí)停止執(zhí)行語句。在一般情況下,用while和do…while語句解決同一問題時(shí),若二者的循環(huán)體部分是一樣的,它們的結(jié)果也一樣。但當(dāng)while后面的“表達(dá)式”一開始就為“假”時(shí),兩種循環(huán)的結(jié)果不同。這是因?yàn)榇藭r(shí)while循環(huán)的循環(huán)不被執(zhí)行,而do…while循環(huán)的循環(huán)體被執(zhí)行一次。本題的關(guān)鍵是兩個(gè)加數(shù)分別能被13和11整除,在i=0時(shí),直接將316賦值給k,當(dāng)k%11的值為0時(shí),則不必執(zhí)行循環(huán),將執(zhí)行j=k/11語句,輸出結(jié)果,所以該表達(dá)式合理的條件是k%11。21、有如下程序:#includeusingnamespacestd;classTestClass{intn;public:TestClass(intk):n(k){}intget(){returnn;}intget()const{returnn+1;}};intmain(){TestClassp(5);constTestClassq(6);cout<A、55B、57C、75D、77標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:C++中對常對象的成員函數(shù)調(diào)用,將自動(dòng)調(diào)用其常成員函數(shù),程序中調(diào)用原型為“intget()const;“”的函數(shù),對于非常對象將調(diào)用原型為“intget();”的函數(shù)。因?yàn)槭紫扔?對對象p進(jìn)行了初始化,所以執(zhí)行p.get()時(shí)直接返回5,而對于常對象則以6對q進(jìn)行初始化,在調(diào)用q.get()時(shí),將調(diào)用原型為“intgetoconst;”的函數(shù),該函數(shù)將返回n+1,第二個(gè)輸出應(yīng)為7,所以本題答案為57。22、下列關(guān)于C++流的說明中,正確的是()。A、與鍵盤、屏幕、打印機(jī)和通信端口的交互都可以通過流類來實(shí)現(xiàn)B、從流中獲取數(shù)據(jù)的操作稱為插入操作,向流中添加數(shù)據(jù)的操作稱為提取操作C、cin是一個(gè)預(yù)定義的輸入流類D、輸出流有一個(gè)名為open的成員函數(shù),其作用是生成一個(gè)新的流對象標(biāo)準(zhǔn)答案:1知識點(diǎn)解析:暫無解析23、內(nèi)部格式控制操作函數(shù)是在頭文件()中定義的。A、iostream.hB、iomanip.hC、istream.hD、ostream.h標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:暫無解析24、在說明一個(gè)結(jié)構(gòu)體變量時(shí),系統(tǒng)分配給它的存儲空間是()。A、該結(jié)構(gòu)體中第一個(gè)成員所需的存儲空間B、該結(jié)構(gòu)體中最后一個(gè)成員所需的存儲空間C、該結(jié)構(gòu)體中占用最大存儲空間的成員所需的存儲空間D、該結(jié)構(gòu)體中所有成員所需存儲空間的總和標(biāo)準(zhǔn)答案:8知識點(diǎn)解析:暫無解析25、假定MyClass為一個(gè)類,則該類的拷貝初始化構(gòu)造函數(shù)的聲明語句為()。A、MyClass&(MyClassx);B、MyClass(MyClassx)C、MyClass(MyClass&x);D、MyClass(MyClass*x)標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:暫無解析26、對于while、do…while循環(huán)結(jié)果說法正確的是______。A、只是表達(dá)形式不同B、do…while結(jié)構(gòu)中的語句至少執(zhí)行—坎C、while結(jié)構(gòu)中的語句至少執(zhí)行一次D、條件成立時(shí),他們有可能一次也不執(zhí)行標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:暫無解析27、下列定義中,x是一個(gè)類,______是定義指向?qū)ο髷?shù)組的指針p。A、X*p[4]B、X(*p)[4]C、(X*)p[4]D、X*p[]標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:暫無解析28、下述關(guān)于break語句的描述中,()是不正確的。A、break語句可用于循環(huán)體內(nèi),它將退出該重循環(huán)B、break語句可用于switch語句中,它將退出switch語句C、break語句可用于對體內(nèi),它將退出if語句D、break語句在一個(gè)循環(huán)體內(nèi)可以出現(xiàn)多次標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:暫無解析29、下列關(guān)于析構(gòu)函數(shù)的描述中,錯(cuò)誤的是()。A、類中有且僅有一個(gè)析構(gòu)函數(shù)B、析構(gòu)函數(shù)可以有形參C、析構(gòu)函數(shù)沒有函數(shù)類型D、析構(gòu)函數(shù)對象消失時(shí)被自動(dòng)執(zhí)行標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:暫無解析30、下列程序輸出的結(jié)果是()。#include<stdio.h>sub1(chara,charb){charc:c=a:a=b:b=c;}sub2(char*a,charb){charc:c=*a;”a=b;b=c;}sub3(char*a,char*b){charc;c=*a;”a=*b;*b=c;}voidmain(){chara,b;a=’A’;b=’B’:sub1(a,b);putchar(a):putchar(b):a=’A’;b=’B’;sub2(&a,b);putchar(a);putchar(b);a=’A’;b=’B’;sub3(&a,&b);putchar(a);putchar(b);putchar(’\n’);}A、ABABABB、ABBBBAC、ABBABAD、ABABBA標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:暫無解析31、在C++中,打開一個(gè)文件,就是將這個(gè)文件與一個(gè)()建立關(guān)聯(lián),關(guān)閉一個(gè)文件,就是取消這種關(guān)聯(lián)。A、類B、流C、對象D、結(jié)構(gòu)標(biāo)準(zhǔn)答案:2知識點(diǎn)解析:暫無解析32、有以下程序main(intargc,chara*argv[]){intn,i=0;while(argv[1][i]!=’\0’){n=fun();i++;}cout<<n*argc<<endl;}intfun(){s=0;s+=1;returns;}假設(shè)程序經(jīng)編譯、連接后生成可執(zhí)行文件exam.exe,若鍵入以下命令行exam123<回車>則運(yùn)行結(jié)果為A、6B、8C、3D、4標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考察靜態(tài)變量的使用規(guī)則??忌枰⒁獾氖莝為靜態(tài)變量,每次進(jìn)入fun函數(shù)時(shí)s還保留使用原來的值,因此while循環(huán)將最終返回的是各位數(shù)之和,而argc表示參數(shù)的個(gè)數(shù),此處為1,因此正確答案為A。33、在C++語言程序中A、函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B、函數(shù)的定義和調(diào)用均可以嵌套C、函數(shù)的定義和調(diào)用均不可以嵌套D、函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:本題考查函數(shù)的定義,調(diào)用及其嵌套之間的關(guān)系。34、表示C++類中保護(hù)成員的關(guān)鍵字是()。A、publicB、privateC、virtualD、Rrotected標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:保護(hù)成員的語法。35、在語句cin>>data;中,cin是A、C++的關(guān)鍵字B、類名C、對象名D、函數(shù)名標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:本題考查的知識點(diǎn)是:預(yù)定義流對象。C++流有4個(gè)預(yù)定義的流對象,它們的名稱及與之聯(lián)系的I/0設(shè)備如下:cin標(biāo)準(zhǔn)輸入cout標(biāo)準(zhǔn)輸出cerr標(biāo)準(zhǔn)出錯(cuò)信息輸出clog帶緩沖的標(biāo)準(zhǔn)出錯(cuò)信息輸出故本題應(yīng)該選擇C。三、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5分。)36、在最壞情況下,堆排序需要比較的次數(shù)為______。標(biāo)準(zhǔn)答案:O(nlog2n)知識點(diǎn)解析:在最壞情況下,冒泡排序所需要的比較次數(shù)為n(n-1)/2;簡單插入排序所需要的比較次數(shù)為n(n-1)/2;希爾排序所需要的比較次數(shù)為O(n1.5個(gè));堆排序所需要的比較次數(shù)為O(nlog2n)。37、標(biāo)準(zhǔn)答案:成員初始化列表知識點(diǎn)解析:派生類是基類的具體化,而基類則是派生類的抽象。派生類也就是基類的具體實(shí)現(xiàn),所以對基類數(shù)據(jù)成員的初始化是在派生類的構(gòu)造函數(shù)中成員初始化列表執(zhí)行的。38、在深度為5的完全二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)最多為【】。標(biāo)準(zhǔn)答案:16知識點(diǎn)解析:在深度為5的完全二叉樹中,就屬深度為5的滿二叉樹中的葉子結(jié)點(diǎn)的個(gè)數(shù)最多,這些葉子結(jié)點(diǎn)均在最后一層(即第5層)上。又根據(jù)二叉樹的性質(zhì)1:在二叉樹的第k層上,最多有2k-1(k≥1)個(gè)結(jié)點(diǎn)。因此,在第5層上最多的結(jié)點(diǎn)數(shù)為25-1=16。39、符合結(jié)構(gòu)化原則的3種基本控制結(jié)構(gòu)是:選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和【】。標(biāo)準(zhǔn)答案:順序結(jié)構(gòu)知識點(diǎn)解析:結(jié)構(gòu)化程序設(shè)計(jì)的3種基本邏輯結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu)是一種簡單的程序設(shè)計(jì)結(jié)構(gòu),它是最基本、最常用的程序設(shè)計(jì)結(jié)構(gòu);選擇結(jié)構(gòu)又稱為分支結(jié)構(gòu),包括簡單分支和多分支選擇結(jié)構(gòu);循環(huán)結(jié)構(gòu)也叫重復(fù)結(jié)構(gòu),它根據(jù)給定的條件,判斷是否需要重復(fù)執(zhí)行某一相同的程序段。40、一個(gè)隊(duì)列的初始狀態(tài)為空。現(xiàn)將元素A,B,C,D,E,F(xiàn),5,4,3,2,1依次入隊(duì),然后再依次退隊(duì)則元素退隊(duì)的順序?yàn)開_____。標(biāo)準(zhǔn)答案:A,B,C,D,E,F(xiàn),5,4,3,2,1。知識點(diǎn)解析:隊(duì)列是先進(jìn)先出的。四、填空題(本題共10題,每題1.0分,共10分。)41、表達(dá)式c3=c1.operator+(c2)或c3=operator+(c1,c2)還可以表示為______。標(biāo)準(zhǔn)答案:c3=c1+c2知識點(diǎn)解析:此題考查的是“+”運(yùn)算符的重載。運(yùn)算符函數(shù)的調(diào)用有兩種形式,第一種是像一般函數(shù)那樣用函數(shù)名調(diào)用,即c1.Opeerator(c2)或者operator+(c1,c2);另一種是通過運(yùn)算符構(gòu)成表達(dá)式,即c1+c2。42、為解決在多重繼承環(huán)境中因公共基類帶來的______問題,C++語言提供了虛基類機(jī)制。標(biāo)準(zhǔn)答案:二義性知識點(diǎn)解析:暫無解析43、在任何類中都有三種訪問權(quán)限的數(shù)據(jù)成員,這三種權(quán)限是public、private和_______。標(biāo)準(zhǔn)答案:protected知識點(diǎn)解析:暫無解析44、下面程序運(yùn)行輸出的結(jié)果是【】。#include<iostream>usingnamespacestd;intmain(){chara[]="Chinese";a[3]=’\0’;cout<<a<<endl;return0;}標(biāo)準(zhǔn)答案:Chi知識點(diǎn)解析:字符串的結(jié)束標(biāo)識是’\0’,輸出字符串時(shí),到第一個(gè)’\0’輸出結(jié)束,而不管其后是否還有數(shù)據(jù),因此本題輸出為字符中的前3個(gè)字符。45、在下面函數(shù)的橫線處填上適當(dāng)?shù)膬?nèi)容,使該函數(shù)能夠利用遞歸方法求解字符串str的長度(不得使用系統(tǒng)提供的字符串處理函數(shù))。intGJetLen(char*str){if(【】)return0;elsereturn1+GetLen(str+1);}標(biāo)準(zhǔn)答案:*str==NULL知識點(diǎn)解析:暫無解析46、在一個(gè)函數(shù)的定義或聲明前加上關(guān)鍵字【】時(shí),該函數(shù)就聲明為內(nèi)聯(lián)函數(shù)。標(biāo)準(zhǔn)答案:inline知識點(diǎn)解析:暫無解析47、由C++編寫的面向?qū)ο蟮某绦蚴怯梢粋€(gè)個(gè)的對象組成,對象之間通過【】而相互作用。標(biāo)準(zhǔn)答案:消息知識點(diǎn)解析:暫無解析48、C++語言中表示雙精度浮點(diǎn)數(shù)的關(guān)鍵字是【】。標(biāo)準(zhǔn)答案:double知識點(diǎn)解析:C++語言中基本的數(shù)據(jù)類型關(guān)鍵字,有int,float,double。49、假設(shè)fin是一個(gè)文件流對象,則關(guān)閉文件的語句是【】。標(biāo)準(zhǔn)答案:fin知識點(diǎn)解析:如果程序沒有用close()主動(dòng)關(guān)閉文件,則在文件流對象退出作用域時(shí),被調(diào)用的析構(gòu)函數(shù)會關(guān)閉對象所聯(lián)系的文件。但應(yīng)及時(shí)關(guān)閉,以便盡早釋放占用的系統(tǒng)資源并將文件置于更安全的狀態(tài)。50、如果要把返回值為void的函數(shù)A聲明為類B的友元函數(shù),則應(yīng)在類B的定義中加入的語句是【】。標(biāo)準(zhǔn)答案:friendvoidA();知識點(diǎn)解析:C++中類的友元函數(shù)在聲明時(shí)應(yīng)在該函數(shù)前面加上關(guān)鍵字friend,同樣如果要聲明一個(gè)類為另一個(gè)類的友元類也要在前面類名前加上friend。國家二級(C++)筆試模擬試卷第2套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、按照“先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。A、隊(duì)列B、棧C、雙向鏈表D、二叉樹標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:棧是一種特殊的線性表,其插入和刪除運(yùn)算都只在線性表的一端進(jìn)行,而另一端是封閉的。進(jìn)行插入、刪除的一端稱為棧頂,封閉的一端稱為棧底。棧頂元素是最后被插入的元素,而棧底元素是最后被刪除的棧,是按“先進(jìn)后出”的原則組織數(shù)據(jù)的。2、常采用的兩種存儲結(jié)構(gòu)是()。A、順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)B、散列方法和索引方式C、鏈表存儲結(jié)構(gòu)和數(shù)組D、線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:線性表的存儲通常要用兩種存儲結(jié)構(gòu):順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)。3、樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)的數(shù)目是()。A、有且只有1個(gè)B、1或多于1C、0或1D、至少有2個(gè)標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:樹具有明顯的層次關(guān)系,即樹是一種層次結(jié)構(gòu)。在樹結(jié)構(gòu)中,根結(jié)點(diǎn)在第一層上。當(dāng)樹為非空時(shí),樹中有且只有一個(gè)根結(jié)點(diǎn);當(dāng)樹為空時(shí),樹中根結(jié)點(diǎn)的數(shù)目為0。4、已知一個(gè)有序線性表為(13,18,24,35,47,50,62,83,90,115,134),當(dāng)用二分法查找值為90的元素時(shí),查找成功的比較次數(shù)為()。A、1B、2C、3D、9標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:根據(jù)二分法查找需要兩次:①首先將90與表中間的元素50進(jìn)行比較,由于90大于50,所以在線性表的后半部分查找;②第二次比較的元素是后半部分的中間元素,即90,這時(shí)兩者相等,即查找成功。5、結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。A、程序的規(guī)模B、程序的效率C、程序設(shè)計(jì)語言的先進(jìn)性D、程序的易讀性標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:程序不光是編寫完就結(jié)束了,為了測試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡單和清晰,即程序的易讀性,“清晰第一,效率第二”。6、結(jié)構(gòu)化程序設(shè)計(jì)的核心和基礎(chǔ)是()。A、結(jié)構(gòu)化分析方法B、結(jié)構(gòu)化設(shè)計(jì)方法C、結(jié)構(gòu)化設(shè)計(jì)理論D、結(jié)構(gòu)化編程方法標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:結(jié)構(gòu)化程序設(shè)計(jì)的核心和基礎(chǔ)是結(jié)構(gòu)化設(shè)計(jì)理論,其中包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化編程方法。7、在面向?qū)ο蠓椒ㄖ校?)描述的是具有相似屬性與操作的一組對象。A、屬性B、事件C、方法D、類標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:類(class)描述的是具有相似屬性與操作的一組對象,而一個(gè)具體對象則是其對應(yīng)類的一個(gè)實(shí)例。8、需求分析階段的任務(wù)是()。A、軟件開發(fā)方法B、軟件開發(fā)工具C、軟件開發(fā)費(fèi)用D、軟件系統(tǒng)功能標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對象,充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在這些基礎(chǔ)上確定新系統(tǒng)的功能。9、有下列二叉樹,對此二叉樹前序遍歷的結(jié)果為()。A、ACFXDBEYZB、ABEFXYZCDC、ABCDEFXYZD、ABDYECFXZ標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:對二叉樹的前序遍歷是指先訪問根結(jié)點(diǎn),然后訪問左子樹,最后訪問右子樹。并且在訪問左、右子樹時(shí),先訪問根結(jié)點(diǎn),再依次訪問其左、右子樹。記住3種遍歷的順序:①前序,訪問根→按前序遍歷左子樹→按前序遍歷右子樹:②中序,按中序遍歷左子樹→訪問根→按中序遍歷右子樹;③后序,按后序遍歷左子樹→按后序遍歷右子樹→訪問根。10、設(shè)R是一個(gè)2元關(guān)系,S是一個(gè)3元關(guān)系,則下列運(yùn)算中正確的是()。A、R-SB、R×SC、R∩SD、R∪S標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:關(guān)系的交(∩)、并(∪)和差(-)運(yùn)算要求兩個(gè)關(guān)系是同元的,顯然作為二元的R和三元S只能做笛卡爾積運(yùn)算。二、選擇題(本題共25題,每題1.0分,共25分。)11、下列關(guān)于C++函數(shù)的敘述中,正確的是()。A、每個(gè)函數(shù)至少要具有一個(gè)參數(shù)B、每個(gè)函數(shù)都必須返回一個(gè)值C、函數(shù)在被調(diào)用之前必須先聲明D、函數(shù)不能自己調(diào)用自己標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析12、下列運(yùn)算符不能重載為友元函數(shù)的是()。A、=()[]->B、+-++--C、><>=<=D、+=-=*=/=標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:暫無解析13、在多繼承中,公有派生和私有派生對于基類成員在派生類中的可訪問性與單繼承的規(guī)則()。A、完全相同B、完全不同C、部分相同,部分不同D、以上都不對標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:暫無解析14、在下列選項(xiàng)中,沒有構(gòu)成死循環(huán)的程序是()。A、inti=100;while(1){i=i%100+1;if(i>100)break;}B、for(;;);C、intk=1000;do{++k}while(k>=1000);D、ints=36;while(s);--s;標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析15、下列對派生類的表述中,錯(cuò)誤的是()。A、一個(gè)派生類可以作為另一個(gè)派生類的基類B、派生類至少有一個(gè)基類C、派生類的缺省繼承方式是privateD、派生類只繼承了基類的公有成員和保護(hù)成員標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析16、在下面敘述中,不正確的是()。A、一個(gè)類的所有對象都有各自的數(shù)據(jù)成員,它們共享函數(shù)成員B、一個(gè)類中可以有多個(gè)同名的成員函數(shù)C、一個(gè)類中可以有多個(gè)構(gòu)造函數(shù)、多個(gè)析構(gòu)函數(shù)D、在一個(gè)類中可以聲明另一個(gè)類的對象作為它的數(shù)據(jù)成員標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析17、下列字符串中,正確的C++標(biāo)識符是()。A、foo-1B、2bC、newD、_256標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析18、關(guān)于在調(diào)用模板函數(shù)時(shí)模板實(shí)參的使用,下列表述正確的是()。A、對于虛擬類型參數(shù)所對應(yīng)的模板實(shí)參,如果能從模板函數(shù)的實(shí)參中獲得相同的信息,則都可以省略B、對于虛擬類型參數(shù)所對應(yīng)的模板實(shí)參,如果它們是參數(shù)表中的最后的若干個(gè)參數(shù),則都可以省略C、對于虛擬類型參數(shù)所對應(yīng)的模板實(shí)參,若能夠省略則必須省略D、對于常規(guī)參數(shù)所對應(yīng)的模板實(shí)參,任何情況下都不能省略標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析19、一個(gè)類的友元函數(shù)或友元類能夠通過成員操作符訪問該類的()。A、私有成員B、保護(hù)成員C、公有成員D、公用成員、保護(hù)成員和私有成員標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析20、下列關(guān)于運(yùn)算符重載的描述中,正確的是()。A、運(yùn)算符重載可以改變運(yùn)算符的操作數(shù)的個(gè)數(shù)B、運(yùn)算符重載可以改變優(yōu)先級C、運(yùn)算符重載可以改變結(jié)合性D、運(yùn)算符重載不可以改變語法結(jié)構(gòu)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析21、模板是實(shí)現(xiàn)類屬機(jī)制的一種工具,其功能非常強(qiáng)大,它允許用戶構(gòu)造類屬類,即()。A、模板函數(shù)B、函數(shù)模板C、模板類D、類模板標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析22、下面關(guān)于this指針的說法中,不正確的是()。A、當(dāng)調(diào)用類的成員函數(shù)時(shí),指針this被自動(dòng)傳遞給該成員函數(shù)B、當(dāng)調(diào)用類的成員函數(shù)時(shí),指針this實(shí)際上指向了該類的一個(gè)對象C、友元函數(shù)也可以被傳遞指針thisD、在缺省狀態(tài)下,所有的成員函數(shù)都自動(dòng)傳遞一個(gè)指針給激活它的對象標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析23、有如下函數(shù)模板定義:template<classT>Tfunc(Tx,Ty){returnx*x+y*y;}在下列對func的調(diào)用中,錯(cuò)誤的是()。A、func(3,5);B、func(3.0,5.5);C、func(3,5.5)D、func<int>(3,5.5);標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析24、以下關(guān)鍵字不能用來聲明類的訪問權(quán)限的是()。A、publicB、staticC、protectedD、private標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析25、有如下定義語句:inta[]={1,2,3,4,5);,則對語句int*p=a;正確的描述是()。A、語句int*p=a;定義不正確B、語句int*p=a;初始化變量p,使其指向數(shù)組對象a的第一個(gè)元素C、語句int*p=a;是把a(bǔ)[0]的值賦給變量pD、語句int*p=a;是把a(bǔ)[1]的值賦給變量p標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析26、以下四種說法中,正確的一項(xiàng)是()。A、C++允許在字符串上進(jìn)行整體操作B、語句:charvn[]="Brown";將vn定義成一個(gè)有5個(gè)元素的數(shù)組,因?yàn)?Brown"中含有5個(gè)字符C、對指針只要賦給一個(gè)地址值就可以了D、一維的指針數(shù)組實(shí)際上是一個(gè)二維數(shù)組標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:暫無解析27、下列對于虛函數(shù)和重載函數(shù)的敘述,正確的是()。A、虛函數(shù)要求函數(shù)名、返回值類型和參數(shù)序列完全相同B、重載函數(shù)要求函數(shù)有相同的返回值類型和函數(shù)名稱,并有不同的參數(shù)序列C、虛函數(shù)是根據(jù)對象的不同去調(diào)用不同類的虛函數(shù)D、虛函數(shù)和重載函數(shù)都是在運(yùn)行時(shí)表現(xiàn)出多態(tài)功能標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析28、設(shè)有以下說明和定義:#include<iostream.h>Voidmain(){typedefunion{longi;intk[5];charc;}DATE;structdate{intcat;DATEcow;doubledog;}too;DATEmax;cout<<(sizeof(structdate)+sizeof(max))<<end1;}A、26B、52C、18D、8標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析29、有如下程序:#include<iostream>#include<iomanip>usingnamespacestd;intmain(){cout.fill(’*’);cout.width(6);cout.fill(’#’);cout<<123<<end1;return0;}執(zhí)行生的輸出結(jié)果是()。A、###123B、123###C、***123D、123***標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:暫無解析30、有如下程序#include<iostream>#include<iomanip>usingnamespacestd;intmain(){cout<<setprecision(3)<<fixed<<setfill(’*’)<<setw(8);cout<<12.345<<__________<<34.567;return0;}若程序的輸出是:**12.345**34.567則程序中下劃線處遺漏的操作符是()。A、setprecision(3)B、fixedC、setfill(’*’)D、setw(8)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析31、下面的描述中,正確的是()。A、virtual可以用來聲明虛函數(shù)B、含有純虛函數(shù)的類是不可以用來創(chuàng)建對象的,因?yàn)樗翘摶怌、即使基類的構(gòu)造函數(shù)沒有參數(shù),派生類也必須建立構(gòu)造函數(shù)D、靜態(tài)數(shù)據(jù)成員可以通過成員初始化列表來初始化標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:暫無解析32、如果類A被說明成類B的友元,則()。A、類A的成員即類B的成員B、類B的成員即類A的成員C、類A的成員函數(shù)不得訪問類B的成員D、類A的成員函數(shù)可以訪問類B的成員標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析33、帶有基類的多層派生類構(gòu)造函數(shù)的成員初始化列表中都要排出虛基類的構(gòu)造函數(shù),這樣將對虛基類的子對象初始()。A、與虛基類下面的派生類個(gè)數(shù)有關(guān)B、多次C、二次D、一次標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析34、下面程序的運(yùn)行結(jié)果為()。#include<iostream.h>voidswap(int&a,intb){inttemp;temp=a++;a=b;b=temp;}voidmain(){inta=2,b=3;swap(a,b);cout<<a<<","<<b<<end1;}A、2,3B、3,2C、2,2D、3,3標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析35、有如下程序:#include<iostream>usingnamespacestd;classAA{intn;public:AA(intk):n(k){}intget(){returnn;}intget()const{returnn+1;}}intmain(){AAa(5);constAAb(6);cout<<a.get()<<b.get();return0;}執(zhí)行后的輸出結(jié)果是()。A、55B、57C、75D、77標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析三、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5分。)36、設(shè)一棵二叉樹中有3個(gè)葉子結(jié)點(diǎn),有8個(gè)度為1的結(jié)點(diǎn),則該二叉樹??偟慕Y(jié)點(diǎn)數(shù)為【】。標(biāo)準(zhǔn)答案:13知識點(diǎn)解析:根據(jù)二叉樹的性質(zhì)3:在任意一棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中的二叉樹有3個(gè)葉子結(jié)點(diǎn),所以,該二叉樹有3-1=2個(gè)度為2的結(jié)點(diǎn);又知本題中的二叉樹有8個(gè)度為1的結(jié)點(diǎn)。所以,本題中的二叉樹總結(jié)點(diǎn)數(shù)為葉子結(jié)點(diǎn)數(shù)+度為1的結(jié)點(diǎn)數(shù)+度為2的結(jié)點(diǎn)數(shù)=3+8+2=13.所以,本題的正確答案為13。37、類是一個(gè)支持集成的抽象數(shù)據(jù)類型,而對象是類的【】。標(biāo)準(zhǔn)答案:實(shí)例知識點(diǎn)解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組對象,而一個(gè)具體對象稱為類的實(shí)例。38、結(jié)構(gòu)化設(shè)計(jì)主要分為系統(tǒng)設(shè)計(jì)和模塊設(shè)計(jì),【】的任務(wù)是決定系統(tǒng)的模塊結(jié)構(gòu)。標(biāo)準(zhǔn)答案:系統(tǒng)設(shè)計(jì)知識點(diǎn)解析:結(jié)構(gòu)化設(shè)計(jì)主要分為系統(tǒng)設(shè)計(jì)和模塊設(shè)計(jì)。系統(tǒng)設(shè)計(jì)的任務(wù)是決定系統(tǒng)的模塊結(jié)構(gòu);模塊設(shè)計(jì)的任務(wù)是具體考慮每一個(gè)模塊內(nèi)部采用什么算法,模塊的輸入、輸出以及該模塊的功能。39、一般來說,數(shù)據(jù)庫的設(shè)計(jì)過程要經(jīng)歷3個(gè)大的階段,即可行性分析與研究階段、系統(tǒng)設(shè)計(jì)階段、設(shè)計(jì)實(shí)施與系統(tǒng)運(yùn)行階段。概念設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)屬于數(shù)據(jù)庫設(shè)計(jì)的【】階段。標(biāo)準(zhǔn)答案:系統(tǒng)設(shè)計(jì)知識點(diǎn)解析:數(shù)據(jù)庫的設(shè)計(jì)過程要經(jīng)歷3個(gè)階段:可行性分析與研究階段、系統(tǒng)設(shè)計(jì)階段、設(shè)計(jì)實(shí)施與系統(tǒng)運(yùn)行階段.系統(tǒng)設(shè)計(jì)階段是系統(tǒng)的具體設(shè)計(jì)過程,主要包括概念設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)3個(gè)步驟。這3個(gè)不同層次上的設(shè)計(jì)過程,是把實(shí)體以及相互之間的聯(lián)系轉(zhuǎn)換為“數(shù)據(jù)”并落實(shí)于計(jì)算機(jī)中。數(shù)據(jù)庫設(shè)計(jì)中的主要技術(shù)工作在這個(gè)階段中完成。40、數(shù)據(jù)流圖有兩種典型的結(jié)構(gòu)形式,它們分別是變換型和【】。標(biāo)準(zhǔn)答案:事務(wù)型知識點(diǎn)解析:數(shù)據(jù)流圖中有眾多的加工,但必有一個(gè)加工是起核心作用的,這樣的加工稱為中心加工。由數(shù)據(jù)流圖導(dǎo)出結(jié)構(gòu)圖的關(guān)鍵是找出中心加工。一般來說,中心加工有兩種存在形態(tài),即數(shù)據(jù)流圖有兩種典型的結(jié)構(gòu)形式:一種是變換型,另一種是事務(wù)型。四、填空題(本題共4題,每題1.0分,共4分。)41、若有如下程序段:#include<iostream>usingnamespacestd;intmain(){char*p="abcdefgh",*r;long*q;q=(long*)p;q++;r=(char*)q;cout<<r<<end1;return0;}該程序的輸出結(jié)果是______。標(biāo)準(zhǔn)答案:efgh知識點(diǎn)解析:本題定義了一個(gè)字符型指針變量p,并通過賦初值讓它指向了一個(gè)字符串,還定義了另一個(gè)字符型指針變量r和一個(gè)長整型指針變量q。首先通過語句“a=(long*)p;”,把p的地址值強(qiáng)制轉(zhuǎn)換為長整型地址值并賦值給小然后執(zhí)行“q++”,地址值增加了4,執(zhí)行語句“r=(char*)q;”,把長整型指針變量q的值再強(qiáng)制轉(zhuǎn)換成字符型地址值并賦給r,r的值應(yīng)為字符串中字符“e”的地址。最后輸出r指向的字符串。42、請將下列類定義補(bǔ)充完整classBase{public:voidfun(){cout<<"Base::fun"<<end1;}};classDerived:publicBase{public:voidfun(){______//顯式調(diào)用基類的fun函數(shù)cout<<"Derived::fun"<<end1;}};標(biāo)準(zhǔn)答案:Base::fun();知識點(diǎn)解析:本題考核虛基類。作用域分辨符號是“::”,它可以用來限定要訪問的成員所在的類的名稱。一般來說,在派生類中對基類成員的訪問應(yīng)該是惟一的。但是,多繼承情況下可能造成對基類中某個(gè)成員的訪問出現(xiàn)不惟一的情況,通過使用對象作用域分辨符可以解決這種對基類成員訪問的;義性問題。43、與成員訪問表達(dá)式p->name等價(jià)的表達(dá)式是______。標(biāo)準(zhǔn)答案:(*p).name知識點(diǎn)解析:本題考核對象指針的定義與使用。一個(gè)基類型為類類型的指針稱為對象指針。對于指向?qū)ο蟮闹羔槪旅鎯煞N表示方式是等價(jià)的:對象指針名->成員名;(*對象指針名).成員名;44、有如下程序:#include<iostream>usingnamespacestd;classAA{public:virtualvoidf(){cout<<"AA";}};classBB:publicAA{public:BB(){cout<<"BB":}};classCC:publicBB{public:virtualvoidf(){BB::f():cout<<"CC";}};intmain(){AAaa,*p;BBbb;CCcc;p=&cc;p->f();return0;}運(yùn)行后的輸出結(jié)果______。標(biāo)準(zhǔn)答案:BBBBAACC知識點(diǎn)解析:本題考核虛函數(shù)。本題中,函數(shù)f()在基類AA和派生類CC中都聲明為虛函數(shù),所以采用動(dòng)態(tài)聯(lián)編。主函數(shù)首先定義類AA的對象aa和指針對象p,然后定義了類BB的對象bb,此時(shí)調(diào)用了類BB的構(gòu)造函數(shù)輸出BB。再定義類CC的對象cc,由于類CC是類BB的派生類,所以此時(shí)又調(diào)用類BB的構(gòu)造函數(shù)輸出BB。最后執(zhí)行語句“p=&cc;p->f();”,輸出AA和CC。五、填空題(含2小題)(本題共1題,每題1.0分,共1分。)45、下面程序的輸出結(jié)果為:Base::fun,請將程序補(bǔ)充完整。#include<iostream.h>classBase{public:【】fun(){cout<<"Base::fun"<<end1:}classDerived:publicBase{public:【】fun(){cout<<"Derived::fun"<<end1;}};intmain(){Basea,*pb;Derivedb;pb=&b;pb->fun();return0;}標(biāo)準(zhǔn)答案:virtualvoidvoid知識點(diǎn)解析:本題考核虛函數(shù)的使用。在C++中,一個(gè)基類指針(或引用)可以用于指向它的派生類對象,而且通過這樣的指針(或引用)調(diào)用虛函數(shù)時(shí),被調(diào)用的是該指針(或引用)實(shí)際指向的對象類的那個(gè)重定義版本,這樣的調(diào)用稱為多態(tài)調(diào)用?;怋ase和派生類Derived中都定義了成員函數(shù)fun,但是有不同的實(shí)現(xiàn)。程序最后輸出的結(jié)果為:Base::fun,表明通過對象指針pb調(diào)用的函數(shù)版本為派生類中定義的,只有把基類的fun函數(shù)定義為虛函數(shù),才能滿足要求。同時(shí)通過函數(shù)fun的定義可知函數(shù)的返回類型為void。國家二級(C++)筆試模擬試卷第3套一、公共基礎(chǔ)選擇題(本題共35題,每題1.0分,共35分。)1、算法分析的目的是()A、找出數(shù)據(jù)結(jié)構(gòu)的合理性B、找出算法中輸入和輸出之間的關(guān)系C、分析算法的易懂性和可靠性D、分析算法的效率以求改進(jìn)標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析2、下列敘述中正確的是()。A、線性鏈表的各元素在存儲空間中的位置必須是連續(xù)的B、線性鏈表的頭元素一定存儲在其他元素的前面C、線性鏈表中的各元素在存儲空間中的位置不一定是連續(xù)的,但表頭元素一定存儲在其他元素的前面D、線性鏈表中的各元素在存儲空間中的位置不一定是連續(xù)的,且各元素的存儲順序也是任意的標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析3、線性表常采用的兩種存儲結(jié)構(gòu)是()A、順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)B、散列方法和索引方式C、鏈表存儲結(jié)構(gòu)和數(shù)組D、線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:暫無解析4、設(shè)棧S和隊(duì)列Q的初始狀態(tài)為空,元素a、b、c、d、e和f依次通過棧S,一個(gè)元素出棧后即進(jìn)入隊(duì)列Q,若6個(gè)元素出隊(duì)的順序是b、d、c、f、e、a,則棧S的容量至少應(yīng)該是()。A、6B、4C、3D、2標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:棧的操作規(guī)則是后進(jìn)先出,隊(duì)列的運(yùn)算規(guī)則是先進(jìn)先出。對于本題,出隊(duì)順序也就是入隊(duì)順序,同樣也是出棧順序,為了得到b、d、c、f、e、a出棧順序,則入棧順序應(yīng)該是a進(jìn)、b進(jìn)、b出、c進(jìn)、d進(jìn)、d出、c出、e進(jìn)、f進(jìn)、f出、e出、a出??梢钥醋髯疃嘀挥?個(gè)元素在棧內(nèi),所以棧的容量最少應(yīng)為3。5、數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()A、DB包括:DBS和DBMSB、DBMS包括DB和DBSC、DBS包括DB和DBMSD、沒有任何關(guān)系標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析6、在包含1000個(gè)元素的線性表中實(shí)現(xiàn)如下各運(yùn)算,所需的執(zhí)行時(shí)間最長的是()A、線性表按順序方式存儲,在線性表的第100個(gè)結(jié)點(diǎn)后面插入一個(gè)新結(jié)點(diǎn)B、線性表按鏈接方式存儲,在線性表的第100個(gè)結(jié)點(diǎn)后面插入一個(gè)新結(jié)點(diǎn)C、線性表按順序方式存儲,刪除線性表的第900個(gè)結(jié)點(diǎn)D、線性表按鏈接方式存儲,刪除指針P所指向的結(jié)點(diǎn)標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:由于線性表采用的是順序存儲方式,用存儲單元的鄰接性體現(xiàn)線性表元素間的一維順序關(guān)系,因此對線性表進(jìn)行插入和刪除運(yùn)算時(shí),可能需要移動(dòng)大量的結(jié)點(diǎn),以保持這種物理和邏輯的一一致性。對于選項(xiàng)A),后面的900個(gè)結(jié)點(diǎn)都要住后移動(dòng),對于選項(xiàng)C),后面的100個(gè)結(jié)點(diǎn)都要往前移動(dòng)。而對于線性表按鏈接方式存儲,當(dāng)進(jìn)行插入與刪除操作時(shí),只改變相應(yīng)的指針即可,所以比較4個(gè)選項(xiàng)的操作可得知選項(xiàng)A)所需要的執(zhí)行時(shí)間最長。7、一間教室可坐多名學(xué)生,則實(shí)體教室和學(xué)生之間的聯(lián)系是()。A、一對一B、一對多C、多對一D、多對多標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析8、對于長度為n的線性表,在最壞情況下,下列各種排序法所對應(yīng)的比較次數(shù)中正確韻是()。A、冒泡排序?yàn)閚/2B、冒泡排序?yàn)閚C、快速排序?yàn)閚D、快速排序?yàn)閚(n-1)/2標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析9、對關(guān)系S和R進(jìn)行集合運(yùn)算,結(jié)果中既包含s中的所有元組也包含R中的所有元組,這樣的集合運(yùn)算稱為()A、并運(yùn)算B、交運(yùn)算C、差運(yùn)算D、積運(yùn)算標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:暫無解析10、建立E-R模型的工作,屬于軟件生命周期中的()A、需求分析階段B、設(shè)計(jì)階段C、編碼階段D、測試階段標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析11、在下列橫線處應(yīng)添加的語句是()。classBase{public:voidfun(){cout<<"Base::fun"<<end1;}};class:Derived:publicBase{public:voidfun(){______//顯示調(diào)用基類的fun函數(shù)cout<<"Derived::fun"<<end1;}};A、Derived::funB、Base::fun();C、Pubic::funD、fun();標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析12、()提供了類對外部的接口,私有成員是類的內(nèi)部實(shí)現(xiàn),而保護(hù)成員不允許外界訪問,但允許派生類的成員訪問,這樣既有一定的隱藏能力,又提供了開放的接口。A、公有成員B、私有成員C、私有成員函數(shù)D、保護(hù)成員標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:暫無解析13、若類A和類B的定義如下:#include<malloc.h>classA{inti,j;public:intgeti(){returni;}};classB:publicA{intk;public:voidmake(){k=i,j;});則上述定義中非法的表達(dá)式是()。A、k=i*j;B、intk;C、returni;D、voidmake();標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:因?yàn)榕缮惒荒茉L問基類的私有成員i和j(默認(rèn)情況下,成員的屬性為私有),所以表達(dá)式k=i*j是非法的。其余的訪問權(quán)限都是許可的。14、在下面的類定義中,錯(cuò)誤的語句是()。classSample{public:Sample(intval)://①~Sample();//②private:inta=2.5;//③Sample()://④};A、①②③④B、②C、③D、①②⑨標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析15、假定MyClass為一個(gè)類,則該類的拷貝初始化構(gòu)造函數(shù)的聲明語句為()A、MyClass&(MyClassx);B、MyClass(MyClassx)C、MyClass(MyClass&x);D、MyClass(MyClass*x)標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:拷貝構(gòu)造函數(shù)是一個(gè)特殊的構(gòu)造函數(shù),它用一個(gè)已知的對象初始化一個(gè)正在創(chuàng)建的同類對象,它的一般格式是:類名::類名(const類名&引用對象名)。16、下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是()A、靜態(tài)數(shù)據(jù)成員是類的所有對象共享的數(shù)據(jù)B、類的每個(gè)對象都有自己的靜態(tài)數(shù)據(jù)成員C、類的不同對象有不同的靜態(tài)數(shù)據(jù)成員值D、靜態(tài)數(shù)據(jù)成員不能通過類的對象調(diào)用標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:暫無解析17、關(guān)于運(yùn)算符重載,下列表述中正確的是()。A、C++已有的任何運(yùn)算符都可以重載B、運(yùn)算符函數(shù)的返回類型不能聲明為基本數(shù)據(jù)類型C、在類型轉(zhuǎn)換符函數(shù)的定義中不需要聲明返回類型D、可以通過運(yùn)算符重載來創(chuàng)建C++中原來沒有的運(yùn)算符標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:此題考查的是運(yùn)算符的有關(guān)概念。運(yùn)算符重載是針對C++原有運(yùn)算符進(jìn)行的,不能通過重載創(chuàng)造新的運(yùn)算符;除了.、.*、->*、::、?:這五個(gè)運(yùn)算符之外,其他運(yùn)算符都可以重載;在類型轉(zhuǎn)換符函數(shù)的定義中不需要聲明返回類型;運(yùn)算符函數(shù)的返回值類型可以聲明為基本數(shù)據(jù)類型:18、不能作為函數(shù)重載的判斷依據(jù)的是()。A、constB、返回類型C、參數(shù)個(gè)數(shù)D、參數(shù)類型標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析19、有如下類的定義。橫線處的語句是()。classMyClass{public:MyClass(inta=0,intb=0){X=a;Y=b;}voidChange()const{X-=10;Y+=10;}private:______intX,Y;A、staticB、constC、mutableD、不需要填入內(nèi)容標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:C++中const關(guān)鍵字用來表示一個(gè)常量,同時(shí)const也用來修飾函數(shù)。這兩個(gè)概念需要明確:const所修飾的函數(shù)只能是類的成員函數(shù),因?yàn)閏onst所修飾的函數(shù)中,要由編譯器負(fù)責(zé)保護(hù)類的成員變量不被修改。而相對的,mutable則是用來修飾類的成員變量,讓該變量在const所修飾的成員函數(shù)中可以被修改。而且const修飾的函數(shù)只能是類的成員函數(shù),mutable修飾的變量只能是類的成員變量。20、有如下函數(shù)模板定義:templateT1sum(T1a1){return(a1+a2+a3);}則以下調(diào)用中正確的是()。A、sum<int,4,3>(5);B、sum<4,3>(5);C、sum<int,int,int>(5);D、sum(5);標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:本題考查的函數(shù)模板的使用,有時(shí)不能根據(jù)用戶傳進(jìn)來的參數(shù)決定所有模板函數(shù)的值類型,如函數(shù)的返回值,還有用戶希望自己指定參數(shù)類型,這時(shí)就需要顯式地指出參數(shù)模板的類型,顯示指定模板的類型格式為:返回值類型函數(shù)模板<參數(shù)類型表>(參數(shù)表)。21、下列關(guān)于this指針的敘述中,正確的是()A、任何與類相關(guān)的函數(shù)都有this指針B、類的成員函數(shù)都有this指針C、類的友元函數(shù)都有this指針D、類的非靜態(tài)成員函數(shù)才有this指針標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:this指針是成員函數(shù)所屬對象的指針,它指向類對象的地址;它隱含于每個(gè)類的非靜態(tài)成員函數(shù)中;this指針只能在類的成員函數(shù)中使用,它指向該成員函數(shù)被調(diào)用的對象;靜態(tài)成員函數(shù)沒有this指針,因?yàn)轭愔兄挥幸粋€(gè)靜態(tài)成員函數(shù)實(shí)例,使用this指針無意義。22、以下程序輸出結(jié)果是():#include<iostream>usingnamespacestd;voidadd(intX,inty,int*z){*z=y+x;}intmain(){inta,b,c;add(8,4,&a);add(6,a,&b);add(a,b,&c);cout<<a<<","<<b<<","<<c<<end1;return0;A、12,10,14B、12,18,30C、12,6,18D、12,14,30標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析23、有如下程序:#include<iostream.h>usingnamespacestd;classTestClass{public:TestClass(){cout<<"defaultconstructor\n";}TestClass(constTestClass&x){cont<<"copyconstructor\n";}TestClassuserCode(TestClassb){TestClassc(b);returnc;}intmain(){TestClassa,d;cout<<"callinguserCode()\n";d=userCode(a);return0;}執(zhí)行上面程序的過程中,構(gòu)造函數(shù)TestClass()和TestClass(constTestclass&x)被調(diào)用的次數(shù)分別是()A、2次3次B、3次2次C、都是2次D、都是3次標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:由主函數(shù)入手,定義了類TestClass的對象a和d,當(dāng)類對象進(jìn)入其作用域時(shí)調(diào)用構(gòu)造函數(shù),構(gòu)造函數(shù)在建立對象時(shí)由系統(tǒng)自動(dòng)執(zhí)行,而且只執(zhí)行一次。因?yàn)槎x了兩個(gè)對象,所以構(gòu)造函數(shù)TestClass()被調(diào)用的次數(shù)是2?!癲=userCode(a);”語句d中調(diào)用成員為a的user(ode()成員函數(shù),所以是3次。24、有以下程序:#include<iostream>usingnamespacestd;{public:TestClass(intr1,intr2){R1=r1;R2=r2;}voidprint();voidprint()const;private;intR1,R2;};voidTestClass::print(){cout<<R1<<","<<R2<<end1;}voidTestclass::print()constcout<<R1<<<<","<<R2<<end1;}intmain(){TestClassa(5,4);constTestClassb(20,52);b.print();return0;}執(zhí)行后的輸出結(jié)果是()。A、5,4B、20,52C、0,0D、4,5標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析25、靜態(tài)數(shù)據(jù)成員是為()的數(shù)據(jù)。A、私有B、保護(hù)C、所有對象共享D、類成員標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析26、下列說法中錯(cuò)誤的是()A、公有繼承時(shí)基類中的public成員在派生類中仍是public的B、公有繼承時(shí)基類中的private成員在派生類中仍public是的C、私有繼承時(shí)基類中的public成員在派生類中仍private是的D、保護(hù)繼承時(shí)基類中的public成員在派生類中仍protected是的標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析27、有如下程序:#include<iostream>usingnamespacestd;{TestClass(){cout<<"BB";fun()}voidfun(){cout<<"Bf";}};classTestClass1:publicTestClass{public:TestClass1(){cout<<"DD";}voidfun(){cout<<"Df";}};intmain(){TestClass1d;return0;}執(zhí)行上面的程序?qū)⑤敵?)。A、BBBfDDB、BBDfDDDfC、DDD、DDBBBf標(biāo)準(zhǔn)答案:A知識點(diǎn)解析:暫無解析28、下列程序中橫線處正確的語句是()。#include<iostream>usingnamespacestd;classTestClass{public:voidfun(){cout<<"TestClass::fun"<<end1;}};classTestClass1:publicTestClass{voidfun(){______//顯示調(diào)用基類的函數(shù)fun()cout<<"TestClass1::fun"<<end1;}};A、fun();B、TestClass.fun()C、TestClass::fun();D、TestClass->fun();標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析29、下面關(guān)于虛函數(shù)的描述中正確的是()A、虛函數(shù)是一個(gè)靜態(tài)成員函數(shù)B、虛函數(shù)是一個(gè)非成員函數(shù)C、虛函數(shù)即在函數(shù)說明時(shí)定義,也可以在函數(shù)實(shí)現(xiàn)時(shí)定義D、派生類的虛函數(shù)與基類中對應(yīng)的虛函數(shù)具有相同的參數(shù)個(gè)數(shù)和類型標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析30、有如下程序:#include<iostream>usingnamespacestd;classTestClass1{public:virtualvoidfun(){cout<<"1";}};classTestClass2:publicTestClass1{public:TestClass2(){cout<<"2";}};classTestClass3:publicTestClass2{public:virtualvoidfun(){TestClass2::fun();cout<<"3";}};intmain(){TestClass1aa,*p;TestClass2bb;TestClass3cc;p=&cc;P->fun();return0;}執(zhí)行上面程序的輸出是()。A、1122B、2112C、2213D、2223標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:主函數(shù)中定義TestClass1的對象aa,*p對象指針,TestClass2的對象bb以及TestClass3的對象cc。p指向cc,TestClass3為TestClass2的派生類,構(gòu)造函數(shù)輸出2。TestClass3中fun函數(shù)中為TestClass2中的。fun,調(diào)用TestClass2的構(gòu)造函數(shù),輸出2?!皃->fun();”,TestClass2繼承于TestClass1中的fun,所以輸出1。然后輸出TestClass3中的“cout<<”3””,即輸出3。31、有如下程序:#include<iostream>usingnamespacestd;longfun(intn){if(n>2)return(fun(n-1)+fun(n-2));return2;}intmain(){cout<<fun(3)<<end1;return0;}則該程序的輸出結(jié)果應(yīng)該是()。A、2B、3C、4D、5標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析32、下列程序的輸出結(jié)果是()。#include<iostream>usingnamespacestd;templateTfun(Ta,Tb){return(a>=b)?a:b;}voidmain(){cout<<fun(3,6)<<’,’<<fun(3.14F,6.28F)<<end1;}A、6,3.14B、3,6.28C、3,3.14D、6,6.28標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析33、針對數(shù)組定義intdata[10];,下列表述中錯(cuò)誤的是()A、用*data可訪問到數(shù)組的首元素B、用data[9]可訪問到數(shù)組的末元素C、用data[10]訪問數(shù)組元素會超出數(shù)組邊界D、data共有10個(gè)元素,其首元素是data[1]標(biāo)準(zhǔn)答案:D知識點(diǎn)解析:暫無解析34、有如下類聲明:classFoo{intbar;};則Foo類的成員bar是()A、公有數(shù)據(jù)成員B、公有成員函數(shù)C、私有數(shù)據(jù)成員D、私有成員函數(shù)標(biāo)準(zhǔn)答案:C知識點(diǎn)解析:暫無解析35、為了取代C中帶參數(shù)的宏,在C++中使用()。A、重載函數(shù)B、內(nèi)聯(lián)函數(shù)C、遞歸函數(shù)D、友元函數(shù)標(biāo)準(zhǔn)答案:B知識點(diǎn)解析:暫無解析二、公共基礎(chǔ)填空題(本題共15題,每題1.0分,共15分。)36、軟件生命周期可分為多個(gè)階段,一般分為定義階段、開發(fā)階段和維護(hù)階段。編碼和測試屬于______階段。標(biāo)準(zhǔn)答案:開發(fā)知識點(diǎn)解析:軟件生命周期可分為多個(gè)階段,一般分為定義階段、開發(fā)階段和維護(hù)階段。定義階段包括可行性研究初步項(xiàng)目計(jì)劃和需求分析:開發(fā)階段包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)和測試;維護(hù)階段包括使用、維護(hù)和退役。37、不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是______。標(biāo)準(zhǔn)答案:選抒知識點(diǎn)解析:暫無解析38、用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是______。標(biāo)準(zhǔn)答案:層次模型知識點(diǎn)解析:暫無解析39、在兩種基本測試方法中,______測試的原則之一是保證所測模塊中每一個(gè)獨(dú)立路徑至少執(zhí)行一次。標(biāo)準(zhǔn)答案:白盒知識點(diǎn)解析:按功能劃分測試可分為白盒測試和黑盒測試。白盒測試的原則是保證所測試模塊中每一獨(dú)立路徑至少執(zhí)行一次;保證所測試模塊所有判斷的每一分支至少執(zhí)行一次;保證所測試模塊每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次;驗(yàn)證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。40、與二維表中的“行”的概念最接近的概念是______。標(biāo)準(zhǔn)答案:元組知識點(diǎn)解析:在關(guān)系模型中,數(shù)據(jù)結(jié)構(gòu)用單一的二維表結(jié)構(gòu)來表示實(shí)體及實(shí)體間的聯(lián)系。一個(gè)關(guān)系對應(yīng)一個(gè)二維表。二維表中的列稱為屬性,屬性值的取值范圍稱為值域。二維表中的行稱為一個(gè)元組。41、執(zhí)行以下程序后,輸出“*”號的個(gè)數(shù)是______。#include<iostream.h>main(){inti,j;for(i=1;i<5;i++)for(j=2;j<=i;j++)cout<<’*’;}標(biāo)準(zhǔn)答案:6知識點(diǎn)解析:暫無解析42、有如下類聲明:classTestClass1{intk;public:voidset(intn){k=n;}intget()const{returnk;}};classTestClass2:protectedTestClass1{protected:intj;public:voidset(intm,intn){TestClass1::set(m);j=n;}intget()const{returnTestClass1::get()+j;)};則類TestClass2中保護(hù)的數(shù)據(jù)成員和成員函數(shù)的個(gè)數(shù)是______。標(biāo)準(zhǔn)答案:3知識點(diǎn)解析:暫無解析43、一個(gè)在基類中說明的虛函數(shù),它在該基類中沒有定義,但要求任何派生類都必須定義自己的版本,此虛函數(shù)又稱______。標(biāo)準(zhǔn)答案:純虛函數(shù)知識點(diǎn)解析:暫無解析44、表達(dá)式x.operator+(y.operator++(0))還可以寫成______。標(biāo)準(zhǔn)答案:x+y++或x+(y++)知識點(diǎn)解析:暫無解析45、基類為虛函數(shù),撤銷對象調(diào)用析構(gòu)函數(shù)時(shí),采用______聯(lián)編。標(biāo)準(zhǔn)答案:動(dòng)態(tài)知識點(diǎn)解析:暫無解析46、以下函數(shù)實(shí)現(xiàn)的功能是______。voidfun(char*s){char*p,*q,temp;p=s;q=s+strlen(s)-1;while(p<q){temp=*p;*p=*q;*p=temp;p++;q--;}}標(biāo)準(zhǔn)答案:將字符串首尾顛倒知識點(diǎn)解析:暫無解析47、指針數(shù)組是由______構(gòu)成的數(shù)組。標(biāo)準(zhǔn)答案:指針或指針變量知識點(diǎn)解析:暫無解析48、已知一個(gè)函數(shù)的原型是:intfn(doublea);若要以5.27為實(shí)參調(diào)用該函數(shù),應(yīng)使用表達(dá)式______。標(biāo)準(zhǔn)答案:fn(5.27)知識點(diǎn)解析:暫無解析49、非成員函數(shù)應(yīng)聲明為類的______函數(shù)才能訪問這個(gè)類的private成員。標(biāo)準(zhǔn)答案:友元知識點(diǎn)解析:暫無解析50、在類中,______成員為類的所有對象所共享。標(biāo)準(zhǔn)答案:靜態(tài)知識點(diǎn)解析:暫無解析國家二級(C++)筆試模擬試卷第4套一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共10分。)1、棧和隊(duì)列的共同特點(diǎn)是A、都是先進(jìn)先出B、都是先進(jìn)后出C、只允許在端點(diǎn)處插入和刪除元素D、沒有共同點(diǎn)標(biāo)準(zhǔn)答案:4知識點(diǎn)解析:棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種“后進(jìn)先出”的線性表;而隊(duì)列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種“先進(jìn)先出”的線性表。2、已知二叉樹后序遍歷序列是d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度芒果種植保險(xiǎn)合同4篇
- 二零二五年度空調(diào)維修及節(jié)能運(yùn)行指導(dǎo)合同3篇
- 天津事業(yè)單位2025版聘用合同簽訂注意事項(xiàng)及提示3篇
- 2025年度城市綠化景觀照明工程合同4篇
- 2025年度數(shù)據(jù)中心建設(shè)承包工程勞務(wù)合同范本4篇
- 二零二四年農(nóng)業(yè)現(xiàn)代化項(xiàng)目民間擔(dān)保合同范本3篇
- 二零二五年度綠色環(huán)保窗戶安裝工程合同4篇
- 二零二五年度林業(yè)產(chǎn)業(yè)發(fā)展規(guī)劃承包合同3篇
- 2025年UPS主機(jī)模塊化設(shè)計(jì)與快速更換服務(wù)合同3篇
- 二零二五版綠城物業(yè)智能家居產(chǎn)品安裝與維護(hù)合同4篇
- 我的家鄉(xiāng)瓊海
- (2025)專業(yè)技術(shù)人員繼續(xù)教育公需課題庫(附含答案)
- 《互聯(lián)網(wǎng)現(xiàn)狀和發(fā)展》課件
- 【MOOC】計(jì)算機(jī)組成原理-電子科技大學(xué) 中國大學(xué)慕課MOOC答案
- 2024年上海健康醫(yī)學(xué)院單招職業(yè)適應(yīng)性測試題庫及答案解析
- 2024年湖北省武漢市中考語文適應(yīng)性試卷
- 非新生兒破傷風(fēng)診療規(guī)范(2024年版)解讀
- EDIFIER漫步者S880使用說明書
- 皮膚惡性黑色素瘤-疾病研究白皮書
- 從心理學(xué)看現(xiàn)代家庭教育課件
- C語言程序設(shè)計(jì)PPT(第7版)高職完整全套教學(xué)課件
評論
0/150
提交評論