全國計算機等級考試二級筆試試卷3套
在學習和工作中,只要有考核要求,就會有試卷,經過半個學期的學習,究竟學到了什么?需要試卷來幫我們檢驗。你知道什么樣的試卷才能切實地幫助到我們嗎?下面是小編整理的全國計算機等級考試二級筆試試卷,歡迎大家分享。
全國計算機等級考試二級筆試試卷 1
公共基礎知識及C++語言程序設計
一、選擇題((1)~(35)每小題2分,共70分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。
(1) 下面敘述正確的是
A)算法的執行效率與數據的存儲結構無關
B)算法的空間復雜度是指算法程序中指令(或語句)的條數
C)算法的有窮性是指算法必須能在執行有限個步驟之后終止
D)以上三種描述都不對
(2)以下數據結構中不屬于線性數據結構的是
A)隊列 B)線性表 C)二叉樹 D)棧
(3)在一棵二叉樹上第5層的結點數最多是
A)8 B)16 C)32 D)15
(4)下面描述中,符合結構化程序設計風格的是
A)使用順序、選擇和重復(循環)三種基本控制結構表示程序的控制邏輯
B)模塊只有一個入口,可以有多個出口
C)注重提高程序的執行效率
D)不使用goto語句
(5)下面概念中,不屬于面向對象方法的是
A)對象 B)繼承 C)類 D)過程調用
(6)在結構化方法中,用數據流程圖(DFD)作為描述工具的軟件開發階段是
A)可行性分析 B)需求分析 C)詳細設計 D)程序編碼
(7)在軟件開發中,下面任務不屬于設計階段的是
A)數據結構設計 B)給出系統模塊結構
C)定義模塊算法 D)定義需求并建立系統模型
(8)數據庫系統的核心是
A)數據模型 C)軟件工具
B)數據庫管理系統 D)數據庫
(9)下列敘述中正確的是
A)數據庫系統是一個獨立的系統,不需要操作系統的支持
B)數據庫設計是指設計數據庫管理系統
C)數據庫技術的根本目標是要解決數據共享的問題
D)數據庫系統中,數據的物理結構必須與邏輯結構一致
(10)下列模式中,能夠給出數據庫物理存儲結構與物理存取方法的是
A)內模式 B)外模式 C)概念模式 D)邏輯模式
(11)關于面向對象的程序設計方法,下列說法正確的是
A)“封裝性”指的是將不同類型的相關數據組合在一起,作為一個整體進行處理
B)“多態性”指的是對象的狀態會根據運行時要求自動變化
C)基類的私有成員在派生類的對象中不可訪問,也不占內存空間
D)在面向對象的程序設計中,結構化程序設計方法仍有著重要作用
(12)判斷字符型變量ch是否為大寫英文字母,應使用表達式
A ) ch>=A & ch<=Z B ) ch<=a ch="">=Z
C ) A<=ch<=z d="" ch="">=A && ch<=Z
(13)已知下列語句中的x和y都是int型變量,其中錯誤的語句
A ) x=y++; B ) x=++y; C ) (x+y)++; D ) ++x=y;
(14)執行語句序列
int n;
cin >> n;
switch(n)
{ case 1:
case 2: cout << 1;
case 3:
case 4: cout << 2; break;
default: cout << 3;
}
時,若鍵盤輸入1,則屏幕顯示
A)1 B)2 C)3 D)12
(15)下列程序的輸出結果是
#include
using namespace std;
int main()
{
char a[] = "Hello, World";
char *ptr = a;
while (*ptr)
{
if (*ptr >= a && *ptr <= z)
cout << *ptr + A -a);
else cout << *ptr;
ptr++;
}
return 0;
}
A ) HELLO, WORLD B ) Hello, World
C ) hELLO, wORLD D ) hello, world
(16)已知:int m=10;在下列定義引用的語句中,正確的是
A ) int &x=m; B )int y=&m;
C )int &z; D ) int &t=&m;
(17)下列函數原型聲明中錯誤的是
A ) void Fun(int x=0, int y=0);
B ) void Fun(int x, int y);
C ) void Fun(int x, int y=0);
D ) void Fun(int x=0, int y);
(18)已知程序中已經定義了函數test,其原型是int test(int, int, int);,則下列重載形式中正確的是
A ) char test(int,int,int);
B ) double test(int,int,double);
C ) int test(int,int,int=0);
D ) float test(int,int,float=3.5F);
(19)有以下程序
#include
int i = 0;
void fun()
{ {
static int i = 1;
std::cout<
}
std::cout<
}
int main()
{
fun(); fun();
return 0;
}
程序執行后的輸出結果是
A)1,2,1,2, B)1,2,2,3, C)2,0,3,0, D)1,0,2,0,
(20)已知函數f的原型是:void f(int *a, long &b); 變量v1、v2的定義是:int v1;long v2;,正確的調用語句是
A) f(v1, &v2); B) f(v1, v2);
C) f(&v1, v2); D) f(&v1, &v2);
(21)有以下類定義
class MyClass
{
public:
MyClass(){cout<<1;}
};
則執行語句MyClass a, b[2], *p[2];后,程序的輸出結果是
A)11 B)111 C)1111 D)11111
(22)關于友元,下列說法錯誤的是
A)如果類A是類B的友元,那么類B也是類A的友元
B)如果函數fun()被說明為類A的友元,那么在fun()中可以訪問類A的私有成員
C)友元關系不能被繼承
D)如果類A是類B的友元,那么類A的所有成員函數都是類B的友元
(23)關于動態存儲分配,下列說法正確的是
A)new和是C++語言中專門用于動態內存分配和釋放的函數
B)動態分配的內存空間也可以被初始化
C)當系統內存不夠時,會自動回收不再使用的內存單元,因此程序中不必用釋放內存空間
D)當動態分配內存失敗時,系統會立刻崩潰,因此一定要慎用new
(24)有以下程序
#include
using namespace std;
class MyClass
{
public:
MyClass(int n){number = n;}
//拷貝構造函數
MyClass(MyClass &other){ number=other.number;}
~MyClass(){}
private:
int number;
};
MyClass fun(MyClass p)
{
MyClass temp(p);
return temp;
}
int main()
{
MyClass obj1(10), obj2(0);
MyClass obj3(obj1);
obj2=fun(obj3);
return 0;
}
程序執行時,MyClass類的拷貝構造函數被調用的`次數是
相關文檔推薦:
2011年3月全國計算機二級C++考試真題與答案
計算機全部等級考試
2011年9月計算機等級考試二級C++
2009年9月二級C++筆試
2010年3月計算機等級考試二級C++筆試
2010年9月全國計算機二級C++筆試
2008年9月二級C++筆試
2012年3月全國計算機等級考試二級C++
A)5 B)4 C)3 D)2
(25)在公有派生的情況下,派生類中定義的成員函數只能訪問原基類的
A)公有成員和私有成員 B)私有成員和保護成員
C)公有成員和保護成員 D)私有成員、保護成員和公有成員
(26)在C++中用來實現運行時多態性的是
A)重載函數 B)析構函數
C)構造函數 D)虛函數
(27)一個類可以同時繼承多個類,稱為多繼承。下列關于多繼承和虛基類的表述中,錯誤的是
A)每個派生類的構造函數都要為虛基類構造函數提供實參
B)多繼承時有可能出現對基類成員訪問的二義性問題
C)使用虛基類可以解決二義性問題并實現運行時的多態性
D)建立最派生類對象時,虛基類的構造函數會首先被調用
(28)在一個類體的下列聲明中,正確的純虛函數聲明是
A) virtual void vf()=0; B) void vf(int)=0;
C) virtual int vf(int); D) virtual void vf(int) { }
(29)在下面的運算符重載函數的原型中,錯誤的是
A) Volume operator - (double, double);
B) double Volume::operator- (double);
C) Volume Volume: :operator - (Volume);
D) Volume operator - (Volume, Volume);
(30)下列是模板聲明的開始部分,其中正確的是
A) template
B) template
C) template
D) template
(31)執行語句序列
ofstream outfile("DATA.DAT");
if(...) cout << "OK"; else cout << "FAIL";
后,如果文件打開成功顯示“OK”,否則就顯示“F厶n。”。由此可知,上面if語句的...
處的表達式應是
A )outfile.fail() 或 outfile B )outfile.good() 或 !outfile
C )outfile.good() 或 outfile D )outfile.fail() 或 !outfile
(32)C++流中重載的運算符>>是一個( )
A)用于輸出操作的非成員函數 B)用于輸入操作的非成員函數
C)用于輸出操作的成員函數 D)用于輸入操作的成員函數
(33)有以下類定義
class Point {
public:
Point(int x = 0, int y = 0) { _.x = x; _.y = y; }
void Move(int xOff, int yOff)
{ _x += xOff; _.y += yOff; }
void Print() const
{ cout << ( << _x << , << _y << ) << endl; }
private:
int _x, _y;
};
下列語句中會發生編譯錯誤的是
A) Point pt; pt.Print();
B) const Point pt; pt.Print();
C) Point pt; pt.Move(l, 2);
D) const Point pt; pt.Move(l, 2);
(34)有以下類定義
class MyClass
{
private:
int id;
char gender,
char *phone;
public:
MyClass():id(0),gender(#),phone(NULL) { }
MyClass(int no, char ge=#, char *ph= NULl.)
{ id=no;gende=ge;phone=ph; }
};
下列類對象定義語句中錯誤的是
A) MyClass myObj;
B) MyClass myObj(11, "13301111155");
C) MyClass myObj(12, m);
D) MyClass myObj(12);
(35)有以下程序
#include
using namespace std;
class Complex
{
public:
Complex(double r =0, double i =0):re(r), im(i) { }
double real() const { return re; }
double imag() const { return im;}
Complex operator +(Complex c) const
{ return Complex(re+c.re, im+c.im); }
private:
double re, im;
};
int main()
{
Complex a = Complex(l, 1) + Complex(5);
cout << a.real() << + << a.imag() <
return 0;
}
程序執行后的輸出結果是
A) 6+6i B) 6+1i C) 1+6i D) 1+1i
二、填空題(每空2分,共30分)
請將每一個空的正確答案寫在答題卡[1]-[15]序號的橫線上,答在試卷上不得分。注意:以命令關鍵字填空的必須拼寫完整。
(1)算法的復雜度主要包括 [1] 復雜度和空間復雜度。
(2)數據的邏輯結構在計算機存儲空間中的存放形式稱為數據的 [2] 。
(3)若按功能劃分,軟件測試的方法通常分為白盒測試方法和 [3] 測試方法。
(4)如果一個工人可管理多個設備,而一個設備只被一個工人管理,則實體“工人”與實體“設備”之間存在 [4] 的聯系。
(5)關系數據庫管理系統能實現的專門關系運算包括選擇、連接和 [5] 。
(6)設有定義語句:int a=12;,則表達式a*=2+3的運算結果是 [6] 。
(7)從實現的角度劃分,C++所支持的兩種多態性分別是 [7] 時的多態性和運行時的多態性。
(8)將—個函數聲明為一個類的友元函數必須使用關鍵字 [8] 。
(9)請按下面注釋的提示,將類B的構造函數定義補充完整。
class A
{
int a;
public:
A(int aa=0) { a=aa; }
};
class B: public A {
int b;
A c;
public:
//用aa初始化基類A,用aa+1初始化類對象成員c
B(int aa): [ 9 ] { b=aa+2; }
};
(10)下列程序的輸出結果是 [10] 。
#include
using namespace std;
int main()
{
int i = 5;
int &r = i; r = 7;
cout << i << endl;
return 0;
}
(11)下列程序的輸出結果是 [11] 。
#include
using namespace std;
class Test {
public:
Test() { cnt++; }
~Test() {cnt--; }
static int Count() { return cnt;}
private:
static int cnt;
};
int Test::cnt = 0;
int main()
{
cout << Test::Count0 << ;
Test tl, t2;
Test* pT3 = new Test;
Test* pT4 = new Test;
cout << Test::Count0 << ;
pT4;
pT3;
cout << Test::Count() << endl;
return 0;
}
(12)下面是用來計算n的階乘的遞歸函數,請將該函數的定義補充完整。(注:階乘的定義是n!=n*(n-1)*...*2*1)
unsigned fact(unsigned n)
{
if ( n<= 1)
return 1;
return [ 12 ] ;
}
(13)下列程序的輸出結果是 [13] 。
#include
using namespace std;
template
T fun(T a, T b) { return (a<=b)?:b;}
int main()
{
cout << fun(3, 6) << , << fun (3.14F, 6.28F) << endl;
return 0;
}
(14)與成員訪問表達式p->name等價的表達式是 [14] 。
(15)下列程序的輸出結果是 [15] 。
#include
using namespace std;
class base {
public:
int n;
base(int x) { n = x;}
virtual void set(int m) { n = m; cout << n << ;}
};
class deriveA:public base {
public:
deriveA(int x):base(x) { }
void set(mt m) { n += m; cout << n << ;}
};
class deriveB:public base [
public:
deriveB(int x):base(x) { }
void set(int m) { n +=m; cout < }; int main() { deriveA dl(1); deriveB d2(3); base *pbase; pbase = &dl; pbase->aet(1); pbase = &d2; pbase->set(2); return 0; } 2004年9月 全國計算機等級考試二級筆試試卷 公共基礎知識及C++語言程序設計 答案及評分標準 選擇題((1)—(35)每小題2分,共70分) (1) C (2) C (3) B (4) A (5) D (6) B (7) D (8) B (9) C (10)A (11)D (12)D (13)C (14)D (15)A (16)A (17)D (18)B (19)D (20)C (21)B (22)A (23)B (24)B (25)C (26)D (27)C (28)A (29)A (30)C (31)C (32)B (33)D (34)B (35)B 二、填空題(每空2分,共30分) (1)[1] 時間 (2)[2] 存儲結構 或 物理結構 或 物理存儲結構 (3)[3] 黑盒 或 黑箱 (4)[4] 一對多 或 1對多 或 I:M 或 I:N(其中M、N大小寫均可) (5)[5] 投影 (6)[6] 60 (7)[7] 編譯 (8)[8] friend (9)[9] A(aa),c(aa+1) 或 c(aa+1),A(aa) (10)[10] 7 (11)[11] 042 (12)[12] n*fact(n-1) (13)[13] 3,3.14 (14)[14] (*p).name (15)[15] 25 相關文檔推薦: 2011年3月全國計算機二級C++考試真題與答案 計算機全部等級考試 2011年9月計算機等級考試二級C++ 2009年9月二級C++筆試 2010年3月計算機等級考試二級C++筆試 2010年9月全國計算機二級C++筆試 2008年9月二級C++筆試 2012年3月全國計算機等級考試二級C++ 01.數據結構與算法 1.一個棧的初始狀態為空。現將元素 1、2、3、4、5、A、B、C、D、E 依次入棧,然后再 依次出棧,則元素出棧的順序是(B) A.12345ABCDE B.EDCBA54321 C.ABCDE12345 D.54321EDCBA 2.下列敘述中正確的是(D) A.循環隊列有隊頭和隊尾兩個指針,因此,循環隊列是非線性結構 B.在循環隊列中,只需要隊頭指針就能反映隊列中元素的動態變化情況 C.在循環隊列中,只需要隊尾指針就能反映隊列中元素的動態變化情況 D.循環隊列中元素的個數是由隊頭指針和隊尾指針共同決定 3.下列敘述中正確的是(A) A.順序存儲結構的存儲一定是連續的,鏈式存儲結構的存儲空間不一定是連續的 B.順序存儲結構只針對線性結構,鏈式存儲結構只針對非線性結構 C.順序存儲結構能存儲有序表,鏈式存儲結構不能存儲有序表 D.鏈式存儲結構比順序存儲結構節省存儲空間 4.下列敘述中正確的是(D)。 A.棧是“先進先出”的線性表 B.隊列是“先進后出”的線性表 C.循環隊列是非線性結構 D.有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構 5.支持子程序調用的數據結構是(A)。 A.棧 B.樹 C.隊列 D.二叉樹 6.某二叉樹有 5 個度為 2 的結點,則該二叉樹中的葉子結點數是(C)。 A.10 B.8 C.6 D.4 7.下列排序方法中,最壞情況下比較次數最少的是(D)。 A.冒泡排序 B.簡單選擇排序 C.直接插入排序 D.堆排序 8.算法的有窮性是指(A)。 A.算法程序的運行時間是有限的 B.算法程序所處理的數據量是有限的 C.算法程序的長度是有限的 D.算法只能被有限的用戶使用 9.對長度為 n 的線性表排序,在最壞情況下,比較次數不是 n(n-1)/2 的排序方法是(D)。 A.快速排序 B.冒泡排序 C.直接插入排序 D.堆排序 10.下列關于棧的敘述正確的是(B)。 A.棧按“先進先出”組織數據 B.棧按“先進后出”組織數據 C.只能在棧底插入數據 D.不能刪除數據 11.算法的空間復雜度是指(A)。 A.算法在執行過程中所需要的計算機存儲空間 B.算法所處理的數據量 C.算法程序中的語句或指令條數 D.算法在執行過程中所需要的臨時工作單元數 12.下列關于線性鏈表的敘述中,正確的是(C)。 A.各數據結點的存儲空間可以不連續,但它們的存儲順序與邏輯順序必須一致 B.各數據結點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續 C.進行插入與刪除時,不需要移動表中的元素 D.以上說法均不正確 13.一棵二叉樹共有 25 個結點,其中 5 個是葉子結點,則度為 1 的結點數為(A) A.16 B.10 C.6 D.4 14.下列關于棧敘述正確的是(A)。 A.棧頂元素最先能被刪除 B.棧頂元素最后才能被刪除 C.棧底元素永遠不能被刪除 D.棧底元素最先被刪除 15.下列敘述中正確的是(C)。 A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態變化 B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態變化 C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態變化 D.以上說法均不正確 16.設循環隊列的存儲空間為 Q(1:35),初始狀態為 front=rear=35。現經過一系列入隊 與退隊運算后,front=15,rear=15,則循環隊列中的元素個數為(D)。 A.15 B.16 C.20 D.0 或 35 17.下列與隊列結構有關聯的是(D)。 A.函數的遞歸調用 B.數組元素的引用 C.多重循環的執行; D.先到先服務的作業調度 【解析】:隊列的進出原則是“先進先出”,即為先到先服務,所以選 D。 18.對下列二叉樹進行前序遍歷的結果為(C)。 A.DYBEAFCZX B.YDEBFZXCA C.ABDYECFXZ D.ABCDEFXYZ 19.設順序表的長度為 n。下列算法中,最壞情況下比較次數小于 n 的是(A)。 A.尋找最大項 B.堆排序 C.快速排序 D.順序查找法 20.設棧的順序存儲空間為 S(1:m),初始狀態為 top=m+1。現經過一系列正常的入棧與退 棧操作后,top=20,則棧中的元素個數為(C)。 A.30 B.20 C.m-19 D.M-20 21.某二叉樹的后序遍歷序列與中序遍歷序列相同,均為 ABCDEF,則按層次輸出(同一層 從左到右)的序列為(A)。 A.FEDCBA B.CBAFED C.DEFCBA D.ABCDEF 22.設棧的順序存儲空間為 S(1:m),初始狀態為 top=0。現經過一系列正常的入棧與退棧操 作后,top=m+1,則棧中的元素個數為(A)。 A.不可能 B.m+1 C.0 D.m 23.下列排序法中,最壞情況下時間復雜度最小的是(A)。 A.堆排序 B.快速排序 C.希爾排序 D.冒泡排序 24.下列敘述中正確的是(A)。 A.對數據進行壓縮存儲會降低算法的空間復雜度 B.算法的優化主要通過程序的編制技巧來實現 C.算法的復雜度與問題的規模無關 D.數值型算法只需考慮計算結果的可靠性 25.下列排序法中,每經過一次元素的交換會產生新的逆序的是(A)。 A.快速排序 B.冒泡排序 C.簡單插入排序 D.簡單選擇排序 26.在具有 2n 個結點的完全二叉樹中,葉子結點個數為(A)。 A.n B.n+1 C.n-1 D.n/2 27.下列敘述中正確的是(A)。 A.在棧中,棧頂指針的動態變化決定棧中元素的'個數 B.在循環隊列中,隊尾指針的動態變化決定隊列的長度 C.在循環鏈表中,頭指針和鏈尾指針的動態變化決定鏈表的長度 D.在線性鏈表中,頭指針和鏈尾指針的動態變化決定鏈表的長度 28.某二叉樹的中序遍歷序列為 CBADE,后序遍歷序列為 CBADE,則前序遍歷序列為(A)。 A.EDABC B.CBEDA C.CBADE D.EDCBA 29.下列敘述中正確的是(A)。 A.在循環隊列中,隊頭指針和隊尾指針的動態變化決定隊列的長度 B.在循環隊列中,隊尾指針的動態變化決定隊列的長度 C.在帶鏈的隊列中,隊頭指針與隊尾指針的動態變化決定隊列的長度 D.在帶鏈的棧中,棧頂指針的動態變化決定棧中元素的個數 30.設順序表的長度為 n。下列排序方法中,最壞情況下比較次數小于 n(n-1)/2 的是(A)。 A.堆排序 B.快速排序 C.簡單插入排序 D.冒泡排序 31.某二叉樹共有 12 個結點,其中葉子結點只有 1 個。則該二叉樹的深度為(根結點在第 1 層)(D) A.3 B.6 C.8 D.12 32.設一棵樹的度為 3,其中度為 3,2,1 的結點個數分別為 4,1,3。則該棵樹中的葉子 結點數為(A)。 A.10 B.11 C.12 D.不可能有這樣的樹 33.設表的長度為 15。則在最壞情況下,快速排序所需要的比較次數為(A)。 A.105 B.55 C.15 D.75 34.設循環隊列的存儲空間為 Q(1:100),初始狀態為空。現經過一系列正常操作后,front=49,則循環隊列中的元素個數為(A)。 A.不確定 B.49 C.51 D.50 35.某完全二叉樹按層次輸出(同一層從左到右)的序列為 ABCDEFGH。該完全二叉樹的中 序序列為(A)。 A.HDBEAFCG B.HDEBFGCA C.ABDHECFG D.ABCDEFGH 36.下面屬于整數類 I 的實例的是(A) A.229 B.0.229 C.229E-2 D."229" 37.下列敘述中正確的是(C)。 A.所謂有序表是指在順序存儲空間內連續存放的元素序列 B.有序表只能順序存儲在連續的存儲空間內 C.有序表可以用鏈接存儲方式存儲在不連續的存儲空間內 D.任何存儲方式的有序表均能采用二分法進行查找 38.設二叉樹如下則后序序列為(C) A.ABDEGCFH B.DBGEAFHC C.DGEBHFCA D.ABCDEFGH 39.下列敘述中正確的是(B)。 A.結點中具有兩個指針域的鏈表一定是二叉鏈表 B.結點中具有兩個指針域的鏈表可以是線性結構,也可以是非線性結構 C.二叉樹只能采用鏈式存儲結構 D.循環鏈表是非線性結構 40.某二叉樹中有15個度為1的結點,16個度為2的結點,則該二叉樹中總的結點數為(C)。 A.32 B.46 C.48 D.49 41.下列敘述中正確的是(A) A.有的二叉樹也能用順序存儲結構表示 B.有兩個指針域的鏈表就是二叉鏈表 C.多重鏈表一定是非線性結構 D.順序存儲結構一定是線性結構 42.設二叉樹共有 375 個結點,其中度為 2 的結點有 187 個。則度為 1 的結點個數是(A)。 A.0 B.1 C.188 D.不可能有這樣的二叉樹 43.某系統結構圖如下圖所示該系統結構圖的寬度是(B)。 A.5 B.4 C.2 D.1 44.設二叉樹的前序序列為 ABDEGHCFIJ,中序序列為 DBGEHACIFJ。則按層次輸出(從上 到下,同一層從左到右)的序列為(A) A.ABCDEFGHIJ B.DGHEBIJFCA C.JIHGFEDCBA D.GHIJDEFBCA 45.設順序表的長度為 16,對該表進行簡單插入排序。在最壞情況下需要的比較次數為(D) A.15 B.60 C.30 D.120 46.下列敘述中正確的是(A) A.循環隊列是線性結構 B.循環隊列是線性邏輯結構 C.循環隊列是鏈式存儲結構 D.循環隊列是非線性存儲結構 47.設某棵樹的度為 3,其中度為 3,2,1 的結點個數分別為 3,0,4。則該樹中的葉子結點數為 (B) A.6 B.7 C.8 D.不可能有這樣的樹 48.下列敘述中錯誤的是(C) A.具有兩個根結點的數據結構一定屬于非線性結構 B.具有兩個以上葉子結點的數據結構一定屬于非線性結構 C.具有兩個以上指針域的鏈式結構一定屬于非線性結構 D.具有一個根結點且只有一個葉子結點的數據結構也可能是非線性結構 49.下列結構中屬于非線性結構的是(C) A.循環隊列 B.二維數組 C.二叉鏈表 D.雙向鏈表 50.從表中任何一個結點位置出發就可以不重復地訪問到表中其他所有結點的鏈表是(A) A.循環鏈表 B.雙向鏈表 C.單向鏈表 D.二叉鏈表 51.設元素集合為 D={1,2,3,4,5,6}。B=(D,R)為線性結構所對應的 R 是(A)。 A.R={(6,1),(5,6),(1,3),(2,4),(3,2)} B.R={(4,5),(6,1),(5,6),(1,3),(2,4),(3,2)} C.R={(6,1),(5,6),(1,3),(3,4),(3,2)} D.R={(6,1),(5,6),(2,3),(2,4),(3,2)} 1.下列敘述中錯誤的是( )。 A.對于各種特定的輸入,算法的時間復雜度是固定不變的 B.算法的時間復雜度與使用的計算機系統無關 C.算法的時間復雜度與使用的程序設計語言無關 D.算法的時間復雜度與實現算法過程中的具體細節無關 正確答案:A 解析:算法的時間復雜度是指執行算法所需要的計算工作量。為了能夠比較客觀地反映出一個算法的效率,在度量一個算法的工作量時,不僅應該與所使用的計算機、程序設計語言以及程序編制者無關,而且還應該與算法實現過程中的許多細節無關。為此,可以用算法在執行過程中所需基本運算的執行次數來度量算法的工作量。算法所執行的基本運算次數還與問題的規模有關;對應一個固定的規模,算法所執行的基本運算次數還可能與特定的輸入有關。故本題答案為A選項。 2.在長度為n的順序表中查找一個元素,假設需要查找的元素一定在表中,并且元素出現在每個位置上的可能性是相同的,則在平均情況下需要比較的次數為( )。 A.(n+1)/2 B.n C.3n/4 D.n/2 正確答案:A 解析:在順序表中查找,最好情況下第一個元素就是要查找的元素,則比較次數為1;在最壞情況下,最后一個元素才是要找的元素,則比較次數為n。兩種情況平均即(1+n)/2.故本題答案為A選項。 3.設非空二叉樹的所有子樹中,其左子樹上的結點值均小于根結點值,而右子樹上的結點值均不小于根結點值,則稱該二叉樹為排序二叉樹。對排序二叉樹的遍歷結果為有序序列的是( )。 A.中序序列 B.前序序列 C.后序序列 D.前序序列或后序序列 正確答案:A 解析:前序遍歷:訪問根結點在訪問左子樹和訪問右子樹之前。即先訪問根結點,然后遍歷左子樹,最后遍歷右子樹;并且在遍歷左子樹和右子樹時,仍然先訪問根結點,然后遍歷左子樹,最后遍歷右子樹。中序遍歷:訪問根結點在訪問左子樹和訪問右子樹兩者之間。即先遍歷左子樹,然后訪問根結點,最后遍歷右子樹。并且在遍歷左子樹與右子樹時,仍然首先遍歷左子樹,然后訪問根結點,最后遍歷右子樹。后序遍歷:訪問根結點在訪問左子樹和訪問右子樹之后。即首先遍歷左子樹,然后遍歷右子樹,最后訪問根結點;并且在遍歷左子樹和右子樹時,仍然首先遍歷左子樹,然后遍歷右子樹,最后訪問根結點。題目給出的二叉樹顯示是左結點小于根結點,根結點小于等于右結點。如果要使結果為有序序列,那么遍歷過程應該是左結點-根結點-右結點,或者右結點-根結點=左結點。根據前面3種遍歷特點可知,中序遍歷符合要求。故本題答案為A選項。 4.循環隊列的存儲空間為Q(1:50),初始狀態為front=rear=50.經過一系列正常的入隊與退隊操作后,front=rear=25,此后又插入一個元素,則循環隊列中的元素個數為( )。 A.1或50且產生上溢錯誤 B.51 C.26 D.2 正確答案:A 解析:循環隊列是隊列的一種順序存儲結構,用隊尾指針rear指向隊列中的隊尾元素,用排頭指針front指向排頭元素的前一個位置。入隊運算時,隊尾指針進1(即rear+1),然后在rear指針指向的位置插入新元素。當front=rear=25時可知隊列空或者隊列滿,此后又插入了一個元素,如果之前隊列為空,插入操作之后隊列里只有一個元素,如果插入之前隊列已滿(50個元素),執行插入則會產生溢出錯誤。故本題答案為A選項。 5.軟件生命周期是指( )。 A.軟件產品從提出、實現、使用維護到停止使用退役的.過程 B.軟件的工程實施階段 C.軟件的開發與管理 D.軟件的實現和維護 正確答案;A 解析:通常,將軟件產品從提出、實現、使用維護到停止使用退役的過程稱為軟件生命周期。也就是說,軟件產品從考慮其概念開始,到該軟件產品不能使用為止的整個時期都屬于軟件生命周期。故本題答案為A選項。 6.設二叉樹的前序序列為ABDEGHCFIJ,中序序列為DBGEHACIFJ.則按層次輸出(從上到下,同一層從左到右)的序列為( )。 A.ABCDEFGHIJ B.DGHEBIJFCA C.JIHGFEDCBA D.CHIJDEFBCA 正確答案:A 7.設循環隊列的存儲空間為Q(1:50),初始狀態為front=rear=50。現經過一系列入隊與退隊操作后,front-1=rear。為了在該隊列中尋找值最大的元素,在最壞情況下需要的比較次數為( )。 A.0 B.1 C.48 D.49 正確答案:C 8.設順序表的長度為40,對該表進行冒泡排序。在最壞情況下需要的比較次數為( )。 A.820 B.780 C.40 D.41 正確答案:B 9.張編輯休假前正在審閱一部Word 書稿,他希望回來上班時能夠快速找到上次編輯的位置,在Word 2010 中最優的操作方法是( )。 A.下次打開書稿時,直接通過滾動條找到該位置 B.記住一個關鍵詞,下次打開書稿時,通過“查找”功能找到該關鍵詞 C.記住當前頁碼,下次打開書稿時,通過“查找”功能定位頁碼 D.在當前位置插入一個書簽,通過“查找”功能定位書簽 正確答案:D 10.在Word 中編輯一篇文稿時,縱向選擇一塊文本區域的最快捷操作方法是( )。 A.按下Ctrl 鍵不放,拖動鼠標分別選擇所需的文本 B.按下Alt 鍵不放,拖動鼠標選擇所需的文本 C.按下Shift 鍵不放,拖動鼠標選擇所需的文本 D.按Ctrl+Shift+F8 組合鍵,然后拖動鼠標所需的文本 正確答案:B 11.手寫板或者鼠標屬于( )。 A.輸入設備 B.輸出設備 C.中央處理器 D.存儲器 正確答案:A 解析:計算機有輸入、存儲、運算、控制和輸出五個部分組成。手寫板和鼠標都屬于輸入設備。故正確答案為A選項。 12.某企業需要在一個辦公室構建適用于20多人的小型辦公網絡環境,這樣的網絡環境屬于( )。 A.城域網 B.局域網 C.廣域網 D.互聯網 正確答案:B 解析:按照覆蓋地理范圍和規模不同,可以將計算機網絡分為局域網、城域網和廣域網。局域網是一種在有限區域內使用的網絡,它所覆蓋的地區范圍較小,一般在幾千米之內,適用于辦公室網絡、企業與學校的主干局網絡。故正確答案為B選項。 13.第四代計算機的標志是微處理器的出現,微處理器的組成是( )。 A.運算器和存儲器 B.存儲器和控制器 C.運算器和控制器 D.運算器、控制器和存儲器 正確答案:C 解析:微處理器由運算器和控制器組成。運算器是計算機處理數據形成信息的加工廠,它的主要功能是對數據進行算術運算和邏輯運算。控制器是計算機的指揮中心,它統一控制計算機的各個部件。故正確答案為C選項。 14.在計算機內部,大寫字母?G?的ASCII碼為?1000111?,大寫字母?K?的ASCII碼為( )。 A.1001001 B.1001100 C.1001010 D.1001011 正確答案:D 解析:1000111對應的十進制數是71,則?K?的碼值是75,轉換成二進制位1001011.故正確答案為D選項。 15.以下不屬于Word文檔視圖的是( )。 A.閱讀版式視圖 B.放映視圖 C.Web版式視圖 D.大綱視圖 正確答案:B 解析:Word提供了5種視圖方式,分別為頁面視圖、閱讀版式視圖、Web版式視圖、大綱視圖和草稿,不包括放映視圖。故正確答案為B選項。 【全國計算機等級考試二級筆試試卷】相關文章: 全國計算機等級考試二級筆試試卷及答案08-04 全國計算機等級考試二級visualBasic筆試試卷08-07 全國計算機等級考試2016年二級筆試試卷10-04 2016年全國計算機等級考試二級筆試試卷08-14 全國計算機等級考試二級筆試試卷 2
全國計算機等級考試二級筆試試卷 3