2015下半年全國(guó)計(jì)算機(jī)二級(jí)C++考試考前練習(xí)題
點(diǎn)擊查看試題答案及解析
一、選擇題。在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分成
A)動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)
B)緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)
C)線性結(jié)構(gòu)和非線性結(jié)構(gòu)
D)內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)
(2)設(shè)一棵二叉樹中有3個(gè)葉子結(jié)點(diǎn),有8個(gè)度為1的結(jié)點(diǎn),則該二叉樹中總的結(jié)點(diǎn)數(shù)為
A)12
B)13
C)14
D)15
(3)在下列幾種排序方法中,要求內(nèi)存量最大的是
A)插入排序
B)選擇排序
C)快速排序
D)歸并排序
(4)下列敘述中,不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則的是
A)自頂向下
B)由底向上
C)模塊化
D)限制使用goto語句
(5)下列不屬于軟件調(diào)試技術(shù)的是
A)強(qiáng)行排錯(cuò)法
B)集成測(cè)試法
C)回溯法
D)原因排除法
(6)為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為
A)PAD圖
B)N-S圖
C)結(jié)構(gòu)圖
D)數(shù)據(jù)流圖
(7)軟件復(fù)雜性度量的參數(shù)包括
A)效率
B)規(guī)模
C)完整性
D)容錯(cuò)性
(8)下列敘述中,不屬于數(shù)據(jù)庫(kù)系統(tǒng)的是
A)數(shù)據(jù)庫(kù)
B)數(shù)據(jù)庫(kù)管理系統(tǒng)
C)數(shù)據(jù)庫(kù)管理員
D)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)
(9)數(shù)據(jù)庫(kù)系統(tǒng)的核心是
A)數(shù)據(jù)庫(kù)
B)數(shù)據(jù)庫(kù)管理系統(tǒng)
C)數(shù)據(jù)模型
D)軟件工具
(10)視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)的是
A)自頂向下
B)由外向內(nèi)
C)由內(nèi)向外
D)自底向上
(11)下列關(guān)于C++關(guān)鍵字的說法中正確的是
A)關(guān)鍵字是用戶為程序中各種需要命名的"元素"所起的名字
B)關(guān)鍵字是對(duì)程序中的數(shù)據(jù)進(jìn)行操作的一類單詞
C)關(guān)鍵字是在程序中起分割內(nèi)容和界定范圍作用的一類單詞
D)關(guān)鍵字是C++中預(yù)先定義并實(shí)現(xiàn)一定功能的一類單詞
(12)下列關(guān)于C++函數(shù)的描述中正確的是
A)主函數(shù)是程序的入口,它由用戶定義的函數(shù)調(diào)用
B)函數(shù)在調(diào)用之前必須先被聲明
C)每個(gè)用戶定義的函數(shù)只能被其他函數(shù)調(diào)用一次
D)函數(shù)是C++中面向?qū)ο蟪绦蛟O(shè)計(jì)框架的基本組成單元
(13)C++語言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是
A)%=
B)/
C)=
D)<=
(14)在C++語言中,退格符是
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;}
執(zhí)行該程序段后,x的值為
A)ture
B)false
C)0
D)1
(16)#include
void main()
{ int n=9;
while(n>6){ n--;
cout << n;}}
該程序的輸出結(jié)果是
A)987
B)876
C)8765
D)9876
(17)如下程序的執(zhí)行結(jié)果是
#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)下面說明不正確的是
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)下列程序的輸出結(jié)果是
#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;}
程序運(yùn)行后的輸出結(jié)果是
A)4
B)3
C)2
D)1
(21)C++語言中類的定義的結(jié)束聲明的符號(hào)是
A)}
B),
C);
D){
(22)關(guān)于類定義中的語句錯(cuò)誤的是
class A
{ int i;
A a;
A *b;
char *ch;};
A)int i;
B)A a;
C)A *b;
D)char *ch;
(23)下列描述中錯(cuò)誤的是
A)析構(gòu)函數(shù)可以被繼承
B)虛函數(shù)不能被繼承
C)派生類可以有多個(gè)基類
D)純虛基類的子類可以是虛基類
(24)下列描述中哪個(gè)是正確的?
A)派生類構(gòu)造函數(shù)中沒有調(diào)用父類構(gòu)造函數(shù)則沒有對(duì)父類初始化
B)子類構(gòu)造函數(shù)不能是內(nèi)聯(lián)函數(shù)
C)派生類構(gòu)造函數(shù)中可以對(duì)父類數(shù)據(jù)成員賦值
D)構(gòu)造函數(shù)的返回值為void類型
(25)下面關(guān)于成員函數(shù)重載運(yùn)算符和友元函數(shù)重載運(yùn)算符相同的是
A)成員函數(shù)和友元函數(shù)可重載的運(yùn)算符是不相同的
B)成員函數(shù)和友元函數(shù)重載運(yùn)算符時(shí)都需要用到this指針
C)成員函數(shù)和友元函數(shù)重載運(yùn)算符時(shí)都需要聲明為公有的
D)成員函數(shù)和友元函數(shù)重載運(yùn)算符時(shí)的參數(shù)可能是相同的
點(diǎn)擊查看試題答案及解析
(26)下列運(yùn)算符只能用友元函數(shù)重載的是
A)<< , >>
B)new,delete
C)++, --
D),
(27)執(zhí)行下面的程序段后,變量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)于語句
#include
using namespace std;
void main()
{ cout << 100.8989663 << ′ ′;
cout << fixed << 100.8989663 << ′ ′;
cout << scientific << 100.8989663 << ′ ′;}
的輸出結(jié)果為
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)以下程序的結(jié)果是
#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)以下程序的輸出結(jié)果是
#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;}
程序運(yùn)行后的輸出結(jié)果是
A)260
B)270
C)280
D)285
(32)下面程序段中,for循環(huán)的執(zhí)行次數(shù)是
char *s="\ta\018bc";
for(;*s!=′\0′;s++)cout << "*";
A)9
B)5
C)6
D)7
(33)以下程序段的執(zhí)行結(jié)果為
#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)下列程序的運(yùn)行結(jié)果是
#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í)出錯(cuò)
(35)以下程序的輸出結(jié)果是
#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
二、填空題。請(qǐng)將每一個(gè)空的正確答案寫在答題卡序號(hào)的橫線上,答在試卷上不給分。
(1)算法的工作量大小和實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少分別稱為算法的 1 。
(2)數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的 2 以及對(duì)數(shù)據(jù)的操作運(yùn)算。
(3)可以把具有相同屬性的一些不同對(duì)象歸類,稱為 3 。
(4)軟件工程包括3個(gè)要素,分別為方法、工具和 4 。
(5)由關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)支持的完整性約束是指 5 和參照完整性。
(6)C++語言標(biāo)識(shí)符是以字母或 6 開頭的,由字母,數(shù)字和下劃線組成的字符串。
(7)在內(nèi)存中,存儲(chǔ)字符′X′要占用1個(gè)字節(jié),存儲(chǔ)字符串″X″要占用 7 個(gè)字節(jié)。
(8)mystrlen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回,請(qǐng)?zhí)羁铡?/p>
int mystrlen(char *str)
{ int i;
for(i=0; 8 != ′\0′;i++);
return(i);}
(9)以下函數(shù)用來求出數(shù)組的最大元素在數(shù)組中的下標(biāo)并存放在k所指的存儲(chǔ)單元中。請(qǐng)?zhí)羁铡?/p>
#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è)類中定義了成員對(duì)象,則該類的對(duì)象和成員對(duì)象先被初始化的是 11 。
(11)請(qǐng)?jiān)趍ian函數(shù)中填空使下面程序的輸出結(jié)果為 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++在重載運(yùn)算符中,如用成員函數(shù)重載一元運(yùn)算符參數(shù)表中需要 13 個(gè)參數(shù),如用友元函數(shù)重載一元運(yùn)算符參數(shù)表中需要 14 個(gè)參數(shù)。
(13)已知:double A (double A){return ++a;}和int A(int A){return ++a;}是一個(gè)函數(shù)模板的兩個(gè)實(shí)例,請(qǐng)補(bǔ)充該模板的定義:
template
15 。
【下半年全國(guó)計(jì)算機(jī)二級(jí)C++考試考前練習(xí)題】相關(guān)文章:
2015下半年全國(guó)計(jì)算機(jī)二級(jí)C++考試考前練習(xí)題答案及解析09-20
全國(guó)計(jì)算機(jī)二級(jí)C++考試輔導(dǎo)練習(xí)題07-17
2017計(jì)算機(jī)二級(jí)C++考前練習(xí)題09-18
全國(guó)計(jì)算機(jī)二級(jí)考試C++考前選擇題試題09-06
全國(guó)計(jì)算機(jī)二級(jí)考試《C++》考前測(cè)試題201710-31
計(jì)算機(jī)二級(jí)考試C++考前沖刺試題10-13
2017計(jì)算機(jī)二級(jí)C++考前練習(xí)題及答案09-11