經典C 語言筆試題目 1

2021-09-25 23:33:55 字數 1267 閱讀 3433

q1:c和c++中struct有什麼區別?

q2: c++中的struct和class有什麼區別?

a:從語法上講,class和struct做型別定義時只有兩點區別:

(一)預設繼承許可權。如果不明確指定,來自class的繼承按照private繼承處理,來自struct的繼承按照public繼承處理;

(二)成員的預設訪問許可權。class的成員預設是private許可權,struct預設是public許可權。

除了這兩點,class和struct基本就是乙個東西。語法上沒有任何其它區別。

q3: 如何判斷一段程式是由c 編譯程式還是由c++編譯程式編譯的?

a:

#ifdef __cplusplus

cout<

#else

cout<

#endif

q4: c和c++有什麼不同?

a:從機制上:c是面向過程的(但c也可以編寫物件導向的程式);c++是物件導向的,提供了類。但是,c++編寫物件導向的程式比c容易。

從適用的方向:c適合要求**體積小的,效率高的場合,如嵌入式;c++適合更上層的,複雜的; llinux核心大部分是c寫的,因為它是系統軟體,效率要求極高。

從名稱上也可以看出,c++比c多了+,說明c++是c的超集;那為什麼不叫c+而叫c++呢,是因為c++比

c來說擴充的東西太多了,所以就在c後面放上兩個+;於是就成了c++。

c語言是結構化程式設計語言,c++是物件導向程式設計語言。

c++側重於物件而不是過程,側重於類的設計而不是邏輯的設計。

q5:「引用」與指標的區別是什麼?

a:指標通過某個指標變數指向乙個物件後,對它所指向的變數間接操作。程式中使用指標,程式的可讀性差;而引用本身就是目標變數的別名,對引用的操作就是對目標變數的操作。

q6: 對於乙個頻繁使用的短小函式,在c語言中應用什麼實現,在c++中應用什麼實現?

a:c用巨集義,c++用inline

q7: vc中,編譯工具條內的debug與release選項是什麼含義?

a:debug 通常稱為除錯版本,它包含除錯資訊,並且不作任何優化,便於程式設計師除錯程式。release 稱為發布版本,它往往是進行了各種優化,使得程式在**大小和執行速度上都是最優的,以便使用者很好地使用。debug帶有大量的除錯**,執行時需要相應的執行庫,發布模式程式緊湊不含有除錯**和資訊,直接可以執行(如果不需要執行庫)

經典C 語言筆試題目 3

q1 heap與stack的差別 a heap是堆,stack是棧。stack的空間由作業系統自動分配 釋放,heap上的空間手動分配 釋放。stack空間有限,heap是很大的自由儲存區 c中的malloc函式分配的記憶體空間即在堆上,c 中對應的是new操作符。程式在編譯期對變數和函式分配記憶體...

筆試題目(1)

2012.9.16 瑞晟筆試題 憑記憶寫 1.巨集定義,一年中有多少秒 忽略閏年 2.static是什麼意思 3.volatile 是什麼意思,試舉三個例子分別說明其作用。4.cpu中cache的作用,其組織結構有哪些?5.設定位址為0x67a9的整型變數的值為0xaa66.6.用c語言寫個函式,判...

C語言經典筆試題(二)

21 關鍵字volatile有什麼含意?並給出三個不同的例 子。參 乙個定義為volatile的變數是說這變數可 能會被意想不到地改變,這樣,編譯器就不會去假設 這個變數的值了。精確地說就是,優化器在用到這個 變數時必須每次都小心地重新讀取這個變數的值,而 不是使用儲存在暫存器裡的備份。下面是vol...