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