盛大游戲2015最新筆試題共享,想要了解的朋友敬請(qǐng)關(guān)注此文!
1、下列代碼的輸出為:
[cpp] view plaincopy
#include "iostream"
#include "vector"
using namespace std;
int main(void)
{
vector
array.push_back(100);
array.push_back(300);
array.push_back(300);
array.push_back(500);
vector
for(itor=array.begin();itor!=array.end();itor++)
{
if(itor==300)
{
itor = array.erase(itor);
}
}
for(itor=array.begin();itor!=array.end();itor++)
{
cout<<itor<<" ";
}
return 0;
}
A、100 300 300 500 B、100 300 500 C、100 500 D、程序錯(cuò)誤
vector在erase之后,指向下一個(gè)元素的位置,其實(shí)進(jìn)行erase操作時(shí)將后面所有元素都向前移動(dòng),迭代器位置沒(méi)有移動(dòng)。itor=array.erase(itor) erase返回下一個(gè)元素的地址,相當(dāng)于給itor一個(gè)新值。
2、下列代碼的輸出為:
[cpp] view plaincopy
class CParent
{
public:
virtual void Intro()
{
printf("I'm a Parent, ");
Hobby();
}
virtual void Hobby()
{
printf("I like football!");
}
};
class CChild:public CParent
{
public:
virtual void Intro()
{
printf("I'm a Child, ");
Hobby();
}
virtual void Hobby()
{
printf("I like basketball!\n");
}
};
int main(void)
{
CChild pChild = new CChild();
CParent pParent = (CParent)pChild;
pParent->Intro();
return 0;
}
A、I'm a Child,I like football! B、I'm a Child,I like basketball!
C、I'm a Parent,I like football! D、I'm a Parent,I like basketball!
3、在win32平臺(tái)下,以下哪種方式無(wú)法實(shí)現(xiàn)進(jìn)程同步?
A、Critical Section B、Event C、Mutex D、Semaphore
4、按照升序排列的一組數(shù)據(jù)123456798,下面哪種排序法在空間和時(shí)間上最優(yōu)?
A、快速排序 B、冒泡排序 C、插入排序 D、堆排序
插入排序從后面插入的時(shí)候,只要把8和9交換一下就行了,遍歷到前面都不再有任何操作。冒泡排序第一次循環(huán)把9沉到最后面,然后第二次循環(huán)發(fā)現(xiàn)沒(méi)有任何交換操作,說(shuō)明已經(jīng)排好序了。
5、以下哪句的說(shuō)法是正確的
A、在頁(yè)式存儲(chǔ)管理中,用戶(hù)應(yīng)將自己的程序劃分為若干個(gè)相等的頁(yè)
B、所有的進(jìn)程都掛起時(shí),系統(tǒng)將陷入死鎖
C、執(zhí)行系統(tǒng)調(diào)用可以被中斷
D、進(jìn)程優(yōu)先數(shù)是進(jìn)程調(diào)度的重要依據(jù),必須根據(jù)進(jìn)程運(yùn)行情況動(dòng)態(tài)改變
6、以下描述正確的是
A、虛函數(shù)是可以?xún)?nèi)聯(lián)的,可以減少函數(shù)調(diào)用的開(kāi)銷(xiāo)提高效率
B、類(lèi)里面可以同時(shí)存在函數(shù)名和參數(shù)都一樣的虛函數(shù)和靜態(tài)函數(shù)
C、父類(lèi)的析構(gòu)函數(shù)是非虛的,但是子類(lèi)的析構(gòu)函數(shù)是虛的,delete子類(lèi)對(duì)象指針會(huì)調(diào)用父類(lèi)的析構(gòu)函數(shù)
D、以上都不對(duì)
7、5+55+555+...+555..5(55個(gè)5)所得之和的末四位數(shù)是多少
A、9435 B、9445 C、9475 D、9485
可以很顯然看出他們尾數(shù)均是5,五十五個(gè)5相加為275,所以個(gè)位是5,進(jìn)位27。 五十四個(gè)5相加為270再加進(jìn)位的27是297,所以十位為7,進(jìn)位29。五十三個(gè)五相加為265再加進(jìn)位的29為294,所以百位為4,故選擇C。
8、5+55+555+...+555..5(12個(gè)5)所得之和的末三位數(shù)是多少
可以很顯然看出他們尾數(shù)均是5,十二個(gè)5相加為60,所以個(gè)位是0,十一個(gè)5相加為55再加進(jìn)位的6是61,所以十位為1,10個(gè)五相加為50再加進(jìn)位的6為56,所以百位為6,故得和的最后三位是610。
9、7+77+777+...+777..7(2005個(gè)7)所得之和的末四位數(shù)是多少
20057=14035 所以個(gè)位數(shù)是5,進(jìn)位1403
20047+1403=15431,所以十位數(shù)是1,進(jìn)位1543
20037+1543=15564,所以百位數(shù)是4,進(jìn)位1556
20027+1556=15570,所以千位數(shù)是0。末四位數(shù)是0415
簡(jiǎn)答題:快速排序的思想是遞歸的,但是它的平均效率卻是眾多排序算法中最快的,為什么?請(qǐng)結(jié)合本例說(shuō)明你對(duì)遞歸程序的理解。
算法題:用你熟悉的編程語(yǔ)言,設(shè)計(jì)如下功能的函數(shù):輸入一個(gè)字符串,輸出該字符串中所有字母的全排列。程序請(qǐng)適當(dāng)添加注釋。
C++函數(shù)原型: void Print(const char str)
輸入樣例: abc
輸出結(jié)果: abc、acb、bca、bac、cab、cba