亚洲喷奶水中文字幕电影,日本aⅴ高清一区二区三区,欧美亚洲日本国产,欧美日韩亚洲中文字幕

<legend id="flx4p"><abbr id="flx4p"><thead id="flx4p"></thead></abbr></legend>

<mark id="flx4p"><thead id="flx4p"></thead></mark>

      我要投稿 投訴建議

      搜狗C++筆試題

      時(shí)間:2022-09-25 15:38:34 筆試題目 我要投稿
      • 相關(guān)推薦

      搜狗2017C++筆試題

        搜狗2017C++筆試題有哪些呢?以下是CN人才網(wǎng)小編為大家整理的搜狗2017C++筆試題,歡迎閱讀參考。

      搜狗2017C++筆試題

        1.關(guān)于重載和多態(tài)正確的是?

        A.如果父類(lèi)和子類(lèi)都有相同的方法,參數(shù)個(gè)數(shù)不同,將子類(lèi)對(duì)象賦給父類(lèi)后,由于子類(lèi)繼承于父類(lèi),所以使用父類(lèi)指針調(diào)用父類(lèi)方法時(shí),實(shí)際調(diào)用的是子類(lèi)的方法;

        B.選項(xiàng)全部都不正確

        C.重載和多態(tài)在C++面向?qū)ο缶幊讨薪?jīng)常用到的方法,都只在實(shí)現(xiàn)子類(lèi)的方法時(shí)才會(huì)使用

        D.

        class A{

        void test(floata){cout<<"1";}

        };

        class B:public A{

        void test(intb){cout<<"2";}

        };

        A *a=new A;

        B *b=new B;

        a=b;

        a.test(1.1);

        結(jié)果是1

        解析:A中由于沒(méi)有說(shuō)明使用虛函數(shù),使程序有多態(tài)性,所以實(shí)際是調(diào)用父類(lèi)的方法;

        C中重載在一般函數(shù)中也會(huì)使用;

        D中,題目有2個(gè)錯(cuò)誤,class A中,需添加成員函數(shù)的Public訪問(wèn)屬性,否則在類(lèi)外不能訪問(wèn)成員函數(shù),并且指針對(duì)象的訪問(wèn)方式只能使用間接訪問(wèn)方式,即a->test(1.1)或者(*a).test(1.1),同樣,由于沒(méi)有多態(tài)性,輸出結(jié)果為1,若class A中test函數(shù)為virtual,則輸出2

        2.現(xiàn)有兩堆硬幣,小明和小亮玩游戲,每次每人只能從其中一堆中取走1個(gè)或2個(gè)硬幣,最后將硬幣取完者算作勝利,當(dāng)兩堆硬幣的個(gè)數(shù)分別是12,13時(shí),小明應(yīng)該如何安排策略才能必定獲得勝利?

        A.安排小亮先取硬幣;

        B.小明或小亮均一定必勝

        C.安排自己先取硬幣

        D.不可能必勝

        解析:很好理解,小明先從13個(gè)里面取出一個(gè),剩下12個(gè),以后的取法就是:無(wú)論小亮每次取多少個(gè),自己都從另外一堆中取相同的個(gè)數(shù),則可保證自己會(huì)取勝,因?yàn)閮啥讯际?2個(gè)。

        3.不考慮任何編譯器優(yōu)化(如:NRVO),下述代碼的第10行會(huì)發(fā)生

        #include //1

        class B//2

        {//3

        };//4

        B func(const B& rhs){//5

        return rhs;//6

        }//7

        int main(int argc,char **argv){//8

        B b1,b2;//9

        b2=func(b1);//10

        }//11

        A.一次默認(rèn)構(gòu)造函數(shù),一次拷貝構(gòu)造函數(shù),一次析構(gòu)函數(shù),一次(拷貝賦值運(yùn)算符)operator=

        B.二次拷貝構(gòu)造函數(shù),一次析構(gòu)函數(shù)

        C.一次(拷貝賦值運(yùn)算符)operator=,一次析構(gòu)函數(shù)

        D.一次拷貝構(gòu)造函數(shù),一次析構(gòu)函數(shù),一次(拷貝賦值運(yùn)算符)operator=

        解析:b2=func(b1),首先b1作為形參傳遞到const B& rhs,會(huì)發(fā)生拷貝構(gòu)造函數(shù),然后fun函數(shù)結(jié)束時(shí)發(fā)生析構(gòu)函數(shù),最后是operator=,賦值給b2.

        4.下面代碼的輸出結(jié)果是()

        int main(){

        int pid;

        int num=1;

        pid=fork();

        if(pid>0){

        num++;

        printf("in parent:num:%daddr:%x\n",num,&num);

        }

        else if(pid==0){

        printf("in child:num:%daddr:%x\n",num,&num);

        }

        A.父子進(jìn)程中輸出的num相同,num地址不相同

        B.父子進(jìn)程中輸出的num不同,num地址相同

        C.父子進(jìn)程中輸出的num相同,num地址也相同

        D.父子進(jìn)程中輸出的num不同,num地址不相同

        5.關(guān)于以下代碼中的變量在內(nèi)存中的存儲(chǔ)位置描述不正確的是()

        int a=0;

        class someClass{

        int b;

        static int c;

        };

        int main(){

        int d=0;

        someClass *p=new someClass();

        return 0;

        }

        A.b存在堆區(qū)

        B.c存在堆區(qū)

        C.d存在棧區(qū)

        D.a存在全局變量區(qū)

        解析: C應(yīng)該在全局靜態(tài)區(qū)

        6.以下代碼段有問(wèn)題的是()

        A.void func1(char *e){

        char *p1;

        p1=malloc(100);

        sprintf(p1,error:"%s'.",e);

        local_log(p1);

        }

        B. int func2(char *filename)

        {

        FILE *fp;

        int key;

        fp=fopen(filename,"r");

        fscanf(fp,"%d",&key);

        return key;

        }

        C.voidfunc3(char *info){

        char *p,*pp;

        p=malloc(100);

        pp=p;

        free(p);

        sprintf(pp,*info:"%s'.",info);

        free(pp);

        }

        D.選項(xiàng)全部都正確

        解析:答案是ABC,答案是A申請(qǐng)了空間沒(méi)有釋放,答案B打開(kāi)流沒(méi)有關(guān)閉,答案C其實(shí)指針都是一塊內(nèi)存空間,free了二次,程序會(huì)因?yàn)閮?nèi)存錯(cuò)誤崩潰.

        7.請(qǐng)問(wèn)該程序的輸出是多少?

        #include

        int main()

        {

        unsigned char i=7;

        int j=0;

        for(;i>0;i-=3)

        {

        ++j;

        }

        printf("%d\n",j);

        return 0;

        }

        A.2

        B.死循環(huán)

        C.173

        D.172

        解析:unsigned char 8位數(shù)據(jù)位,范圍0-255,

        所以-2(11111110)時(shí),溢出變成254;

        同理-1(11111111)時(shí),溢出變成255;

        最后減到0時(shí),不滿足循環(huán)條件,for停止。

        剛好173次。

        7 4 1 -2 ==>共4次

        254 251 ... 5 2 -1 ==>共85次

        255 252 ... 6 3 ==>共85-1=84次(因?yàn)?-3=0,不能進(jìn)入循環(huán)了)

        所以總共173次。(相減相除)

        更快捷的計(jì)算方法:256*2+7=519=173*3

        8.快速排序在下面哪種情況下優(yōu)勢(shì)最明顯()

        A.數(shù)據(jù)有多個(gè)相同數(shù)值

        B.數(shù)據(jù)基本有序

        C.數(shù)據(jù)基本無(wú)序

        D.數(shù)據(jù)無(wú)任何相同數(shù)值

        9.下列各樹(shù)形結(jié)構(gòu)中,哪些是平衡二叉查找樹(shù):

        解析:二叉平衡查找樹(shù):左子樹(shù)中所有節(jié)點(diǎn)的值小于根的值,右子樹(shù)中的所有節(jié)點(diǎn)的值大于根的值;左右子樹(shù)的高度之差的絕對(duì)值為0或1,選C

        10.下面哪種數(shù)據(jù)結(jié)構(gòu)最適合創(chuàng)建一個(gè)優(yōu)先級(jí)隊(duì)列()

        A.堆

        B.雙向鏈表

        C.單向鏈表

        D.棧

        11.某個(gè)大型的網(wǎng)絡(luò)游戲網(wǎng)站,現(xiàn)有幾億用戶(hù),為了實(shí)時(shí)獲取前十名游戲分?jǐn)?shù)最高的玩家,使用以下哪個(gè)排序算法比較合理()

        A.基數(shù)排序

        B.快速排序

        C.二叉排序

        D.堆排序

        12.有A,B,C,D,E五個(gè)字符,出現(xiàn)的頻率分別為2,5,3,3,4,由A,B,C,D,E生成的最優(yōu)二叉樹(shù)中,該樹(shù)的帶權(quán)路徑長(zhǎng)是多少()

        A35

        B.49

        C.39

        D.45

        13.從根開(kāi)始按層次(第0層->第1層->第2層)遍歷一顆二叉樹(shù),需要使用什么輔助數(shù)據(jù)結(jié)構(gòu)?()

        A. heap

        B.queue

        C.binary tree

        D.stack

        14.假設(shè)MySQL數(shù)據(jù)庫(kù)表:

        create table T{

        k int unsigned not null auto_increment,

        a date,

        b varchar(24),

        c int,d varchar(24),

        primary key(k),unique key a_index (a DESC,b DESC),

        key k1(b),key k2(c),key k3(d));

        如下哪些sql語(yǔ)句查詢(xún)能較好的利用索引?()

        A.select bfrom WHERE b like 'aaa%';

        B.select a,bfrom T WHERE a='2015-10-25' ORDER BY b ASC,c ASC;

        C.selecta,b,c from T WHERE a='2015-10-25' ORDER BY b ASC;

        D.selecta,b,c from T WHERE a='2015-10-25' ORDER BY a,b;

        15.在一個(gè)游戲的任務(wù)中,玩家需要進(jìn)入1個(gè)山洞,取得寶石,之后回到入口.

        山洞的地圖如下:

        S--------------------T

        S是入口

        T處有寶箱,打開(kāi)寶箱之后可能得到的物品有:

        1)寶石,出現(xiàn)概率為5%.

        2)魔法券.出現(xiàn)概率為50%.玩家每消耗一個(gè)魔法券,可以直接傳送到入口S.

        3)什么也沒(méi)有,概率為45%.

        S到T的距離為1.

        每次玩家回到S之后,寶箱T的狀態(tài)會(huì)重置,再次進(jìn)入山洞可以重新打開(kāi)寶箱獲得物品.

        玩家的任務(wù)是到達(dá)T獲取寶石之后回到入口S.如果到達(dá)T之后沒(méi)有獲得寶石,可以走出山洞之后再進(jìn)入反復(fù)刷.

        問(wèn)題:玩家完成任務(wù)所走路程的數(shù)學(xué)期望是()

        A.40

        B.25

        C.35

        D.30

        16.下面關(guān)于TCP的描述,錯(cuò)誤的是()

        A.TCP是一種面向連接的協(xié)議,給用戶(hù)進(jìn)程提供可靠的全雙工的字節(jié)流

        B.TCP客戶(hù)端和服務(wù)器之間建立連接需要經(jīng)過(guò)3次握手

        C.只要有一方主動(dòng)關(guān)閉連接后,這個(gè)TCP連接就結(jié)束了

        D.只要有一方主動(dòng)關(guān)閉連接后,這個(gè)TCP連接就結(jié)束了

        17.關(guān)于進(jìn)程和線程描述正確的是()

        A.線程不擁有系統(tǒng)資源,但可以訪問(wèn)隸屬于進(jìn)程的資源

        B.在創(chuàng)建或銷(xiāo)毀進(jìn)程時(shí),系統(tǒng)開(kāi)銷(xiāo)明顯大于創(chuàng)建或銷(xiāo)毀線程時(shí)開(kāi)銷(xiāo)

        C.進(jìn)程是調(diào)度和擁有資源的基本單位

        D.不僅進(jìn)程自檢可以并發(fā)執(zhí)行,同一個(gè)進(jìn)程的多個(gè)進(jìn)程之間也可以并發(fā)執(zhí)行

        18.下面()哪個(gè)函數(shù)返回的有效句柄用完后不需要CloseHandle

        A.CreateThread

        B. GetCurrentProcess

        C. OpenProcess

        D. CreateFile

        19. invalidateRect的作用是()

        A.擦除一個(gè)矩形區(qū)域

        B.刪除一個(gè)矩形

        C.使一個(gè)矩形區(qū)域變?yōu)闊o(wú)效,從而釋放部分GDI資源

        D.使一個(gè)矩形區(qū)域變?yōu)闊o(wú)效,從而可以重繪

        20.典型的創(chuàng)建Windows窗口過(guò)程的流程為:()

        A.注冊(cè)窗口類(lèi)->創(chuàng)建窗口->更新窗口->顯示窗口->消息循環(huán)

        B.創(chuàng)建窗口->注冊(cè)窗口類(lèi)->顯示窗口->更新窗口->消息循環(huán)

        C.注冊(cè)窗口類(lèi)->創(chuàng)建窗口->顯示窗口->更新窗口->消息循環(huán)

        D.創(chuàng)建窗口->注冊(cè)窗口類(lèi)->更新窗口->顯示窗口->消息循環(huán)

        參考答案:

        1.B 2.C 3.D 4.B 5.B 6.ABC 7.C 8.C 9.C 10.A

        11.D 12.C 13.B 14.AD 15.D 16.C 17.ABCD 18.B 19.D 20.C