C 面試題大全

2021-05-08 08:49:04 字數 2092 閱讀 6191

1.是不是乙個父類寫了乙個virtual 函式,如果子類覆蓋它的函式不加virtual ,也能實現多型?

virtual修飾符會被**繼承的。private 也被整合,只事派生類沒有訪問許可權而已。virtual可加可不加。

子類的空間裡有父類的所有變數(static除外)。同乙個函式只存在乙個實體(inline除外)。子類覆蓋它的函式不加virtual ,也能實現多型。

在子類的空間裡,有父類的私有變數。私有變數不能直接訪問。

2.輸入乙個字串,將其逆序後輸出。(使用c++,不建議用偽碼)

#include

using namespace std;

void main()

這道題目的結果是什麼啊?

define 只是定義而已,在編擇時只是簡單代換x*x而已,並不經過算術法則的

a /= (k+m)*(k+m)/(k+m)*(k+m);

=>a /= (k+m)*1*(k+m);

=>a = a/9;

=>a = 1;

ps:經過本人驗證,雖然結果一樣,但是應該不是這樣運算的,應該是a/=k+m*k+m/k+m*k+m;

因為sqr(k+m)/sqr(k+m)的值是7,而不是9。

5.const 符號常量;

(1)const char *p

(2)char const *p

(3)char * const p

說明上面三種描述的區別;

如果const位於星號的左側,則const就是用來修飾指標所指向的變數,即指標指向為常量;

如果const位於星號的右側,const就是修飾指標本身,即指標本身是常量。

(1)const char *p

乙個指向char型別的const物件指標,p不是常量,我們可以修改p的值,使其指向不同的char,但是不能改變它指向非char物件,如:

const char *p;

char c1='a';

char c2='b';

p=&c1;//ok

p=&c2;//ok

*p=c1;//error

(2)char const *p

(3)char * const p

這兩個好象是一樣的,此時*p可以修改,而p不能修改。

(4)const char * const p

這種是位址及指向物件都不能修改。

6.下面是c語言中兩種if語句判斷方式。請問哪種寫法更好?為什麼?

int n;

if (n == 10) // 第一種判斷方式

if (10 == n) // 第二種判斷方式

如果少了個=號,編譯時就會報錯,減少了出錯的可能行,可以檢測出是否少了=

7.下面的**有什麼問題?

void dosomething(...)

a:p = malloc(1024); 應該寫成: p = (char *) malloc(1024);

沒有釋放p的空間,造成記憶體洩漏。

8.下面的**有什麼問題?並請給出正確的寫法。

void dosomething(char* p)}a:

sscanf(p, "%s%d", str, n); 這句該寫成: sscanf(p, "%s%d", str, &n);

9.下面**有什麼錯誤?

void test1()

陣列越界

10.下面**有什麼問題?

void test2()

strcpy(string, str1);

}陣列越界

11.下面**有什麼問題?

void test3(char* str1)

}==陣列越界

==strcpy拷貝的結束標誌是查詢字串中的\0 因此如果字串中沒有遇到\0的話會一直複製,直到遇到\0,上面的123都因此產生越界的情況

建議使用 strncpy 和 memcpy

12.下面**有什麼問題?

#define max_srm 256

dsn get_srm_no()

系統會初始化static int變數為0,但該值會一直儲存,所謂的不可重入...

13.寫出執行結果:

6:4:1:4

14.寫出執行結果:x;

c和c面試題

1.c和c 中struct 有什麼區別 答 c沒有protection行為,不可以定義函式,但可以有函式指標 c 有protection行為,預設是public 可以定義函式。2.c 中的struct和class有什麼區別 答 從語法上講,class和struct做型別定義時只有兩點區別 1 預設繼...

C 經典面試題

本試題僅用於考查c c程式設計師的基本程式設計技能。內容限於c c常用語法,不涉及資料結構 演算法以及深奧的語法。考試成績能反映出考生的程式設計質量以及對c c的理解程度,但不能反映考生的智力和軟體開發能力。筆試時間90分鐘。請考生認真答題,切勿輕視。一 請填寫bool float,指標變數與 零值...

C 面試題彙總

c 筆試題彙總 鍊錶反轉 單向鍊錶的反轉是乙個經常被問到的乙個面試題,也是乙個非常基礎的問題。比如乙個鍊錶是這樣的 1 2 3 4 5 通過反轉後成為5 4 3 2 1。最容易想到的方法遍歷一遍鍊錶,利用乙個輔助指標,儲存遍歷過程中當前指標指向的下乙個元素,然後將當前節點元素的指標反轉後,利用已經儲...