一、選擇題(每小題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<