- 相關推薦
2015下半年全國計算機二級C++考試模擬題及答案(四)
一、選擇題
1.已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為
A)GEDHFBCA
B)DGEBHFCA
C)ABCDEFGH
D)ACBFEDHG
【參考答案】 B
2.樹是結點的集合,它的根結點數目是
A)有且只有1
B)1或多于1
C)0或1
D)至少2
【參考答案】 A
3.如果進棧序列為e1,e2,e3,e4,則可能的出棧序列是
A)e3,e1,e4,e2
B)e2,e4,e3,e1
C)e3,e4,e1,e2
D)任意順序
【參考答案】 B
4.在設計程序時,應采納的原則之一是
A)不限制goto語句的使用
B)減少或取消注解行
C)程序越短越好
D)程序結構應有助于讀者理解
【參考答案】 D
5.程序設計語言的基本成分是數據成分、運算成分、控制成分和
A)對象成分
B)變量成分
C)語句成分
D)傳輸成分
【參考答案】 D
6.下列敘述中,不屬于軟件需求規格說明書的作用的是
A)便于用戶、開發人員進行理解和交流
B)反映出用戶問題的結構,可以作為軟件開發工作的基礎和依據
C)作為確認測試和驗收的依據
D)便于開發人員進行需求分析
【參考答案】 D
7.下列不屬于軟件工程的3個要素的是
A)工具
B)過程
C)方法
D)環境
【參考答案】 D
8.單個用戶使用的數據視圖的描述稱為
A)外模式
B)概念模式
C)內模式
D)存儲模式
【參考答案】 A
9.將E-R圖轉換到關系模式時,實體與聯系都可以表示成
A)屬性
B)關系
C)鍵
D)域
【參考答案】 B
10.SQL語言又稱為
A)結構化定義語言
B)結構化控制語言
C)結構化查詢語言
D)結構化操縱語言
【參考答案】 C
11.下面關于類和對象的描述中,錯誤的是
A)類就是C語言中的結構體類型,對象就是C語言中的結構體變量
B)類和對象之間的關系是抽象和具體的關系
C)對象是類的實例,一個對象必須屬于一個已知的類
D)類是具有共同行為的若干對象的統一描述體
【參考答案】 A
12.以下各選項組中,均是C++語言關鍵字的組是
A)public operator this
B)shod string static
C)it while >=
D)private cout printf
【參考答案】 A
13.設int a=10,b=11,c=12;,表達式(a+b)
A)2
B)0
C)-2
D)1
【參考答案】 B
14.下列描述正確的是
A)表示m>n為true或mn&&m
B)switch語句結構中必須有default語句
C)if語句結構中必須有else語句
D)如果至少有一個操作數為true,則包含"||"運算符的表達式為true
【參考答案】 D
15.下列語句中不是死循環的是
A)int i=10;
while (1)
{ i--;
if(i==1)break; }
B)for(int i=1;i<10;i++)
{ i--; }
C)int i=0;
do{
i++;
}while(i>=0);
D)int i=1;
for(;;)i=i+1;
【參考答案】 A
16.下面關于break語句的描述中,不正確的是
A)break可以用于循環體內
B)break語句可以在for循環語句中出現多次
C)break語句可以在switch語句中出現多次
D)break語句可用于if條件判斷語句內
【參考答案】 D
17.下面關于數組的描述錯誤的是
A)在C++語言中數組的名字就是指向該數組第一個元素的指針
B)長度為n的數組,下標的范圍是0~n-1
C)數組的大小必須在編譯時確定
D)數組只能通過值參數和引用參數兩種方式傳遞給函數
【參考答案】 D
18.下面程序錯誤的語句是
① #include
② void main()
③ {
④ int *p=new int[1];
⑤ p=9;
⑥ cout <<*p<
⑦ delete []p;
⑧ }
A)④
B)⑤
C)⑥
D)⑦
【參考答案】 B
19.下面的哪個選項不能作為函數的返回類型?
A)void
B)int
C)new
D)long
【參考答案】 C
20.不能作為重載函數的調用的依據是
A)參數個數
B)參數類型
C)函數類型
D)函數名稱
【參考答案】 D
21.下列程序的輸出結果為
#include
int func(int n)
{ if (n<1)return 1;
else return n+func(n-1);
return 0; }
void main()
{ cout<
A)0
B)10
C)15
D)16
【參考答案】 D
22.在C++語言中,數據封裝要解決的問題是
A)數據的規范化
B)便于數據轉換
C)避免數據丟失
D)防止不同模塊之間數據的非法訪問
【參考答案】 D
23.以下程序中,錯誤的行為
(1) #include
(2) ClassA
(3) {
(4) public:
(5) int n=2;
(6) A(int val){cout<
(7) ~A( ){}
(8) };
(9) void main( )
(10) {
(11) Aa(o);
(12) }
A)(5)
B)(6)
C)(7)
D)(11)
【參考答案】 A
24.對類的構造函數和析構函數描述正確的是
A)構造函數可以重載,析構函數不能重載
B)構造函數不能重載,析構函數可以重載
C)構造函數可以重載,析構函數也可以重載
D)構造函數不能重載,析構函數也不能重載
【參考答案】 A
25.下面程序的運行結果為
#include
class A
{ int num;
public:
A(int i){num=i;}
A(A &a){num=a.num++;}
void print(){cout<
void main()
{ A a (1),b(a);
a.print();
b.print(); }
A)11
B)12
C)21
D)22
【參考答案】 C
26.下面對靜態數據成員的描述中,正確的是
A)靜態數據成員是類的所有對象共享的數據
B)類的每個對象都有自己的靜態數據成員
C)類的不同對象有不同的靜態數據成員值
D)靜態數據成員不能通過類的對象調用
【參考答案】 A
27.如果類A被說明成類B的友元,則
A)類A的成員即類B的成員
B)類B的成員即類A的成員
C)類A的成員函數不得訪問類B的成員
D)類B不一定是類A的友元
【參考答案】 D
28.可以用p.a的形式訪問派生類對象p的基類成員a,其中a是
A)私有繼承的公有成員
B)公有繼承的私有成員
C)公有繼承的保護成員
D)公有繼承的公有成員
【參考答案】 D
29.建立派生類對象時,3種構造函數分別是a(基類的構造函數)、b(成員對象的構造函數)、c(派生類的構造函數)這3種構造函數的調用順序為
A)abc
B)acb
C)cab
D)cba
【參考答案】 A
30.下面關于虛函數的描述,錯誤的是
A)在成員函數聲明的前面加上virtual修飾,就可把該函數聲明為虛函數
B)基類中說明了虛函數后,派生類中對應的函數也必須說明為虛函數
C)虛函數可以是另一個類的友元函數,但不能是靜態成員函數
D)基類中說明的純虛函數在其任何派生類中都必須實現
【參考答案】 B
31.下面關于模板的描述,錯誤的是
A)函數模板和類模板的參數可以是任意的數據類型
B)類模板不能直接使用,必須先實例化為相應的模板類,然后定義了模板類的對象后才能使用
C)函數模板不能直接使用,需要實例化為模板函數后才能使用
D)類模板的成員函數都是模板函數
【參考答案】 A
32.語句ofstream f("SALARY.DAT",ios::app|ios::binary);的功能是建立流對象f,試圖打開文件SALARY.DAT并與之連接,并且
A)若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文件
B)若文件存在,將其置為空文件;若文件不存在,打開失敗
C)若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件
D)若文件存在,打開失敗;若文件不存在,建立一個新文件
【參考答案】 A
33.下面程序的運行結果是
#include
void main()
{ int num=1;
int &ref=num;
ref=ref+2;
cout <
num=num+3;
cout <
A)13
B)16
C)36
D)33
【參考答案】 C
34.下面程序的運行結果是
#include
void fun(int *a,int *b)
{
int x=*a;
*a=*b; *b=x;
cout<<*a<<*b<<" ";
}
void main()
{ int x=1, y=2;
fun(&x,&y);
cout<
A)1212
B)1221
C)2112
D)2121
【參考答案】 D
35.下列程序的運行結果為
#include
int i=0;
class A{
public:
A(){i++;} };
void main()
{ A a,b[3],*c;
c=b;
cout<
A)2
B)3
C)4
D)5
【參考答案】 C
二、填空題
(1)數據結構分為邏輯結構與存儲結構,線性鏈表屬于 【1】 。
【參考答案】
【1】存儲結構
(2)在面向對象方法中,類之間共享屬性和操作的機制稱為 【2】 。
【參考答案】
【2】繼承
(3)耦合和內聚是評價模塊獨立性的兩個主要標準,其中 【3】 反映了模塊內各成分之間的聯系。
【參考答案】
【3】內聚
(4)一個項目具有一個項目主管,一個項目主管可管理多個項目,則實體"項目主管"與實體"項目"的聯系屬于 【4】 的聯系。
【參考答案】
【4】一對多或1∶N
(5)數據庫設計分為以下6個設計階段:需求分析階段、 【5】 、邏輯設計階段、物理設計階段、實施階段、運行和維護階段。
【參考答案】
【5】數據庫概念設計階段
(6)開發一個C++語言程序的步驟通常包括編輯、 【6】 、鏈接、運行和調試。
【參考答案】
【6】編譯
(7)假設int a=1,b=2;則表達式a+++--b的值為 【7】 。
【參考答案】
【7】2
(8)下面程序的輸出結果為 【8】 。
#include
void main()
{ int num=0,i=8;
do{
i--;
num++;
}while(--i);
cout<
【參考答案】
【8】4
(9)通過使用new和delete兩個運算符進行的分配為 【9】 存儲分配。
【參考答案】
【9】動態
(10)下面程序的運行結果為 【10】 。
#include
void fun(int x=0,int y=0)
{
cout<
}
void main()
{
fun (5);
}
【參考答案】
【10】50
(11)在C++語言中,訪問一個對象的成員所用的運算符是 【11】 ,訪問一個指針所指向的對象的成員所用的運算符是 【12】 。
【參考答案】
【11】成員選擇運算符 【12】成員訪問運算符
(12)C++語言支持的兩種多態性分別是編譯時的多態性和 【13】 的多態性。
【參考答案】
【12】運行時
(13)重載的運算符保持其原有的 【14】 、優先級和結合性不變。
【參考答案】
【13】操作符個數
(14)cout.put(′A′);,還可以表示為 【15】 。
【參考答案】
【14】cout<<′A′;)
【下半年全國計算機二級C++考試模擬題及答案四】相關文章:
2023下半年全國計算機二級C++考試模擬題及答案08-22
2015下半年全國計算機二級C++考試模擬題及答案(九)07-09
全國計算機二級考試C++精選試題及答案08-17
計算機二級C++模擬題及答案05-12
全國計算機二級考試C++鞏固試題與答案10-03
全國計算機二級考試C++強化試題及答案11-05
2017年9月全國計算機二級考試C++筆試模擬題及答案08-22
2017計算機二級C++模擬題及答案06-22