中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      C/C++經典面試題

      時間:2024-06-13 22:09:33 面試筆試 我要投稿
      • 相關推薦

      C/C++經典面試題

        面試題 1:變量的聲明和定義有什么區別

      C/C++經典面試題

        為變量分配地址和存儲空間的稱為定義,不分配地址的稱為聲明。一個變量可以在多個地方聲明,

        但是只在一個地方定義。加入 extern修飾的是變量的聲明,說明此變量將在文件以外或在文件后面部分

        定義。

        說明:很多時候一個變量,只是聲明不分配內存空間,直到具體使用時才初始化,分配內存空間,

        如外部變量。

        面試題 2:寫出 bool 、int、 float、指針變量與“零值”比較的 if 語句

        bool型數據:

        if( flag )

        {

        A;

        }

        else

        {

        B;

        }

        int型數據:

        if( 0 != flag )

        {

        A;

        }

        else

        {

        B;

        }

        指針型數:

        if( NULL == flag )

        {

        A;

        }

        else

        {

        B;

        }

        float型數據:

        if ( ( flag >= NORM ) && ( flag <= NORM ) )

        {

        A;

        2

        }

        注意:應特別注意在 int、指針型變量和“零值”比較的時候,把“零值”放在左邊,這樣當把“==”

        誤寫成“=”時,編譯器可以報錯,否則這種邏輯錯誤不容易發現,并且可能導致很嚴重的后果。

        面試題 3:sizeof 和strlen的區別

        sizeof和 strlen 有以下區別:

         sizeof是一個操作符,strlen是庫函數。

         sizeof的參數可以是數據的類型,也可以是變量,而 strlen只能以結尾為‘\0‘的字符串作參數。

         編譯器在編譯時就計算出了 sizeof 的結果。而 strlen 函數必須在運行時才能計算出來。并且 sizeof

        計算的是數據類型占內存的大小,而 strlen計算的是字符串實際的長度。

         數組做sizeof的參數不退化,傳遞給strlen就退化為指針了。

        注意:有些是操作符看起來像是函數,而有些函數名看起來又像操作符,這類容易混淆的名稱一定

        要加以區分,否則遇到數組名這類特殊數據類型作參數時就很容易出錯。最容易混淆為函數的操作符就

        是 sizeof。

        面試題 4:C 語言的關鍵字 static 和 C++ 的關鍵字 static 有什么區別

        在C 中static 用來修飾局部靜態變量和外部靜態變量、函數。而 C++中除了上述功能外,還用來定

        義類的成員變量和函數。即靜態成員和靜態成員函數。

        注意:編程時 static的記憶性,和全局性的特點可以讓在不同時期調用的函數進行通信,傳遞信息,

        而 C++的靜態成員則可以在多個對象實例間進行通信,傳遞信息。

        面試題 5:C中的 malloc 和C++中的 new有什么區別

        malloc和 new有以下不同:

        (1)new、 是操作符,可以重載,只能在 C++中使用。

        (2)malloc、free是函數,可以覆蓋,C、C++中都可以使用。

        (3)new 可以調用對象的構造函數,對應的 調用相應的析構函數。

        (4)malloc僅僅分配內存,free 僅僅回收內存,并不執行構造和析構函數

        (5)new、 返回的是某種數據類型指針,malloc、free 返回的是void指針。

        注意:malloc申請的內存空間要用 free釋放,而 new申請的內存空間要用 釋放,不要混用。

        因為兩者實現的機理不同。

        面試題 6:寫一個“標準”宏 MIN

        #define min(a,b)((a)<=(b)?(a):(b))

        注意:在調用時一定要注意這個宏定義的副作用,如下調用:

        ((++*p)<=(x)?(++*p):(x)。

        p指針就自加了兩次,違背了 MIN的本意。

        面試題 7:一個指針可以是 volatile 嗎

        可以,因為指針和普通變量一樣,有時也有變化程序的不可控性。常見例:子中斷服務子程序修改

        一個指向一個 buffer的指針時,必須用 volatile來修飾這個指針。

        說明:指針是一種普通的變量,從訪問上沒有什么不同于其他變量的特性。其保存的數值是個整型

        數據,和整型變量不同的是,這個整型數據指向的是一段內存地址。

        面試題 8:a 和&a 有什么區別

        請寫出以下代碼的打印結果,主要目的是考察 a和&a的區別。

        #include

        void main( void )

        {

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

        int *ptr=(int *)(&a+1);

        printf(“%d,%d”,*(a+1),*(ptr-1));

        return;

        }

        輸出結果:2,5。

        注意:數組名 a可以作數組的首地址,而&a是數組的指針。思考,將原式的 int *ptr=(int *)(&a+1);

        改為 int *ptr=(int *)(a+1);時輸出結果將是什么呢?

        面試題 9:簡述 C、C++程序編譯的內存分配情況

        C、C++中內存分配方式可以分為三種:

        (1)從靜態存儲區域分配:

        內存在程序編譯時就已經分配好,這塊內存在程序的整個運行期間都存在。速度快、不容易出錯,

        因為有系統會善后。例如全局變量,static變量等。

        (2)在棧上分配:

        在執行函數時,函數內局部變量的存儲單元都在棧上創建,函數執行結束時這些存儲單元自動被釋

        放。棧內存分配運算內置于處理器的指令集中,效率很高,但是分配的內存容量有限。

        (3)從堆上分配:

        即動態內存分配。程序在運行的時候用 malloc 或 new 申請任意大小的內存,程序員自己負責在何

        時用free 或 釋放內存。動態內存的生存期由程序員決定,使用非常靈活。如果在堆上分配了空間,

        就有責任回收它,否則運行的程序會出現內存泄漏,另外頻繁地分配和釋放不同大小的堆空間將會產生

        堆內碎塊。

        一個C、C++程序編譯時內存分為 5大存儲區:堆區、棧區、全局區、文字常量區、程序代碼區。

        4

        面試題 10:簡述 strcpy、sprintf 與 memcpy的區別

        三者主要有以下不同之處:

        (1)操作對象不同,strcpy的兩個操作對象均為字符串,sprintf的操作源對象可以是多種數據類型,

        目的操作對象是字符串, memcpy 的兩個對象就是兩個任意可操作的內存地址,并不限于何種數據類型。

        (2)執行效率不同,memcpy最高,strcpy次之,sprintf的效率最低。

        (3)實現功能不同,strcpy主要實現字符串變量間的拷貝,sprintf 主要實現其他數據類型格式到字

        符串的轉化,memcpy主要是內存塊間的拷貝。

        說明:strcpy、sprintf 與memcpy都可以實現拷貝的功能,但是針對的對象不同,根據實際需求,來

        選擇合適的函數實現拷貝功能。


      【C/C++經典面試題】相關文章:

      普天C++筆試題02-18

      基礎C++/C語言筆試題分享11-21

      群碩筆試題Java和C++、C#11-21

      C++工程師筆試題目11-25

      C++程序員求職信11-21

      最新凌陽科技C++筆試分享11-21

      C++程序員求職信范文11-21

      UC(優視科技)2014實習筆試題回憶版 C/C++編程11-21

      有心情的試一試,考查C++/C程序員的基本編程技能11-11

      面試題精選02-18

      主站蜘蛛池模板: 亚洲国产色婷婷久久99精品91| 久久亚洲AV无码一区二区综合| 无码av一区在线观看| 国产毛片一区二区日韩| av少妇偷窃癖在线观看| 国产人妖免费调教视频| 建宁县| 国产精品久久久亚洲第一牛牛| 久久精品国产亚洲av成人擦边| 少妇高潮紧爽免费观看| 中文字幕人妻一区二区三区四区| 丰满人妻无奈张开双腿av| 日本久久精品免费播放| 国内精品国产三级国产av另类| 亚洲狠狠婷婷综合久久久| 武宁县| 日本一区二区三本视频在线观看| 国产av一区二区三区国产精品| 国产一区二区三区在线免费播放| 灵台县| 亚洲无码视频一区:| 崇信县| 阿v视频在线| av最新版天堂在资源在线| 99热这里只有精品久久6| 少妇熟女淫荡丰满| 国产男女猛烈无遮挡免费视频网址| 上蔡县| 国产在线一区二区视频免费观看| 日本护士一区二区三区高清热线| 国产精品成人无码久久久久久| 固阳县| 偷拍网日本一区二区三区| 18禁黄无遮挡免费网站| 日本女优在线观看一区二区三区| 国产一区二区三区韩国| 国产码欧美日韩高清综合一区 | 亚洲天天综合色制服丝袜在线| 青青草亚洲在线一区观看| 日本少妇比比中文字幕| 色中文字幕视频在线观看|