第 1 頁:選擇題 |
第 3 頁:基本操作題 |
第 4 頁:簡單應(yīng)用題 |
第 5 頁:綜合應(yīng)用題 |
21下列語句都是程序運行時的第1條輸出語句,其中一條語句的輸出效果與其他三條語句不同,該語句是( )。
參考解析:本題考查控制輸出格式,A、B、c選項都會輸出“12345”,只有D選項輸出“12345”,所以本題答案為D。
22有三個關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是( )。
A.自然連接B.差C.交D.并
參考答案:B
參考解析:關(guān)系T中的元組是R關(guān)系中有而S關(guān)系中沒有的元組的集合,所以進行的是差的運算。
23有如下程序:
#include
using namespace std;
class VAC{
public:
intf()const{return 3;}
int f(){retum 5;}
};
int main()
{
VAC vl;
const VAC v2;
cout<
return 0;
}
執(zhí)行這個程序的輸出結(jié)果是( )。
A.53B.35C.55D.33
參考答案:A
參考解析:本題考查常對象及常成員函數(shù)及構(gòu)造函數(shù),常塒象只能凋用常成員函數(shù),所以本題中,對象v1為普通對象,執(zhí)行v1.f()后,會執(zhí)行默認構(gòu)造函數(shù),輸出5,對象v2為常列象,執(zhí)行v2.f()后,會執(zhí)行常構(gòu)造函數(shù),輸出3。
24一間宿舍可住多個學(xué)生,則實體宿舍和學(xué)生之間的聯(lián)系是( )。
A.一對一B.一對多C.多對一D.多對多
參考答案:B
參考解析:因為一間宿舍可以住多個學(xué)生即多個學(xué)生住在一個宿舍中,但一個學(xué)生只能住一間宿舍,所以實體宿舍和學(xué)生之間是一對多的關(guān)系。
25下列關(guān)于二叉樹的敘述中,正確的是( )。
A.葉子結(jié)點總是比度為2的結(jié)點少一個
B.葉子結(jié)點總是比度為2的結(jié)點多一個
C.葉子結(jié)點數(shù)是度為2的結(jié)點數(shù)的兩倍
D.度為2的結(jié)點數(shù)是度為1的結(jié)點數(shù)的兩倍
參考答案:B
參考解析:根據(jù)二叉樹的基本性質(zhì)3:在任意一棵:二叉樹中,度為0的葉子結(jié)點總是比度為2的結(jié)點多一個。所以選擇B。
26有以下語句,則對a數(shù)組元素的引用不正確的是(0≤i≤9)( )。
int a[10]={0,1,2,3,4,5,6,7,8,9},*P=a;
A.a[P-a]B.*(&a[i])C.P[i]D.*(*(a+i))
參考答案:D
參考解析:選項D第一層括號中為數(shù)組a中第i項元素的值,外面再加指針運算符沒有意義。
27下列程序的運行結(jié)果為( )。
#include
void print(double A.
{
cout<<++a:
}
void print(int atint B.
{
cout<
}
void main()
{
print(1.2);
eout<<””:
print(3,4);
}
A.1.2 34B.2.2 34C.1.2 43D.2.2 43
參考答案:D
參考解析:本題考查的是對重載函數(shù)的掌握,因為++a是右結(jié)合的,所以a先自加1再輸出,即為2.2,之后調(diào)用函數(shù)print(int a,int b)輸出h和a,即43。
28存在定義int a[10],x,* pa;,若pa=&a[0],下列的( )選項和其他3個選項不是等價的。
A.x=*pa;B.x=*(a+1);C.x=*(pa+l)D.x=a[1];
參考答案:A
參考解析:本題考查的是數(shù)組和指向數(shù)組的指針之問的關(guān)系,選項A中x是被數(shù)組a的第一個元素賦值,其余的都是被數(shù)組a的第二個元素賦值。
29下列敘述中正確的是( )。
A.循環(huán)隊列有隊頭和隊尾兩個指針,因此,循環(huán)隊列是非線性結(jié)構(gòu)
B.在循環(huán)隊列中,只需要隊頭指針就能反映隊列中元素的動態(tài)變化情況
C.在循環(huán)隊列中,只需要隊尾指針就能反映隊列中元素的動態(tài)變化情況
D.循環(huán)隊列中元素的個數(shù)是由隊頭指針和隊尾指針共同決定
參考答案:D
參考解析:循環(huán)隊列有隊頭和隊尾兩個指針,但是循環(huán)隊列仍是線性結(jié)構(gòu)的,所以A錯誤;在循環(huán)隊列中需要隊頭指針與隊尾指針來共同反映隊列中元素的動態(tài)變化情況,所以B與C錯誤。
30通?截悩(gòu)造函數(shù)的參數(shù)是( )。
A.某個對象名
B.某個對象的成員名
C.某個對象的引用名
D.某個對象的指針名
參考答案:C
參考解析:復(fù)制初始化構(gòu)造函數(shù)的作用是用一個已知的對象來初始化一個被創(chuàng)建的同類的對象,該函數(shù)只有一個參數(shù),并且是對同類的某個對象的引用。
31如果在表達式++x/y中,“++”是作為友元函數(shù)重載的,“/”是作為成員函數(shù)重載的,則該表達式還可為( )。
A.(operator++(x)).operator/(Y)
B.(operator++(0)).operator/(Y)
C.operator/((operator++(x,0)),Y)
D.operator/((operator++(0)),Y)
參考答案:A
參考解析: c++中用成員函數(shù)重載++X為:x.oper-ator++(),用友元函數(shù)重載++x為:0perator++(x),用成員函數(shù)重載x/y為:x.operator/(Y),用友元函數(shù)重載x/y為:operator/(X,Y)。
32一個函數(shù)功能不太復(fù)雜但要求被頻繁調(diào)用,應(yīng)選用( )。
A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C.遞歸函數(shù)D.嵌套函數(shù)
參考答案:A
參考解析:本題考查的是內(nèi)聯(lián)函數(shù)的使用,它的引入是為了,解決程序中函數(shù)調(diào)用的效率問題,在編譯時,編譯器將程序中出現(xiàn)的內(nèi)聯(lián)函數(shù)的調(diào)用表達式用內(nèi)聯(lián)函數(shù)的函數(shù)體來替換。
33數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是( )。
A.數(shù)據(jù)庫設(shè)計B.數(shù)據(jù)庫系統(tǒng)設(shè)計C.數(shù)據(jù)庫維護D.數(shù)據(jù)庫管理員培訓(xùn)
參考答案:A
參考解析:數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是數(shù)據(jù)庫的設(shè)計。
34有如下程序: Class Base{ publiC:
int data; };
Class Derivedl:publiC Base{};
Class Derived2:proteCted Base{};
int main( ) {
Derivedl dl; Derived2 d2; dl.data=0;//①
d2.data=0;//② retum 0;
}
下列關(guān)于程序編譯結(jié)果的描述中,正確的是( )。
A.①②皆無編譯錯誤
B.①有編譯錯誤,②無編譯錯誤
C.①無編譯錯誤,②有編譯錯誤
D.①②皆有編譯錯誤
參考答案:C
參考解析:本題考查公用繼承和保護繼承對基類成員的訪問屬性。在公用繼承中,基類的公用成員和保護成員在 派生類中保持原有訪問屬性,其私有成員仍為基類私有、稿.受保護繼承中,基類的公用成員和保護成員在派生類中成了保護成員,其私有成員仍為基類私有。本題中Derived1公用繼承Base.所以①編譯正確,Derived2保護繼承Base,所以②編譯不 正確。
35下列關(guān)于基類和派生類關(guān)系的敘述中,正確的是( )。
A.每個類最多只能有一個直接基類
B.派生類中的成員可以訪問基類中的任何成員
C.基類的構(gòu)造函數(shù)必須在派生類的構(gòu)造函數(shù)體中調(diào)用
D.派生類除了繼承基類的成員,還可以定義新的成員
參考答案:D
參考解析:本題考查派生類與基類的關(guān)系,派生類可以有多個直接基類,而派生類有三種繼承方式,在私有繼承中,派生類的成員并不能訪問基類的成員。如果基類中定義了缺省構(gòu)造函數(shù)或根本沒有定義任何一一個構(gòu)造函數(shù)時,在派生類構(gòu)造函數(shù)的定義中可以省對基類構(gòu)造函數(shù)的調(diào)用。所以本題答案為D。
36結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括( )。
A.順序結(jié)構(gòu)B.GOT0跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)
參考答案:B
參考解析:1966年Boehm和Jacopini證明了程序沒計語言僅僅使用順序、選擇和重復(fù)三種基本控制結(jié)構(gòu)就足以表達出各種其他形式結(jié)構(gòu)的程序設(shè)計方法。
37將E—R圖轉(zhuǎn)換為關(guān)系模式時,實體和聯(lián)系都可以表示為( )。
A.屬性B.鍵C.關(guān)系D.域
參考答案:C
參考解析:從E—R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實體與聯(lián)系都可以表示成關(guān)系,E—R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性。
38下面是一個模板聲明的開始部分:
templatedouble…由此可知( )。
A.這可能是一個函數(shù)模板的聲明
B.這可能是一個類模板的聲明
C.這既可能是一個函數(shù)模板的聲明,也可能是一個類模板的聲明
D.這肯定是一個錯誤的模板聲明
參考答案:A
參考解析:本題考查函數(shù)模板和類模板的基礎(chǔ)知識,從templatedouble這里就可以看出這是·個函數(shù)模板的聲明。
39有如下程序:
#include
using namespace std;
class AA{
int k;
protected:
int n;
void setK(int k){this一>k=k;}
public:
void setN(int n){this一>n=n;}
};
class BB:public AA{/*類體略*" >
;
int main()
}
BB X;
A n=1;//1
B setN(2);//2
C k=3;//3
D setK(4);//4
return 0;
}
在標注號碼的四條語句中正確的是( )。
A.1B.2C.3D.4
參考答案:B
參考解析:本題考查公用繼承對基類成員的訪問屬性。在公用繼承中,基類的公用成員和保護成員在派生類中保持原有訪問屬性,其私有成員仍為基類私有。所以本題中n、k和setK變?yōu)榱伺缮惖谋Wo成員,不能直接使用,即1、3、4錯誤,所以B選項正確。
40有如下頭文件:
int fl();
static int f2();
class MA{
public:
int f3();
static int f4();
};
在所描述的函數(shù)中,具有隱含的this指針的是( )。
A.flB.f2C.f3D.f4
參考答案:C
參考解析:只有類的非靜態(tài)成員函數(shù)才隱含this指針。其作用域是類內(nèi)部,當(dāng)類的非靜態(tài)成員函數(shù)中訪問類的非靜態(tài)成員時,編譯器會自動將對象本身的地址作為一個隱含參數(shù)傳遞給函數(shù),而不必一定寫上this。所以本題答案為C。
相關(guān)推薦:
2015年12月計算機等級考試通關(guān)必看:如何做題?
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |