• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            C++ Programmer's Cookbook

            {C++ 基礎(chǔ)} {C++ 高級} {C#界面,C++核心算法} {設(shè)計(jì)模式} {C#基礎(chǔ)}

            2007年迅雷招聘網(wǎng)上試題及解答1 (轉(zhuǎn))

            轉(zhuǎn)自:http://blog.csdn.net/ztj111/archive/2007/10/20/1834284.aspx

            1.下列程序的輸出結(jié)果為:(B)
            #include<iostream.h>
            void main()
            {
                   char* a[ ] = { "hello", "the", "world"};
                   char** pa = a;
                   pa++;
                   cout<<”*pa<<endl;
            }
            A) theworld    B) the   C) ello    D) ellotheworld
             
            2. 已知二叉樹后序遍歷序列是bfegcda,中序遍歷序列是badefcg,它的前序遍歷序列是:(B)
            A) abcdefg     B) abdcefg    C) adbcfeg    D) abecdfg
             
            3. 棧和隊(duì)列的共同特點(diǎn)是:(C)
            A) 都是先進(jìn)先出                 B) 都是先進(jìn)后出
            C) 只允許在短點(diǎn)處插入和刪除元素 D) 沒有共同點(diǎn)
             
            4. 下面程序的運(yùn)行結(jié)果為:(A)
            #include <iostream.h>
            void main()
            {
                   int a, x;
                   for(a = 0, x = 0; a<=1 && !x++; a++)
                   {
                          a++;
                   }
                   cout<< a << x <<endl;
            }
            A) 21             B) 22             C) 32             D) 41
             
            5. 下列選項(xiàng),不正確的是:(B) while后沒有分號
             A) for(int a=1; a<=10; a++);
            B) int a=1;
               do
               {
                          a++;
               }while(a<=10)
            C) int a=1;
               while(a<=10)
               {
                      a++;
            }
            D) for(int a= 1; a<=10; a++)a++;
            6. 下面關(guān)于數(shù)組的初始化正確的是:(B)
            A) char str[2] = {“a”,”b”};
            B) char str[2][3]={“a”,”b”};
            C) char str[2][3]={{‘a’,’b’},{‘e’,’d’},{‘e’,’f’}};
            D) char str[] = {“a”, “b”};
             

            7. 下列說法正確的是:(B)
            A) 內(nèi)聯(lián)函數(shù)在運(yùn)行時是將該函數(shù)的目標(biāo)代碼插入每個調(diào)用該函數(shù)的地方
            B) 內(nèi)聯(lián)函數(shù)在編譯時是將該函數(shù)的目標(biāo)代碼插入每個調(diào)用該函數(shù)的地方
            C) 類的內(nèi)聯(lián)函數(shù)必須在類體內(nèi)定義
            D) 類的內(nèi)聯(lián)函數(shù)必須在類體外通過關(guān)鍵字inline定義
             
            8.下面對靜態(tài)成員的描述中,正確的是:(D)
            A) 靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)初始化
            B) 靜態(tài)數(shù)據(jù)成員不可以被類的對象調(diào)用
            C) 靜態(tài)數(shù)據(jù)成員不能受private控制符的作用
            D) 靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用
             
            9. 下列運(yùn)算符中,在C++語言中不能重載的是:(C)
            A) *                B) >=             C) ::              D) delete
             
            10 下面關(guān)于多態(tài)性的描述,錯誤的是:(C)
            A) C++語言的多態(tài)性分為編譯時的多態(tài)性和運(yùn)行時的多態(tài)性
            B) 編譯時的多態(tài)性可通過函數(shù)重載實(shí)現(xiàn)
            C) 運(yùn)行時的多態(tài)性可通過模板和虛函數(shù)實(shí)現(xiàn) //模板的是編譯時多態(tài)性,而虛函數(shù)是運(yùn)行時
            D) 實(shí)現(xiàn)運(yùn)行時多態(tài)性的機(jī)制稱為動態(tài)綁定
             
            11. 如果進(jìn)棧序列為e1,e2,e3,e4,e5,則可能的出棧序列是:(D)
            A) e3,e2,e5,e4,e1
            B) e2,e3,e5,e4,e1
            C)    e3,e2,e4,e5,e1
            D) 以上都有可能
             
            12 下面關(guān)于類和對象的描述中,錯誤的是:(A)
            A) 類就是C語言中的結(jié)構(gòu)體類型,對象就是C語言中的結(jié)構(gòu)體變量
            B) 類和對象之間的關(guān)系是抽象和具體的關(guān)系
            C) 對象是類的實(shí)例,一個對象必須屬于一個已知的類
            D) 類是具有共同行為的若干對象的統(tǒng)一描述體
             
            13.下面關(guān)于數(shù)組的描述錯誤的是:(D)
            A) 在C++語言中數(shù)組的名字就是指向該數(shù)組第一個元素的指針
            B) 長度為n的數(shù)組,下標(biāo)的范圍是0-n-1
            C) 數(shù)組的大小必須在編譯是確定
            D) 數(shù)組只能通過值參數(shù)和引用參數(shù)兩種方式傳遞給函數(shù)
            注釋:
            在把數(shù)組作為參數(shù)傳遞給函數(shù)時,有值傳遞(by value)和地址傳遞(by reference)兩種方式。
                在值傳遞方式中,要在數(shù)組參數(shù)的尾部加上一對方括號([]),調(diào)用函數(shù)時只需將數(shù)組的地址(即數(shù)組名)傳遞給函數(shù)。
                例如:如果數(shù)組x被聲明為:int x[10];
                那麼函數(shù)被說明為:void byval_func(int[]);
                參數(shù)int[]告訴編譯程序byval_func()函數(shù)只有一個參數(shù),即一個由int型值組成的數(shù)組。    
            函數(shù)調(diào)用時只需將數(shù)組名傳遞給函數(shù):byval_func(x);
            #include <stdio.h>
             void byval_func(int[]);
             void main(void);
             void main(void)
             {
                 int x[10];
                 int y;
                 for(y=0;y<10;y++)
                     x[y]=y;
                 byval_func(x);    
             }
             void byal_func(int i[])
             {
                 int y;
                 for(y=0;y<10;y++)
                    printf("%d\n",i[y]);
             }
            在值傳遞方式中,數(shù)組x將被復(fù)制一份,復(fù)制所得的數(shù)組將被存放在棧中,然后由byval_func()函數(shù)接收并打印出來。由於傳遞給byval_func()函數(shù)的是初始數(shù)組的一份拷貝,因此在byval_func()函數(shù)內(nèi)部修改傳遞過來的數(shù)組對初始數(shù)組沒有任何影響。
                值傳遞方法的開銷是很大的,因?yàn)槭紫人暾貜?fù)制初始數(shù)組并將這份拷貝存放到棧中,這將耗費(fèi)相當(dāng)可觀的運(yùn)行時間, 因而值傳遞方法效率較低;其次,初始化數(shù)組的拷貝需要占用額外的內(nèi)存空間(棧中的內(nèi)存);最后,編譯程序需要專門產(chǎn)生一部分用來復(fù)制初始數(shù)組的代碼,這將使程序變大。
                地址傳遞方法克服了值傳遞方法的缺點(diǎn)。在地址傳遞方法中,傳遞給函數(shù)的是指向初始數(shù)組的指針,不用復(fù)制數(shù)組,因此程序變得簡練,也節(jié)省了棧中的內(nèi)存空間。在地址傳遞過程中,只需在函數(shù)原形中將函數(shù)的參數(shù)說明為指向數(shù)組元素?cái)?shù)據(jù)類型的一個指針。
                例如同樣定義一個數(shù)組x:int x[10];
                那麼函數(shù)被說明為:int const_funt(const int*);
                參數(shù)const int*告訴編譯程序const_funt()函數(shù)只有一個參數(shù),即指向一個int類型常量的指針。
                函數(shù)調(diào)用時只需將數(shù)組的地址傳遞給函數(shù):const_func(x);
            #include <stdio.h>
             void const_func(const int*);
             void main(void);
             void main(void)
             {
                 int x[10];
                 int y;
                 for(y=0;y<10;y++)
                     x[y]=y;
                 constl_func(x);    
             }
             void const_func(const int*i)
             {
                 int y;
                 for(y=0;y<10;y++)
                    printf("%d\n",*(i+y));
             }
             在值傳遞方式中,沒有復(fù)制初始數(shù)組并將其拷貝存放在棧中,const_func()函數(shù)只接收到指向一個int類型常量的指針,因此在編寫程序時要保證傳遞給const_func()函數(shù)的是指向一個由int類型常量組成的數(shù)組的指針。const修飾符的作用是防止意外修改初始數(shù)組中的某一個元素。
             
            14. 引用標(biāo)準(zhǔn)庫時,下面的說法你認(rèn)為哪個是正確的:(B)
            A) 語句#include “stdlib.h”是正確的,但會影響程序的執(zhí)行速度
            B) 語句#include <stdlib.h>是正確的,而去程序執(zhí)行速度比#include “stdlib.h”要快
            C) 語句#include <stdlib.h>和#include “stdlib.h”都是正確的,程序執(zhí)行速度沒有區(qū)別
            D) 語句#include “stdlib.h”是錯誤的
            注釋:include   ""是先從本地目錄開始尋找,然后去尋找系統(tǒng)路徑,而Include   <>   相反先從系統(tǒng)目錄,后從本地目錄,
             
            15.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為:(C)
            A) 0               B) 1               C) 2               D) 7
             
            16.不能作為重載函數(shù)的調(diào)用的依據(jù)是:(C)
            A) 參數(shù)個數(shù)                              B) 參數(shù)類型
            C) 函數(shù)類型                              D) 函數(shù)名稱
             
            17.下列程序的輸出結(jié)果為: (D)
            #include< iostream. h>
            int func(int n)
            {
              if〔n<1)return 1;
            else return n+func(n-1);
            return 0;
            }
            void main()
            {
            cout<<func(5)<<endl;
            }
            A) 0        B)10             C)15            D)16
             
            18. 建立派生類對象時,3種構(gòu)造函數(shù)分別是a(基類的構(gòu)造函數(shù))、b(成員對象的構(gòu)造函數(shù))、c(派生類的構(gòu)造函數(shù))這3種構(gòu)造函數(shù)的調(diào)用順序?yàn)? (A)
            A)abc                                                                B)acb
            C)cab                                                                     D)cba
             
            19. 如果友元函數(shù)重載一個運(yùn)算符時,其參數(shù)表中沒有任何參數(shù)則說明該運(yùn)算符是:(D)
            A)一元運(yùn)算符                                                      B)二元運(yùn)算符
            C)選項(xiàng)A)和選項(xiàng)B)都可能                               D)重載錯誤
            解析:C++中用友元函數(shù)重載運(yùn)算符至少有一個參數(shù),重載一目運(yùn)算符要有一個參數(shù),重載二目運(yùn)算符要有兩個參數(shù)。
             
            20. 有以下程序段:(D)?
            #define F(X,Y)   (X)--; (Y)++ (X)*(Y);

            int i, a = 3, b = 4;
            for( i = 0; i<5; i++)   F(a,b)
            printf(“%d, %d”, a, b);
            輸出結(jié)果是:()
            A) 3, 4                                       B) 3, 5
            C) -2, 5                                     D) -2, 9
             
            21. 下列for循環(huán)的循環(huán)體執(zhí)行次數(shù)為:(A)
            for(int i(10), j(1); i=j=0; i++, j--)
            A) 0;       B) 1;       C) 無限;        D)以上都不對
             
            22. 下面程序的輸出結(jié)果是(D)
            char *p1= “123”, *p2 = “ABC”, str[50]= "xyz";
            strcpy(str+2,strcat(p1,p2));
            cout << str;
            A)xyz123ABC                                                       B)z123ABC
            C)xy123ABC                                                        D)出錯
             
            23.下面函數(shù)的執(zhí)行結(jié)果是輸出(B)
            char str[ ] = “xunlei”;
            char *p = str;
            int n = 10;
            printf(“%d, %d, %d\n”, sizeof(str), sizeof(p), sizeof(n));
            A) 4, 4, 4                                                 B) 7, 4, 4
            C) 6, 4, 4                                                 D) 6, 6, 4
             
            33. 有下列程序段:
            char *p, *q;
            p = (char*) malloc(sizeof(char) * 20);
            q = p;
            scanf(“%s %s”, p, q);
            printf(“%s %s\n”, p, q);
            若從鍵盤輸入:abc def, 則輸出結(jié)果是(A)
            A) def def                     B) abc def
            C) abc d                       D) d d
            解析:q=p;因此p,q指向的是同一段內(nèi)存.scanf先是把a(bǔ)bc寫到p指向的空間,再把def寫到q指向的空間,也就是同一段空間,因此abc被def覆蓋了.
             
            34.現(xiàn)在有以下語句:
            struct _THUNDER{
                   int iVersion;
                   char cTag;
                   char cAdv;
                   int iUser;
                   char cEnd;
            }Thunder;
            int sz = sizeof(Thunder);
            則執(zhí)行后,變量sz的值將得到(D)
            A) 11             B) 12             C) 13             D) 16
             
            35. 有如下程序段:
            void GetMemeory(char* p)

                          p = (char*) malloc (100);

            void test()
            {
            char *str=NULL;
            GetMemory(str);
            strcpy(str,”Thunder”);
            strcat(str+2, “Downloader”);
             printf(str);
            }
            請問運(yùn)行Test函數(shù)結(jié)果是:(D)
            A) Thunder Downloader                                 B) under Downloader
            C) Thunderownloader                                    D) 程序崩潰
            解析:在函數(shù)中給指針分配空間,實(shí)際上是給指針的臨時變量分配空間,函數(shù)結(jié)束后,這個臨時變量也消亡,而str仍然為NULL,沒有為其分配空間,此時strcpy()是肯定會出錯的。
             
            36. 函數(shù)調(diào)用exec((v1,v2), (v3,v4,v5),v6,v7);中,實(shí)參的個數(shù)是(A)
            A) 4               B) 5               C) 6               D) 7             
             
            37. p是指向類X的成員m的指針,s是類X的一個對象。現(xiàn)要給m賦值,(C)是正確的。
            A) s.p = 5                                                        B) s->p = 5
            C) s.*p = 5                                                      D) *s.p = 5
             
            38. 函數(shù)fun(char* p) { return p;}的返回值是(B)
            A)無確切值                                              B) 行參p中存放的地址值
            C) 一個臨時存儲單元的地址                   D) 行參p自身的地址值
             
            39.a(chǎn),b均為不等于0的整形變量,以下關(guān)系式恒成立的是:(C)
            A) a*b/a*b == 1                                 B) a/b*b/a == 1
            C) a/b*b + a%b == a                          D) a/b*b == a
             
            40. 設(shè)有如下說明:
                   typedef struct ST{ long a; int b; char c[2]; } NEW;
            則下面敘述中正確的是:(C)
            A)以上的說明形式非法                            B)ST是一個結(jié)構(gòu)體類型
            C)NEW是一個結(jié)構(gòu)體類型                D)NEW是一個結(jié)構(gòu)體變量
             
            41. 下列表達(dá)式正確的是:(C)
            A) 9++                  B) (x+y)++              C) c+++c+++c++                D) ++(a-b--)
             
            42.在int b[ ][3] = {{1},{3,2},{4,5,6},{0}};中,sizeof(b) = (D)。
            A) 4                      B) 12                    C) 28                    D) 48
             
            43.以下程序的輸出結(jié)果是:(D)
            #define M(x,y,z) x*y+z
            main()
            {
                   int a=1, b=2, c=3;
                   printf(“%d\n”,M(a+b,b+c,c+a));
            }
            A)19                   B) 17                    C) 15                    D) 12
             
            44.若有以下定義和語句:
            int u=010, v= 0x10, w=10;
            printf(“%d,%d,%d\n”,u,v,w);
            則輸出結(jié)果是:(A)
            A)8,16,10     B)10,10,10      C)8,8,10      D)8,10,10
             
            45. 下面程序段的輸出結(jié)果是:(B)
            int a=5, b=4, c=3, d=2;
            if(a>b>c)
                   printf(“%d\n”,d);
            else if((c-1>=d)==1)
                   printf(“%d\n”, d+1);
            else
                   printf(“%d\n”, d+1);
            A) 2                      B) 3                      C) 4                   D) 編譯錯誤
             
            46.有如下程序段,請問k的值是:(D)
            enum {a, b=5, c, d=4, e} k; k =c;
            A) 3                      B)4                     C) 5                      D) 6
             
            47.有如下程序段:
            int i, n = 0;
            double x = 1, y1 = 2.1/1.9, y2 = 1.9/2.1;
            for( i = 1; i<22; i++)
                   x = x*y1;
            while( x!=1.0)
            {
                   x =x*y2;
                   n++;
            }
            printf(“%d\n”, n);
            請問執(zhí)行結(jié)果是:(A)
            A) 21                    B) 22                    C)無限循環(huán)                  D) 程序崩潰
             
            48. 用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是(C)
            A) 關(guān)系模型                       B) 網(wǎng)狀模型                C) 層次模型                D)以上三個都是
             
            49.有如下程序段:
            char fun(char *);
            main()
            {
                   char *s = “one”, a[5] = {0}, (*f1)(char *) = fun, ch;
            }
            則對函數(shù)fun的調(diào)用語句正確的是(C)
            A) *f1(&a);                  B) f1(*s);                 C) f1(&ch)                   D) ch = *f1(s);要改成(*f1)(s)才正確
             
            50.有如下程序段:
            int c = 23;
            printf(“%d\n”, c&c);
            請問執(zhí)行結(jié)果是:(C)
            A) 0               B) 46             C) 23                    D) 以上都不對

            posted on 2008-02-18 13:20 夢在天涯 閱讀(6701) 評論(12)  編輯 收藏 引用 所屬分類: interview

            評論

            # re: 2007年迅雷招聘網(wǎng)上試題及解答1 (轉(zhuǎn)) 2008-04-22 09:30 網(wǎng)人

            哇靠,  回復(fù)  更多評論   

            # re: 2007年迅雷招聘網(wǎng)上試題及解答1 (轉(zhuǎn)) 2008-05-27 16:04 路人

            15題答案有問題,應(yīng)該是0吧  回復(fù)  更多評論   

            # re: 2007年迅雷招聘網(wǎng)上試題及解答1 (轉(zhuǎn)) 2008-06-24 10:28 xiao7cn

            14題應(yīng)該選C  回復(fù)  更多評論   

            # re: 2007年迅雷招聘網(wǎng)上試題及解答1 (轉(zhuǎn)) 2008-08-01 11:28 何日喪

            這是在考二級吧  回復(fù)  更多評論   

            # re: 2007年迅雷招聘網(wǎng)上試題及解答1 (轉(zhuǎn)) 2008-08-13 18:55 apacs

            20選c,真正在循環(huán)中的只有(X)--,
            而(Y)++則在循環(huán)外  回復(fù)  更多評論   

            # re: 2007年迅雷招聘網(wǎng)上試題及解答1 (轉(zhuǎn)) 2008-10-09 20:52 LD

            14題的答案是對的,如果是<>會直接在VS的文件夾里面搜索,而""會先在本地搜索然后再去VS文件夾里面搜索@xiao7cn
              回復(fù)  更多評論   

            # re: 2007年迅雷招聘網(wǎng)上試題及解答1 (轉(zhuǎn)) 2008-10-10 11:18 kimi

            樓上的不懂什么是編譯時,什么是運(yùn)行時吧  回復(fù)  更多評論   

            # re: 2007年迅雷招聘網(wǎng)上試題及解答1 (轉(zhuǎn)) 2008-10-16 11:28 林楚濤

            第13題答案應(yīng)是C~
            數(shù)組有靜態(tài)和動態(tài)之分,動態(tài)數(shù)組不一定要在編譯時確定。
            D正確  回復(fù)  更多評論   

            # re: 2007年迅雷招聘網(wǎng)上試題及解答1 (轉(zhuǎn)) 2008-10-16 11:47 林楚濤

            這答案從哪里來的啊???質(zhì)量真爛!!
            看了前20題~13、14、19題的答案都是錯的!!
            14為C~運(yùn)行和編譯時是不一樣的!!
            19為A~如果運(yùn)算符被重載為類的成員函數(shù),那么一元運(yùn)算符沒有參數(shù)的~~
            今晚要去迅雷筆試的人看了就完了~~~  回復(fù)  更多評論   

            # re: 2007年迅雷招聘網(wǎng)上試題及解答1 (轉(zhuǎn))[未登錄] 2008-12-14 00:54 桀達(dá)

            13題的C是沒錯的,
            你聲明一個數(shù)組的時候,你可以聲明為char a[];明顯會報(bào)錯,
            數(shù)組的聲明只能是確定大小的
            char a[3]或者char a[] ={'A','B','C'};從聲明的角度就可以看出C是正確的啦  回復(fù)  更多評論   

            # re: 2007年迅雷招聘網(wǎng)上試題及解答1 (轉(zhuǎn))[未登錄] 2008-12-14 01:03 桀達(dá)

            14的確錯了,
            14應(yīng)該選C,運(yùn)行速度一樣,但是編譯速度上就是<>比""快
            編譯成功后,include的內(nèi)容其實(shí)會便宜,并連接,所以用<>或者""從運(yùn)行來說是完全沒有關(guān)系的  回復(fù)  更多評論   

            # re: 2007年迅雷招聘網(wǎng)上試題及解答1 (轉(zhuǎn)) 2009-08-14 17:29 sin00

            @路人 是0吧
            賦值運(yùn)算返回都是真值
              回復(fù)  更多評論   

            公告

            EMail:itech001#126.com

            導(dǎo)航

            統(tǒng)計(jì)

            • 隨筆 - 461
            • 文章 - 4
            • 評論 - 746
            • 引用 - 0

            常用鏈接

            隨筆分類

            隨筆檔案

            收藏夾

            Blogs

            c#(csharp)

            C++(cpp)

            Enlish

            Forums(bbs)

            My self

            Often go

            Useful Webs

            Xml/Uml/html

            搜索

            •  

            積分與排名

            • 積分 - 1807508
            • 排名 - 5

            最新評論

            閱讀排行榜

            亚洲欧洲精品成人久久奇米网| 久久成人影院精品777| 久久久久久久亚洲Av无码| 日本久久久精品中文字幕| 亚洲国产精品无码成人片久久| 久久精品国产清自在天天线| 久久综合给合久久狠狠狠97色69| 亚洲一级Av无码毛片久久精品| 久久这里只有精品首页| 久久国产色AV免费观看| 一本久久a久久精品亚洲| 久久婷婷午色综合夜啪| 午夜精品久久久内射近拍高清| 亚洲一本综合久久| 久久中文骚妇内射| 国产精品久久久久久久久免费 | 国产福利电影一区二区三区久久久久成人精品综合 | 亚洲精品高清一二区久久| 美女写真久久影院| 国产99久久久国产精品~~牛| 狠狠色丁香久久综合婷婷| 亚洲中文字幕无码久久精品1| 伊人久久大香线蕉无码麻豆| 久久久国产视频| 亚洲国产精品婷婷久久| 无码人妻久久久一区二区三区| 精品久久久久久国产牛牛app| 中文字幕无码精品亚洲资源网久久| 亚洲AV无码久久| 国产亚洲婷婷香蕉久久精品| 一本大道加勒比久久综合| 久久久久国产视频电影| 一本色综合久久| 久久偷看各类wc女厕嘘嘘| 国内精品久久久久伊人av| 久久精品男人影院| 久久久久亚洲AV无码专区桃色| 久久这里只精品99re66| 久久精品中文字幕无码绿巨人| 国产精品久久久久久搜索| 久久久久亚洲AV成人网人人网站|