- 下半年全國計算機二級C++考試考前練習題答案及解析 推薦度:
- 相關(guān)推薦
2015下半年全國計算機二級C++考試考前練習題
點(diǎn)擊查看試題答案及解析
一、選擇題。在下列各題的A)、B)、C)、D)四個(gè)選項中,只有一個(gè)選項是正確的,請將正確的選項涂寫(xiě)在答題卡相應位置上,答在試卷上不得分。

(1)根據數據結構中各數據元素之間前后件關(guān)系的復雜程度,一般將數據結構分成
A)動(dòng)態(tài)結構和靜態(tài)結構
B)緊湊結構和非緊湊結構
C)線(xiàn)性結構和非線(xiàn)性結構
D)內部結構和外部結構
(2)設一棵二叉樹(shù)中有3個(gè)葉子結點(diǎn),有8個(gè)度為1的結點(diǎn),則該二叉樹(shù)中總的結點(diǎn)數為
A)12
B)13
C)14
D)15
(3)在下列幾種排序方法中,要求內存量最大的是
A)插入排序
B)選擇排序
C)快速排序
D)歸并排序
(4)下列敘述中,不屬于結構化程序設計方法的主要原則的是
A)自頂向下
B)由底向上
C)模塊化
D)限制使用goto語(yǔ)句
(5)下列不屬于軟件調試技術(shù)的是
A)強行排錯法
B)集成測試法
C)回溯法
D)原因排除法
(6)為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來(lái)代替傳統的程序流程圖,通常也把這種圖稱(chēng)為
A)PAD圖
B)N-S圖
C)結構圖
D)數據流圖
(7)軟件復雜性度量的參數包括
A)效率
B)規模
C)完整性
D)容錯性
(8)下列敘述中,不屬于數據庫系統的是
A)數據庫
B)數據庫管理系統
C)數據庫管理員
D)數據庫應用系統
(9)數據庫系統的核心是
A)數據庫
B)數據庫管理系統
C)數據模型
D)軟件工具
(10)視圖設計一般有3種設計次序,下列不屬于視圖設計的是
A)自頂向下
B)由外向內
C)由內向外
D)自底向上
(11)下列關(guān)于C++關(guān)鍵字的說(shuō)法中正確的是
A)關(guān)鍵字是用戶(hù)為程序中各種需要命名的"元素"所起的名字
B)關(guān)鍵字是對程序中的數據進(jìn)行操作的一類(lèi)單詞
C)關(guān)鍵字是在程序中起分割內容和界定范圍作用的一類(lèi)單詞
D)關(guān)鍵字是C++中預先定義并實(shí)現一定功能的一類(lèi)單詞
(12)下列關(guān)于C++函數的描述中正確的是
A)主函數是程序的入口,它由用戶(hù)定義的函數調用
B)函數在調用之前必須先被聲明
C)每個(gè)用戶(hù)定義的函數只能被其他函數調用一次
D)函數是C++中面向對象程序設計框架的基本組成單元
(13)C++語(yǔ)言中運算對象必須是整型的運算符是
A)%=
B)/
C)=
D)<=
(14)在C++語(yǔ)言中,退格符是
A)\n
B)\t
C)\f
D)\b
(15)有如下程序段
#include
void main()
{ int a=14,b=15,x;
char c=′A′;
x=(a&&b)&&(c<′B′);
cout << x;}
執行該程序段后,x的值為
A)ture
B)false
C)0
D)1
(16)#include
void main()
{ int n=9;
while(n>6){ n--;
cout << n;}}
該程序的輸出結果是
A)987
B)876
C)8765
D)9876
(17)如下程序的執行結果是
#include
void main()
{ static int a[]={ 1,7,3,9,5,11};
int *p=a;
*(p+3)+=4;
cout << *p <<"," << *(p+3);}
A)1,13
B)1,16
C)3,13
D)1,14
(18)下面說(shuō)明不正確的是
A)char a[10]="china";
B)char a[10],*p=a;p="china";
C)char *a;a="china";
D)char a[10],*p;p=a="china";
(19)下列程序的輸出結果是
#include
void main()
{ double d=3.2;
int x,y;
x=1.2;
y=(x+3.8)/5.0;
cout << y*d << endl;}
A)3
B)3.2
C)0
D)3.07
(20)有以下程序
#include
int f(int n)
{ if(n==1)return 1;
else return f(n-1)+1;}
void main()
{ int i,j=0;
for(i=1;i<3;i++)j+=f(i);
cout << j;}
程序運行后的輸出結果是
A)4
B)3
C)2
D)1
(21)C++語(yǔ)言中類(lèi)的定義的結束聲明的符號是
A)}
B),
C);
D){
(22)關(guān)于類(lèi)定義中的語(yǔ)句錯誤的是
class A
{ int i;
A a;
A *b;
char *ch;};
A)int i;
B)A a;
C)A *b;
D)char *ch;
(23)下列描述中錯誤的是
A)析構函數可以被繼承
B)虛函數不能被繼承
C)派生類(lèi)可以有多個(gè)基類(lèi)
D)純虛基類(lèi)的子類(lèi)可以是虛基類(lèi)
(24)下列描述中哪個(gè)是正確的?
A)派生類(lèi)構造函數中沒(méi)有調用父類(lèi)構造函數則沒(méi)有對父類(lèi)初始化
B)子類(lèi)構造函數不能是內聯(lián)函數
C)派生類(lèi)構造函數中可以對父類(lèi)數據成員賦值
D)構造函數的返回值為void類(lèi)型
(25)下面關(guān)于成員函數重載運算符和友元函數重載運算符相同的是
A)成員函數和友元函數可重載的運算符是不相同的
B)成員函數和友元函數重載運算符時(shí)都需要用到this指針
C)成員函數和友元函數重載運算符時(shí)都需要聲明為公有的
D)成員函數和友元函數重載運算符時(shí)的參數可能是相同的
點(diǎn)擊查看試題答案及解析
(26)下列運算符只能用友元函數重載的是
A)<< , >>
B)new,delete
C)++, --
D),
(27)執行下面的程序段后,變量k中的值為
#include
void main()
{ int k=3, s[2];
s[0]=k; k=s[1]*10;
cout << k;}
A)不定值
B)33
C)30
D)10
(28)關(guān)于語(yǔ)句
#include
using namespace std;
void main()
{ cout << 100.8989663 << ′ ′;
cout << fixed << 100.8989663 << ′ ′;
cout << scientific << 100.8989663 << ′ ′;}
的輸出結果為
A)100.899 100.898966 1.008990e+002
B)100.8989663 100.898966 1.008990e+002
C)100.899 100.898966 1.008989e+002
D)100.899 100.8989663 1.008989e+002
(29)以下程序的結果是
#include
void main()
{ char *p="abcdefgh",*r;
long *q;
q=(long*)p;
q++;
r=(char*)q;
cout << r < A)defg
B)cdef
C)ghab
D)efgh
(30)以下程序的輸出結果是
#include
void main()
{ char c=′z′;
cout << c-25;}
A)97
B)Z
C)z-25
D)z
(31)有以下程序
#include
struct STU
{ char num[10];
float score[3]; };
void main()
{ struct STU s[3]={ {"20021",90,95,85},
{"20022",95,80,75},
{"20023",100,95,90}},*p=s;
int i;
float sum=0;
for(i=0;i<3;i++)
sum=sum+p->score[i];
cout << sum;}
程序運行后的輸出結果是
A)260
B)270
C)280
D)285
(32)下面程序段中,for循環(huán)的執行次數是
char *s="\ta\018bc";
for(;*s!=′\0′;s++)cout << "*";
A)9
B)5
C)6
D)7
(33)以下程序段的執行結果為
#include
#define PLUS(X,Y)X+Y
void main()
{ int x=1,y=2,z=3,sum;
sum=PLUS(x+y,z)*PLUS(y,z);
cout << "SUM=" << sum;
cout< A)SUM=9
B)SUM=12
C)SUM=18
D)SUM=30
(34)下列程序的運行結果是
#include
void fun(int *a,int *b)
{ int *k;
k=a;a=b;b=k;}
void main()
{ int a=2004,b=9,*x=&a,*y=&b;
fun(x,y);
cout << a <<" " << b< A)20049
B)92004
C)00
D)編譯時(shí)出錯
(35)以下程序的輸出結果是
#include
int f()
{ static int i=0;
int s=1;
s+=i; i++;
return s;}
void main()
{ int i,a=0;
for(i=0;i<5;i++)a+=f();
cout << a;}
A)20
B)24
C)25
D)15
二、填空題。請將每一個(gè)空的正確答案寫(xiě)在答題卡序號的橫線(xiàn)上,答在試卷上不給分。
(1)算法的工作量大小和實(shí)現算法所需的存儲單元多少分別稱(chēng)為算法的 1 。
(2)數據結構包括數據的邏輯結構、數據的 2 以及對數據的操作運算。
(3)可以把具有相同屬性的一些不同對象歸類(lèi),稱(chēng)為 3 。
(4)軟件工程包括3個(gè)要素,分別為方法、工具和 4 。
(5)由關(guān)系數據庫系統支持的完整性約束是指 5 和參照完整性。
(6)C++語(yǔ)言標識符是以字母或 6 開(kāi)頭的,由字母,數字和下劃線(xiàn)組成的字符串。
(7)在內存中,存儲字符′X′要占用1個(gè)字節,存儲字符串″X″要占用 7 個(gè)字節。
(8)mystrlen函數的功能是計算str所指字符串的長(cháng)度,并作為函數值返回,請填空。
int mystrlen(char *str)
{ int i;
for(i=0; 8 != ′\0′;i++);
return(i);}
(9)以下函數用來(lái)求出數組的最大元素在數組中的下標并存放在k所指的存儲單元中。請填空。
#include
void fun(int *s, int t, int *k)
{ int i;
*k= 9 ;
10
if(s[*k] void main()
{ int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;
fun(a, 10, &k);
cout << k <<"," << a[k];}
(10)如果一個(gè)類(lèi)中定義了成員對象,則該類(lèi)的對象和成員對象先被初始化的是 11 。
(11)請在mian函數中填空使下面程序的輸出結果為 1 1。
#include
class A
{ private:
int a;
int b;
public:
A():a(0),b (1){}
void show(){cout << a << " " << b;}};
class B
{ private:
int a;
int c;
public:
B():a (1),c (1){}
void show(){cout << a << " " << c;}};
class C : public A,public B
{ };
void main()
{ C cc;
12 }
(12)C++在重載運算符中,如用成員函數重載一元運算符參數表中需要 13 個(gè)參數,如用友元函數重載一元運算符參數表中需要 14 個(gè)參數。
(13)已知:double A (double A){return ++a;}和int A(int A){return ++a;}是一個(gè)函數模板的兩個(gè)實(shí)例,請補充該模板的定義:
template
15 。
【下半年全國計算機二級C++考試考前練習題】相關(guān)文章:
2015下半年全國計算機二級C++考試考前練習題答案及解析09-20
全國計算機二級C++考試輔導練習題07-17
2017計算機二級C++考前練習題09-18
全國計算機二級考試C++考前選擇題試題09-06
計算機二級考試C++考前沖刺試題10-13
2017計算機二級C++考前練習題及答案09-11
2017計算機二級C++考前練習題及答案09-27