一、選擇題(每小題2 分,共70 分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項塗寫在答題卡相應位置上,答在試卷上不得分。
(1)下列選項中不符合良好程式設計風格的是______。
A)、源程式要文件化
B)、資料說明的次序要規範化
C)、避免濫用goto 語句
D)、模組設計要保證高耦合,高內聚
(2)從工程管理角度,軟體設計一般分為兩步完成,它們是______。
A)、概要設計與詳細設計
B)、資料設計與介面設計
C)、軟體結構設計與資料設計
D)、過程設計與資料設計
(3)下列選項中不屬於軟體生命週期開發階段任務的是______。
A)、軟體測試
B)、概要設計
C)、軟體維護
D)、詳細設計
(4)在資料庫系統中,使用者所見的資料模式為______。
A)、概念模式
B)、外模式
C)、內模式
D)、物理模式
(5)資料庫設計的四個階段是:需求分析、概念設計、邏輯設計和______。
A)、編碼設計
B)、測試階段
C)、執行階段
D)、物理設計
(6)設有如下三個關係表下列操作中正確的是
A)、T=R∩S
B)、T=R∪S
C)、T=R×S
D)、T=R/S
(7)下列敘述中正確的是
A)、一個演算法的空間複雜度大,則其時間複雜度也必定大
B)、一個演算法的空間複雜度大,則其時間複雜度必定小
C)、一個演算法的時間複雜度大,則其空間複雜度必定小
D)、上述三種說法都不對
(8)在長為64 的有序線性表中進行順序查詢,最壞情況下需要比較的次數為______。
A)、63
B)、64
C)、6
D)、7
(9)資料庫技術的根本目標是要解決資料的______。
A)、儲存問題
B)、共享問題
C)、安全問題
D)、保護問題
(10)對下列二叉樹: 進行中序遍歷的結果是______。
A)、ACBDFEG
B)、ACBDFGE
C)、ABDCGEF
D)、FCADBEG
(11)下列有關行內函數的敘述中,正確的是______。
A)、行內函數在呼叫時發生控制轉移
B)、行內函數必須通過關鍵字inline 來定義
C)、行內函數是通過編譯器來實現的
D)、行內函數體的最後一條語句必須是rennin 語句
(12)下列情況中,不會呼叫拷貝建構函式的是______。
A)、用一個物件去初始化同一類的另一個新物件時
B)、將類的一個物件賦予該類的另一個物件時
C)、函式的形參是類的物件,呼叫函式進行形參和實參結合時
D)、函式的返回值是類的物件,函式執行返回呼叫時
(13)下列有關繼承和派生的敘述中,正確的`是______。
A)、如果一個派生類私有繼承其基類,則該派生類物件不能訪問基類的保護成員
B)、派生類的成員函式可以訪問基類的所有成員
C)、基類物件可以賦值給派生類物件
D)、如果派生類沒有實現基類的一個純虛擬函式,則該派生類是一個抽象類
(14)下列運算不能過載為友元函式的是______。
A)、= ( ) [] ->
B)、+ - ++ --
C)、> < >= <=
D)、+= -= *= /=
(15)關於在呼叫模板函式時模板實參的使用,下列表述正確的是______。
A)、對於虛型別引數所對應的模板實參,如果能從模板函式的實參中獲得相同的資訊,則都可以省略
B)、對於虛擬型別引數所對應的模板實參,如果它們是引數表中的最後的若干個引數,FC EA DBG則都可以省略
C)、對於虛擬型引數所對應的模板實參,若能夠省略則必須省略
D)、對於常規引數所對應的模板實參,任何情況下都不能省略
(16)下列關於輸入流類成員函式getline( )的描述中,錯誤的是______。
A)、該函式是用來讀取鍵盤輸入的字串的
B)、該函式讀取的字串長度是受限制的
C)、該函式讀取字串時,遇到終止符便停止
D)、該函式讀取字串時,可以包含空格
(17)下列符號中,正確的C++識別符號是______。
A)、enum
B)、2b
C)、foo-9
D)_32
(18)下列語句中,錯誤的是______。
A)、const int buffer=256;
B)、const double*point;
C)、int const buffer=256;
D)、double*const point;
(19)if 語句的語法格式可描述為
格式1:if(<條件>)<語句>
或
格式2:if(<條件>)<語句1>else<語句2>
關於上面的語法格式,下列表述中錯誤的是
A)、<條件>部分可以是一個if 語句,例如if(if(a =0)?)?
B)、<條件>部分可以是一個if 語句,例如if(?)if(?)?
C)、如果在<條件>前加上邏輯非運算子!並交換<語句1>和<語句2>的位置,語句功能不變
D)、<語句>部分可以是一個迴圈語句,例如if(?)while(?)?
(20)有如下說明
int a [10]={1,2,3,4,5,,6,7,8,9,10},*p=a;
則數值為9 的表示式是______。
A)、*p+9`
B)、*(p+8)
C)、*p+=9
D)、p+7
(21)或下面的函式呼叫
fun(a+b,3,max(n-1)b)
則fun 的實參個數是______。
A)、3
B)、4
C)、5
D)、6
(22)以下關鍵字不能用來宣告類的訪問許可權的是______。
A)、public
B)、static
C)、protected
D)、private
(23)在公有繼承的情況下,允許派生類直接訪問的基類成員包括______。
A)、公有成員
B)、公有成員和保護成員
C)、公有成員、保護成員和私有成員
D)、保護成員
(24)關於運算子過載,下列表述中正確的是______。
A)、C++已有的任何運算子都可以過載
B)、運算子函式的返回型別不能宣告為基本資料型別
C)、在型別轉換符函式的定義中不需要宣告返回型別
D)、可以通過運算子過載來建立C++中原來沒有的運算子
(25)關於關鍵字class 和typename,下列表述中正確的是______。
A)、程式中的typename 都可以替換為class
B)、程式中的class 都可以替換為typename
C)、在模板形參表中只能用typename 來宣告引數的型別
D)、在模板形參表中只能用class 或typename 來宣告引數的型別
(26)有如下程式
#include
#include
using namespace std;
int main(){
count return 0;
}
若程式的輸出是:
**12.345**34.567
則程式中下劃線處遺漏的操作符是______。
A)、setprecision(3)
B)、fixed
C)、setfill(*)
D)、stew(8)
(27)有如下程式
#include
#include
using namespace std;
class MyClass{
public:
MyClass(){cout<<’A”;}
MyClass(char c {cout<~MyClass(){sout<<’B”;}
};
Int main(){
MyClassp1,*p2
p2=new MyClass(‘X’);
delete p2;
return 0;
}
執行這個程式幕上將顯示輸出______。
A)、ABX
B)、ABXB
C)、AXB
D)、AXBB
(28)有如下程式
#include
using namespace std;
int i=1;
class Fun{
public;
static int i;
int value(){return i-1}
int value ()const{return i+1;}
};
int Fun;;i=2;
int main(){
int i=3;
Fun Fun1
const Fun fun2;
return 0;
}
若程式的輸出結果是:
123
則程式中下劃線處遺漏的語句是______。
A)、cout<
B)、cout<
C)、cout<
D)、cout<