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

    <object id="4ihfc"></object>
      
      
    1. <object id="4ihfc"></object>
    2. 我要投稿 投訴建議

      c語(yǔ)言面試題及答案

      時(shí)間:2022-11-10 19:34:22 面試試題 我要投稿
      • 相關(guān)推薦

      c語(yǔ)言面試題及答案

        函數(shù)指針:

      c語(yǔ)言面試題及答案

        定義:typedef void (F1)(int p1, int p2)

        typedef void (*F2)(int p1, int p2)

        test (int p1, int p2);

        F1 * fp1;

        F2 fp2;

        F1 fp3;

        問: 語(yǔ)句

        fp3 = test;

        fp2 = test;

        fp1 = test

        是否成立?

        答案:第一條語(yǔ)句有錯(cuò),其余兩天語(yǔ)句正確。

        指針運(yùn)算:

        int *p1, *p2;

        int value;

        p1 = (int *)0x500;

        p2 = (int *) 0x508;

        value = p2-p1;

        問:value的值?

        答案:2

        定義union,并說明如何使用。如何在union中進(jìn)行位域的定義?

        枚舉類型:

        enum type1 {

        A,

        B

        };

        enum type2 {

        C =1,

        D,

        E,

        F

        }

        問:A,B,D,E,F 的值分別是多少?

        答案:0,1,2,3,4

        宏定義函數(shù)與普通函數(shù)調(diào)用的區(qū)別?

        宏定義中若有多行,如何連接

        答案:用反斜杠’\’

        #define fn_max(x,y) \

        do { \

        ..... \

        ..... \

        }while(0)

        int main()

        {

        fn_max(x,y);

        }

        問:為什么要用do……while(0)把宏定義的多條語(yǔ)句括起來(lái)?

        答案:便于優(yōu)化

        struct struct_A{

        int a;

        char b;

        int c;

        short d;

        }

        struct struct_B{

        int a;

        char b;

        short c;

        int d;

        }

        struct_A a;

        struct _B b;

        問:sizeof(struct_A a) = ?

        sizeof(struct_A b) = ?

        答案:sizeof(a) 為16,sizeof(struct_A b)為12

        9. #include

        main()

        {

        char **p;

        char *m[] = {“Welcome \n”,

        “to \n”,

        “join \n”,

        “us! \n”

        };

        p = m;

        printf(“%s\n”,*p++);

        printf(“%c\n”,**p);

        }

        問:寫出程序的執(zhí)行結(jié)果

        答案:“Welcome”和“t”

        10. static局部變量和static全局變量的區(qū)別

        答案:主要是作用域的不同,static局部變量只在函數(shù)內(nèi)部或者程序塊內(nèi)有效,而static全局變量在整個(gè)C文件模塊中都有效,注意它在其它C文件中無(wú)效。

        11. 指向常量的指針和常指針的區(qū)別

        答案:指向常量的指針?biāo)赶虻膬?nèi)容不能被修改但能夠指向其它的量,而常指針是指向的內(nèi)容可以被修改但指針不能再指向其它地方。

        12. if (a=b)

        printf(“a==b”)

        else

        printf(“a!=b”);

        輸出結(jié)果為:

        A.a==b B.a!=b C.不一定 D.不能運(yùn)行

        答案:不一定,這要根據(jù)b的內(nèi)容來(lái)決定。通常再編程時(shí)不要使用此類的賦值語(yǔ)句。

        13.在內(nèi)聯(lián)函數(shù)中使用static變量,比如

        inline test()

        { static couter = 0;

        counter++;

        }

        會(huì)有什么問題?

        答案:會(huì)造成多次定義該變量,因此再內(nèi)聯(lián)函數(shù)中禁止定義靜態(tài)變量

        14. F是一個(gè)結(jié)構(gòu)類型,有如下定義:

        F f1,f2;

        問:f1=f2;語(yǔ)句是否成立?

        答案:該語(yǔ)句成立,不過有的編譯器不支持。實(shí)際上編譯器也是用內(nèi)存拷貝函數(shù)來(lái)實(shí)現(xiàn)的。

        15.全局變量、局部變量、模塊變量在內(nèi)存空間中如何存放?(數(shù)據(jù)區(qū)or?臻g?)

        答案:全局變量在全局空間分配,局部變量在棧空間分配,模塊變量在全局空間分配。

        16.struct A{

        ......

        ......

        union {

        int x;

        .....

        };

        }

        struct A a;

        問:a.x這樣的表示法是否成立?

        答案:成立

        如果結(jié)構(gòu)定義改為如下定義

        .struct A{

        ......

        int x;

        union {

        int x;

        .....

        };

        }

        那a.x表示法是否成立?

        答案:不成立,編譯時(shí)會(huì)報(bào)x變量重定義

        17. #define REDEF(name,arg1,arg...) \

        _##name (arg1,##arg)

        問:以下兩個(gè)語(yǔ)句宏展開的結(jié)果

        REDEF(test_fn1,int a,int b);

        REDEF(test_fn2,int a);

        答案:

        _test_fn1(int a ,int b)

        _test_fn2(int a);

        注意:在VC中不支持,gcc才支持該參數(shù)宏函數(shù)。

        18. fnxxxx_max(char str[])

        {

        putchar str[0];

        str++; //(1)

        printf(“%s”,str);

        }

        main()

        {

        char str[20]={“ABCDEFG”};

        fnxxxx_max(str);

        str++; //(2)

        printf(“%s”,str);

        }

        問:語(yǔ)句(1)和語(yǔ)句(2)是否成立?

        答案:語(yǔ)句(1)成立,語(yǔ)句(2)不成立

        19.#define SRR 0x001;

        #define SRT 0x002;

        #define SRI 0x0900;

        EVENT = SRR|SRT|SRI

        問:上面的語(yǔ)句有什么問題?EVENT的值會(huì)是多少?

        答案:宏展開后變?yōu)椋?/p>

        EVENT = 0x001; 0x002;0x0900;

        因此EVENT的值為0x001,所以在編程時(shí)一定要小心,一定不要在常量宏定義的后面加上分號(hào)。

      http://krishna123.com/

      【c語(yǔ)言面試題及答案】相關(guān)文章:

      c語(yǔ)言基礎(chǔ)面試題03-26

      C語(yǔ)言筆試題目及答案03-26

      c面試題目03-26

      c語(yǔ)言心得04-24

      面試題及答案02-06

      計(jì)算機(jī)二級(jí)c語(yǔ)言考試習(xí)題及答案07-29

      c語(yǔ)言編程心得06-19

      hr面試題及答案12-30

      華為c語(yǔ)言筆試題07-17

      C語(yǔ)言實(shí)習(xí)目的09-26