等級考試

當前位置 /首頁/英語/等級考試/列表

全國計算機等級考試二級筆試試卷

全國計算機等級考試二級筆試試卷
公共基礎知識及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 <iostream>
using namespace std;
int main()
{
char a[] = "Hello, World";
char *ptr = a;
while (*ptr)
{
if (*ptr >= 'a' && *ptr <= 'z')
cout << char(*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<iostream>
int i = 0;
void fun()
{ {
static int i = 1;
std::cout<<i++<<',';
}
std::cout<<i<<',';
}
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和delete是C++語言中專門用於動態記憶體分配和釋放的函式
B)動態分配的記憶體空間也可以被初始化
C)當系統記憶體不夠時,會自動回收不再使用的記憶體單元,因此程式中不必用delete釋放記憶體空間
D)當動態分配記憶體失敗時,系統會立刻崩潰,因此一定要慎用new
(24)有以下程式
#include<iostream>
using namespace std;
class MyClass
{
public:
MyClass(int n){number = n;}
//拷貝建構函式
MyClass(MyClass &other){ number=er;}
~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月全國計算機二級的文章" target="_blank" >計算機二級C++考試真題與答案
計算機全部等級考試
2011年9月計算機等級考試二級C++
2009年9月二級C++筆試
2010年3月計算機等級考試二級C++筆試
2010年9月全國計算機二級C++筆試
2008年9月二級C++筆試
2012年3月全國計算機等級考試二級C++