亚洲高清vr播放在线观看,欧美亚洲精品免费,欧美日韩天堂在线视频,午夜福利小视频

      學習啦>創(chuàng)業(yè)指南>職場>筆試題>

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

      時間: 護托1061 分享

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

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

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

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

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

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

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

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

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

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

        h)一個有10個指針的數(shù)組,該指針指向一個函數(shù),該函數(shù)有一個整型參數(shù)并返回一個整型數(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分)請寫出以下語句的輸出結果:

        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

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

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

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

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

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

        答案:

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

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

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

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

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

        a)

        char str[]=”hello”;

        char *p=str;

        請計算:

        sizeof(str)=6

        sizeof(p)=4

        strlen(p)=5

        答案:6,字符串數(shù)組以

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

      時間: 護托1061 分享

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

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

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

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

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

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

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

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

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

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

        h)一個有10個指針的數(shù)組,該指針指向一個函數(shù),該函數(shù)有一個整型參數(shù)并返回一個整型數(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分)請寫出以下語句的輸出結果:

        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

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

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

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

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

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

        答案:

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

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

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

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

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

        a)

        char str[]=”hello”;

        char *p=str;

        請計算:

        sizeof(str)=6

        sizeof(p)=4

        strlen(p)=5

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

        4,計算的是指針的長度。

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

        b)

        void func(char str[100])

        {

        Void *p=malloc(100);

        }

        請計算:

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

        sizeof (p)=4

        c)

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

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

        請計算:

        b=3,對的。

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

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

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

        答案:

        (1)可以定義 const 常量

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

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

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

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

        #define dps struct s*

        Typedef struct s * tps;

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

        typedef char *string2;第二種才能達到預想效果, string1 a,b;

        得到的b是char

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

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

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

        Typedef。它在自己的作用域內給一個已經存在的類型一個別名

        2、(8分) 以下是一組有關內存知識的問題,請仔細看題,回答:

        Void GetMemory(char *p)

        {

        P=(char *)malloc(100);

        }

        Void Test(void)

        {

        Char *str=Null;

        GetMemory(str);

        Strcpy(str,”hello world”);

        Printf(str);

        }

        請問運行Test函數(shù)會有什么樣的結果?

        a)__________程序崩潰,運行時錯誤___________________________

        char *GetMemory(void)

        {

        Char p[]=”hello world”);

        Return p;

        }

        Void Test(void)

        {

        Char *str=NULL;

        Str=GetMemory();

        Printf(str);

        }

        請問運行Test函數(shù)會有什么結果?

        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);

        }

        請問運行Test函數(shù)會有什么結果?

        c)_______ hello __________________________________________

        void Test(void)

        {

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

        Strcpy(str,”hello”);

        Free(str);

        If(str!=NULL)

        {

        Strcpy(str,”world”);

        Printf(str);

        }

        }、

        請問運行test函數(shù)會有什么樣的結果?

        d)_______程序崩潰:因為釋放str指針后,沒有將指針置為null,所以指針變?yōu)橐爸羔樍?。再?zhí)行cpy時會因為找不到指針的指向而導致程序崩潰,請編程時,注意這一點。 __________________________________________

        3、(6分)請寫出以下程序的輸出結果:

        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分)以下說法錯誤的是:()

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

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

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

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

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

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

        全局對象的構造函數(shù)會在main 函數(shù)之前執(zhí)行

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

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

        main 之后:全局變量的釋放

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

        mainCRTStartup中被調用的

        在main之前會調用一系列初始化函數(shù)來初始化這個進程

        而在main之后會調用exit(int)來進行進程的清理工作??梢杂胈onexit 注冊一個函數(shù)

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

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

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

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

        void main( void )

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

        4,計算的是指針的長度。

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

        b)

        void func(char str[100])

        {

        Void *p=malloc(100);

        }

        請計算:

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

        sizeof (p)=4

        c)

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

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

        請計算:

        b=3,對的。

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

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

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

        答案:

        (1)可以定義 const 常量

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

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

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

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

        #define dps struct s*

        Typedef struct s * tps;

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

        typedef char *string2;第二種才能達到預想效果, string1 a,b;

        得到的b是char

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

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

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

        Typedef。它在自己的作用域內給一個已經存在的類型一個別名

        2、(8分) 以下是一組有關內存知識的問題,請仔細看題,回答:

        Void GetMemory(char *p)

        {

        P=(char *)malloc(100);

        }

        Void Test(void)

        {

        Char *str=Null;

        GetMemory(str);

        Strcpy(str,”hello world”);

        Printf(str);

        }

        請問運行Test函數(shù)會有什么樣的結果?

        a)__________程序崩潰,運行時錯誤___________________________

        char *GetMemory(void)

        {

        Char p[]=”hello world”);

        Return p;

        }

        Void Test(void)

        {

        Char *str=NULL;

        Str=GetMemory();

        Printf(str);

        }

        請問運行Test函數(shù)會有什么結果?

        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);

        }

        請問運行Test函數(shù)會有什么結果?

        c)_______ hello __________________________________________

        void Test(void)

        {

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

        Strcpy(str,”hello”);

        Free(str);

        If(str!=NULL)

        {

        Strcpy(str,”world”);

        Printf(str);

        }

        }、

        請問運行test函數(shù)會有什么樣的結果?

        d)_______程序崩潰:因為釋放str指針后,沒有將指針置為null,所以指針變?yōu)橐爸羔樍?。再?zhí)行cpy時會因為找不到指針的指向而導致程序崩潰,請編程時,注意這一點。 __________________________________________

        3、(6分)請寫出以下程序的輸出結果:

        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分)以下說法錯誤的是:()

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

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

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

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

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

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

        全局對象的構造函數(shù)會在main 函數(shù)之前執(zhí)行

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

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

        main 之后:全局變量的釋放

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

        mainCRTStartup中被調用的

        在main之前會調用一系列初始化函數(shù)來初始化這個進程

        而在main之后會調用exit(int)來進行進程的清理工作??梢杂胈onexit 注冊一個函數(shù)

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

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

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

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

        void main( void )

      3168676