C語言基礎 面試題

2021-10-14 15:37:42 字數 795 閱讀 4204

[1] ++i 和 i++的區別

區別:

++i先加1再取值

i++先取值再加1

for迴圈為麼效果一樣

for

(【語句1】;【語句2】;【語句3】)

for 迴圈是在【執行語句】結束後,才執行【語句3】因此++i和i++的效果相同

for迴圈中++i和i++的u區別

當需要處理大量的資料時,++i更優。

i++由於是在使用當前值之後再+1,所以需要乙個臨時的變數來轉存。

而++i則是在直接+1,省去了對記憶體的操作的環節,相對而言能夠提高效能

for迴圈中++i和i++的區別

[2] &運算

#include

intand

(int v )

return count;

}int

main

(void)/*

因為9999是奇數,轉換成二進位制數後,最後一位肯定是1,所以9998除了最後一位是0以外,

其他位數都和9999的相同,這樣除了最後一位,其他位數只可能有兩種運算:

1&1=1和0&0=0,而最後一位進行的運算是1&0=0,這樣,

得到的結果就與9998的二進位制數是一樣的了,換言之 9999&9998=9998

可以先將9999化為十六進製制,然後再化為二進位制,有多少個一就要按位與多少次

可以自己推算看下

*/

C 基礎面試題

c c struct aa int a char b struct student 純虛函式的定義形式 virtual 0 在虛函式和純虛函式的定義中不能有static識別符號,原因很簡單,被static修飾的函式在編譯時候要求前期bind,然而虛函式卻是動態繫結 run time bind 而且被...

c 基礎 面試題

6 章 函式 15 章 物件導向程式設計 16章 模板與泛型程式設計 演算法題c 有哪些性質?封裝 繼承 多型 封裝 實現了類的介面和實現的分離,隱藏類的具體實現,只提供給使用者介面。可以通過訪問說明符實現 public private protected 繼承 從父類得到已有的特性,拓展已存在的 ...

C語言面試題

基礎篇 1 區域性變數能否和全域性變數重名?可以2 如何引用乙個已經定義過的全域性變數?直接呼叫並初始化 3 全域性變數可不可以定義在可被多個.c檔案包含的標頭檔案中?為什麼?可以,6 堆和棧有什麼區別?7 什麼是預編譯,何時需要預編譯 8 c和c 中的struct有什麼不同?9 memset me...