亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦>創(chuàng)業(yè)指南>職場>筆試題>

      c++軟件開發(fā)筆試題目

      時(shí)間: 護(hù)托1061 分享

        C++代碼· C++設(shè)計(jì)成靜態(tài)類型、和C同樣高效且可移植的多用途程序設(shè)計(jì)語言。下面就由學(xué)習(xí)啦小編為大家介紹一下c++軟件開發(fā)筆試題目的文章,歡迎閱讀。

        c++軟件開發(fā)筆試題目篇1

        1、(4分)用變量a給出下面的定義

        a) 一個(gè)整型數(shù);

        b)一個(gè)指向整型數(shù)的指針;

        c)一個(gè)指向指針的指針,它指向的指針是指向一個(gè)整型數(shù);

        d)一個(gè)有10個(gè)整型的數(shù)組;

        e)一個(gè)有10個(gè)指針的數(shù)組,該指針是指向一個(gè)整型數(shù);

        f)一個(gè)指向有10個(gè)整型數(shù)數(shù)組的指針;

        g)一個(gè)指向函數(shù)的指針,該函數(shù)有一個(gè)整型參數(shù)并返回一個(gè)整型數(shù);

        h)一個(gè)有10個(gè)指針的數(shù)組,該指針指向一個(gè)函數(shù),該函數(shù)有一個(gè)整型參數(shù)并返回一個(gè)整型數(shù)

        答案:

        a)int a

        b)int *a;

        c)int **a;

        d)int a[10];

        e)int *a [10];

        f) int (*a)[10]

        g)int (*a)(int)

        h) int( *a[10])(int)

        2、(4分)請(qǐng)寫出以下語句的輸出結(jié)果:

        Int i=43;

        Int j=5;

        Double f=25.45181;

        a) printf(“i=%d,j=%d,f=%3.2f”,i,j,f);

        b) printf(“i=%x,j=%06d,i/j=%d”,i,j,i/j);

        答案:

        A)i=43,j=5,f=25.45

        (說明:本來應(yīng)該輸出最小3位有效數(shù)字,25.5,但是由于限定了2位小數(shù),所以強(qiáng)制有2位小數(shù),有效數(shù)字的個(gè)數(shù)就起不到強(qiáng)制作用了。如果是%3.1,則輸出為25.5)

        B)i=2B ,j=000005,i/j=8

        (%x顯示的是一個(gè)無符號(hào)的0x 16進(jìn)制的整數(shù),%06d輸出的是6位數(shù),不夠6位數(shù),前面補(bǔ)0,i/j兩個(gè)整數(shù)相除,只取商的整數(shù)值)

        3、(2分)請(qǐng)完成以下宏定義:

        a)用預(yù)處理指令#define 聲明一個(gè)常數(shù),用以表明1年中有多少個(gè)秒(忽略閏年問題) b)寫一個(gè)“標(biāo)準(zhǔn)”宏MIN,這個(gè)宏輸入兩個(gè)參數(shù)并返回較小的一個(gè)

        答案:

        a)#define SECONDS (365*24*60*60)UL

        b) #define MIN(a,b) ((A)<(B)?(A):(B))

        擴(kuò)展:MAX宏 #define MAX ((A)>(B)?(A):(B))

        ABS宏 #define ABS (((X)>0)?(X):(-(X)))

        4、(6分)以下為32為windows下的c++程序,請(qǐng)計(jì)算:

        a)

        char str[]=”hello”;

        char *p=str;

        請(qǐng)計(jì)算:

        sizeof(str)=6

        sizeof(p)=4

        strlen(p)=5

        答案:6,字符串?dāng)?shù)組以

      c++軟件開發(fā)筆試題目

      時(shí)間: 護(hù)托1061 分享

        C++代碼· C++設(shè)計(jì)成靜態(tài)類型、和C同樣高效且可移植的多用途程序設(shè)計(jì)語言。下面就由學(xué)習(xí)啦小編為大家介紹一下c++軟件開發(fā)筆試題目的文章,歡迎閱讀。

        c++軟件開發(fā)筆試題目篇1

        1、(4分)用變量a給出下面的定義

        a) 一個(gè)整型數(shù);

        b)一個(gè)指向整型數(shù)的指針;

        c)一個(gè)指向指針的指針,它指向的指針是指向一個(gè)整型數(shù);

        d)一個(gè)有10個(gè)整型的數(shù)組;

        e)一個(gè)有10個(gè)指針的數(shù)組,該指針是指向一個(gè)整型數(shù);

        f)一個(gè)指向有10個(gè)整型數(shù)數(shù)組的指針;

        g)一個(gè)指向函數(shù)的指針,該函數(shù)有一個(gè)整型參數(shù)并返回一個(gè)整型數(shù);

        h)一個(gè)有10個(gè)指針的數(shù)組,該指針指向一個(gè)函數(shù),該函數(shù)有一個(gè)整型參數(shù)并返回一個(gè)整型數(shù)

        答案:

        a)int a

        b)int *a;

        c)int **a;

        d)int a[10];

        e)int *a [10];

        f) int (*a)[10]

        g)int (*a)(int)

        h) int( *a[10])(int)

        2、(4分)請(qǐng)寫出以下語句的輸出結(jié)果:

        Int i=43;

        Int j=5;

        Double f=25.45181;

        a) printf(“i=%d,j=%d,f=%3.2f”,i,j,f);

        b) printf(“i=%x,j=%06d,i/j=%d”,i,j,i/j);

        答案:

        A)i=43,j=5,f=25.45

        (說明:本來應(yīng)該輸出最小3位有效數(shù)字,25.5,但是由于限定了2位小數(shù),所以強(qiáng)制有2位小數(shù),有效數(shù)字的個(gè)數(shù)就起不到強(qiáng)制作用了。如果是%3.1,則輸出為25.5)

        B)i=2B ,j=000005,i/j=8

        (%x顯示的是一個(gè)無符號(hào)的0x 16進(jìn)制的整數(shù),%06d輸出的是6位數(shù),不夠6位數(shù),前面補(bǔ)0,i/j兩個(gè)整數(shù)相除,只取商的整數(shù)值)

        3、(2分)請(qǐng)完成以下宏定義:

        a)用預(yù)處理指令#define 聲明一個(gè)常數(shù),用以表明1年中有多少個(gè)秒(忽略閏年問題) b)寫一個(gè)“標(biāo)準(zhǔn)”宏MIN,這個(gè)宏輸入兩個(gè)參數(shù)并返回較小的一個(gè)

        答案:

        a)#define SECONDS (365*24*60*60)UL

        b) #define MIN(a,b) ((A)<(B)?(A):(B))

        擴(kuò)展:MAX宏 #define MAX ((A)>(B)?(A):(B))

        ABS宏 #define ABS (((X)>0)?(X):(-(X)))

        4、(6分)以下為32為windows下的c++程序,請(qǐng)計(jì)算:

        a)

        char str[]=”hello”;

        char *p=str;

        請(qǐng)計(jì)算:

        sizeof(str)=6

        sizeof(p)=4

        strlen(p)=5

        答案:6,字符串?dāng)?shù)組以\0(空格為結(jié)尾,所以str數(shù)組空間大小為5+1)

        4,計(jì)算的是指針的長度。

        5,strlen函數(shù)區(qū)的字符指針str的長度,不包括空字符。

        b)

        void func(char str[100])

        {

        Void *p=malloc(100);

        }

        請(qǐng)計(jì)算:

        sizeof(str)=100,:表示在內(nèi)存中預(yù)分配的內(nèi)存大小。

        sizeof (p)=4

        c)

        int a[3]={1,2,3};

        int b=sizeof(a)/sizeof(a[0]); sizeof(a)求的是數(shù)組的大小。

        請(qǐng)計(jì)算:

        b=3,對(duì)的。

        5、(2分) 設(shè)有定義:int n=0,*p=&n,**q=&p; 則以下選項(xiàng)中,正確的賦值語句是(d) a)p=1; b)*q=2; c)q=p; d)*p=5;

        (c)改成q=&p; 才對(duì)。

        6、(2分)const關(guān)鍵字的用途?(至少說明兩種)

        答案:

        (1)可以定義 const 常量

        (2)const 可以修飾函數(shù)的參數(shù)、返回值,甚至函數(shù)的定義體。被const 修飾的東 西都受到強(qiáng)制保護(hù),可以預(yù)防意外的變動(dòng),能提高程序的健壯性。

        (3)const可以用來修飾指針變量,控制指針變量的存取規(guī)則。

        c++軟件開發(fā)筆試題目篇2

        1、(2分)typedef的c語言中頻繁用以聲明一個(gè)已經(jīng)存在的數(shù)據(jù)類型的同義詞。也可以用以預(yù)處理器做類似的事情。例如:

        #define dps struct s*

        Typedef struct s * tps;

        以上兩種情況的意圖都是要定義dps和tps作為一個(gè)指向結(jié)構(gòu)s指針。哪種方法更好一些呢?(如果有的話)為什么? 考慮安全性還是用typedef好,宏定義在編譯時(shí)是不檢查的,只是簡單替換,而typedef編譯時(shí)要檢查的 typedef,而且typedef,define并非等價(jià),如#define string1 char *

        typedef char *string2;第二種才能達(dá)到預(yù)想效果, string1 a,b;

        得到的b是char

        define是做替換的,typedef 則是重新定義一種數(shù)據(jù)類型的??梢韵騣nt型一樣使用的。

        #define FIND(struct,e) (size_t) &(((struct*)0)->e)

        typedef是語句( 以';'結(jié)尾)

        Typedef。它在自己的作用域內(nèi)給一個(gè)已經(jīng)存在的類型一個(gè)別名

        2、(8分) 以下是一組有關(guān)內(nèi)存知識(shí)的問題,請(qǐng)仔細(xì)看題,回答:

        Void GetMemory(char *p)

        {

        P=(char *)malloc(100);

        }

        Void Test(void)

        {

        Char *str=Null;

        GetMemory(str);

        Strcpy(str,”hello world”);

        Printf(str);

        }

        請(qǐng)問運(yùn)行Test函數(shù)會(huì)有什么樣的結(jié)果?

        a)__________程序崩潰,運(yùn)行時(shí)錯(cuò)誤___________________________

        char *GetMemory(void)

        {

        Char p[]=”hello world”);

        Return p;

        }

        Void Test(void)

        {

        Char *str=NULL;

        Str=GetMemory();

        Printf(str);

        }

        請(qǐng)問運(yùn)行Test函數(shù)會(huì)有什么結(jié)果?

        b)_______________ hello world ________________________________

        void GetMemory2(char **p,int num)

        {

        *p=(char *)malloc(num);

        }

        Void Test(void)

        {

        Char *str=NULL;

        GetMemory(&str,100);

        Strcpy(str,”hello”);

        Printf(str);

        }

        請(qǐng)問運(yùn)行Test函數(shù)會(huì)有什么結(jié)果?

        c)_______ hello __________________________________________

        void Test(void)

        {

        Char *str=(char *)malloc(100);

        Strcpy(str,”hello”);

        Free(str);

        If(str!=NULL)

        {

        Strcpy(str,”world”);

        Printf(str);

        }

        }、

        請(qǐng)問運(yùn)行test函數(shù)會(huì)有什么樣的結(jié)果?

        d)_______程序崩潰:因?yàn)獒尫舠tr指針后,沒有將指針置為null,所以指針變?yōu)橐爸羔樍恕T賵?zhí)行cpy時(shí)會(huì)因?yàn)檎也坏街羔樀闹赶蚨鴮?dǎo)致程序崩潰,請(qǐng)編程時(shí),注意這一點(diǎn)。 __________________________________________

        3、(6分)請(qǐng)寫出以下程序的輸出結(jié)果:

        Class A

        {

        Public:

        A()

        { Printf(“A constructed.\n”);}

        Virtual ~A()

        {printf(“A deconstructed.\n”);}

        Virtual void Fn()

        {printf(“A fn called.\n”);} };

        Class B:public A

        {

        Public:

        B()

        {printf(“B constructed.\n”);} Virtual ~B()

        {printf(“B deconstructed.\n”);} Virtual void Fn()

        {printf(“B fn called.\n”);} };

        Class C:public B

        {

        Public:

        C()

        {printf(“C constructed.\n”);} Virtual ~C()

        {printf(“C deconstructed.\n”);} Virtual void Fn()

        {printf(“C fn called.\n”);} };

        Void main(int argc,char* grgv[]) {

        A *pA=new B;

        If(pA!=NULL)

        pA->fn();

        B *pB=static_cast(pA);

        If(pB!=NULL)

        pB->fn();

        C * pC=static_cast(pA); If(pC!=NULL)

        pC->fn();

        delete pA;

        }

        Answer:

        A constructed

        B constructed

        B fn called

        B fn called

        B fn called

        B deconstructed

        A deconstructed

        c++軟件開發(fā)筆試題目篇3

        1.(2分)以下說法錯(cuò)誤的是:()

        A)指針和引用作為函數(shù)參數(shù)都可以改變實(shí)參

        B)指針和引用都可以在定義后任意的改變指向,引用是不可以改變的。

        C)引用必須在創(chuàng)建的時(shí)候初始化,而指針則不需要

        D)不能空引用,但是可以有空指針

        2、(2分) 運(yùn)算符的重載形式有兩種,重載為_重載為類的內(nèi)部成員函數(shù)____________和_重載為類的友元函數(shù)______________________

        3、(2分) main主函數(shù)執(zhí)行完畢后,是否可能會(huì)再執(zhí)行一段代碼?請(qǐng)說明理由? 可以使用注冊(cè)函數(shù)讓程序在推出main之后,程序終止之前執(zhí)行自定義的一些代碼!

        全局對(duì)象的構(gòu)造函數(shù)會(huì)在main 函數(shù)之前執(zhí)行

        利用atexit()函數(shù)可以在程序終止前完成一些“清理”工作——如果將指向一組函數(shù)的指針傳遞給atexit()函數(shù),那么在程序退出main()函數(shù)后(此時(shí)程序還未終止)就能自動(dòng)調(diào)用這組函數(shù)。在使用atexit()函數(shù)時(shí)你要注意這樣兩點(diǎn):

        main 之前:預(yù)編譯 全局變量的初始化等

        main 之后:全局變量的釋放

        main函數(shù)執(zhí)行之前,主要就是初始化系統(tǒng)相關(guān)資源

        mainCRTStartup中被調(diào)用的

        在main之前會(huì)調(diào)用一系列初始化函數(shù)來初始化這個(gè)進(jìn)程

        而在main之后會(huì)調(diào)用exit(int)來進(jìn)行進(jìn)程的清理工作??梢杂胈onexit 注冊(cè)一個(gè)函數(shù)

        ,可以用_onexit 注冊(cè)一個(gè)函數(shù),它會(huì)在main 之后執(zhí)行int fn1(void), fn2(void), fn3(void), fn4 (void);

        可能會(huì)執(zhí)行一些注冊(cè)過的Hook

        注意,atexit()以棧的方式注冊(cè)函數(shù),后注冊(cè)的函數(shù)會(huì)先執(zhí)行。

        _onexit和atexit()一樣是以占的方式注冊(cè)函數(shù)的,后注冊(cè)的函數(shù)會(huì)被先執(zhí)行。

        void main( void )

      (空格為結(jié)尾,所以str數(shù)組空間大小為5+1)

        4,計(jì)算的是指針的長度。

        5,strlen函數(shù)區(qū)的字符指針str的長度,不包括空字符。

        b)

        void func(char str[100])

        {

        Void *p=malloc(100);

        }

        請(qǐng)計(jì)算:

        sizeof(str)=100,:表示在內(nèi)存中預(yù)分配的內(nèi)存大小。

        sizeof (p)=4

        c)

        int a[3]={1,2,3};

        int b=sizeof(a)/sizeof(a[0]); sizeof(a)求的是數(shù)組的大小。

        請(qǐng)計(jì)算:

        b=3,對(duì)的。

        5、(2分) 設(shè)有定義:int n=0,*p=&n,**q=&p; 則以下選項(xiàng)中,正確的賦值語句是(d) a)p=1; b)*q=2; c)q=p; d)*p=5;

        (c)改成q=&p; 才對(duì)。

        6、(2分)const關(guān)鍵字的用途?(至少說明兩種)

        答案:

        (1)可以定義 const 常量

        (2)const 可以修飾函數(shù)的參數(shù)、返回值,甚至函數(shù)的定義體。被const 修飾的東 西都受到強(qiáng)制保護(hù),可以預(yù)防意外的變動(dòng),能提高程序的健壯性。

        (3)const可以用來修飾指針變量,控制指針變量的存取規(guī)則。

        c++軟件開發(fā)筆試題目篇2

        1、(2分)typedef的c語言中頻繁用以聲明一個(gè)已經(jīng)存在的數(shù)據(jù)類型的同義詞。也可以用以預(yù)處理器做類似的事情。例如:

        #define dps struct s*

        Typedef struct s * tps;

        以上兩種情況的意圖都是要定義dps和tps作為一個(gè)指向結(jié)構(gòu)s指針。哪種方法更好一些呢?(如果有的話)為什么? 考慮安全性還是用typedef好,宏定義在編譯時(shí)是不檢查的,只是簡單替換,而typedef編譯時(shí)要檢查的 typedef,而且typedef,define并非等價(jià),如#define string1 char *

        typedef char *string2;第二種才能達(dá)到預(yù)想效果, string1 a,b;

        得到的b是char

        define是做替換的,typedef 則是重新定義一種數(shù)據(jù)類型的。可以向int型一樣使用的。

        #define FIND(struct,e) (size_t) &(((struct*)0)->e)

        typedef是語句( 以';'結(jié)尾)

        Typedef。它在自己的作用域內(nèi)給一個(gè)已經(jīng)存在的類型一個(gè)別名

        2、(8分) 以下是一組有關(guān)內(nèi)存知識(shí)的問題,請(qǐng)仔細(xì)看題,回答:

        Void GetMemory(char *p)

        {

        P=(char *)malloc(100);

        }

        Void Test(void)

        {

        Char *str=Null;

        GetMemory(str);

        Strcpy(str,”hello world”);

        Printf(str);

        }

        請(qǐng)問運(yùn)行Test函數(shù)會(huì)有什么樣的結(jié)果?

        a)__________程序崩潰,運(yùn)行時(shí)錯(cuò)誤___________________________

        char *GetMemory(void)

        {

        Char p[]=”hello world”);

        Return p;

        }

        Void Test(void)

        {

        Char *str=NULL;

        Str=GetMemory();

        Printf(str);

        }

        請(qǐng)問運(yùn)行Test函數(shù)會(huì)有什么結(jié)果?

        b)_______________ hello world ________________________________

        void GetMemory2(char **p,int num)

        {

        *p=(char *)malloc(num);

        }

        Void Test(void)

        {

        Char *str=NULL;

        GetMemory(&str,100);

        Strcpy(str,”hello”);

        Printf(str);

        }

        請(qǐng)問運(yùn)行Test函數(shù)會(huì)有什么結(jié)果?

        c)_______ hello __________________________________________

        void Test(void)

        {

        Char *str=(char *)malloc(100);

        Strcpy(str,”hello”);

        Free(str);

        If(str!=NULL)

        {

        Strcpy(str,”world”);

        Printf(str);

        }

        }、

        請(qǐng)問運(yùn)行test函數(shù)會(huì)有什么樣的結(jié)果?

        d)_______程序崩潰:因?yàn)獒尫舠tr指針后,沒有將指針置為null,所以指針變?yōu)橐爸羔樍?。再?zhí)行cpy時(shí)會(huì)因?yàn)檎也坏街羔樀闹赶蚨鴮?dǎo)致程序崩潰,請(qǐng)編程時(shí),注意這一點(diǎn)。 __________________________________________

        3、(6分)請(qǐng)寫出以下程序的輸出結(jié)果:

        Class A

        {

        Public:

        A()

        { Printf(“A constructed.\n”);}

        Virtual ~A()

        {printf(“A deconstructed.\n”);}

        Virtual void Fn()

        {printf(“A fn called.\n”);} };

        Class B:public A

        {

        Public:

        B()

        {printf(“B constructed.\n”);} Virtual ~B()

        {printf(“B deconstructed.\n”);} Virtual void Fn()

        {printf(“B fn called.\n”);} };

        Class C:public B

        {

        Public:

        C()

        {printf(“C constructed.\n”);} Virtual ~C()

        {printf(“C deconstructed.\n”);} Virtual void Fn()

        {printf(“C fn called.\n”);} };

        Void main(int argc,char* grgv[]) {

        A *pA=new B;

        If(pA!=NULL)

        pA->fn();

        B *pB=static_cast(pA);

        If(pB!=NULL)

        pB->fn();

        C * pC=static_cast(pA); If(pC!=NULL)

        pC->fn();

        delete pA;

        }

        Answer:

        A constructed

        B constructed

        B fn called

        B fn called

        B fn called

        B deconstructed

        A deconstructed

        c++軟件開發(fā)筆試題目篇3

        1.(2分)以下說法錯(cuò)誤的是:()

        A)指針和引用作為函數(shù)參數(shù)都可以改變實(shí)參

        B)指針和引用都可以在定義后任意的改變指向,引用是不可以改變的。

        C)引用必須在創(chuàng)建的時(shí)候初始化,而指針則不需要

        D)不能空引用,但是可以有空指針

        2、(2分) 運(yùn)算符的重載形式有兩種,重載為_重載為類的內(nèi)部成員函數(shù)____________和_重載為類的友元函數(shù)______________________

        3、(2分) main主函數(shù)執(zhí)行完畢后,是否可能會(huì)再執(zhí)行一段代碼?請(qǐng)說明理由? 可以使用注冊(cè)函數(shù)讓程序在推出main之后,程序終止之前執(zhí)行自定義的一些代碼!

        全局對(duì)象的構(gòu)造函數(shù)會(huì)在main 函數(shù)之前執(zhí)行

        利用atexit()函數(shù)可以在程序終止前完成一些“清理”工作——如果將指向一組函數(shù)的指針傳遞給atexit()函數(shù),那么在程序退出main()函數(shù)后(此時(shí)程序還未終止)就能自動(dòng)調(diào)用這組函數(shù)。在使用atexit()函數(shù)時(shí)你要注意這樣兩點(diǎn):

        main 之前:預(yù)編譯 全局變量的初始化等

        main 之后:全局變量的釋放

        main函數(shù)執(zhí)行之前,主要就是初始化系統(tǒng)相關(guān)資源

        mainCRTStartup中被調(diào)用的

        在main之前會(huì)調(diào)用一系列初始化函數(shù)來初始化這個(gè)進(jìn)程

        而在main之后會(huì)調(diào)用exit(int)來進(jìn)行進(jìn)程的清理工作??梢杂胈onexit 注冊(cè)一個(gè)函數(shù)

        ,可以用_onexit 注冊(cè)一個(gè)函數(shù),它會(huì)在main 之后執(zhí)行int fn1(void), fn2(void), fn3(void), fn4 (void);

        可能會(huì)執(zhí)行一些注冊(cè)過的Hook

        注意,atexit()以棧的方式注冊(cè)函數(shù),后注冊(cè)的函數(shù)會(huì)先執(zhí)行。

        _onexit和atexit()一樣是以占的方式注冊(cè)函數(shù)的,后注冊(cè)的函數(shù)會(huì)被先執(zhí)行。

        void main( void )

      3168676