C++函數中值的傳遞方式有哪幾種?下面就由本站小編爲大家介紹一下C++筆試面試題的文章,歡迎閱讀。
C++筆試面試題篇1
1 #include “filename.h”和#include 的區別?
答:#include “filename.h”表明該檔案是用戶提供的頭檔案,查找該檔案時從當前檔案
目錄開始;#include 表明這個檔案是一個工程或標準頭檔案,查找過程會檢查預定義的目錄。
2 頭檔案的作用是什麼?
答:一、透過頭檔案來調用庫功能。在很多場合,原始碼不便(或不準)向用戶公佈,只要向用戶提供頭檔案和二進制的庫即可。用戶只需要按照頭檔案中的接口聲明來調用庫功能,而不必關心接口怎麼實現的。編譯器會從庫中提取相應的代碼。
二、頭檔案能加強類型安全檢查。如果某個接口被實現或被使用時,其方式與頭檔案中的聲明不一致,編譯器就會指出錯誤,這一簡單的規則能大大減輕程序員調試、改錯的負擔
3 C++函數中值的傳遞方式有哪幾種?
答:C++函數的三種傳遞方式爲:值傳遞、指針傳遞和引用傳遞。
4 內存的分配方式的分配方式有幾種?
答:一、從靜態存儲區域分配。內存在程序編譯的時候就已經分配好,這塊內存在程序的整個執行期間都存在。例如全局變量。
二、在棧上創建。在執行函數時,函數內局部變量的存儲單元都可以在棧上創建,函數執行結束時這些存儲單元自動被釋放。棧內存分配運算內置於處理器的指令集中,效率很高,但是分配的內存容量有限。
三、從堆上分配,亦稱動態內存分配。程序在執行的時候用malloc或new申請任意多少的內存,程序員自己負責在何時用free或delete釋放內存。動態內存的生存期由我們決定,使用非常靈活,但問題也最多。交換兩個數,不用第三塊兒內存!請問怎麼實現?現有12個小球,其中只有1個球與其它的球重量不同(即有11個球重量全相同),並且不知道這個跟其它球重量不同的球是重還是輕(跟其他11個重量相同的球相比而言),那麼從這12個球中找出這個跟其它球重量不同的球.
C++筆試面試題篇2
1.英譯漢 ,關於ITU和CCITT的
2.漢譯英,關於VMware的
3.兩個有序數組的合併,寫一個完整的程序
4.填空題,排序二叉樹節點的刪除,5個空
5.調試題,多線程檔案的讀寫,編譯沒有錯誤,請找出至少三個bug.
8.內聯函數在編譯時是否做參數類型檢查?
1,程序設計(可以用自然語言來描述,不編程):C/C++原始碼中,檢查花括弧(是"("與")","{"與"}")是否匹配,若不匹配,則輸出不匹配花括弧所在的行與列。
2,巧排數字,將1,2,...,19,20這20個數字排成一排,使得相鄰的兩個數字之和爲一個素數,且首尾兩數字之和也爲一個素數。編程打印出所有的排法。
3,打印一個N*N的方陣,N爲每邊字元的個數( 3〈N〈20 ),要求最外層爲"X",第二層爲"Y",從第三層起每層依次打印數字0,1,2,3,...
例子:當N =5,打印出下面的圖形:
X X X X X
X Y Y Y X
X Y 0 Y X
X Y Y Y X
X X X X X
C++筆試面試題篇3
1. 三個float:a,b,c 問值
(a+b)+c==(b+a)+c
(a+b)+c==(a+c)+b
2. 把一個鏈表反向填空 (重複)
4. y1(n)=x(2n), y2(n)=x(n/2),問:
如果y1爲周期函數,那麼x是否爲周期函數
如果x爲周期函數,那麼y1是否爲周期函數
如果y2爲周期函數,那麼x是否爲周期函數
如果x爲周期函數,那麼y2是否爲周期函數
4. 某個程序在一個嵌入式系統(200M的CPU,50M的SDRAM)中已經最化了,換到另一個系統
(300M的CPU,50M的SDRAM)中執行,還需要優化嗎?
5. x^4+a*x^3+x^2+c*x+d最少需要作幾次乘法