




已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2006 年 9 月全國計算機等級考試二級筆試試卷C+程序設計(考試時間 90 分鐘,滿分 100 分)一、選擇題(每小題 2 分,共 70 分)下列各題 A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫 在答題卡相應位置上,答在試卷上不得分。(1)下列選項中不符合良好程序設計風格的是 。A)、源程序要文檔化C)、避免濫用 goto 語句B)、數據說明的次序要規(guī)范化D)、模塊設計要保證高耦合,高內聚(2)從工程管理角度,軟件設計一般分為兩步完成,它們是 。A)、概要設計與詳細設計B)、數據設計與接口設計C)、軟件結構設計與數據設計D)、過程設計與數據設計(3)下列選項中不屬于軟件生命周期開發(fā)階段任務的是 。A)、軟件測試B)、概要設計C)、軟件維護D)、詳細設計(4)在數據庫系統中,用戶所見的數據模式為 。A)、概念模式B)、外模式C)、內模式D)、物理模式(5)數據庫設計的四個階段是:需求分析、概念設計、邏輯設計和 。A)、編碼設計B)、測試階段C)、運行階段D)、物理設計(6)設有如下三個關系表RBT下列操作中正確的是A)、T=RSB)、T=RSC)、T=RSD)、T=R/S(7)下列敘述中正確的是A)、一個算法的空間復雜度大,則其時間復雜度也必定大 B)、一個算法的空間復雜度大,則其時間復雜度必定小 C)、一個算法的時間復雜度大,則其空間復雜度必定小 D)、上述三種說法都不對(第 1 頁)ABCm13n13BC13AMn(8)在長為 64 的有序線性表中進行順序查找,最壞情況下需要比較的次數為 。A)、63B)、64C)、6D)、7(9)數據庫技術的根本目標是要解決數據的 。A)、存儲問題B)、共享問題C)、安全問題D)、保護問題(10)對下列二叉樹:進行中序遍歷的結果是 。A)、ACBDFEGB)、ACBDFGEC)、ABDCGEFD)、FCADBEG(11)下列有關內聯函數的敘述中,正確的是 。A)、內聯函數在調用時發(fā)生控制轉移 B)、內聯函數必須通過關鍵字 inline 來定義 C)、內聯函數是通過編譯器來實現的 D)、內聯函數體的最后一條語句必須是 rennin 語句(12)下列情況中,不會調用拷貝構造函數的是 。A)、用一個對象去初始化同一類的另一個新對象時 B)、將類的一個對象賦予該類的另一個對象時 C)、函數的形參是類的對象,調用函數進行形參和實參結合時 D)、函數的返回值是類的對象,函數執(zhí)行返回調用時(13)下列有關繼承和派生的敘述中,正確的是 。A)、如果一個派生類私有繼承其基類,則該派生類對象不能訪問基類的保護成員 B)、派生類的成員函數可以訪問基類的所有成員 C)、基類對象可以賦值給派生類對象 D)、如果派生類沒有實現基類的一個純虛函數,則該派生類是一個抽象類(14)下列運算不能重載為友元函數的是 。A)、= ( )-B)、+-+ -D)、+= -=*= /=C)、= =(15)關于在調用模板函數時模板實參的使用,下列表述正確的是 。A)、對于虛類型參數所對應的模板實參,如果能從模板函數的實參中獲得相同的信息, 則都可以省略B)、對于虛擬類型參數所對應的模板實參,如果它們是參數表中的最后的若干個參數,(第 2 頁)BDAGECF則都可以省略C)、對于虛擬型參數所對應的模板實參,若能夠省略則必須省略D)、對于常規(guī)參數所對應的模板實參,任何情況下都不能省略(16)下列關于輸入流類成員函數 getline( )的描述中,錯誤的是 。A)、該函數是用來讀取鍵盤輸入的字符串的 B)、該函數讀取的字符串長度是受限制的 C)、該函數讀取字符串時,遇到終止符便停止 D)、該函數讀取字符串時,可以包含空格(17)下列符號中,正確的 C+標識符是 。A)、enumB)、2bC)、foo-9D)_32(18)下列語句中,錯誤的是 。A)、const int buffer=256;C)、int const buffer=256;B)、const double*point;D)、double*const point;(19)if 語句的語法格式可描述為格式 1:if()或格式 2:if()else 關于上面的語法格式,下列表述中錯誤的是 A)、部分可以是一個 if 語句,例如 if(if(a =0) B)、部分可以是一個 if 語句,例如 if()if()C)、如果在前加上邏輯非運算符!并交換和的位置,語句功 能不變D)、部分可以是一個循環(huán)語句,例如 if()while()(20)有如下說明int a 10=1,2,3,4,5,6,7,8,9,10,*p=a;則數值為 9 的表達式是 。A)、*p+9B)、*(p+8)C)、*p+=9D)、p+7(21)或下面的函數調用fun(a+b,3,max(n-1)b)則 fun 的實參個數是 。A)、3B)、4C)、5D)、6(22)以下關鍵字不能用來聲明類的訪問權限的是 。A)、publicB)、staticC)、protectedD)、private(23)在公有繼承的情況下,允許派生類直接訪問的基類成員包括 。A)、公有成員C)、公有成員、保護成員和私有成員B)、公有成員和保護成員D)、保護成員(第 3 頁)(24)關于運算符重載,下列表述中正確的是 。A)、C+已有的任何運算符都可以重載 B)、運算符函數的返回類型不能聲明為基本數據類型 C)、在類型轉換符函數的定義中不需要聲明返回類型 D)、可以通過運算符重載來創(chuàng)建 C+中原來沒有的運算符(25)關于關鍵字 class 和 typename,下列表述中正確的是 。A)、程序中的 typename 都可以替換為 classB)、程序中的 class 都可以替換為 typename C)、在模板形參表中只能用 typename 來聲明參數的類型 D)、在模板形參表中只能用 class 或 typename 來聲明參數的類型(26)有如下程序#include#include using namespace std; int main()countsetpresision(3)fixedsetfill(*”)setw(8);count 12,345 34,567;return 0;若程序的輸出是:*12.345*34.567則程序中下劃線處遺漏的操作符是 。A)、setprecision(3)B)、fixedC)、setfill(*)D)、stew(8)(27)有如下程序#include#include using namespace std; class MyClass public:MyClass()coutA”; MyClass(char c coutc;MyClass()soutB”;Int main() MyClassp1,*p2p2=new MyClass(X);delete p2;return 0;執(zhí)行這個程序幕上將顯示輸出 。(第 4 頁)A)、ABXB)、ABXBC)、AXBD)、AXBB(28)有如下程序#include using namespace std; int i=1;class Funpublic;static int i;int value()return i-1int value ()constreturn i+1;int Fun;i=2;int main()int i=3; Fun Fun1const Fun fun2;return 0;若程序的輸出結果是:123則程序中下劃線處遺漏的語句是 。 A)、coutfun1,value() Fun:ifun2,value(); B)、coutFun:i fun1. value()fun2,value(); C)、coutfun1. value()fun2.value()Fun:i; D)、coutfun2. value()fun:ifun1.value();(29)有如下程序#include using namespace std; class Objstatic int i;public: Obj()i+;Obj()i-;static int getVal()teturn i;int Obj:i=0;void f ()Obj ob2;coutob2.getVal();int main() Obj obl; F();Obj*ob3=new Obj;coutgetVal();Delete ob3;coutObj:getVal();(第 5 頁)Return0;程序的輸出結果是 。A)、232B)、231C)、222D)、221(30)有如下程序#include using namespace std; class Baseprotected; Base()coutA; Base(char c)coutc;class Derived; public Basepublic:Derived(char c )cout c;int main()Derived d1(B);return 0;執(zhí)行這個程序屏幕上將顯示輸出 。A)、BB)、BAC)、ABD)、BB(31)有如下類定義:class MyBaseint k;public;MyBase(int n=0):k(n)int value()constreturn k;class MyDerived; MyBaseint j;public;MyDerived(int i): j(i)int getK()const return k;int gutj()constreturn j;編譯時發(fā)現有一處語法錯誤,對這個錯誤最佳準確的描述是A)、函數 getK 試圖訪問基類的私有成員變量 KB)、在類 MyDerived 的定義中,基類名 MyBase 前缺少關鍵字 public、protected 或 privateC)、類 MyDerived 缺少一個無參的構造函數D)、類 MyDerived 的構造的數沒有對基數數據成員 K 進行初始化(第 6 頁)(32)在一個派生類對象結束其生命周期時 A)、先調用派生類的析構函數后調用基類的析構函數 B)、先調用基類的析構函數后調用派生類的析構函數 C)、如果基數沒有定義析構函數,則只調用派生類的析構函數 D)、如果派生類沒有定義析構函數,則只調用基類的析構函數(33)有如下的運算重載函數定義:Double operator+(int i, int k)return double(i+k);但定義有錯誤,對這個錯誤的最準確的描述是 。A)、+只能作為成員函數重載,而這里的+是作為非成員函數重載的B)、兩個 int 型參數的和應該是 int 型,而這里將+的返回類型聲明為 doubleC)、沒有將運算符重載函數聲明為某個類的友元D)、C+已經提供了求兩個 int 型數據之和運算符+,不能再定義同樣的運算符(34)語句 ofstreamf(“SALARY.DAT”,ios_base:app)的功能是建立流對象 f,并試圖打開文件 SALARY.DAT 與 f 關聯,而且 。 A)、若文件存在,將其置為空文件;若文件不存在,打開失敗 B)、若文件存在,將文件指針定位于文件尾;若文件不存在,建立一個新文件 C)、若文件存在,將文件指針定位于文件首;若文件不存在,打開失敗 D)、若文件存在,打開失?。蝗粑募淮嬖?,建立一個新文件(35)有如下程序#include using namespace std; class Apublic:virtual Void funcl()cout “A1”;void fune2()cout “A2”;class B: public Apublic:void func1()cout “B1”;void func2()coutfuncl();p-func2();retum0;運行程序,屏幕上將顯示輸出 。A)、B1B2B)、A1A2C)、B1A2D)、A1B2二、填空題(每空 2 分,共 30 分)(第 7 頁)請將每一個空的正確答案寫在答題卡115序號的橫線上,答在試卷上不得分。(1)下列軟件系統結構圖的寬度為 1 。(2) 2 的任務是診斷和改正程序中的錯誤。(3)一個關系表的行為 3 。(4)按“行進后出”原則組織數據的數據結構是 4 。(5)數據結構分為線性結構和非線性結構,帶鏈的隊列屬于 5 。(6)若有定義語句:int*a,b;,則變量 b 的數據類型是 6 。(7)已知數組 a 中的元素個數為 n,下列語句的作用是將下標為 i 的元素移動到下標為 i1 的單元,其中 1in。例如,當 n=4,a 中原有數據為 1,2,3,4 時,則移動后 a中元素為 2,3,4,4。請將語句補充完整:For(int i=0;in-1;i+) ai=a 7 。(8)已知遞歸函數 f 的定義如下:int f (int n)If(n1)return 1;/遞歸結束情況else return n*f(n-2);/遞歸則函數調用語句 f(5)的返回值是 8 。(9)創(chuàng)建對象數組時,對數組的每一個元素都將調用一次構造函數,如果沒有顯式給出數組元素的初值,則調用缺省構造函數,下列程序涉及到對象數組的創(chuàng)建和單個對象的創(chuàng) 建,其輸出結果是 9 。#include using namespace std; class Foopublic:Foo(int X)cout A” Foo();int main()(第 8 頁)Foo f3,g(3);return 0;(10)習慣性在下列程序的輸出結果是 42,請將畫線處缺失的部分補充完整。#include Using namespace atd; Class Fooint value;public: Foo():value(0)Void setValue(int value) 10 =value; /給 Foo 的數據成員 value 賦值void print()coutvalue;Int main()Foo f; f.setValue(42); f.print(); retum0;(11)如果不能使用多態(tài)機制,那么通過基類的指針雖然可以指向派生類對象,但是 只能訪問從基數繼承的成員,下列程序沒有使用多態(tài)機制,其輸出結果是 11 。#include using namespace std; class Basepublic:Void print()cout B; class Derived: public Base publicvoid print()coutprint(); pd-print(); delete pd; return 0;(12)在聲明派生類時,如果不顯式地給出繼承方式,缺省的類繼承方式是私有繼承private。已知有如下類定義:class Baseprotected:(第 9 頁)void fun();Class Derived: Base;則 Base 類中的成員函數 fun(),在 Derived 類中的訪問權限是 12 (注意:要求填寫 private、prot
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年捐款協議模板
- 二年級上冊數學教案-除法的初步認識(2)-西師大版
- 三年級上冊數學教學設計-5.1什么是周長 北師大版
- 六年級下冊數學教案-第一單元第3課時 問題解決(1) 西師大版
- 2025年購房合同模板文件
- 借住合同(2025年版)
- 學習2025年雷鋒精神六十二周年主題活動實施方案 (3份)-98
- 2025年學習雷鋒精神六十二周年主題活動方案
- 《線段、射線和直線》(教學設計)-2024-2025學年四年級上冊數學冀教版
- 《小小設計師》(教學設計)-2023-2024學年二年級下冊數學人教版
- 2025年《贏在執(zhí)行》心得體會(4篇)
- 核心素養(yǎng)導向下的小學語文跨學科學習研究
- 小紅書搜索推廣營銷師認證考試題(附答案)
- T-GDSAIA 001-2024 非充氣彈性支撐輪 術語及其定義
- 湖南省長沙市2024年七年級上學期期末數學試卷【附答案】
- 護苗行動課件
- 《人工授精雞》課件
- 現代旅游管理專業(yè)群教學資源庫可行性建設研究報告
- (2024年更新)國家慢性疾病編碼新目錄
- 《腦膠質瘤診療指南2024版》解讀
- 心肺復蘇術課件2024新版
評論
0/150
提交評論