微软面试题

一、单项选择题:(共12题,每题2分,共24分)

1. 下面哪一个不是C++的标准数据类型?              D

A. int                              B. char

C. bool                             D. real

 2. break关键字在哪一种语法结构中不能使用?       C

A. for语句                          B. switch语句

C. if语句                           D. while语句

3. 类的继承方式有几种?                           B

A. 两种                             B. 三种

C. 四种                             D. 六种

4. extern关键字的作用是什么?                     A

A. 声明外部链接                     B. 声明外部头文件引用

C. 声明使用扩展C++语句              D. 声明外部成员函数、成员数据。

5. C库函数strstr的功能是?                        A

A. 查找子串                         B. 计算字符串长度

C. 字符串比较                       D. 连结字符串

6. stl::deque是一种什么数据类型?                 A

A. 动态数组                         B. 链表

C. 堆栈                             D.

7. STL库里含有下面的哪一种泛型算法?              (B)

A. KMP查找                          B. 折半查找

C. 冒泡排序                         D. 快速排序

8. 现在最快且最通用的排序算法是什么?             A

A. 快速排序                         B. 冒泡排序

C. 选择排序                         D. 外部排序

9. Win32下的线程的哪一种优先级最高?              ( c)

A. THREAD_PRIORITY_HIGHEST           B. THREAD_PRIORITY_IDLE

C. THREAD_PRIORITY_TIME_CRITICAL     D. THREAD_PRIORITY_ABOVE_NORMAL

10. 下面四个选项中,哪一个不是WinMain函数的参数? (   B

A. HINSTANCE                         B. INT

C. LPSTR                             D. WPARAM

11. VC++的编译器中,运算符new底层的实现是什么?   (A )

A. VirtualAlloc()                    B. HeapAlloc()

C. GlobalAlloc()                     D. AllocateUserPhysicalPages()

12. 下面哪一本C++参考书最厚?                     A

A. Think in C++                  B. 《深入浅出MFC

C. C++ Primer                    D. Effective C++

二、不定项选择题:(共6题,每题3分,共18分,多选、错选、漏选均不给分)

1. vector::iterator重载了下面哪些运算符?          b

A. ++                                 B. >>

C. *(前置)                          D. ==

2. CreateFile( )的功能有哪几个?                   (A B C D

A. 打开文件                           B. 创建新文件

C. 文件改名                           D. 删除文件

3. 下面哪些是句柄(HANDLE)?                      AB

A. HINSTANCE                          B. HWND

C. HDC                                D. HFONT

4. 下面哪些不是OpenGL标准几何元素的绘制模式?      ( A D )

A. GL_FOG                              B. GL_LINE_STRIP

C. GL_POINTS                           D. GL_TRIANGLE_FAN

5. 下面哪些运算符不能被重载?                      ( A B C )

A. 做用域运算符“::”                  B. 对象成员运算符“.”

C. 指针成员运算符“->”                D. 三目运算符“? :”

6. 下面哪些人曾参与了世界上第一个C++编译器的开发? ( B C )

A. Bill Gates                          B. Stanley Lippman

C. Anderson Hejlsberg                  D. Bjarne Stroustrup

三、填空题:(共8题,每题3分,共24分)

1. 一个大小为320 X 192,颜色为灰度索引色的设备相关位图有15360__字节。如果此位图颜色为24位真彩色,则它的大小有______字节。

2. Windows API的中文意义是____windows 应用程序接口函数____

3. 计算反正弦的库函数是______;计算浮点数绝对值的库函数是______;计算浮点数n次方的库函数是______;将浮点数转化为字符串的库函数是______

4. 如果i等于5,那么( ++i ) - -的返回值是___5__

5. API LoadBitmap()的功能是从_内存__中读取位图数据到内存。

6. new_delete____对应,malloc_free__对应,他们之间_不能____交叉混用。calloc的功能是_Allocates an array in memory with elements initialized to 0___realloc的功能是_Reallocate memory blocks_

7. SendMessagePostMessage都会向窗体发送一个消息,但SendMessage__阻塞_______PostMessage___非阻塞_____

8. 输出指定圆心、半径、边数的圆上的点:

const int nCount = 12;

const double dOrgX = 5.0,dOrgY = 3.0;

const double dRadius = 2.0;

for( int i = 0; i < nCount; i++ )

{

    double dAngle = M_PI * 2.0 / (double)nCount * i;

    cout << "" << i << "点:X = " << _endl__; cout << ", Y = " << _dAngle___ << endl;

}

三、判断题:(共12题,每题2分,共24分)

1. 一个类必须要有一个不带参数的构造函数。                  □错

2. 你不能写一个虚的构造函数。                              □错

3. 类里面所有的函数都是纯虚函数时才是纯虚类。              □错

4. const成员函数对于任何本类的数据成员都不能进行写操作。   □错

5. 函数中带默认值的参数必须位于不带默认值的参数之后。      □错

6. char *p = "Test"; p[0] = 'R';                           □错

7. cout << "Test";                                         □错

8. stl::list不支持随机访问叠代器。                         □错

9. stl::vector的效率比stl::list高。                        □错

10. VCVC++是一回事,而VC++是一种比C++更难一些的语言。    □错

11. 理论上,newmalloc造成的内存泄露都会由操作系统回收。  □在win下是

12. C++structclass的差别很大,所以从语法上不能混用。 □一样

四、简述题(3题,每题5分,共15)

1. 请简述PeekMessageGetMessage的区别。

 答:请看msdn解析:

The PeekMessage function dispatches incoming sent messages, checks the thread message queue for a posted message, and retrieves the message (if any exist).

The GetMessage function retrieves a message from the calling thread's message queue. The function dispatches incoming sent messages until a posted message is available for retrieval.

Unlike GetMessage, the PeekMessage function does not wait for a message to be posted before returning. 

2. 请列出你所知道的在Windows SDK平台上,实现计时功能的方法。

答: timer() 

3. 请简述你所知道的const的各种用法。

 答:

常量

常量函数 

 

五、编程题:(共3题,第1小题7分,第2小题14分,第3小题24分)

 1. 深度遍历二叉树。

struct Node

{

    Node *Parent;

    Node *Left, *Right;

};

void Through(Node *Root)

{

 

 

 

 

}

 

2. 二分法查找。

int DicFind( int *Array, int Count, int Value )

{

 

 

 

 

 

 

 

 

}

 

3. 写出字符串类String的默认构造函数、析构函数和重载赋值运算符。

已知类String的原型为:

class String

{

public:

    String( const char *pStr = NULL ); // 默认构造函数

    ~String( void ); // 析构函数

    String &operate = ( const String &Source ); // 重载赋值运算符

private:

    char *m_pData; // 指向字符串的指针

};

string  

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值