日本一本亚洲最大|日本午夜免费啪视频在|国产自产在线视频一区|亚洲福利精品视频

    <object id="4ihfc"></object>
      
      
    1. <object id="4ihfc"></object>
    2. 軟件工程師經(jīng)典面試筆試題匯總

        1. 用預(yù)處理指令#define聲明一個(gè)常數(shù),用以表明1年中有多少秒(忽略閏年問題)。

        答案:#define SECONDS_pER_YEAR(60*60*24*365)UL

        應(yīng)該意識(shí)到表達(dá)式將使一個(gè)16位機(jī)的整形數(shù)溢出,因此要用到長整型符號(hào)L,表達(dá)式中UL表示無符號(hào)長整型。

        2. 寫一個(gè)“標(biāo)準(zhǔn)”宏MIN,這個(gè)宏輸入連個(gè)參數(shù)并返回較小的一個(gè)。

        答案:#define MIN(A,B) ((A)<=(B)?(A):(B))

        懂得在宏中小心的吧參數(shù)用括號(hào)擴(kuò)起來

        3. sizeof 的一些考察

        char* ss1=”0123456789”; char ss2[]=”0123456789”; char ss3[100]=”0123456789”;

        int ss4[100]; char q1[]=”abc”; char q2[]=”a\\n”; char* q3=”a\\n”;

        答案:ss1是一個(gè)字符指針,指針的大小是一個(gè)確定的值,就是4,sizeof(ss1)=4;

        ss2是一個(gè)字符數(shù)組,這個(gè)數(shù)組最初的大小未定,填充值是“0123456789”,一個(gè)字符占一位,再加上隱含的“\\0”一共是11位。

        ss3是一個(gè)字符數(shù)組,這個(gè)數(shù)組開始預(yù)分配100,所以它的大小是100位。

        ss4是一個(gè)整型數(shù)組,但是每個(gè)整型變量所占空間是4,所以它的大小一共是400位。

        q1與ss2類似,占4位。Q2里面有一個(gè)“\\n”,“\\n”算作一位,加上隱含的,大小一共是3位。Q3是一個(gè)字符指針,指針得大小是一個(gè)定值,就是4.

        4. What is the output of the following code?

        #include using namespace std;

        class A {}; class A2 {char d,e;}; struct B{}; struct C{ char x,y;}; struct D{int x,y;};

        main() { cout<

        答案:對于一個(gè)類而言,即便它是一個(gè)空的類,編譯器仍然要要給它一個(gè)空間,所以類A即便什么也沒有,它的空間大小依然為1,而類A2大小是類中連個(gè)字符d,e之和,所以它的空間大小依然是2,至于p1,p2,p3,p1和p3是指針,大小是一致的,而且是定值,為4,p2是A的對象,所以它的大小和類A相等,為1,B和C得解釋同A和A2,至于D,它和C不同點(diǎn)在于,結(jié)構(gòu)體有兩個(gè)整型變量,每個(gè)整型變量所占空間為4,所以D所占空間大小為8。

        最后結(jié)果是 1, 2,4, 1,4,1,2,8

        5. what is the output the following code?

        #include using namespace std;

        class A1 { public: int a; static int b;A1(); ~A1();};

        class A2 { public: int a; char c; A2(); ~A2();};

        class A3 { public: float a; char c; A3(); ~A3();};

        class A4 { public: float a; int b; char c; A4(); ~A4();};

        class A5 { public: double d; float a; int b; char c; A5(); ~A5();}

        int main() { cout<

        答案:因?yàn)殪o態(tài)變量是存放在全局?jǐn)?shù)據(jù)區(qū)的,而sizeof計(jì)算棧中分配的大小,是不會(huì)計(jì)算在內(nèi)的,所以sizeof(A1)是4;為了照顧數(shù)據(jù)對其,int大小為4,char大小為1,所以sizeof(A2)是8;為了照顧數(shù)據(jù)對其,float大小為4,char大小為1,所以sizeof(A3)為8;為了照顧數(shù)據(jù)對其,float大小為4,int大小為4,char大小為1,所以sizeof(A4)為12;為了照顧數(shù)據(jù)對其,double大小為8,float大小為4,int大小為4,char大小為1,所以sizeof(A5)選擇8的倍數(shù)為24。

        6. 以下代碼的輸出結(jié)果是()

        char var[]

        Int test(char var[]){ retrun sizeof(var);}

        答案:因?yàn)関ar[]等價(jià)于*var,函數(shù)內(nèi)部已經(jīng)退化成一個(gè)指針了,所以大小是4.

        7. 以下代碼的輸出結(jié)果是()

        Class B { float f; char p; int asf[3];}; cout<

        答案:float f占了4個(gè)字節(jié),char p占了一個(gè)字節(jié),int adf[3]占了12個(gè)字節(jié),總共是17個(gè),根據(jù)內(nèi)存的對齊原則,要選擇4的倍數(shù),是4×5=20個(gè)字節(jié)。

        8. 以下代碼的輸出結(jié)果是()

        Class B { double d; char p; int asf[4];}; cout<

        答案:double d占了8個(gè)字節(jié),char p占了一個(gè)字節(jié),int adf[4]占了16個(gè)字節(jié),總共是25個(gè),根據(jù)內(nèi)存的對齊原則,要選擇8的倍數(shù),是32個(gè)字節(jié)。

        9. 一個(gè)空類所占空間為1,多重繼承的空類所占的空間還是1,但是虛繼承涉及到虛表(虛指針),所以虛繼承的空類占的空間為4。

        10. this指針是在實(shí)例化一個(gè)對象后產(chǎn)生的,并且指向?qū)ο蟊旧?比如實(shí)例化一個(gè)對象pt,那么this=&pt;用”&”取地址符來取對象的地址.同樣,如果定義對象pt這個(gè)類中,有一個(gè)public變量x,那么就可以用this->x=0來定義x的值,等同于pt.x=0.

        11. #include using namespace std;

        Void GetMemory(int *z) { *z=5; }

        Int main() { int v; GetMemory(&v); cout<

        Getmory把v的地址傳了過來,*z是地址里的值,是v的副本.通過直接修改地址里的值,不需要有返回值,也把v給修改了,因?yàn)関所指向地址的值發(fā)生了改變,最終程序會(huì)崩潰.

        12. 下面的數(shù)據(jù)聲明都代表什么意思?

        (1)float(**def)[10]

        Def是一個(gè)二級(jí)指針,它指向的是一個(gè)指向一維數(shù)組的指針,數(shù)組的元素都是float。

        (2)double*(*gh)[10]

        Gh是一個(gè)指針,它指向一個(gè)一維數(shù)組,該數(shù)組元素都是double*

        (3) double(*f[10])()

        F是一個(gè)數(shù)組,f有十個(gè)元素,元素都是指向函數(shù)的指針,指向的函數(shù)類型是沒有參數(shù)且返回double的函數(shù)

        (4)int*((*b)[10])

        就跟“int*(b)[10]”是一樣的,b是一維數(shù)組的指針

        (5)long(*fun)(int)

        函數(shù)指針:指向函數(shù)的指針

        (6)int(*(*f)(int,int))(int)

        F是一個(gè)函數(shù)的指針,指向的函數(shù)的類型是有兩個(gè)int參數(shù)并且返回一個(gè)函數(shù)指針的函數(shù),返回的函數(shù)指針指向一個(gè)int參數(shù)且返回int的函數(shù)。

       

      本文已影響6827
      上一篇:中國銀行招聘面試筆試題目 下一篇:三星面試筆試題目

      相關(guān)文章推薦

      |||||