公共基礎知識
一、選擇題
(1)下列關于棧的敘述正確的是
A)棧是非線性結構 B)棧是一種樹狀結構
C)棧具有先進先出的特征 D)棧具有后進先出的特征
(2)結構化程序設計所規定的三種基本控制結構是
A)輸入、處理、輸出 B)樹形、網形、環形
C)順序、選擇、循環 D)主程序、子程序、函數
(3)結構化程序設計的一種基本方法是
A)篩選法 B)遞歸法 C)歸納法 D)逐步求精法
(4)如果對一個關系實施了一種關系運算后得到了一個新的關系,而且新的關系中屬性個數少于原來關系中屬性個數,這說明所實施的運算關系是:A)選擇 B)投影 C)連接 D)并
二、填空題
1.對于輸入為N個數進行快速排序算法的平均時間復雜度是( )
2.在面向對象方法學中,直接反映了用戶對目標系統的要求的模型是( )
3.軟件測試方法中,黑盒測試個白盒測試法是常用的方法,其中黑盒測試法主要是用于測試( )
4.關系型數據庫管理系統中存儲與管理數據的基本形式是( )
C++語言程序設計
一、選擇題
(1)C++語言是從早期的C語言逐漸發展演變而來的.與C語言相比,它在求解問題方法上進行的最大改進是()
A)面向過程 B)面向對象 C)安全性 D)復用性
(2)C++語言的跳轉語句中,對于break和continue說法正確的是()
A)break語句只應用與循環體中
B)continue語句只應用與循環體中
C)break是無條件跳轉語句,continue不是
D)break和continue的跳轉范圍不夠明確,容易產生問題
(3)for(int x=0,y=o;!x& &y<=5;y++)語句執行循環的次數是()
A)0 B)5 C)6 D)無次數
(4)考慮函數原型void test(int a,int
b=7,char="*"),下面的函數調用中,屬于不合法調用的是()
A)test(5); B)test(5,8); C)test(6,"#") D)test(0,0."*");
(5)下面有關重載函數的說法中正確的是()
A)重載函數必須具有不同的返回值類型; B)重載函數形參個數必須不同;
C)重載函數必須有不同的形參列表 D)重載函數名可以不同;
(6)下列關于構造函數的描述中,錯誤的是()
A)構造函數可以設置默認參數; B)構造函數在定義類對象時自動執行
C)構造函數可以是內聯函數; D)構造函數不可以重載
(7)下面描述中,表達錯誤的是()
A)公有繼承時基類中的public成員在派生類中仍是public的
B)公有繼承是基類中的private成員在派生類中仍是private的
C)公有繼承時基類中的protected成員在派生類中仍是protected的
D)私有繼承時基類中的public成員在派生類中是private的
(8)應在下列程序劃線處填入的正確語句是()
#include
class Base
{ public:
void fun(){cout<<"Base::fun"<
class Derived:public Base
{ void fun()
{_____________ //顯示調用基類的函數fun()
cout<<"Derived::fun"<
};
A)fun(); B)Base.fun(); C)Base::fun(); D) Base->fun();
(9)有如下程序:
#include
class BASE{
char c;
public:
BASE(char n):c(n){}
virtual~BASE(){cout<
class DERIVED:public BASE{
char c;
public:
DERIVED(char n):BASE(n+1),c(n){}
~DERIVED(){cout<
int main()
{ DERIVED("X");
return 0;
}
執行上面的程序將輸出()
A)XY B)YX C)X D)Y
(10)在進行完任何C++流的操作后,都可以用C++流的有關成員函數檢測流的狀態;其中只能用于檢測輸入流狀態的操作函數名稱是()
A)fail B)eof C)bad D)good
二、填空題
(1)下面程序的打印結果是 [1]
#incude
int f(int);
int main()
{ int i;
for(i=0;i<5;i++)
cout<
}
int f(int i)
{ static int k=1;
for(;i>0;i- -)
k + = i;
return k;
}
(2)在用class定義一個類時,數據成員和成員函數的默認訪問權限是 [2]
(3)含有純虛函數的類稱為 [3]
(4)已知intDBL(int n){return n + n;}和longDBL(long n){return n
+n;}是一個函數模板的兩個實例,則該函數模板的定義是 [4]
(5)在下面程序的橫線處填上適當的語句,使該程序執行結果為10.
#include
class MyClass
{ public:
MyClass(int a){x = a;}
[5] //取x值
private
int x;
};
int main()
{ MyClass my(10);
cout<
}
三、上機操作題(改錯題1道,簡單應用1道,綜合應用1道)
1.使用VC6打開考生文件夾下的工程proj1,此工程包含一個源程序文件main.cpp,但該程序運行有問題,請改正main函數中的錯誤,使程序的輸出結果為:
member=0
member=5
menber=10
源程序文件main.cpp清單如下:
#include
class MyClass
{
public:
MyClass(int i){member=i;}
void SetMember(int m){member=m;}
int GetMember()const{return menber;}
void print()cont{cout<<"member="<
int member;
};
voed main()
{
/* * * * * * * * * * found * * * * * * * * * */
MyClass obj1;
obj1.print();
MyClass obj2(3);
/* * * * * * * * * * found * * * * * * * * * */
obj1.member=5;
/* * * * * * * * * * found * * * * * * * * * */
MyClass.SetMember(10);
obj1.print();
obj2.print();
}
2.請編寫一個函數int find(char s[],char t[]),該函數在字符串s中查找字符串t,如果找到,則返回字符串t在字符串s中的位置(整數值);否則返回-1.注意:用數組方式及兩重循環來實現該函數.
注意:部分源文件程序已存在文件PROC2,CPP中.
請勿修改主函數main和其他函數中的任何內容,僅在函數find的花括號中填寫若干語句.
文件PROC2.CPP的內容如下:
#include
int find(char s[],char t[]);
const int MAXLINE =256;
int main()
{ char source[MAXLINE],rarget[MAXLINE];
cout <<"Please input a string for searching:\n";
cin.getline(source,MAXLINE);
cout<<"Please input a string you want to find:\n";
cin.getline(target,MAXLINE);
int intpos = find(source,target);
if(intpos>=0
cout<<"Finding it.The target string is at index"
<
cout<<"Not finding it.\n";
return 0;
}
int find(char s[],char t[])
{
}
3.使用VC6打開考生文件夾下的工程proj3.此工程包含一個源程序文件main.cpp.其中定義了用于表示日期的類Date,但類Date的定義并不完整.請按要求完成下列操作,將類Date的定義補充完整:
(1)定義私有數據成員year,month和day分別用于表示年,月,日,它們都是int型的數據.請在注釋"http:// * * 2
* *"之后添加適當的語句.
(2)完成默認構造函數Date的定義,使Date對象的默認值為:year=1,month=1,day=1,請在注釋"http:// *
* 2 * *"之后添加適當的語句.
(3)完成重載構造函數Date(int y,int m,int
d)的定義,把數據成員year,month和day分別初始化為參數y,m,d的值,請在注釋"//* * 3 *
*"之后添加適當的語句.
(4)完成成員函數print的類外定義,使其以"年-月-日"的格式將Date對象的值輸出到屏幕上.請在注釋"//* * 4
* *"之后添加適當的語句.
注意:除在指定位置添加語句之外,請不要改動程序中的其他內源程序文件main.cpp清單如下:
//main.cpp
#include
class Date{
public:
//* * 2 * *
Date(int y,int m,int d)
{
//* * 3 * *
}
void print() const;
private:
// date members
//* * 1 * *
};
void Date::print()const
{ //* * 4 * *
}
int main()
{ Date national_day(1949,10,1);
national_day.print();
return 0;
}
參考答案
公共基礎知識
一:選擇題:
(1) D (2) C (3) D (4) B
二:填空題:
(1)[1]:O(Nlog2N)
(2)[2]:功能模型
(3)[3]:軟件外部功能
(4)[4]:二維表
C++程序設計
一:選擇題
1-5 :B B C C C
6-10:D B C A B
二:填空題
(1)[1]:1 2 5 11 21
(2)[2]:private 或 私有
(3)[3]:抽象類
(4)[4]:template
(5)[5]:int GetNum(){return x;} 或 int GetNum() const{return x;}
·2009年9月計算機等考二級VB模擬題及解析(13) (2009-9-18 11:13:52)
·2009年9月計算機等級考試二級C語言模擬試題(13) (2009-9-18 10:49:55)
·2009年9月計算機等級考試二級C++模擬試題(4) (2009-9-17 11:45:15)
·2009年9月計算機等考二級VB模擬題及解析(12) (2009-9-17 11:28:27)
·2009年9月計算機等級考試二級C語言模擬試題(12) (2009-9-17 11:01:48)