點(diǎn)擊查看:2018年3月計(jì)算機(jī)二級C++過關(guān)練習(xí)題及答案匯總
1[單選題]算法的空間復(fù)雜度是指
A.算法程序的長度
B.算法程序中的指令條數(shù)
C.算法程序所占的存儲空間
D.執(zhí)行過程中所需要的存儲空間
參考答案:D
2[單選題]下面程序的結(jié)果為
#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 <<<<
int A::b=0;
void main()
{
A al,a2;
al.seta();
al.setb();
al.setc();
a2.seta();
a2.setb();
a3.setc();
a2.display();
A.121 B.122 C.112 D.222
參考答案:B
3[單選題]下列關(guān)于線性鏈表的描述中,正確的是( )。
、、只含有一個(gè)指針域來存放下一個(gè)元素地址
、颉⒅羔樣蛑械闹羔樣糜谥赶蛟摻Y(jié)點(diǎn)的前一個(gè)或后一個(gè)結(jié)點(diǎn)(即前件或后件l
、蟆⒔Y(jié)點(diǎn)由兩部分組成:數(shù)據(jù)域和指針域。
A.僅Ⅰ、ⅡB.僅Ⅰ、ⅢC.僅Ⅱ、ⅢD.全部
參考答案:D
參考解析:在定義的鏈表中,若只含有一個(gè)指針域來存放下一個(gè)元素地址,稱這樣的鏈表為單鏈表或線性鏈表。在鏈?zhǔn)酱鎯Ψ绞街校竺總(gè)結(jié)點(diǎn)由兩部分組成:一部分用于存放數(shù)據(jù)元素值,稱為數(shù)據(jù)域;另一部分用于存放指針,稱為指針域。其中指針用于指向該結(jié)點(diǎn)的前一個(gè)或后一個(gè)結(jié)點(diǎn)(即前件或后件)。
4[單選題]在下列關(guān)于二叉樹的敘述中,正確的一項(xiàng)是( )。
A.在二叉樹中,任何一個(gè)結(jié)點(diǎn)的度都是2
B.二叉樹的度為2
C.在二叉樹中至少有一個(gè)結(jié)點(diǎn)的度為2
D.一棵二叉樹的度可以小于2
參考答案:B
參考解析:特別要注意“結(jié)點(diǎn)的度”和“樹的度”是兩個(gè)不同的概念。“結(jié)點(diǎn)的度”指的是此結(jié)點(diǎn)擁有的后件個(gè)數(shù)。“樹的度”指的是所有結(jié)點(diǎn)中的最大的度。在二叉樹中,結(jié)點(diǎn)中最大的變?yōu)?,所以二叉樹的度為2。但并不是每一個(gè)結(jié)點(diǎn)的度都是2,可以為0或1,當(dāng)二叉樹為空時(shí)沒有結(jié)點(diǎn),所以也不會有度為2的結(jié)點(diǎn),所以C)也是錯(cuò)誤的。
5[單選題]有如下程序:
A.
B.
C.
D.程序編譯時(shí)出錯(cuò)
參考答案:B
參考解析:
6[單選題] 靜態(tài)成員函數(shù)沒有( )。
A.返回值B.this指針C.指針參數(shù)D.返回類型
參考答案:B
參考解析:this指針是系統(tǒng)隱含的用于指向當(dāng)前對象的指針。由于靜態(tài)函數(shù)是同類中所有對象都共享的函數(shù),在內(nèi)存中只存在一份,不屬于某個(gè)對象所有,所以靜態(tài)函數(shù)沒有this指針。
7[單選題] 有如下程序:
﹟nclude
using namespace std;
int main()
{
int*P;
*P=9:
cout<<”The value at p:”<< *p;
return 0;
}
編譯運(yùn)行程序?qū)⒊霈F(xiàn)的情況是( )。
A.編譯時(shí)出現(xiàn)語法錯(cuò)誤,不能生成可執(zhí)行文件
B.運(yùn)行時(shí)一定輸出:l'lle value at P:9
C.運(yùn)行時(shí)一定輸出:llle value at P:*9
D.運(yùn)行時(shí)有可能出錯(cuò)
參考答案:D
參考解析:先定義指針變量,然后給指針變量賦初值有三種情況:①用取地址運(yùn)算符“&”將變量地址賦給指針變量,如P=&a;②將一個(gè)指針變量中的地址賦給另一個(gè)指針變量,如P=p1;③給指針變量賦空值0,如q=0,表示該指針變量不指向任何變量。而不能用一個(gè)常量給指針變量賦初值,所以本題選D。
8[單選題] 算法的時(shí)間復(fù)雜度是指( )。
A.算法的執(zhí)行時(shí)間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語句或指令條數(shù)
D.算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)
參考答案:D
參考解析:算法的時(shí)間復(fù)雜度是指算法需要消耗的時(shí)間資源。一般來說,計(jì)算機(jī)算法是問題規(guī)模n的函數(shù)f(n),算法的時(shí)間復(fù)雜度也因此記做T(n)=O(f(n)),因此,問題的規(guī)模n越大,算法執(zhí)行的時(shí)間增長率與f(n)的增長率正相關(guān),稱做漸進(jìn)時(shí)間復(fù)雜度(AsymptoticTimeCom-plexity)。簡單來說就是算法在執(zhí)行過程中所需要的基本運(yùn)算次數(shù)。
9[簡答題]請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,其中有矩陣基類MatrixBase、矩陣類Matrix和單位陣UnitMatrix的定義,還有main函數(shù)的定義。請?jiān)跈M線處填寫適當(dāng)?shù)拇a并刪除橫線,以實(shí)現(xiàn)上述類定義。此程序的正確輸出結(jié)果應(yīng)為:
1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動程序中的其他內(nèi)容,也不要?jiǎng)h除或移動“//t+++found母***”。
#nClude using namespaCe std; //矩陣基礎(chǔ)類,一個(gè)抽象類
Class MatrixBase{ int rows,Cols; publiC:
MatrixBase(int rows,int Cols):roWS(rows),Cow(Cols){} int getRows()Const{retum rows;}//矩陣行數(shù)
int getCols()Const{return Cols;}//矩陣列數(shù)
virtual double getElement(int r,int C)Const=0;//取第i個(gè)元素的值 void show()Const{//分行顯示矩陣中所有元素
for(int i=0;i
for(int j=0;j
} }; //矩陣類
Class Matrix:publiC MatfixBase{ double*val;
publiC: //**********found**********
Matrix(int rows,int Cols,double in[]=NULL):——{ //**********found**********
val=;
for(int i=0:i
val[i]=(m==NULL?0.0:Ill[i]);
}
一Matrix(){delete[]val;} double getElement(int r,int C)Const{retum val[r*getCols()+C];}
};
//單位陣(主對角線元素都是l,其余元素都是0的方陣)類 Class UnitMatrix:publiC MatrixBase{
publiC:
UnitMatrix(int rOWS):MatrixBase(rows,rows){} //單位陣行數(shù)列數(shù)相同
double getElement(int r,int C)Const{ //**********found**********
if(_____)retum l.0; retum 0.0;
} }; int main(){
MatrixBase*m;
double d[][5]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7}}; ITI=new Matrix(3,5,(double*)d);
m→show(); delete m;
Cout<
m=new UnitMatrix(6); Ill→show();
delete m; retum0; } .
參考解析:
(1)getElemenl(1,i)
f2)MatrixBase(rows,cols)
(3)flew double[rows*cols]
(4)r==C
[填空題]類class one在聲明func成員函數(shù)時(shí)發(fā)生錯(cuò)誤,出錯(cuò)原因是_______。
參考解析:
【答案】class one前沒有聲明語句class two;
【解析】當(dāng)一個(gè)類作為另一個(gè)類的成員函數(shù)、成員函數(shù)的 參數(shù)或其他情況的時(shí)候,要確保編譯器能正確解析。由于在class one之前沒有關(guān)于class two的任 何說明.而在class one的func函數(shù)中卻用了class two類的參數(shù)。因此是錯(cuò)誤的。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國計(jì)算機(jī)等級考試必做試題匯總(各科目)
2018年全國計(jì)算機(jī)等級考試復(fù)習(xí)知識點(diǎn)匯總(各科目)
2018計(jì)算機(jī)等級考試報(bào)名時(shí)間|各地報(bào)名入口|報(bào)名條件
2018年全國計(jì)算機(jī)等級考試時(shí)間|教材目錄(2018年版)
2018全國計(jì)算機(jī)等級考試備考經(jīng)驗(yàn)及應(yīng)試技巧匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |