广州-C++面试题


1 此 套试 题总 分 105, 考试 时间 为 1小 时, 考试 分数 为 70分 为合 格。 C++/MFC C++/MFC C++/MFC C++/MFC 试题 一 .填 空题 (26 (26 (26 (26 分)))) 1.WIN32 平 台下 , sizeof(short) = ____,sizeof(int) = ____,sizeof(long) = ____。(3分) 2. 请给 出如 下程 序的 结果 (2分) int a = 3; int b = a << 3; a = ____,b = ____。 3.请给 出如 下程 序的 结果 (2分) int aaa = 0x01; htonl(aaa) = ____。 4. 请给 出如 下程 序的 结果 (2分) #define MAX_NUM 100+200 int nTemp = MAX_NUM*10; 则Temp = ____。 5. 请给 出如 下程 序的 结果 (3 分) char szTemp[1000] = ""; int nLen1 = sizeof(szTemp); int nLen2 = strlen(szTemp); strcpy(szTemp, "abc"); int nLen3 = sizeof(szTemp); int nLen4 = strlen(szTemp); int nTemp[100]; int *pTemp = nTemp; int nLen5 = sizeof(pTemp); char szResult[200] = ""; sprintf(szResult, "%d,%d,%d,%d,%02d.", nLen1, nLen2, nLen3, nLen4, nLen5); 则szResult = ____。 6.MFC 中 ,大 部分 类是 从哪 个类 继承 而来 ( CCmdTarget、CObject、CWinApp、CWnd)? (2分)____ 7. 内存 是进 程范 围 or线 程范 围; ____ CPU 调 度时 ,针 对进 程 or线 程; ____ 函 数调 用堆 栈, 针对 进程 or线 程。 ____(3 分) 8. 调用 函数 bbb 后 ,输 出是 什么 (4分) void ccc(int x) 2 { char szTemp[10] = ""; x = 2; sprintf(szTemp, "%d,", x); afxDump << szTemp; if(x = 3) { int x = 4; sprintf(szTemp, "%d,", x); afxDump << szTemp; } sprintf(szTemp, "%d,", x); afxDump << szTemp; } void bbb() { char szTemp[10] = ""; int x = 7; ccc(x); sprintf(szTemp, "%d,", x); afxDump << szTemp; } 二 .改 错题 ((((总共15151515分,,,,每题5555分))))。 1. 下面 代码 有何 错误 void func1() { int *pa = NULL; func2(pa); delete pa; } void func2(int *pb) { pb = new int(5); } 3 2. 下面 代码 有何 错误 void func2(int *value) { *value = 2; } void func1() { int *p = 0; func2(p); } 3. int func1(int& b) { return 0; } void func2() { int bbb = 3; func1(&bbb); func1(bbb); } func2 中 有何 错误 , func1 的 参数 b的 类型 是什 么。 三 .简 答题 (64 (64 (64 (64 分)))) 1.请 简述 C、C++、VC、MFC 在 概念 上的 区别 (4分) 2. 请写 一个 函数 重载 的简 单例 子 (4分) 3.用 什么 函数 开启 新进 程、 线程 。 (4分) 4.SendMessage 和PostMessage 有 什么 区别 (4分) 5.WaitForSingleObject 有何作用;m_pThrd 的类型是CWinThread* 时, WaitForSingleObject(m_pThrd->m_hThread, INFINITE);有 何作 用。 (4分) 6. __stdcall、__cdecl、__pascal 在 什么 方面 有所 不同 。 (4分) 7. 请把 下述 代码 加上 异常 处理 。 (6分) int MyWriteFile(CString strFileName, CString strText) { int nRet = 0; CFile myFile; 4 myFile.Open(strFileName, CFile::modeWrite|CFile::shareExclusive|CFile::modeCreate, NULL); int nLen = strText.GetLength(); myFile.Write((char*)(LPCSTR)strText, nLen); myFile.Close(); return nRet; } 8. 请解 释 “func”为 何种 类型 ,这 种类 型的 作用 什么 ,变 量 ttt 的 值是 多少 ? (6分) typedef int (*func)(int, int*); int xxx(int a, int *p) { return a + *p; } int dowork(func aaa, int bbb, int *ccc) { return aaa(bbb, ccc); } int sss = 4; int ttt = dowork(&xxx, 3, &sss); 9.请问下述代码中: int operator+(…)起什么作用?this 是什么?ccc 的值最终为多少?(6 分) class Fruit { public: Fruit() { weight = 2; } Fruit(int w) { weight = w; } int operator+(Fruit f) { return this->weight * f.weight; } private: int weight; }; 5 Fruit aaa; Fruit bbb(4); int ccc = aaa + bbb; 10.请 解释 下面 代码 采用 了何 种 C++特 性( C语 言不 具备 ), 作用 是什 么? (6分) template T sum(T a, T b) { return (a + b); } 11. 请解 释 aaa.h 中 下面 代码 的功 能 (5分) #if !defined(AFX_MYSUDU_H__9B952BEA_A051_4026_B4E5_0598A39D2DA4__INCLUDE D_) #define AFX_MYSUDU_H__9B952BEA_A051_4026_B4E5_0598A39D2DA4__INCLUDED_ ........................ #endif 12.CMemoryState 主 要功 能是 什么 (5分) 13. 请阅 读下 述代 码, 写出 程序 执行 的结 果( 6分) #include using namespace std; class CBase { public: virtual void print() { cout<< "base" << endl; } void DoPrint() { print(); } }; class CChild1: public CBase { public: virtual void print() { cout<< "child1" << endl; } 6 }; class CChild2: public CBase { public: virtual void print() { cout<< "child2" << endl; } }; void DoPrint(CBase *base) { base->DoPrint(); } void main() { CBase* base = new CBase(); CChild1* child1 = new CChild1(); CChild2* child2 = new CChild2(); DoPrint(child1); DoPrint(child2); DoPrint(base); delete base; base = child1; base->print(); delete child1; delete child2; }
还剩5页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

jokerlgq

贡献于2011-11-02

下载需要 5 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf