2015下半年全國計算機二級C++考試模擬題及答案(二)
一、選擇題
1.在深度為5的滿二叉樹中,葉子結點的個數為
A)32
B)31
C)16
D)15
【參考答案】B
2.若某二叉樹的前序遍歷訪問順序是abdgcefh,中序遍歷訪問順序是dgbaechf,則其后序遍歷的結點訪問順序是
A)bdgcefha
B)gdbecfha
C)bdgaechf
D)gdbehfca
【參考答案】D
3.一些重要的程序語言(如C語言和Pascal語言)允許過程的遞歸調用。而實現(xiàn)遞歸調用中的存儲分配通常用
A)棧
B)堆
C)數組
D)鏈表
【參考答案】A
4.軟件工程的理論和技術性研究的內容主要包括軟件開發(fā)技術和
A)消除軟件危機
B)軟件工程管理
C)程序設計自動化
D)實現(xiàn)軟件可重用
【參考答案】B
5.開發(fā)軟件時對提高開發(fā)人員工作效率至關重要的是
A)操作系統(tǒng)的資源管理功能
B)先進的軟件開發(fā)工具和環(huán)境
C)程序人員的數量
D)計算機的并行處理能力
【參考答案】B
6.在軟件測試設計中,軟件測試的主要目的是
A)實驗性運行軟件
B)證明軟件正確
C)找出軟件中全部錯誤
D)發(fā)現(xiàn)軟件錯誤而執(zhí)行程序
【參考答案】D
7.數據處理的最小單位是
A)數據
B)數據元素
C)數據項
D)數據結構
【參考答案】C
8.索引屬于
A)模式
B)內模式
C)外模式
D)概念模式
【參考答案】B
9.下述關于數據庫系統(tǒng)的敘述中正確的是
A)數據庫系統(tǒng)減少了數據冗余
B)數據庫系統(tǒng)避免了一切冗余
C)數據庫系統(tǒng)中數據的一致性是指數據類型一致
D)數據庫系統(tǒng)比文件系統(tǒng)能管理更多的數據
【參考答案】B
10.數據庫系統(tǒng)的核心是
A)數據庫
B)數據庫管理系統(tǒng)
C)模擬模型
D)軟件工程
【參考答案】B
11.下列關于C++語言類的描述中錯誤的是
A)類用于描述事物的屬性和對事物的操作
B)類與類之間通過封裝而具有明確的獨立性
C)類與類之間必須是平等的關系,而不能組成層次結構
D)類與類之間可以通過一些方法進行通信和聯(lián)絡
【參考答案】C
12.C++語言中,表示一條語句結束的標號是
A)#
B);
C)//
D)}
【參考答案】B
13.以下敘述中正確的是
A)構成C++語言程序的基本單位是類
B)可以在一個函數中定義另一個函數
C)main()函數必須放在其他函數之前
D)所有被調用的函數一定要在調用之前進行定義
【參考答案】A
14.已知有定義
const int D=5;
int i=1;
double f=0.32;
char c=15;
則下列選項錯誤的是
A)++i;
B)D--;
C)c++;
D)--f;
【參考答案】B
15.以下程序的輸出結果是
#include
void reverse(int a[],int n)
{ int i,t;
for(i=0;i
{ t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} }
void main()
{ int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
cout << s; }
A)22
B)10
C)34
D)30
【參考答案】A
16.下面程序的功能是把316表示為兩個加數的和,使兩個加數分別能被13和11整除,在劃線處應填入的選項是
#include
void main()
{ int i=0,j,k;
do{ i++;k=316-13*i;} while( );
j=k/11;
cout << "316=13*"<
A)k/11
B)k%11
C)k/11==0
D)k%11==0
【參考答案】B
17.設有數組定義: char array[]="China";,則數組 array所占的空間為
A)4個字節(jié)
B)5個字節(jié)
C)6個字節(jié)
D)7個字節(jié)
【參考答案】C
18.若已定義:
int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;
其中 0≤i≤9, 則對a數組元素不正確的引用是
A)a[p-a]
B)*(&a[i])
C)p[i]
D)a[10]
【參考答案】D
19.以下程序的輸出結果是
#include
void main()
{ int x=1,y=3;
cout << x++ << ",";
{ int x=0;x+=y*2;
cout << x <<"," << y << ","; }
cout << x <<"," << y; }
A)1,6,3,1,3
B)1,6,3,6,3
C)1,6,3,2,3
D)1,7,3,2,3
【參考答案】C
20.函數fun的返回值是
fun(char *a,char *B)
{ int num=0,n=0;
while(*(a+num)!=′\0′)num++;
while(b[n]){*(a+num)=b[n];num++;n++;}
return num; }
A)字符串a的長度
B)字符串b的長度
C)字符串a和b的長度之差
D)字符串a 和b的長度之和
【參考答案】D
21.下面程序輸出的結果是
#include
void main()
{ int i;
int a[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
cout << a[2-i][i]<<""; }
A)1 5 9
B)7 5 3
C)3 5 7
D)5 9 1
【參考答案】B
22.下面程序的結果為
#include
int c;
class A
{ private:
int a;
static int b;
public:
A(){a=0; c=0;}
void seta(){a++;}
void setb(){b++;}
void setc(){c++;}
void display(){cout << a << " " << b << " " << c;} };
int A::b = 0;
void main()
{
A a1,a2;
a1.seta();
a1.setb();
a1.setc();
a2.seta();
a2.setb();
a2.setc();
a2.display();
}
A)1 2 1
B)1 2 2
C)1 1 2
D)2 2 2
【參考答案】B
23.下列描述中哪個是正確的?
A)私有派生的子類無法訪問父類的成員
B)類A的私有派生子類的派生類C無法初始化其祖先類A對象的屬性,因為類A的成員對類C是不可訪問的
C)私有派生類不能作為基類派生子類
D)私有派生類的所有子孫類將無法繼續(xù)繼承該類的成員
【參考答案】B
24.下列關于構造函數說法不正確的是
A)構造函數必須與類同名
B)構造函數可以省略不寫
C)構造函數必須有返回值
D)在構造函數中可以對類中的成員進行初始化
【參考答案】C
25.如果友元函數重載一個運算符時,其參數表中沒有任何參數則說明該運算符是
A)一元運算符
B)二元運算符
C)選項A)和選項
B)都有可能
D)重載錯誤
【參考答案】D
26.在重載一個運算符時,如果其參數表中有一個參數,則說明該運算符是
A)一元成員運算符
B)二元成員運算符
C)一元友元運算符
D)選項
B)和選項
C)都可能
【參考答案】D
27.下列關于模板的說法正確的是
A)模板的實參在任何時候都可以省略
B)類模板與模板類所指的是同一概念
C)類模板的參數必須是虛擬類型的
D)類模板中的成員函數全部都是模板函數
【參考答案】D
28.表示在輸出時顯示小數位,和在文件輸入時判斷文件尾的函數分別是
A)showbase()和eof()
B)showpoint()和eof()
C)showpoint()和bad()
D)showpoint()和good()
【參考答案】B
29.下面程序段的運行結果是
void main()
{ int t, a, b, c;
a=1;b=2;c=2;
while(a
{ t=a;a=b;b=t;c--;}
cout << a << "," << b << "," << c; }
A)1,2,0
B)2,1,0
C)1,2,1
D)2,1,1
【參考答案】A
30.下列程序中畫線處應填入的語句是
class Base
{ public:
void fun(){cout<<"Base of fun"<
class Derived:public Base
{ void fun()
{ //顯示基類的成員函數fun
cout<<"Derived of fun"<
A)fun();
B)Base.fun();
C)Base::fun();
D)Base->fun();
【參考答案】C
31.若定義int k=7,x=12;,則能使值為3的表達式是
A)x%=(k%=5)
B)x%=(k-k%5)
C)x%=k-k%5
D)(x%=k)-(k%=5)
【參考答案】D
32.在位運算中,操作數每右移一位,其結果相當于
A)操作數乘以2
B)操作數除以2
C)操作數乘以4
D)操作數除以4
【參考答案】B
33.有以下結構體說明和變量的定義,且指針p指向變量a,指針q指向變量b。則不能把結點b連接到結點a之后的語句是
struct node
{ char data;
struct node *next;
} a,b,*p=&a,*q=&b;
A)a.next=q;
B)p.next=&b;
C)p->next=&b;
D)(*p).next=q;
【參考答案】B
34.一個類的友元函數能夠訪問該類的
A)私有成員
B)保護成員
C)公有成員
D)所有成員
【參考答案】D
35.下面程序的輸出結果是
#include
#include
void main()
{ char p1[10],p2[10];
strcpy(p1,"abc");
strcpy(p2,"ABC");
char str[50]= "xyz";
strcpy(str+2,strcat(p1,p2));
cout << str; }
A)xyzabcABC
B)zabcABC
C)xyabcABC
D)yzabcABC
【參考答案】C
二、填空題
(1)在樹形結構中,樹根結點沒有【1】。
【參考答案】
【1】前件
(2)Jackson結構化程序設計方法是英國的M.Jackson提出的,它是一種面向【2】的設計方法。
【參考答案】
【2】數據結構
(3)面向對象的模型中,最基本的概念是對象和【3】。
【參考答案】
【3】類
(4)軟件設計模塊化的目的是【4】。
【參考答案】
【4】降低復雜性
(5)數據模型按不同應用層次分成3種類型,它們是概念數據模型、【5】和物理數據模型。
【參考答案】
【5】邏輯數據模型
(6)派生類的成員一般分為兩部分,一部分是【6】,另一部分是自己定義的新成員。
【參考答案】
【6】從基類繼承的成員
(7)以下程序輸出的結果是【7】。
#include
void main()
{ int a=5,b=4,c=3,d;
d=(a>b>C);
cout << d; }
【參考答案】
【7】0
(8)設i,j,k均為int型變量,則執(zhí)行完for(i=0, j=10; i<=j; i++, j--)k=i+j;語句后,k的值為【8】。
【參考答案】
【8】10
(9)如果要把返回值為void的函數A聲明為類B的友元函數,則應在類B的定義中加入的語句是【9】。
【參考答案】
【9】friend void A( );
(10)如果類B繼承了類A,則稱類A為類B的基類,類B稱為類A的【10】。
【參考答案】
【10】派生類
(11)將x+y中的+運算符用友元函數重載應寫為【11】。
【參考答案】
【11】operator+(x,y)
(12)已知程序的結果為1 2 3,請?zhí)羁铡?/p>
#include
template
class A
{ public:
T x,y,z;
void display(){cout << x << " " << y << " " << z;} };
void main()
{ Aa1;
【12】
【13】
【14】
a1.display(); }
【參考答案】
【12】a1.x=1【13】a1.y=2【14】a1.z=3
(13)下列程序段的輸出結果是【15】。
cout << fixed << 509.123456789 << endl;
【參考答案】
【15】509.123457
【下半年全國計算機二級C++考試模擬題及答案二】相關文章:
全國計算機二級考試C++筆試模擬題及答案11-22
2023下半年全國計算機二級C++考試模擬題及答案08-22
2015下半年全國計算機二級C++考試模擬題及答案(五)09-05
2015下半年全國計算機二級C++考試模擬題及答案(三)10-07
2015下半年全國計算機二級C++考試模擬題及答案(四)09-17
2015下半年全國計算機二級C++考試模擬題及答案(十)08-27
2015下半年全國計算機二級C++考試模擬題及答案(九)07-09
全國計算機二級考試C++精選試題及答案08-17