• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦 > 創業指南 > 職場 > 面試題 > 關于c++的面試題

    關于c++的面試題

    時間: 朝瑩801 分享

    關于c++的面試題

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

      c++面試題

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

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

      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內存管理的方法。

      內存管理是操作系統中的重要部分,兩三句話恐怕誰也說不清楚吧~~

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

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

      內存管理有塊式管理,頁式管理,段式和段頁式管理。現在常用段頁式管理

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

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

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

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

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

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

      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而已,并不經過算術法則的

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

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


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

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

    2.Linux面試題大全

    3.C#面試題大全

    4.關于經典JAVA面試題大全

    5.面試數據分析師常見的面試問題

    熱門文章

    987558 主站蜘蛛池模板: 久久精品国产网红主播| 四虎永久免费地址ww484e5566| 亚洲欧洲日产专区| 99re5精品视频在线观看| 182在线播放| 欧美日韩国产色综合一二三四| 在线观看免费黄色网址| 亚洲色图第1页| 丰满人妻熟妇乱又伦精品| 18女人腿打开无遮掩免费| 欧美老熟妇又粗又大| 国产麻豆剧传媒精品网站| 亚洲欧洲春色校园另类小说| 1a级毛片免费观看| 欧美人与动人物姣配xxxx| 国产漂亮白嫩美女在线观看| 亚洲1234区乱码| 青青青青青免精品视频| 欧美一级在线观看| 在线拍揄自揄在线播放| 亚洲欧美国产国产综合一区| 18女人毛片大全| 日韩精品有码在线三上悠亚| 国产伦精品一区二区三区免费下载 | 91麻豆高清国产在线播放| 欧美日韩一级片在线观看| 国产福利你懂的| 久久婷婷成人综合色综合| 色噜噜亚洲精品中文字幕| 性一交一乱一伦一| 人人添人人澡人人澡人人人爽| 5g影院天天爽天天| 欧美老熟妇又粗又大| 国产狂喷潮在线观看在线观看| 久久精品中文无码资源站| 色多多在线观看| 日本精品一卡二卡≡卡四卡| 国产69精品久久久久9999apgf| 一边摸一边叫床一边爽| 清超市欲目录大团结| 国产真实乱子伦精品|