• <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++ 基礎} {C++ 高級} {C#界面,C++核心算法} {設計模式} {C#基礎}

            2007年迅雷招聘網上試題及解答1 (轉)

            轉自:http://blog.csdn.net/ztj111/archive/2007/10/20/1834284.aspx

            1.下列程序的輸出結果為:(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. 棧和隊列的共同特點是:(C)
            A) 都是先進先出                 B) 都是先進后出
            C) 只允許在短點處插入和刪除元素 D) 沒有共同點
             
            4. 下面程序的運行結果為:(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. 下列選項,不正確的是:(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. 下面關于數組的初始化正確的是:(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) 內聯函數在運行時是將該函數的目標代碼插入每個調用該函數的地方
            B) 內聯函數在編譯時是將該函數的目標代碼插入每個調用該函數的地方
            C) 類的內聯函數必須在類體內定義
            D) 類的內聯函數必須在類體外通過關鍵字inline定義
             
            8.下面對靜態成員的描述中,正確的是:(D)
            A) 靜態數據成員可以在類體內初始化
            B) 靜態數據成員不可以被類的對象調用
            C) 靜態數據成員不能受private控制符的作用
            D) 靜態數據成員可以直接用類名調用
             
            9. 下列運算符中,在C++語言中不能重載的是:(C)
            A) *                B) >=             C) ::              D) delete
             
            10 下面關于多態性的描述,錯誤的是:(C)
            A) C++語言的多態性分為編譯時的多態性和運行時的多態性
            B) 編譯時的多態性可通過函數重載實現
            C) 運行時的多態性可通過模板和虛函數實現 //模板的是編譯時多態性,而虛函數是運行時
            D) 實現運行時多態性的機制稱為動態綁定
             
            11. 如果進棧序列為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 下面關于類和對象的描述中,錯誤的是:(A)
            A) 類就是C語言中的結構體類型,對象就是C語言中的結構體變量
            B) 類和對象之間的關系是抽象和具體的關系
            C) 對象是類的實例,一個對象必須屬于一個已知的類
            D) 類是具有共同行為的若干對象的統一描述體
             
            13.下面關于數組的描述錯誤的是:(D)
            A) 在C++語言中數組的名字就是指向該數組第一個元素的指針
            B) 長度為n的數組,下標的范圍是0-n-1
            C) 數組的大小必須在編譯是確定
            D) 數組只能通過值參數和引用參數兩種方式傳遞給函數
            注釋:
            在把數組作為參數傳遞給函數時,有值傳遞(by value)和地址傳遞(by reference)兩種方式。
                在值傳遞方式中,要在數組參數的尾部加上一對方括號([]),調用函數時只需將數組的地址(即數組名)傳遞給函數。
                例如:如果數組x被聲明為:int x[10];
                那麼函數被說明為:void byval_func(int[]);
                參數int[]告訴編譯程序byval_func()函數只有一個參數,即一個由int型值組成的數組。    
            函數調用時只需將數組名傳遞給函數: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]);
             }
            在值傳遞方式中,數組x將被復制一份,復制所得的數組將被存放在棧中,然后由byval_func()函數接收并打印出來。由於傳遞給byval_func()函數的是初始數組的一份拷貝,因此在byval_func()函數內部修改傳遞過來的數組對初始數組沒有任何影響。
                值傳遞方法的開銷是很大的,因為首先它要完整地復制初始數組并將這份拷貝存放到棧中,這將耗費相當可觀的運行時間, 因而值傳遞方法效率較低;其次,初始化數組的拷貝需要占用額外的內存空間(棧中的內存);最后,編譯程序需要專門產生一部分用來復制初始數組的代碼,這將使程序變大。
                地址傳遞方法克服了值傳遞方法的缺點。在地址傳遞方法中,傳遞給函數的是指向初始數組的指針,不用復制數組,因此程序變得簡練,也節省了棧中的內存空間。在地址傳遞過程中,只需在函數原形中將函數的參數說明為指向數組元素數據類型的一個指針。
                例如同樣定義一個數組x:int x[10];
                那麼函數被說明為:int const_funt(const int*);
                參數const int*告訴編譯程序const_funt()函數只有一個參數,即指向一個int類型常量的指針。
                函數調用時只需將數組的地址傳遞給函數: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));
             }
             在值傳遞方式中,沒有復制初始數組并將其拷貝存放在棧中,const_func()函數只接收到指向一個int類型常量的指針,因此在編寫程序時要保證傳遞給const_func()函數的是指向一個由int類型常量組成的數組的指針。const修飾符的作用是防止意外修改初始數組中的某一個元素。
             
            14. 引用標準庫時,下面的說法你認為哪個是正確的:(B)
            A) 語句#include “stdlib.h”是正確的,但會影響程序的執行速度
            B) 語句#include <stdlib.h>是正確的,而去程序執行速度比#include “stdlib.h”要快
            C) 語句#include <stdlib.h>和#include “stdlib.h”都是正確的,程序執行速度沒有區別
            D) 語句#include “stdlib.h”是錯誤的
            注釋:include   ""是先從本地目錄開始尋找,然后去尋找系統路徑,而Include   <>   相反先從系統目錄,后從本地目錄,
             
            15.設a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達式(m=a>b)&&(n=c>d)運算后,n的值為:(C)
            A) 0               B) 1               C) 2               D) 7
             
            16.不能作為重載函數的調用的依據是:(C)
            A) 參數個數                              B) 參數類型
            C) 函數類型                              D) 函數名稱
             
            17.下列程序的輸出結果為: (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種構造函數分別是a(基類的構造函數)、b(成員對象的構造函數)、c(派生類的構造函數)這3種構造函數的調用順序為: (A)
            A)abc                                                                B)acb
            C)cab                                                                     D)cba
             
            19. 如果友元函數重載一個運算符時,其參數表中沒有任何參數則說明該運算符是:(D)
            A)一元運算符                                                      B)二元運算符
            C)選項A)和選項B)都可能                               D)重載錯誤
            解析:C++中用友元函數重載運算符至少有一個參數,重載一目運算符要有一個參數,重載二目運算符要有兩個參數。
             
            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);
            輸出結果是:()
            A) 3, 4                                       B) 3, 5
            C) -2, 5                                     D) -2, 9
             
            21. 下列for循環的循環體執行次數為:(A)
            for(int i(10), j(1); i=j=0; i++, j--)
            A) 0;       B) 1;       C) 無限;        D)以上都不對
             
            22. 下面程序的輸出結果是(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.下面函數的執行結果是輸出(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, 則輸出結果是(A)
            A) def def                     B) abc def
            C) abc d                       D) d d
            解析:q=p;因此p,q指向的是同一段內存.scanf先是把abc寫到p指向的空間,再把def寫到q指向的空間,也就是同一段空間,因此abc被def覆蓋了.
             
            34.現在有以下語句:
            struct _THUNDER{
                   int iVersion;
                   char cTag;
                   char cAdv;
                   int iUser;
                   char cEnd;
            }Thunder;
            int sz = sizeof(Thunder);
            則執行后,變量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);
            }
            請問運行Test函數結果是:(D)
            A) Thunder Downloader                                 B) under Downloader
            C) Thunderownloader                                    D) 程序崩潰
            解析:在函數中給指針分配空間,實際上是給指針的臨時變量分配空間,函數結束后,這個臨時變量也消亡,而str仍然為NULL,沒有為其分配空間,此時strcpy()是肯定會出錯的。
             
            36. 函數調用exec((v1,v2), (v3,v4,v5),v6,v7);中,實參的個數是(A)
            A) 4               B) 5               C) 6               D) 7             
             
            37. p是指向類X的成員m的指針,s是類X的一個對象。現要給m賦值,(C)是正確的。
            A) s.p = 5                                                        B) s->p = 5
            C) s.*p = 5                                                      D) *s.p = 5
             
            38. 函數fun(char* p) { return p;}的返回值是(B)
            A)無確切值                                              B) 行參p中存放的地址值
            C) 一個臨時存儲單元的地址                   D) 行參p自身的地址值
             
            39.a,b均為不等于0的整形變量,以下關系式恒成立的是:(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. 設有如下說明:
                   typedef struct ST{ long a; int b; char c[2]; } NEW;
            則下面敘述中正確的是:(C)
            A)以上的說明形式非法                            B)ST是一個結構體類型
            C)NEW是一個結構體類型                D)NEW是一個結構體變量
             
            41. 下列表達式正確的是:(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.以下程序的輸出結果是:(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);
            則輸出結果是:(A)
            A)8,16,10     B)10,10,10      C)8,8,10      D)8,10,10
             
            45. 下面程序段的輸出結果是:(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);
            請問執行結果是:(A)
            A) 21                    B) 22                    C)無限循環                  D) 程序崩潰
             
            48. 用樹形結構表示實體之間聯系的模型是(C)
            A) 關系模型                       B) 網狀模型                C) 層次模型                D)以上三個都是
             
            49.有如下程序段:
            char fun(char *);
            main()
            {
                   char *s = “one”, a[5] = {0}, (*f1)(char *) = fun, ch;
            }
            則對函數fun的調用語句正確的是(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);
            請問執行結果是:(C)
            A) 0               B) 46             C) 23                    D) 以上都不對

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

            評論

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

            哇靠,  回復  更多評論   

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

            15題答案有問題,應該是0吧  回復  更多評論   

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

            14題應該選C  回復  更多評論   

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

            這是在考二級吧  回復  更多評論   

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

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

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

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

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

            樓上的不懂什么是編譯時,什么是運行時吧  回復  更多評論   

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

            第13題答案應是C~
            數組有靜態和動態之分,動態數組不一定要在編譯時確定。
            D正確  回復  更多評論   

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

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

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

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

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

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

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

            @路人 是0吧
            賦值運算返回都是真值
              回復  更多評論   

            公告

            EMail:itech001#126.com

            導航

            統計

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

            常用鏈接

            隨筆分類

            隨筆檔案

            收藏夾

            Blogs

            c#(csharp)

            C++(cpp)

            Enlish

            Forums(bbs)

            My self

            Often go

            Useful Webs

            Xml/Uml/html

            搜索

            •  

            積分與排名

            • 積分 - 1804430
            • 排名 - 5

            最新評論

            閱讀排行榜

            久久久久综合中文字幕| 色偷偷久久一区二区三区| 国产精品美女久久久久AV福利| 99久久er这里只有精品18| 国产日产久久高清欧美一区| 久久久久女教师免费一区| 国产一区二区久久久| 国产亚洲精品美女久久久| 欧美日韩成人精品久久久免费看| 国内高清久久久久久| 精品久久久久久无码中文野结衣 | 无码任你躁久久久久久老妇| 久久国产免费直播| 久久久久久国产精品无码下载| 成人久久免费网站| 久久亚洲av无码精品浪潮| 国产韩国精品一区二区三区久久| 久久夜色撩人精品国产小说| 国产精品18久久久久久vr | 久久精品国产99久久久香蕉| 国产午夜精品久久久久免费视| 久久精品极品盛宴观看| 久久久久亚洲?V成人无码| 国产精品天天影视久久综合网| 人妻精品久久久久中文字幕一冢本 | 日日狠狠久久偷偷色综合96蜜桃| 日本欧美久久久久免费播放网 | 久久人妻少妇嫩草AV无码专区| 久久本道久久综合伊人| 丰满少妇人妻久久久久久4| 国产一区二区三区久久| 狠狠88综合久久久久综合网| 精品无码久久久久久尤物| 欧美熟妇另类久久久久久不卡| A级毛片无码久久精品免费| 久久精品国产亚洲AV蜜臀色欲 | 1000部精品久久久久久久久| 伊人久久大香线焦AV综合影院| 亚州日韩精品专区久久久| 伊人色综合九久久天天蜜桃| 久久只有这里有精品4|