黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 - 網校 - 萬題庫 - 直播 - 雄鷹網校 - 團購 - 書城 - 模考 - 學習通 - 導航 -
首頁網校萬題庫直播雄鷹網校團購書城模考論壇實用文檔作文大全寶寶起名
2015中考
法律碩士
2015高考
MBA考試
2015考研
MPA考試
在職研
中科院
考研培訓
專升本
自學考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托福考試
托業考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認證
水平考試
Java認證
職稱計算機 微軟認證 思科認證 Oracle認證 Linux認證
公 務 員
導游考試
物 流 師
出版資格
單 證 員
報 關 員
外 銷 員
價格鑒證
網絡編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業培訓
社會工作者
銀行從業
教師資格
營養師
保險從業
普 通 話
證券從業
跟 單 員
秘書資格
電子商務
期貨考試
國際商務
心理咨詢
營 銷 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業水平
衛生資格 執業醫師 執業藥師 執業護士
會計從業資格
基金從業資格
統計從業資格
經濟師
精算師
統計師
會計職稱
法律顧問
ACCA考試
初級會計職稱
資產評估師
高級經濟師
注冊會計師
高級會計師
美國注冊會計師
審計師考試
國際內審師
注冊稅務師
理財規劃師
一級建造師
安全工程師
設備監理師
公路監理師
公路造價師
二級建造師
招標師考試
物業管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質量工程師
巖土工程師
注冊給排水
造價員考試
注冊計量師
環保工程師
化工工程師
暖通工程師
咨詢工程師
結構工程師
城市規劃師
材料員考試
消防工程師
監理工程師
房地產估價
土地估價師
安全評價師
房地產經紀人
投資項目管理師
環境影響評價師
土地登記代理人
寶寶起名
繽紛校園
實用文檔
入黨申請
英語學習
思想匯報
作文大全
工作總結
求職招聘 論文下載 直播課堂
您現在的位置: 考試吧 > 軟件水平考試 > 復習資料 > 程序員 > 正文

2015年軟件水平考試程序員精選題(2)

來源:考試吧 2015-01-09 11:19:47 考試吧:中國教育培訓第一門戶 模擬考場
考試吧整理“2015年軟件水平考試程序員精選題(2)”供考生參考,更多軟件水平考試資訊和備考資料請關注考試吧軟件水平考試網。

  我們同樣也可以圍繞遞歸做文章。既然不能判斷是不是應該終止遞歸,我們不妨定義兩個函數。一個函數充當遞歸函數的角色,另一個函數處理終止遞歸的情況,我們需要做的就是在兩個函數里二選一。從二選一我們很自然的想到布爾變量,比如ture(1)的時候調用第一個函數,false(0)的時候調用第二個函數。那現在的問題是如和把數值變量n轉換成布爾值。如果對n連續做兩次反運算,即!!n,那么非零的n轉換為true,0轉換為false。有了上述分析,我們再來看下面的代碼:

  class A;

  A* Array[2];

  class A

  {

  public:

  virtual int Sum (int n) { return 0; }

  };

  class B: public A

  {

  public:

  virtual int Sum (int n) { return Array[!!n]->Sum(n-1)+n; }

  };

  int solution2_Sum(int n)

  {

  A a;

  B b;

  Array[0] = &a;

  Array[1] = &b;

  int value = Array[1]->Sum(n);

  return value;

  }

  這種方法是用虛函數來實現函數的選擇。當n不為零時,執行函數B::Sum;當n為0時,執行A::Sum。我們也可以直接用函數指針數組,這樣可能還更直接一些:

  typedef int (*fun)(int);

  int solution3_f1(int i)

  {

  return 0;

  }

  int solution3_f2(int i)

  {

  fun f[2]={solution3_f1, solution3_f2};

  return i+f[!!i](i-1);

  }

  另外我們還可以讓編譯器幫我們來完成類似于遞歸的運算,比如如下代碼:

  template struct solution4_Sum

  {

  enum Value { N = solution4_Sum::N + n};

  };

  template <> struct solution4_Sum<1>

  {

  enum Value { N = 1};

  };

  solution4_Sum<100>::N就是1+2+...+100的結果。當編譯器看到solution4_Sum<100>時,就是為模板類solution4_Sum以參數100生成該類型的代碼。但以100為參數的類型需要得到以99為參數的類型,因為solution4_Sum<100>::N=solution4_Sum<99>::N+100。這個過程會遞歸一直到參數為1的類型,由于該類型已經顯式定義,編譯器無需生成,遞歸編譯到此結束。由于這個過程是在編譯過程中完成的,因此要求輸入n必須是在編譯期間就能確定,不能動態輸入。這是該方法最大的缺點。而且編譯器對遞歸編譯代碼的遞歸深度是有限制的,也就是要求n不能太大。

上一頁  1 2 

  相關推薦:

  2015年軟考信息技術處理員考前知識點總結匯總

  2015年軟件水平考試《程序員》提高練習題匯總

  2015軟件水平考試《程序員》知識點總結匯總

文章責編:wangmeng  
看了本文的網友還看了
文章搜索
軟件水平考試欄目導航
版權聲明:如果軟件水平考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本軟件水平考試網內容,請注明出處。
Copyright © 2004- 考試吧軟件水平考試網 All Rights Reserved 
中國科學院研究生院權威支持(北京)
在線模擬試題
考證通關殺器
考試最新資訊
一次通關技巧
主站蜘蛛池模板: 综合久久久久久 | 午夜影皖普通区 | 国产精品亚洲欧美动漫卡通 | 波多野结衣手机在线视频 | 免费网站看v片在线播放器 免费无毒片在线观看 | 欧美理伦| 欧美综合第一页 | 韩国久久| 久久亚洲私人国产精品va | 男人看片资源 | 欧美黄色一级片视频 | 国产成人手机在线 | 天天操天天干天天拍 | 成人精品一区二区三区 | 日日好吊妞 | 日韩操片| 制服丝袜国产在线 | 人操人人 | 国产小视频在线观看免费 | 成人看片黄a在线观看 | 国产一区2区 | 成人免费观看网欧美片 | 久久午夜夜伦鲁鲁影院 | 色小说综合网 | 欧美色图图| 精品在线一区二区三区 | 色天天躁夜夜躁天干天干 | 偷偷操99| 日本一区二区三区免费高清在线 | 欧美一区二区三区免费观看视频 | 看全免费的一级毛片 | 三级伦理片高清在线观看播放 | 国产午夜不卡 | 欧美一级亚洲一级 | 日韩在线视频网站 | 天堂亚洲欧美日韩一区二区 | 丁香色婷婷国产精品视频 | 日韩一级精品久久久久 | 久久久精品国产免费观看同学 | 日本一区二区三区高清福利视频 | 亚洲欧美日产综合一区二区三区 |