亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      考試首頁(yè) | 考試用書(shū) | 培訓(xùn)課程 | 模擬考場(chǎng) | 考試論壇  
      全國(guó)  |             |          |          |          |          |         
        當(dāng)前位置:計(jì)算機(jī)等級(jí) > 二級(jí)考試 > C++語(yǔ)言程序設(shè)計(jì) > C++模擬試題 > 文章內(nèi)容
        

      全國(guó)計(jì)算機(jī)二級(jí)考試C++考前押密試卷(5)

      中華IT學(xué)院   【 】  [ 2017年8月25日 ]

        一、選擇題

        1.D!窘馕觥恳粋(gè)算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需的存儲(chǔ)空間。一個(gè)算法所占用的存儲(chǔ)空閭包括算法程序所占用的空間、輸入的初始數(shù)據(jù)所占用的存儲(chǔ)空間及算法執(zhí)行過(guò)程中所需要的額外空間。

        2.D。【解析】數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式,一種數(shù)據(jù)結(jié)構(gòu)可以根據(jù)需要采用不同的存儲(chǔ)結(jié)構(gòu),常用的存儲(chǔ)結(jié)構(gòu)有順序和鏈?zhǔn)浇Y(jié)構(gòu)。采用不同的存儲(chǔ)結(jié)構(gòu),其處理的效率是不同的。

        3.D!窘馕觥克惴ǖ臅r(shí)間復(fù)雜度和算法的空間復(fù)雜度是從不同的角度來(lái)衡量算法的執(zhí)行情況的,它們之間沒(méi)有內(nèi)在聯(lián)系。

        4.D!窘馕觥拷粨Q排序方法是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法,包括冒泡排序和快速排序。冒泡排序是一種最簡(jiǎn)單的交換排序方法,它通過(guò)相鄰元素的交換,逐步將線性表變得有序。

        5.D!窘馕觥繉(duì)二叉樹(shù)的前序遍歷是指:先訪問(wèn)根結(jié)點(diǎn),然后訪問(wèn)左子樹(shù),最后訪問(wèn)右子樹(shù),并且,在訪問(wèn)左、右子樹(shù)時(shí),先訪問(wèn)根結(jié)點(diǎn),再依次訪問(wèn)其虛、右子樹(shù)。記住三種遍歷的順序:①前序,訪問(wèn)根→按前序遍歷左子樹(shù)→按前序遍歷右子樹(shù);②中序,按中序遍歷左子樹(shù)→訪問(wèn)根→按中序遍歷右子樹(shù);③后序,按后序遍歷左子樹(shù)→按后序遍歷右子樹(shù)→訪問(wèn)根。

        6.D!窘馕觥啃枨蠓治龀S玫墓ぞ哂袛(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹(shù)和判定表。PAD(問(wèn)題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。

        7.B。【解析】對(duì)二叉樹(shù)的前序遍歷是指:先訪問(wèn)根結(jié)點(diǎn),然后訪問(wèn)左子樹(shù),最后訪問(wèn)右子樹(shù)。并且,在訪問(wèn)左、右子樹(shù)時(shí),先訪問(wèn)根結(jié)點(diǎn),再依次訪問(wèn)其左、右子樹(shù)。

        8.A!窘馕觥堪缀袦y(cè)試是把測(cè)試對(duì)象看成一個(gè)打開(kāi)的盒子,允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及相關(guān)信息來(lái)設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有的邏輯路徑進(jìn)行測(cè)試。所以,白盒測(cè)試的對(duì)象基本上是源程序,以程序的內(nèi)部邏輯和指定的覆蓋標(biāo)準(zhǔn)測(cè)試數(shù)據(jù)。

        9.C!窘馕觥寇浖纳芷诳煞譃檐浖x、軟件開(kāi)發(fā)及軟件運(yùn)行維護(hù)三個(gè)階段。其中軟件定義階段的主要工作有可行性研究、計(jì)劃制定和需求分析等;軟件開(kāi)發(fā)階段的主要工作有概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)和測(cè)試等;軟件運(yùn)行維護(hù)階段的主要工作是軟件的運(yùn)行及后期的維護(hù)等。

        10.C!窘馕觥繑(shù)據(jù)庫(kù)系統(tǒng)(DBS)由數(shù)據(jù)庫(kù)(DBS)、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)、數(shù)據(jù)庫(kù)管理員、硬件平臺(tái)和軟件平臺(tái)五個(gè)部分組成,可見(jiàn)DB和DBMS都是DBS的組成部分。

        11.D!窘馕觥緾++中函數(shù)重載和運(yùn)算符重載實(shí)現(xiàn)的多態(tài)性屬于靜態(tài)多態(tài)性,在程序編譯時(shí)系統(tǒng)就能決定調(diào)用的是哪個(gè)函數(shù)。動(dòng)態(tài)多態(tài)性是在程序運(yùn)行過(guò)程中才動(dòng)態(tài)確定操作所針對(duì)的對(duì)象。動(dòng)態(tài)多態(tài)性是通過(guò)虛函數(shù)實(shí)現(xiàn)的。

        12.A!窘馕觥勘绢}考查混合運(yùn)算表達(dá)式類(lèi)型,由表達(dá)式中具有最高優(yōu)先級(jí)的類(lèi)型所確定,所以答案為A。

        13.D!窘馕觥慷S數(shù)組可以看做是一維數(shù)組的擴(kuò)展。選項(xiàng)D表示的是一個(gè)一維數(shù)組,里面每個(gè)元素是一個(gè)指針,而指針肯定指向某個(gè)地址,從而完成二維數(shù)組的擴(kuò)展。考生要了解*和[]的運(yùn)算優(yōu)先級(jí)。

        14.C!窘馕觥吭诔蓡T函數(shù)聲明的前面加上virtual關(guān)鍵字即把該函數(shù)聲明為虛函數(shù)。虛函數(shù)可以是另一個(gè)類(lèi)的友元函數(shù),但不是靜態(tài)成員函數(shù)。在派生類(lèi)中可以重新定義從基類(lèi)繼承下來(lái)的虛函數(shù),在派生類(lèi)中重新定義虛函數(shù)時(shí),函數(shù)名、形參表和返回值類(lèi)型必須保持不變。

        15.A!窘馕觥勘绢}考查運(yùn)算符的重載。C++中,::、*…?:這4個(gè)運(yùn)算符不能重載。

        16.C!窘馕觥款}中函數(shù)聲明帶有默認(rèn)參數(shù),那么在C選項(xiàng)的調(diào)用中,將會(huì)把字符型實(shí)參#賦值給整型形參b,這不符合參數(shù)傳遞規(guī)則。

        17.C!窘馕觥坑捎谌∝(fù)運(yùn)算符“-”是一元運(yùn)算符,當(dāng)作為成員函數(shù)重載時(shí)參數(shù)表中沒(méi)有參數(shù),那個(gè)唯一的操作數(shù)以this指針的形式隱藏在參數(shù)表中。

        18.B!窘馕觥勘绢}考查的是內(nèi)聯(lián)函數(shù)的定義,引入內(nèi)聯(lián)函數(shù)是為了解決程序中函數(shù)調(diào)用的效率問(wèn)題,是以目標(biāo)代碼的增加為代價(jià)換取時(shí)間的節(jié)省;一般函數(shù)在運(yùn)行時(shí)被調(diào)用,而調(diào)用的內(nèi)聯(lián)函數(shù)在編譯時(shí)就被替代了,如果不加in-line關(guān)鍵字,則編譯器會(huì)將在類(lèi)說(shuō)明部分定義的任何函數(shù)都被認(rèn)定為內(nèi)聯(lián)函數(shù)。

        19.C。【解析】所謂函數(shù)重載,是指同一個(gè)函數(shù)名可以對(duì)應(yīng)多個(gè)函擻的實(shí)現(xiàn),進(jìn)行函數(shù)重載時(shí),要求同名函數(shù)的參數(shù)個(gè)數(shù)不同,或者參數(shù)類(lèi)型不同。

        20.D。【解析】第一個(gè)字符必須是字母或下畫(huà)線,中間不能有空格;在第一個(gè)字母后,可以是任意字母、下畫(huà)線和數(shù)字組成的字符序列;標(biāo)識(shí)符的長(zhǎng)度是任意的,但特定的編譯系統(tǒng)能夠識(shí)別的標(biāo)識(shí)符長(zhǎng)度是有限的。一般不要超過(guò)31個(gè)字符;標(biāo)識(shí)符中大小寫(xiě)字母是有區(qū)別的;用戶定義標(biāo)識(shí)符時(shí),不要采用系統(tǒng)的保留字。

        21.B!窘馕觥縱alue作為類(lèi)的數(shù)據(jù)成員在引用時(shí)可以通過(guò)對(duì)象來(lái)引用,也可以通過(guò)域操作符引入類(lèi)名來(lái)限定。由于選項(xiàng)D中P是指針,它對(duì)指針變量的賦值方式是錯(cuò)誤的。

        22.C!窘馕觥勘绢}考查友元函數(shù)的應(yīng)用。程序中函數(shù)square是類(lèi)sample的一個(gè)友元函數(shù),它可以直接訪問(wèn)類(lèi)sample的所有成員。它的功能是返回類(lèi)sample的私有數(shù)據(jù)成員x的平方。所以程序的執(zhí)行結(jié)果是900。

        23.B!窘馕觥空{(diào)用拷貝構(gòu)造函數(shù)的情況為:一個(gè)新對(duì)象被另一個(gè)已存在的同類(lèi)型對(duì)象初始化;當(dāng)一個(gè)對(duì)象作為實(shí)參傳遞給函數(shù)時(shí)為初始化形參,要調(diào)用拷貝構(gòu)造函數(shù)。在函數(shù)值返回時(shí)形參的生命期結(jié)束時(shí)它的析構(gòu)函數(shù)被調(diào)用;在函數(shù)返回一個(gè)對(duì)象時(shí)調(diào)用拷貝構(gòu)造函數(shù)。符合以上條件的有:用對(duì)象objl來(lái)初始化obj3;obj3作為實(shí)參被傳入;函數(shù)fun返回一個(gè)對(duì)象時(shí);系統(tǒng)用返回值初始化一個(gè)匿

        名對(duì)象時(shí)調(diào)用了拷貝構(gòu)造函數(shù)。總共調(diào)用4次。

        24.A。【解析】由主函數(shù)main入手,定義外部變量x和y,調(diào)用函數(shù)add。因?yàn)閤,y為外部變量,所以“intx(20),y(5);”的賦值在add也是有效的,即add函數(shù)的運(yùn)算結(jié)果為25。

        25.B!窘馕觥亢瘮(shù)setfill(charc)用于設(shè)置填充字符,在輸出數(shù)據(jù)時(shí),如果數(shù)據(jù)寬度小于設(shè)置的寬度,則空閑位置要用填充字符填滿,設(shè)置的填充符一直有效,直到再次填充字符為止,如題中調(diào)用函數(shù)setfill(’*’)將填充字符設(shè)置為’*’,后又調(diào)用函數(shù)setfill(’#’)將填充字符設(shè)置為’#’。函數(shù)setw(intn)用于設(shè)置輸入/輸出寬度.寬度設(shè)置的效果只對(duì)一次輸入或輸出有效,在完成一次數(shù)據(jù)的輸出/輸入后,寬度設(shè)置自動(dòng)恢復(fù)為0,如題中語(yǔ)句以寬度10輸出數(shù)據(jù)“123”后,字符串“OK”的輸出寬度就自動(dòng)恢復(fù)為0了。而且題中輸出的對(duì)齊方式為在輸出寬度內(nèi)左對(duì)齊。本題結(jié)果為123######OK。

        26.D。【解析】C++中,虛基類(lèi)說(shuō)明格式為class<類(lèi)名>:virtual<繼承方式><基類(lèi)名>。其中,virtual是虛基類(lèi)的關(guān)鍵詞。在定義派生類(lèi)時(shí)使用虛基類(lèi)的說(shuō)明,寫(xiě)在派生類(lèi)名的后面。

        27C!窘馕觥勘绢}考查在繼承中構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序,應(yīng)該是先調(diào)用基類(lèi)的構(gòu)造函數(shù),再調(diào)用派生類(lèi)的構(gòu)造函數(shù),調(diào)用析構(gòu)函數(shù)時(shí)的順序是先調(diào)用派生類(lèi)的析構(gòu)函數(shù),后調(diào)用基類(lèi)的析構(gòu)函數(shù)。

        28.D!窘馕觥繕(gòu)造函數(shù)的主要作用是對(duì)數(shù)據(jù)成員初始化。構(gòu)造函數(shù)不能聲明為虛函數(shù),這是因?yàn)樵趫?zhí)行構(gòu)造函數(shù)時(shí)類(lèi)對(duì)象還未完成建立過(guò)程,當(dāng)然談不上函數(shù)與類(lèi)對(duì)象的關(guān)聯(lián)。

        29.A!窘馕觥砍绦蛑械腡estClassl為T(mén)estClass的派生類(lèi),主函數(shù)main中定義。TestClass對(duì)象*P,

        TestClassl對(duì)象objl,然后P引用0bjl,執(zhí)行p->who()則是調(diào)用基類(lèi)中的who函數(shù),輸出TestClass。

        30.A!窘馕觥勘境绦蛟O(shè)計(jì)了一個(gè)點(diǎn)類(lèi)Point,包含了橫、縱兩個(gè)坐標(biāo)數(shù)據(jù)x和y,由它派生出了圓類(lèi)Circle,并加入了新的數(shù)據(jù)成員,即一個(gè)半徑r和一個(gè)求圓面積的函數(shù)成員area。在主函數(shù)main中,首先定義了一個(gè)圓Circle類(lèi)的對(duì)象c1,并通過(guò)它的構(gòu)造函數(shù)初始化其數(shù)據(jù)成員。由此可知,其半徑r的值為10,所以其面積為PI*10*10=314,即對(duì)象c1的函數(shù)成員area的返回值為314。

        31.D!窘馕觥勘绢}考查指針的使用。在給*P賦值前,指針P并沒(méi)有指向一個(gè)具體的對(duì)象。此時(shí)可以通過(guò)編譯,但運(yùn)行時(shí)由于P中為隨機(jī)值,該賦值可能會(huì)破壞內(nèi)存中某個(gè)重要的地址空間的內(nèi)容,導(dǎo)致程序出錯(cuò)。

        32.D!窘馕觥勘绢}考查類(lèi)的定義。C++語(yǔ)言規(guī)定,在類(lèi)體內(nèi)不允許對(duì)所定義的數(shù)據(jù)成員進(jìn)行初始化。

        33.B!窘馕觥勘绢}考查的是對(duì)構(gòu)造函數(shù)的掌握,另外++運(yùn)算符是右結(jié)合的,所以在進(jìn)行輸出的時(shí)候都是先把原來(lái)的輸出后再自加1。

        34.C!窘馕觥緾++中可以在定義文件流對(duì)象的同時(shí)打開(kāi)文件,也可以在定義文件流對(duì)象以后用open函數(shù)打開(kāi)文件?梢酝ㄟ^(guò)構(gòu)造函數(shù)或open函數(shù)的第二個(gè)參數(shù),確定文件的打開(kāi)模式。

        35.C!窘馕觥++是右結(jié)合的,所以先賦值為3,最后輸出3+1;常成員函數(shù)只有常對(duì)象才能調(diào)用,所以輸出2。

        36.C!窘馕觥扛鶕(jù)遞歸調(diào)用的含義,當(dāng)n為2時(shí)有fib(o),fib(1),fib(2)被調(diào)用,且fib(0),fib(1)時(shí)調(diào)用結(jié)束,共3次。

        37.D!窘馕觥窟x項(xiàng)A錯(cuò)誤,不存在這樣的定義方式;選項(xiàng)B定義了一個(gè)MyClass類(lèi)的對(duì)象P;選項(xiàng)C是Java的定義方式。

        38.C!窘馕觥勘绢}針對(duì)虛基類(lèi)的定義及特點(diǎn)考查。虛基類(lèi)的聲明為“class<類(lèi)名>:virtual<繼承方式><基類(lèi)名>”,即本題的A為虛基類(lèi)。

        39.B!窘馕觥恳辉蚨\(yùn)算符函數(shù)作為成員函數(shù)時(shí),第一操作數(shù)就是對(duì)象本身,并不出現(xiàn)在參數(shù)表中,即第一操作數(shù)僅以this指針的形式隱含于參數(shù)表中,因此對(duì)于一元運(yùn)算符參數(shù)表是空的;而對(duì)于二元運(yùn)算符參數(shù)表中只有一個(gè)參數(shù),它代表第二操作數(shù)。

        40.D!窘馕觥磕0逍螀⒂衪ypename<參數(shù)名>、class<參數(shù)名>、<類(lèi)型修飾><參數(shù)名>3種形式,即typename與class通用。

        二、程序改錯(cuò)題

        (1)應(yīng)改為“assert(sizeof(s1)==4);”。

        (2)應(yīng)改為“assert(sizeof(s2)==1O);”。

        (3)應(yīng)改為“assert(sizeof(s3)==1);”。

        【解析】assert函數(shù)如果為假,則會(huì)產(chǎn)生一個(gè)中斷異常。所以要讓它正常執(zhí)行輸出結(jié)果,那么assert函數(shù)只有為真,才不會(huì)產(chǎn)生中斷異常!癮ssert(sizeof(s1)==3);”語(yǔ)句中“sizeof(s1)==3”為假,這會(huì)使程序產(chǎn)生異常,不能正常執(zhí)行。因?yàn)閟tr1的值為abc,但是它還有一個(gè)尾符,它的長(zhǎng)度應(yīng)該是4,而不是3,所以在第1處修改為“assert(sizeof(s1)==4);”。str2[10]說(shuō)明,str2的空間為10,在第2處修改為“assert(sizeof(s2)==10);”。charstr3=23;語(yǔ)句說(shuō)明23是字符,所占存儲(chǔ)空間為1,所以修改為“assert(sizeof(s3)==1);”。

        三、簡(jiǎn)單應(yīng)用題

        introw;

        intmax;

        intmin;

        intcol;

        for(row=0;row//外循環(huán)求行最大值中的最小值

        {

        for(max=a[row][0],col=1;col  每一行中的最大值

        if(max  max=a[row][col]:

        if(row==0)//求最小值

        min=max:

        else

        if(max  min=max;

        }

        returnmin;

        【解析】本題有兩層循環(huán),內(nèi)層循環(huán)求每一行的最大值,外層循環(huán)求最小值。求最大值,首先將最大值賦值為每行第一列的元素,然后依次循環(huán)比較。將求出的第一個(gè)最大值賦值為第一個(gè)最小值,然后將以后求得的最大值依次與之比較,求出所有值的最小值。

        四、綜合應(yīng)用題

        (1)應(yīng)添加“intNo;charName[32];”。

        (2)應(yīng)添加“voidSet(intno,char*strName)”。

        (3)應(yīng)添加“cout<<"No="<

      首頁(yè) 1 2 3 4 5 6 7 8 尾頁(yè)
      分享到:
      本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
      將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問(wèn)考試網(wǎng) | 復(fù)制本頁(yè)地址,傳給QQ/MSN上的好友 | 申請(qǐng)鏈接 | 意見(jiàn)留言 TOP
      關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
      Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved