- 9月計(jì)算機(jī)考試二級(jí)C++模擬試題答案及解析 推薦度:
- 相關(guān)推薦
2015年9月計(jì)算機(jī)考試二級(jí)C++模擬試題
一、選擇題。在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確的選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)假設(shè)線性表的長(zhǎng)度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為
A)log2n
B)n2
C)O(n1.5)
D)n(n-1)/2
(2)算法分析的目的是
A)找出數(shù)據(jù)結(jié)構(gòu)的合理性
B)找出算法中輸入和輸出之間的關(guān)系
C)分析算法的易懂性和可靠性
D)分析算法的效率以求改進(jìn)
(3)線性表L=(a1,a2,a3,…ai,…an),下列說法正確的是
A)每個(gè)元素都有一個(gè)直接前件和直接后件
B)線性表中至少要有一個(gè)元素
C)表中諸元素的排列順序必須是由小到大或由大到小
D)除第一個(gè)元素和最后一個(gè)元素外,其余每個(gè)元素都有一個(gè)且只有一個(gè)直接前件和直接后件
(4)在單鏈表中,增加頭結(jié)點(diǎn)的目的是
A)方便運(yùn)算的實(shí)現(xiàn)
B)使單鏈表至少有一個(gè)結(jié)點(diǎn)
C)標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置
D)說明單鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)
(5)軟件工程的出現(xiàn)是由于
A)程序設(shè)計(jì)方法學(xué)的影響
B)軟件產(chǎn)業(yè)化的需要
C)軟件危機(jī)的出現(xiàn)
D)計(jì)算機(jī)的發(fā)展
(6)軟件開發(fā)離不開系統(tǒng)環(huán)境資源的支持,其中必要的測(cè)試數(shù)據(jù)屬于
A)硬件資源
B)通信資源
C)支持軟件
D)輔助資源
(7)在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示
A)模塊之間的調(diào)用關(guān)系
B)程序的組成成分
C)控制程序的執(zhí)行順序
D)數(shù)據(jù)的流向
(8)分布式數(shù)據(jù)庫系統(tǒng)不具有的特點(diǎn)是
A)數(shù)據(jù)分布性和邏輯整體性
B)位置透明性和復(fù)制透明性
C)分布性
D)數(shù)據(jù)冗余
(9)關(guān)系表中的每一橫行稱為一個(gè)
A)元組
B)字段
C)屬性
D)碼
(10)下列數(shù)據(jù)模型中,具有堅(jiān)實(shí)理論基礎(chǔ)的是
A)層次模型
B)網(wǎng)狀模型
C)關(guān)系模型
D)以上3個(gè)都是
(11)下列字符串中可以用作C++語言標(biāo)識(shí)符的是
A)_1234
B)foo~~bar
C)virtual
D)34var
(12)關(guān)于C++語言與C語言關(guān)系描述中錯(cuò)誤的是
A)C++語言是C語言的超集
B)C++語言對(duì)C語言進(jìn)行了擴(kuò)充
C)C++語言包含C語言的全部語法特征
D)C++語言與C語言都是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言
(13)下列語句的輸出結(jié)果
cout << strlen("\t\"\065\xff\n");
A)5
B)14
C)8
D)輸出項(xiàng)不合法,無正常輸出
(14)在C++語言中,不合法的實(shí)型數(shù)據(jù)的是
A)0.123
B)123e3
C)2.1e3.5
D)123.0
(15)若有如下語句
#include
void main()
{
int x=3;
do{
x=x-2;
cout << x;
}while(!(--x));
}
則上面程序段
A)輸出的是1
B)輸出的是1和-2
C)輸出的是3和0
D)是死循環(huán)
(16)下面有關(guān)for循環(huán)的正確描述是
A)for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況
B)for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達(dá)式
C)在for循環(huán)中,不能用break語句跳出循環(huán)體
D)for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號(hào)括起來
(17)以下程序中調(diào)用cin函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是
#include
void main()
{ int *p,*q,a,b;
p=&a;
cout << "input a:";
cin >> p;
}
A)*p表示的是指針變量p的地址
B)p表示的是變量a的地址,而不是變量a的值
C)*p表示的是指針變量p的值
D)*p只能用來說明p是一個(gè)指針變量
(18)假定int類型變量占用兩個(gè)字節(jié),其有定義int x[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是
A)3
B)6
C)10
D)20
(19)有以下程序
#include
void fun(int a,int b,int c)
{ a=456,b=567,c=678;}
void main()
{
int x=10,y=20,z=30;
fun(x,y,z);
cout << x << ′,′ << y << ′,′ << z << endl;
}
輸出結(jié)果是
A)30,20,10
B)10,20,30
C)456,567,678
D)678,567,456
(20)以下敘述正確的是
A)函數(shù)可以嵌套定義但不能嵌套調(diào)用
B)函數(shù)既可以嵌套調(diào)用也可以嵌套定義
C)函數(shù)既不可以嵌套定義也不可以嵌套調(diào)用
D)函數(shù)可以嵌套調(diào)用但不可以嵌套定義
(21)下列定義中p指向的地址可更改,但*p不能夠更改的是
A)const int *p;
B)int * const p;
C)const int *const p;
D)int *p;
(22)下面的語句中錯(cuò)誤的是
A)int a = 5; int x[a];
B)const int a = 5; int x[a];
C)int n = 5; int *p = new int [a];
D)const int n = 5; int *p = new int [a];
(23)下面程序的結(jié)果是
#include
class A
{
int a;
public:
A():a (1){}
void showa(){cout << a;}
};
class B
{
int a;
public:
B():a (2){}
void showa(){cout << a;}
};
class C : public A, public B
{
int a;
public:
C():a (3){}
void showa(){cout << a;}
};
void main()
{
C c;
c.showa();
}
A)1
B)2
C)3
D)程序有錯(cuò)誤
(24)關(guān)于二義性的描述錯(cuò)誤的是
A)一個(gè)子類的兩個(gè)父類中都有某個(gè)同名成員,在子類中對(duì)該成員訪問可能出現(xiàn)二義性
B)解決二義性可以用對(duì)成員名的限定法
C)父類和子類中同時(shí)出現(xiàn)同名函數(shù),也可能存在二義性
D)一個(gè)子類是從兩個(gè)父類派生出來的,而這兩個(gè)父類又有一個(gè)共同的父類,對(duì)該父類成員進(jìn)行訪問時(shí),可能出現(xiàn)二義性
(25)如果表達(dá)式x*y+z中,"*"是作為友元函數(shù)重載的,"+"是作為友元函數(shù)重載的,則該表達(dá)式還可為
A)operator+( operator*(x, y),z)
B)x.operator+( operator*(x, y),z)
C)y.operator*( operator+(x, y),z)
D)x.operator+( operator*(x, y))
(26)函數(shù)模板:template
T add(T x,T y){return x+y;}
下列對(duì)add函數(shù)的調(diào)用不正確的是
A)add<>(1,2)
B)add(1,2)
C)add(1.0,2)
D)add(1.0,2.0)
(27)對(duì)于語句cout << setfill(′*′)<< setw(10)<< 1 << setfill(′*′)<< setw (2)<< 2;的輸出結(jié)果是
A)*********1*2
B)********12
C)*******1*2
D)12********
(28)this指針是C++語言實(shí)現(xiàn)什么的一種機(jī)制?
A)抽象
B)封裝
C)繼承
D)重載
(29)有如下程序
#include
int func(int a,int b)
{ return(a+b);}
void main()
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
cout << r;
}
該程序的輸出的結(jié)果是
A)12
B)13
C)14
D)15
(30)下列程序的輸出結(jié)果是
#include
class Myclass{
public:Myclass(int i=0,int j=0)
{ x=i;
y=j;
}
void show(){cout<<"x="<
(31)下列描述中,抽象類的特性是
A)可以說明虛函數(shù)
B)可以定義友元函數(shù)
C)可以進(jìn)行構(gòu)造函數(shù)重載
D)不能說明其對(duì)象
(32)在C++語言中,打開一個(gè)文件就是將這個(gè)文件與一個(gè)什么建立關(guān)聯(lián)?
A)流
B)類
C)結(jié)構(gòu)
D)對(duì)象
(33)下列程序的運(yùn)行結(jié)果是
#include
void fun(int *a, int *b)
{ int *k;
k=a; a=b; b=k;
}
void main()
{ int a=3, b=6, *x=&a, *y=&b;
fun(x,y);
cout << a << " " << b;
}
A)6 3
B)3 6
C)編譯出錯(cuò)
D)0 0
(34)執(zhí)行語句 for(i=1;i++<4;);,后變量 i 的值是
A)3
B)4
C)5
D)不定
(35)判斷char型變量c是否為小寫字母的正確表達(dá)式是
A)′a′<=c<=′z′
B)(c>=A)&&(c<=z)
C)(′a′>=c)||(′z′<=c)
D)(c>=′a′)&&(c<=′z′)
二、填空題。請(qǐng)將每一個(gè)空的正確答案寫在答題卡序號(hào)的橫線上,答在試卷上不給分。
(1)在算法正確的前提下,評(píng)價(jià)一個(gè)算法的兩個(gè)標(biāo)準(zhǔn)是 1 。
(2)將代數(shù)式Z= 轉(zhuǎn)換成程序設(shè)計(jì)中的表達(dá)式為 2 。
(3)軟件危機(jī)出現(xiàn)于60年代末,為了解決軟件危機(jī),人們提出了 3 的原理來設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。
(4) 4 是數(shù)據(jù)庫設(shè)計(jì)的核心。
(5)在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè) 5 。
(6)一個(gè)C++語言程序的開發(fā)步驟通常包括編輯、 6 、鏈接、運(yùn)行和調(diào)試。
(7)若已知a=10,b=20,則表達(dá)式!a (8)下面程序的運(yùn)行結(jié)果是 8 和 9 。
#include
#define N 10
#define s(x)x*x
#define f(x)(x*x)
void main()
{ int i1,i2;
i1=1000/s(N); i2=1000/f(N);
cout << i1 << " " << i2;
}
(9)友元類的所有成員函數(shù)都是另一個(gè)類的 10 。
(10) 11 是實(shí)現(xiàn)C++語言編譯時(shí)多態(tài)性的機(jī)制, 12 是實(shí)現(xiàn)C++語言運(yùn)行時(shí)多態(tài)性的機(jī)制。
(11)表達(dá)式x.operator++()還可寫成 13 。
(12)以下程序的輸出結(jié)果是 14 。
#include
void main()
{ int a=0;
a+=(a=8);
cout << a;
}
(13)若要在C盤根目錄下作為二進(jìn)制文件打開文件test.dat,則應(yīng)該用的語句是 15 。
【9月計(jì)算機(jī)考試二級(jí)C++模擬試題】相關(guān)文章:
2017年9月計(jì)算機(jī)二級(jí)C++考試模擬練習(xí)11-05
2015年9月計(jì)算機(jī)考試二級(jí)C++模擬試題答案及解析09-18
2017年9月計(jì)算機(jī)二級(jí)C++考試強(qiáng)化復(fù)習(xí)試題10-08
2017年9月計(jì)算機(jī)二級(jí)JAVA考試模擬試題06-17
9月計(jì)算機(jī)考試二級(jí)C語言模擬試題11-01
2015年9月計(jì)算機(jī)二級(jí)考試C++全真模擬題11-04
2017年9月計(jì)算機(jī)二級(jí)C++考試模擬題「單選」09-27