在线现看午夜福利片|女人16久久免费视频|鲁丝片一区鲁丝片二区鲁丝|一区二区三区欧美在线

  1. 
    
    <b id="glvx9"></b>
        1. <blockquote id="glvx9"><meter id="glvx9"></meter></blockquote>
            首頁 - 網校 - 萬題庫 - 美好明天 - 直播 - 導航
            您現(xiàn)在的位置: 考試吧 > 計算機等級考試 > 計算機二級考試 > C加加 > 模擬試題 > 正文

            2018年12月計算機二級C++考試沖刺試題及答案(1)

            來源:考試吧 2018-12-3 16:11:10 要考試,上考試吧! 萬題庫
            “2018年12月計算機二級C++考試沖刺試題及答案(1)”供考生參考。更多計算機等級考試模擬試題等信息請訪問考試吧計算機等級考試網。
            第 1 頁:沖刺試題
            第 2 頁:參考答案

              一、選擇題

              1.B!窘馕觥繑祿拇鎯Y構,又稱為數據的物理結構,是數據的邏輯結構在計算機中的存放形式。數據的存儲結構有順序結構、鏈式結構、散列結構和索引結構等。

              2.B!窘馕觥繉-R圖轉換成指定RDBMS中的關系模式是數據庫邏輯設計的主要工作。從E—R圖到關系模式的轉換是比較直接的,實體和聯(lián)系都可以表示成關系。

              3.C。【解析】對線性表進行順序查找時,從表中的第一個元素開始,將給定的值與表中逐個元素的關鍵字進行比較,直到兩者相符,查找到所要找的元素為止。在最壞情況下,要查找的元素是表的最后一個元素或查找失敗,這兩種情況都需要將這個元素與表中的所有元素進行比較,因此比較次數為n。

              4.C!窘馕觥繕渚哂忻黠@的層次關系,即樹是一種層次結構。在樹結構中,根結點在第一層上。當樹為非空時,樹中有且只有一個根結點,當樹為空時,樹中根結點的數目為0。

              5.B!窘馕觥筷P系的交(∩)、并(∪)和差(-)運算要求兩個關系是同元的,顯然作為二元的R和三元的S只能做笛卡兒積運算。

              6.C!窘馕觥肯拗剖褂肎OTO語句是結構化程序設計的原則和方法之一,但不是絕對不允許使用GOTO語句。其他三項為結構化程序設計的原則。

              7.A!窘馕觥筷P系的并運算是指由結構相同的兩個關系合并,形成一個新的關系,其中包含兩個關系中的所有元組。

              8.C!窘馕觥棵嫦驅ο蟮某绦蛟O計是用對象模擬問題領域中的實體,各對象之間相對獨立,相互依賴性小,通過消息來實現(xiàn)對象之間的相互聯(lián)系。

              9.B!窘馕觥砍绦虻娜N基本控制結構包括順序、選擇和重復(循環(huán)),這三種結構足以表達出各種其他形式的結構。

              10.B!窘馕觥繑祿䦷煸O計階段主要包括需求分析、概念設計、邏輯設計和物理設計。其中邏輯設計的主要工作是將E-R圖轉換為關系模式。

              11.C。【解析】函數類型決定了函數返回值的類型。函數值返回類型可以由編譯器自動完成類型轉換。在函數有返回值的調用中,編譯器將return后面的表達式的類型強制轉換為該函數定義時指定的返回值類型。

              12.D。【解析】本題主要考查C++語言的基本語法,選項A中應該為m>n‖m  13.D!窘馕觥渴褂胕fstream流類定義流對象并打開磁盤文件時,文件沒有默認的打開方式。其中ios::in是為輸入而打開;iso::out是為輸出而打開。

              14.C!窘馕觥繕嬙旌瘮蛋J構造函數和拷貝構造函數等,析構函數和構造函數一樣屬于類的特殊的成員函數。而友元函數則是為了增加類的訪問靈活性而允許其他類的成員函數或全局函數訪問類的內部變量或成員函數的一種機制,其缺點是破壞了類的封裝性。

              15.A。【解析】本題考查的是字符數組的初始化。選項B中用三個元素初始化大小為2的數組,越界了;選項C中應該是2行3列的數組,題中使用3行2列初始化;選項D中數組應用方括號。

              16.B。【解析】聲明一個函數模板的格式template<模板形參表聲明>函數聲明。調用模板函數時,如果與模板實參中最后的若干個參數有關的信息可以從模板函數的實參中獲得,則相關的模板實參可以省略。

              17.D!窘馕觥空Z句p=&my;是把對象my的地址值賦給指針變量P。語句MyClass*P,my;,由于P只是一個指向對象的指針,因此定義指針P不調用構造函數,所以此語句只調用一次構造函數。對成員函數的引用可以通過兩種形式:指針->成員函數(形參表)或者對象名.成員函數名(形參表)。

              18.D!窘馕觥勘绢}考查break語句的使用。break可以結束switch語句和for循環(huán)語旬,但是不能使用在條件判斷語句內。

              19.B。【解析】本題考核運算符的重載。假定已經作為某個類的成員函數重載了二元運算符+,且c1、c2都是該類的對象,則c1.operator+(c2)與c1+c2含義相同。如果+作為該類的非成員函數重載,則operator+(c1,c2)與c1+c2含義相同。同理,運算符“/”作為友元函數重載,則(--x)/y與表達式operator/((…x),y)相同。前綴運算符“--”作為友元函數重載,則--x與operator--(x)相同,所以組合起來是operator/(operator--(x),y);,即B選項。

              20.A!窘馕觥勘绢}考查const修飾符的作用。注意,const位置不同,其修飾的部分也是不同的。本題中const修飾的是ptr所指的對象本身,所以,ptr可以重新指向新的對象,而ptr->a則無法被更新。

              21.D!窘馕觥恐挥泄欣^承的公有成員才能被派生類的對象直接訪問,其他的情況都會因為訪問權限問題產生錯誤。

              22.C!窘馕觥勘绢}考查考生對拷貝構造函數的掌握。因為++運算是右結合的,所以在使用a對b賦值時,b的hum變?yōu)?,而a的num變?yōu)?(先賦值再自加)。

              23.D!窘馕觥勘绢}考查cin流對象的幾種成員函數get,getline,read及流提取符>>的使用規(guī)則。

              24.C!窘馕觥坑芍骱瘮祄ain入手,定義TestClass類的對象cs1,執(zhí)行cs1.va1,其中va1為靜態(tài)變量,根據intTestClass::val=0;初始化,TestClass中的TestClass(){val++;}構造函數執(zhí)行后,val值為1。主函數中接著定義對象cs2,cs3,cs4。執(zhí)行cout<  25.B!窘馕觥勘绢}考查構造函數的應用。對象建立用初始化列表對數據成員進行時。列表中的參數類型要與構造函數中形參類型一致。B選項中第二個參數為13301111155,是字符串,而構造函數中第二個形參為char型,兩者不一致造成錯誤。

              26.D。【解析】聲明派生類的一般形成為class派生類名:[繼承方式]基類名。其中繼承方式包括public、private和protected。而virtual為C++中的關鍵字,所以選項C錯。虛函數的使用方法是在基類用virtual聲明成員函數為虛函數。

              27.D!窘馕觥勘绢}考查的是友元類的定義:類A為類B的友元類,則類A的所有成員函數都是類B的友元函數,但反之則不一定成立。

              28.B!窘馕觥刻摶惖囊刖褪菫榱讼x性,其構造函數的調用仍然是按照繼承的順序進行的,對于多個虛基類則按它們說明的次序調用,虛基類的構造函數先于非虛基類的構造函數執(zhí)行。

              29.C!窘馕觥烤幾g時的多態(tài)性是通過函數重載和模板體現(xiàn)的,運行時的多態(tài)性是通過虛函數體現(xiàn)的。

              30.D。【解析】首先定義TestClass3的對象obj,參數為10。其中TestClass3為TestClass1和TestClass2的派生類。然后調用disp成員函數。disp中首先執(zhí)行TestClassl::disp();,然后執(zhí)行TestClass2::disp();,最后執(zhí)行輸出語句cout<  31.D!窘馕觥坑芍骱瘮祄ain入手,定義了類D對象obi。其中D為類B和C的公有繼承,A是C的

              虛基類。題目中要求的輸出結果為ABCD,依次為類A、類B、類C、類D中構造函數的輸出語句。為了保證基類通過多條路徑被派生類繼承,即保證A只被繼承一次,輸出一個A,所以不但需要聲明A為C的虛基類,同樣也要聲明A為B的虛基類。

              32.B!窘馕觥克^函數重載,是指同一個函數名可以對應著多個函數的實現(xiàn),類AA中定義了兩個9et()函數,一個為普通成員函數,另一個為常成員函數。一般對象a既可以調用普通成員函數get,也可以調用常成員函數get,但是由于常成員函數不能更新對象的數據成員,所以題中通過對象a調用的函數為普通成員函數get(),返回值為5。常對象b只能調用常成員函數,所以題中通過對象b調用的函數為常成員函數get(),返回值為7。

              33.C!窘馕觥亢瘮礑emo()為構造函數,而Demo(constDemo&x)為復制構造函數。C++在創(chuàng)建一個對象時,會自動調用類的構造函數,所以語句"Demoa,d;"將調用函數Demo()2次。當一個對象作為實參傳遞給函數時為初始化形參,要調用拷貝構造函數;在函數返回一個對象時調用拷貝構造函數。由此可知語句d=userCode(a);調用拷貝構造函數3次。

              34.C!窘馕觥勘绢}考查的是析構函數和對象的生存期。在主函數中,首先定義了一個DA類對象數組d,從初始化列表中可以看出,它包含三個對象;然后通過new運算符動態(tài)創(chuàng)建了一個DA類的對象數組,并將首地址賦給DA類指針P;接著通過delete[]運算符銷毀指針P所指向的數組,故此時會輸出11。最后函數結束,銷毀前面定義的對象數組d,會輸出333。故最后的輸出結果是11333。

              35.D!窘馕觥吭诮㈩悓ο髸r,構造函數的執(zhí)行順序如下:執(zhí)行基類的構造函數,調用順序按照各個基類被繼承的聲明順序;執(zhí)行成員對象的構造函數,調用順序按照各個成員在類中的聲明順序;執(zhí)行自身的構造函數。根據以上總結以及題意可知答案選擇D選項。

              36.B!窘馕觥<返回類型>又稱函數類型,表示一個

              函數所計算(或運行)的結果值類型,這里的類型可以是預定義類型(如int)、復合類型(如double*)、用戶定義類型(如枚舉類),若返回值只做更新(或設置)等操作,則該函數返回類型為void類型,函數類型和內置數組不能作為返回類型,但類類型和容器類型可以被直接返回。

              37.D。【解析】構造函數在對象被創(chuàng)建時由系統(tǒng)自動調用,本題共創(chuàng)建3個對象。

              38.C。【解析】派生類從基類保護繼承classYY:pro-tectedXX時,基類的公有成員在派生類中變?yōu)楸Wo成員,基類的保護成員在派生類中仍然是保護成員;本題中YY本身有一個保護成員y2,再加上基類XX的x2和x3,故選C。

              39.A。【解析】運算符的重載是針對C++中原有運算符進行的,不能通過重載創(chuàng)造新的運算符。

              40.D。【解析】類模板是一系列相關類的模板,類成員組成相同,成員函數的源代碼形式相同,所不同的是所針對的類型。類模板的成員函數都是模板函數,在用類模板定義對象時,由于沒有像函數實參表這樣的額外信息渠道,因此無法按函數模板的方式省略模板實參。但可以為類模板的參數設置默認值。由此可知應選D。

              二、程序改錯題

              (1)應改為“virtualvoidfun()=0;”。

              (2)應改為“p=&obj1;”。

              (3)應改為“p=&obj2;”。

              【解析】如果在基類中不使用這個虛函數,其返回值也是沒有意義的,它應該被定義為純虛函數。所以虛函數fun應該是純虛函數,也就是聲明虛函數時初始化為0的函數。即第2處的“virtualvoidfun()=0;”。第2處的P為指針變量,將對象obj1賦值給P,實際上蹙P指向對象obj1的地址,所以將“p=*obj1;”修改為“P=&obj1;”。第3處的“P=*obj2;”修改為“p=&obj2;”。

              三、簡單應用題

              inti,j,k;

              for(i=0;i<4;i++)//百位循環(huán)

              {

              for(j=0;j<4;j++)//十位循環(huán)

              for(k=0;k<4;k++)//個位循環(huán)

              {

              if(i!=j&&j!=k&&k!=i&&N[i]!=0)//

              當三位數不同,并且百位不為0

              {

              cout<  }

              }

              }

              【解析】本題利用3層循環(huán),對3位數字是否相同進行判斷。如果3位數不同,并且百位不為0,那么依次輸出這3 位數,即由3位數組成的數字。

              四、綜合應用題

              (1)將“voidprint(){};”補充完整為“virtualvoidprint(){};”。

              (2)應添加“sex=1;”。

              (3)應添加“sex=0;”。

              (4)應添加“voidfun(People&p)”。

              【解析】第1處要求“基類People完成打印功能,定義其中的打印函數為虛函數”。虛函數是函數的一種,定義虛函數,在函數名前聲明virtual就可以了,所以將第1處的“voidprint(){}”語句修改為“virtualvoidprint(){}”。第2處要求“類Boy繼承于People,在構造函數中設置性別為l”。基類People中變量sex用來存放性別,Boy繼承People,所以Boy中性別的變量可以使用基類中的sex變量,設置性別為1,即“sex=1;”。第3處要求“類Girl繼承于People,在構造函數中設置性別為0”。在第3處添加語句“sex=0;”。第4處要求“實現(xiàn)函數fun,用于傳遞不同的類型,打印出性別”。根據“P.print();”語句知道,fun函數的形參為指針P,由于它調用了基類People中的成員函數print,所以P的基類為People,即添加函數fun的定義為“voidfun(People&p)”。

            掃描/長按二維碼幫助考試通關
            2018年等考報考資訊
            2018等考各科通關技巧
            2018各科最新預測試卷
            2018等考各科備考資料

            微信搜索"考試吧"了解更多考試資訊、下載備考資料

            上一頁  1 2 

              相關推薦:

              2018年12月全國計算機等級考試必做試題匯總

              2018年全國計算機等級考試必做試題匯總(各科目)

              各地2018年12月全國計算機等考準考證打印時間匯總

              2018年全國計算機等級考試復習知識點匯總(各科目)

              2018全國計算機等級考試備考經驗及應試技巧匯總

            文章搜索
            萬題庫小程序
            萬題庫小程序
            ·章節(jié)視頻 ·章節(jié)練習
            ·免費真題 ·?荚囶}
            微信掃碼,立即獲!
            掃碼免費使用
            版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
            在線模擬試題
            考證通關殺器
            考試最新資訊
            一次通關技巧