2019年c語言經典面試題目

陝西優就業發表於2019-10-28

  作為IT行業人士需要掌握的最基本的計算機語言—c語言,如今的地位只高不低,c語言掌握程度的高低往往在面試的時候可以完全表現出來,而有些問題是大家平時似乎是知道的,但卻不能完整準確地回答上來的,所以 陝西優就業小編今天幫大家整理了C語言經典面試題 ,希望對大家有所幫助。

  1.在下面程式的底畫線處填上適當的字句,使該程式執行結果為60。

  # include

  class base{int X;

  public∶

  void int (int initX){X=initX; }

  int Getnum() {return X+7; }

  void main()

  {_______

  _______

  cout<<1test.getnum();<1 p="">

  }

  2.下列程式的輸出結果是。

  #include

  void SB(char ch) {

  switch(ch) {

  case 'A': case 'a':

  cout<<"well !"; break;

  case 'B': case 'b'

  cout<<"good !"; break;

  case 'C': case 'c':

  cout<<"pass ! "; break

  default:

  cout<<"bad! "; break;

  )

  cout<<1endl;<1 p="">

  }

  void main() {

  char a[6] ="Abcaf'

  for(int i=0; a[i]; i++) SB(a[i]);}

  3.在下列程式的空格處填上適當的字句,使輸出為:0,8,5。

  # include

  # include

  class Magic{

  double x;

  public∶

  Magic(double d=0.00)∶x(fabs(d)){}

  Magic _______{return Magic(sqrt(x*x+c.x*c.x));}

  _______<<(ostream & os,Magic c){return os<<1c.x;}<1 p="">

  };

  void main()

  {Magic ma;

  cout<<1ma<1<1’,’<1<1magic(-8)<1<1’,’<1<1ma+magic(-3)+magic(-4);<1 p="">

  }

  關鍵字

  問題一:static關鍵字的作用?

  答:

  Static的用途主要有兩個,一是用於修飾儲存型別使之成為靜態儲存型別,二是用於修飾連結屬性使之成為內部連結屬性。

  1.靜態儲存型別:

  在函式內定義的靜態區域性變數,該變數存在記憶體的靜態區,所以即使該函式執行結束,靜態變數的值不會被銷燬,函式下次執行時能仍用到這個值。

  在函式外定義的靜態變數——靜態全域性變數,該變數的作用域只能在定義該變數的檔案中,不能被其他檔案透過extern引用。

  2. 內部連結屬性

  靜態函式只能在宣告它的原始檔中使用。

  問題二:const關鍵字的作用?

  答:

  1.宣告常變數,使得指定的變數不能被修改。

  const int a = 5;/*a的值一直為5,不能被改變*/

  const int b; b = 10;/*b的值被賦值為10後,不能被改變*/

  const int *ptr; /*ptr為指向整型常量的指標,ptr的值可以修改,但不能修改其所指向的值*/

  int *const ptr;/*ptr為指向整型的常量指標,ptr的值不能修改,但可以修改其所指向的值*/

  const int *const ptr;/*ptr為指向整型常量的常量指標,ptr及其指向的值都不能修改*/

  2.修飾函式形參,使得形參在函式內不能被修改,表示輸入引數。

  如int fun(const int a);或int fun(const char *str);

  3.修飾函式返回值,使得函式的返回值不能被修改。

  const char *getstr(void);使用:const *str= getstr();

  const int getint(void); 使用:const int a =getint();

  問題三:volatile關鍵字的作用?

  答:

  volatile指定的關鍵字可能被系統、硬體、程式/執行緒改變,強制編譯器每次從記憶體中取得該變數的值,而不是從被最佳化後的暫存器中讀取。例子:硬體時鐘;多執行緒中被多個任務共享的變數等。

  問題四:extern關鍵字的作用?

  答:

  1.用於修飾變數或函式,表明該變數或函式都是在別的檔案中定義的,提示編譯器在其他檔案中尋找定義。

  extern int a;

  extern int *p;

  extern int array[];

  extern void fun(void);

  其中,在函式的宣告帶有關鍵字extern,僅僅是暗示這個函式可能在別的原始檔中定義,沒有其他作用。如:

  標頭檔案A:A_MODULE.h中包含

  extern int func(int a, int b);

  原始檔A: A_MODULE.c中

  #include “A_MODULE.h”

  int func(int a, int b)

  {

  returna+b;

  }

  此時,展開標頭檔案A_MODULE.h後,為

  extern int func(int a, int b);/*雖然暗示可能在別的原始檔中定義,但又在本檔案中定義,所以extern並沒有起到什麼作用,但也不會產生錯誤*/

  int func(int a, int b)

  {

  returna+b;

  }

  而原始檔B:B_MODULE.c中,

  #include “A_MODULE.h”

  int ret = func(10,5);/

  展開標頭檔案A_MODULE.h後,為

  extern int func(int a, int b);/*暗示在別的原始檔中定義,所以在下面使用func(5,10)時,在連結的時候到別的目標檔案中尋找定義*/

  int ret = func(10,5);


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69902581/viewspace-2661718/,如需轉載,請註明出處,否則將追究法律責任。

相關文章