2014年3月計算機二級C++真題及答案(word版)
1.軟件生命周期中的活動不包括( )。
A.市場調(diào)研
B.需求分析
C.軟件測試
D.軟件維護
2.下列敘述中正確的是( )。
A.一個邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲結(jié)構(gòu)
B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲結(jié)構(gòu)屬于非線性結(jié)構(gòu)
C.一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
D.一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)影響數(shù)據(jù)處理的效率
3.下列敘述中正確的是( )。
A.一個算法的空間復(fù)雜度大,則其時間復(fù)雜度必定大
B.一個算法的空間復(fù)雜度大,則其時間復(fù)雜度必定小
C.一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小
3、下列關(guān)于線性鏈表的敘述中,正確的是( )。
A.各數(shù)據(jù)結(jié)點的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致
B.各數(shù)據(jù)結(jié)點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù)
C.進(jìn)行插入與刪除時,不需要移動表中的元素
D.以上說法均不正確
4、對于一個類定義,下列敘述中錯誤的是( )。
A.如果沒有定義拷貝構(gòu)造函數(shù),編譯器將生成一個拷貝構(gòu)造函數(shù)
B.如果沒有定義缺省的構(gòu)造函數(shù),編譯器一定將生成一個缺省的構(gòu)造函數(shù)
C.如果沒有定義構(gòu)造函數(shù),編譯器將生成一個缺省的構(gòu)造函數(shù)和一個拷貝構(gòu)造函數(shù)
D.如果已經(jīng)定義了構(gòu)造函數(shù)和拷貝構(gòu)造函數(shù),編譯器不會生成任何構(gòu)造函數(shù)
9,在對象方法中,一個對象請求另一個對象為其服務(wù)的方式是通過發(fā)送( )來實現(xiàn)。 A.調(diào)用語句 B.命令 C.中令 D.消息
4.下列敘述中錯誤的是( )。
A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)
B.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)的處理效率無關(guān)
C.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)
D.數(shù)據(jù)的存儲結(jié)構(gòu)在計算機中所占的空間不一定是連續(xù)的
5.下列敘述中正確的是( )。
A.在模塊化程序設(shè)計中,一個模塊應(yīng)該盡量多地包括與其他模塊聯(lián)系的信息
B.在自頂向下、逐步細(xì)化的設(shè)計過程中,首先應(yīng)設(shè)計解決問題的第一個細(xì)節(jié)
C.在模塊化程序設(shè)計中,一個模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則
D.在程序設(shè)計過程中,不能同時采用結(jié)構(gòu)化程序設(shè)計方法與模塊化程序設(shè)計方法
二、基本操作題(18分)
41、請使用VC6或使用【答題】菜單打開考生文件夾projl下的工程projl,此工程中含有一個源程礙文件 projl.epp。其中位于每個注釋“//ERROR ****found****”之后的一行語句存在錯誤。請改正這些錯誤,使程序的輸出結(jié)果為:
ConstruCtor Called. The value is 10
Copy ConstruCtor Called. The value is 10
DestruCtor Called. DestruCtor Called. 注意:只修改注釋“//ERROR ****found****”的下一行語句,不要改動程序中的其他內(nèi)容。
//pwjl.Cpp
#inClude ’using namespaCe std; Class MyClass{
publiC:
//ERROR**********found**********
MyClass(int i)
{value=i;Cout<<”ConstruCtor Called.” < //ERROR**********found********** MyClass(eonst MyClass P)
{
value = P.value;
eout<<”Copy ConstruCtor Called.”< }
void Print()
{Cout<<”The value is” < //ERROR**********found********* void-MyClass()
{Cout<<”DestruCtor Called.”< private:
int value;
}; int main()
{ MyChas objl
owl.Print();
MyClmss obj2(owl); obj2.Print();
retum 0;
三、簡單應(yīng)用題(24分)
42、請使用VC6或使用【答題】菜單打開考生文件夾pr092下的工程pros2。此工程中包含一個程序文件main.cpp,其中有“部門”類 Department和“職工”類Staff的定義,還有主函數(shù)main的定義。在主函數(shù)中定義了兩個“職工”對象,他們屬于同一部門。程序展示,當(dāng)該部門改換辦公室后,這兩個人的辦公室也同時得到改變。請在程序中的橫線處填寫適當(dāng)?shù)拇a并刪除橫線,以實現(xiàn)上述類定義。此程序的正確輸出結(jié)果應(yīng)為:
改換辦公室前:
職工號:0789姓名:張三部門:人事處辦公室:521
職工號:0513姓名:李四部門:人事處辦公室:521
改換辦公室后:
職工號:0789姓名:張三部門:人事處辦公室:311
職工號:0513姓名:李四部門:人事處辦公室:311
注意:只在橫線處填寫適當(dāng)?shù)拇a,不要改動程序中的其他內(nèi)容,也不要刪除或移動“//****found****”。
#include
using namespace std;
class Department{ //“部門”類
public:
Department(const char*name,const char*office){
strcpy(this一>name,nanle);
//**********found**********
}
const char*getName()const{return name;}//返回部門名稱
//**********found**********
const char*getOffice()const{________} //返回辦公室房號
void changeOfficeTo(const char*office){ //改換為指定房號的另一個辦公室
strcpy(this一>office,office);
}
private:
char name[20];//部門名稱
char office[20];//部門所在辦公室房號
};
class staff{//“職工”類
public:
//**********found**********
Staff(const char*my—id,const char木my_name,Department&my_dept):——{
strcpy(this一>staff id,my_id);
strcpy(this一>name,my_name);
}
const char*getlD()const{return staff_id;}
const char*getName()consl{return name;}
Department getDepartment()const{return dept;} char staff=id[10];//職工號
char name[20];//姓名
Department&dept;//所在部門
}; void showStaff(Staff&staff){
cout<<”職工號:”< cout<<”姓名:”< cout<<”部門:”< cout<<”辦公室:”< int main(){
Department dept(”人事處”,”521”);
Staff Zhang(”0789”,”張三”,dept),Li(”0513”,”李四”,dept);
cout<<”改換辦公室前:”< showStaff(Zhang); showStaff(Li);
//人事處辦公室由521搬到311 //**********found********** ———————————————————————一
cout<<”改換辦公室后:”< showStaff(Zhang); showStaff(Li);
return 0; }
34、 有如下程序:
#inClude using namespaCe std; Class Sample{
friend long fun(Sample S); publiC:
Sample(10ng A.{x=a;} private:
long X;
}; long fun(Sample S){
if(S.x<2)return l;
return S.X*fun(Sample(s.x-1)); }
int main( ) {
int sum=0;
for(int i=0;i<6;i++) {sum+=fun(Sample(i));}
Cout< }
執(zhí)行這個程序的輸出結(jié)果是( )。
A.120
B.16
C.154
D.34
三、簡單應(yīng)用題(24分)
請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2,該工程中包含一個程序文件 main.cpp,其中有類 CPolygon(“多邊形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的.定義。請在橫線處填寫適當(dāng)?shù)拇a并刪除橫線,以實現(xiàn)上述類定義。該程序的正確輸出結(jié)果應(yīng)為: 注意:只能在橫線處填寫適當(dāng)?shù)拇a,不要改動程序中的其他內(nèi)容,也不要刪除或移動 “//****found****”。 #include
{tout<<——< int area(void){return(width *height);}
class CTriangle:public CPolygon{
int length;//三角形一邊長 int height;//該邊上的高
public:
CTriangle(int l,int h):length(1),height(h){}
//*********found*********
int area(void){return(——)/2;}
};
int main(){
CRectangle rect(4,5); CTriangle trgl(4,5);
//*********found********* ______ *ppolyl,* ppoly2; ppolyl=▭
ppoly2=&trgl;
ppolyl->printarea(); ppoly2->printarea(); retun 0;
四、綜合應(yīng)用題(18分)
43、請使用VC6或使用【答題】菜單打開考生文件夾proj3下的工程proj3,其中聲明的DataList類,是一個用于表示數(shù)據(jù)表的類。s0rt成員函數(shù)的功能是將當(dāng)前數(shù)據(jù)表中的元素升序排列。請編寫這個sort函數(shù)。程序的正確輸出應(yīng)為: .
排序前:7,1,3,11,6,9,12,10,8,4,5,2 排序后:l,2,3,4,5,6,7,8,9,10,11,12
要求:
補充編制的內(nèi)容寫在“//********33********”與“//********666********”兩行之問。不得修
改程序的其他部分。
注意:程序最后將結(jié)果輸出到文件。ut.dat中。輸出函數(shù)writeToFile已經(jīng)編譯為。obj文件,并且在本程序
調(diào)用。
//DataList.h
#inClude using namespaCe std; Class DataList{//數(shù)據(jù)表類
int len;
double*d: publiC:
DataList(int len,double data[]=NULL);。DataList(){delete[]d;}
int length(Constt retum len;}//數(shù)據(jù)表長度(即數(shù)據(jù)元素的個數(shù)) double getElement(int i)Const{return d[i];}
void sort();//數(shù)據(jù)表排序
void show()Const;//顯示數(shù)據(jù)表}.
void writeToFile(Char*,Const DataList&).//main.Cpp
#inClude”DataList.h”
DataList::DataList(int len,double data[]):len(1en){ d=new double[1en];
for(int i_0;i d[i]=(data==NULL?0.0:data[i]);
}
void DataList::sort(){//數(shù)據(jù)表排序//********333********
//********666********}
void DataList::show()Const{//顯示數(shù)據(jù)表
for(int i=0;i }
int main(){
double S[]={7,1,3,11,6,9,12,10,8,4,5,2}; DataList list(12,S);
Cout<<”排序前:”; list.show();
list.sort();
Cout< writeToFile(””,list); return 0;
http://www.dgxbdz.com/【3月計算機二級C++真題及答案word版】相關(guān)文章:
2014年3月計算機二級Access真題及答案(word版)05-22
2015考研英語真題及答案(word版)12-24
2014考研統(tǒng)考計算機基礎(chǔ)真題及答案(word版)01-22
2014湖北高考語文真題及答案word版12-22