特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學習啦 > 創(chuàng)業(yè)指南 > 職場 > 面試題 > 關于c++的面試題

關于c++的面試題

時間: 朝瑩801 分享

關于c++的面試題

  一直以來,求職面試都被視為人事招聘中最常用的工具。那關于c++的一些面試題有什么呢?下面是學習啦小編為你整理的c++的一些面試題,希望對你有幫助。

  c++面試題

  1.是不是一個父類寫了一個virtual 函數(shù),如果子類覆蓋它的函數(shù)不加virtual ,也能實現(xiàn)多態(tài)?

  virtual修飾符會被隱形繼承的。private 也被集成,只事派生類沒有訪問權限而已。virtual可加可不加。子類的空間里有父類的所有變量(static除外)。同一個函數(shù)只存在一個實體(inline除外)。子類覆蓋它的函數(shù)不加virtual ,也能實現(xiàn)多態(tài)。在子類的空間里,有父類的私有變量。私有變量不能直接訪問。

  2.輸入一個字符串,將其逆序后輸出。(使用C++,不建議用偽碼)

  #include

  using namespace std;

  void main()

  {

  char a[50];memset(a,0,sizeof(a));

  int i=0,j;

  char t;

  cin.getline(a,50,'\n');

  for(i=0,j=strlen(a)-1;i

  {

  t=a[i];

  a[i]=a[j];

  a[j]=t;

  }

  cout<

  }

  //第二種

  string str;

  cin>>str;

  str.replace;

  cout<

  3.請簡單描述Windows內(nèi)存管理的方法。

  內(nèi)存管理是操作系統(tǒng)中的重要部分,兩三句話恐怕誰也說不清楚吧~~

  我先說個大概,希望能夠拋磚引玉吧

  當程序運行時需要從內(nèi)存中讀出這段程序的代碼。代碼的位置必須在物理內(nèi)存中才能被運行,由于現(xiàn)在的操作系統(tǒng)中有非常 多的程序運行著,內(nèi)存中不能夠完全放下,所以引出了虛擬內(nèi)存的概念。把哪些不常用的程序片斷就放入虛擬內(nèi)存,當需要用到它的時候在load入主存(物理內(nèi) 存)中。這個就是內(nèi)存管理所要做的事。內(nèi)存管理還有另外一件事需要做:計算程序片段在主存中的物理位置,以便CPU調度。

  內(nèi)存管理有塊式管理,頁式管理,段式和段頁式管理?,F(xiàn)在常用段頁式管理

  塊式管理:把主存分為一大塊、一大塊的,當所需的程序片斷不在主存時就分配一塊主存空間,把程 序片斷l(xiāng)oad入主存,就算所需的程序片度只有幾個字節(jié)也只能把這一塊分配給它。這樣會造成很大的浪費,平均浪費了50%的內(nèi)存空間,但時易于管理。

  頁式管理:把主存分為一頁一頁的,每一頁的空間要比一塊一塊的空間小很多,顯然這種方法的空間利用率要比塊式管理高很多。

  段式管理:把主存分為一段一段的,每一段的空間又要比一頁一頁的空間小很多,這種方法在空間利用率上又比頁式管理高很多,但是也有另外一個缺點。一個程序片斷可能會被分為幾十段,這樣很多時間就會被浪費在計算每一段的物理地址上(計算機最耗時間的大家都知道是I/O吧)。

  段頁式管理:結合了段式管理和頁式管理的優(yōu)點。把主存分為若干頁,每一頁又分為若干段。好處就很明顯,不用我多說了吧。

  各種內(nèi)存管理都有它自己的方法來計算出程序片斷在主存中的物理地址,其實都很相似。

  這只是一個大概而已,不足以說明內(nèi)存管理的皮毛。無論哪一本操作系統(tǒng)書上都有詳細的講解

  4.

  #include "stdafx.h"

  #define SQR(X) X*X

  int main(int argc, char* argv[])

  {

  int a = 10;

  int k = 2;

  int m = 1;

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

  printf("%d\n",a);

  return 0;

  }

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

  define 只是定義而已,在編擇時只是簡單代換X*X而已,并不經(jīng)過算術法則的

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

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

  =>a = a/9;

  =>a = 1;

  PS:經(jīng)過本人驗證,雖然結果一樣,但是應該不是這樣運算的,應該是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

  說明上面三種描述的區(qū)別;

  如果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) // 第二種判斷方式

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


  看過“關于c++的面試題”的人還看了:

1.常用c/c++的面試題有些呢

2.Linux面試題大全

3.C#面試題大全

4.關于經(jīng)典JAVA面試題大全

5.面試數(shù)據(jù)分析師常見的面試問題

熱門文章

987558