




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华为C+MFC面试题(附上个人答案不当之处请指正) pS:答案是本人随笔所写,可能不全甚至错误! 请不要盲目将其作为标准答案,不当之处,请指正,谢谢。 C+/MFC 试题 一填空题 (26 分 ) 1 WIN32 平台下, sizeof(short) = _2_ ,sizeof(int) = _4_ , sizeof(long) =_4_ 。 (3 分 ) / sizeof(char) =1;sizeof(double) = 8;sizeof(float) = 4; 2 请给出如下程序的结果 (2 分 ) int a = 3; int b = a 3; /00000011左移三位为00011000,即24 a = _3_ , b =_24_ 。 3 请 给出如下程序的结果 (2 分 ) int aaa = 0x01; htonl(aaa) = _166_ 。/ 0x01000000十六进制数,转换为十进制为16的6次方,即16777216 4 请给出如下程序的结果 (2 分) #define MAX_NUM 100+200 int nTemp = MAX_NUM*10;/宏的功能只是简单的字符替换,MAX_NUM*10表示100+200*10,所以用宏要小心 则 Temp = _2100_ 。 5 请给出如下程序的结果 (3 分 ) char szTemp1000 = ; int nLen1 = sizeof(szTemp); int nLen2 = strlen(szTemp);/strlen的计算结果不包含结束符0 strcpy(szTemp, abc); int nLen3 = sizeof(szTemp); int nLen4 = strlen(szTemp); int nTemp100; int *pTemp = nTemp; int nLen5 = sizeof(pTemp);/在32位系统中,指针只占4位字节,不管它指向地址的内容有多大! char szResult200 = ; sprintf(szResult, %d,%d,%d,%d,d., nLen1, nLen2, nLen3, nLen4,nLen5); 则 szResult = _1000,0,1000,3,04_ 。 6 MFC 中,大部分类是从哪个类继承而来( CCmdTarget 、 CObject 、 CWinApp 、 CWnd)? (2 分 )_CObject _ 7 内存是进程范围 or 线程范围; _进程_ / 进程有独立的内存,是线程的管理者,线程是进程的执行者 CpU 调度时,针对进程 or 线程; _线程_/ 线程才是执行者 函数调用堆栈,针对进程 or 线程。 _进程_(3 分 ) / 进程才有独立内存,堆栈属于内存的一部分 8 调用函数 bbb 后,输出是什么 (4 分 ) void c(int x) / 参数为数值传递,不是引用传递 char szTemp10 = ; x = 2; sprintf(szTemp, %d, x); afxDump szTemp; /afxDump表示输出信息到MFC调试(Debug)窗口 if(x = 3) /注意这里不是=而是=,所以if条件是成立的 int x = 4; sprintf(szTemp, %d, x); afxDump szTemp; sprintf(szTemp, %d, x); afxDump szTemp; void bbb() char szTemp10 = ; int x = 7; c(x); sprintf(szTemp, %d, x); afxDump m_hThread, INFINITE);有何作用。 (4 分 ) 答:WaitForSingleObject是表示等待线程的一个函数。 参数为INFINITE表示一直等待线程CWinThread执行结束后,再继续处理自身程序。 6. _stdcall 、 _cdecl 、 _pascal 在什么方面有所不同。 (4 分 ) 答:这些都是一些函数参数的调用约定,告诉编译器函数参数压栈的顺序,以及压入堆栈的内容由谁来清除,是调用者还是函数本身清除堆栈的内容。简单列表如下: Directive parameterorder Clean-uppassesparametersin registers? pascalLeft-to-rightRoutineNo cdeclRight-to-leftCallerNo stdcallRight-to-leftRoutineNo 7 请把下述代码加上异常处理。 (6 分 ) int MyWriteFile(CString strFileName, CString strText) int nRet = 0; CFile myFile; myFile.Open(strFileName,CFile:modeWrite|CFile:shareExclusive|CFile:modeCreate,NULL); int nLen = strText.GetLength(); myFile.Write(char*)(LpCSTR)strText, nLen); myFile.Close(); return nRet; 答: int MyWriteFile(CString strFileName, CString strText) int nRet = 0; CFile myFile; _try nRet= myFile.Open(strFileName, CFile:modeWrite|CFile:shareExclusive|CFile:modeCreate,NULL); if(!nRet) / 输出异常信息 _leave;/ 结束try块,跳到_finaly代码块 int nLen = strText.GetLength(); nRet = myFile.Write(char*)(LpCSTR)strText, nLen); if(!nRet) / 输出异常信息 _leave;/ 结束try块,跳到_finaly代码块 _finaly myFile.Close(); returnnRet; 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 *c) return aaa(bbb, c); int sss = 4; int ttt = dowork(&xxx, 3,&sss); 答:func表示一个函数指针,它指向参数为int,int*,返回值为int的函数。ttt的值为7 9 请问下述代码中 : int operator+( )起什么作用? this 是什么? c 的值最终为多少? (6 分) class Fruit public: Fruit() weight = 2; Fruit(int w) weight = w; int operator+(Fruit f) return this-weight * f.weight; private: int weight; ; Fruit aaa; Fruit bbb(4); int c = aaa + bbb; 答:int operator+()表示重载类的“+”号运算符,this表示对象本身的指针,本例中它指向类的对象aaa;c最终的结果为8(8 = 2 *4)。 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_INCLUDED_) #defineAFX_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; ; class CChild2: public CBase public: virtual void print() cout child2Doprint(); void main() CBase* base = new CBase(); CChild1* child
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ccie考试题及答案
- 2025福建东盟海产品交易所有限公司招聘12人笔试参考题库附答案解析
- 2025四川南充营山县医疗卫生辅助岗招募39人考试参考题库附答案解析
- 2025年四川德阳市教育局选调直属事业单位工作人员1人考试参考题库附答案解析
- 2025四川乐山市科学技术协会直属事业单位考核招聘工作人员2人考试模拟试题及答案解析
- 2025陕西雷特尔电气有限公司招聘笔试参考题库附答案解析
- 2025重庆公共运输职业学院招聘21人考试模拟试题及答案解析
- 2025年安庆经开区中小学劳务派遣教师招聘26名考试模拟试题及答案解析
- 2025云南楚雄百越城市更新建设集团有限公司选聘职业经理人1人笔试备考题库及答案解析
- 2025年马鞍山市星光学校新任教师公开招聘6名笔试模拟试题及答案解析
- 2025制衣厂生产合作协议范本
- 无纺布行业知识培训总结
- 2025年秋季教导处工作计划-深耕细作教研路笃行不怠启新程
- 党建品牌创新活动创新路径与实践探索
- 2025年保山辅警考试题库(附答案)
- 合同基础知识培训课件教学
- 2025-2030中国家政服务从业人员培训体系与职业发展白皮书
- 安全生产事故分级标准
- 营养指导员试题附答案
- 初中英语新人教版八年级上册全册单词(2025秋)
- 2025年广西中考道德与法治试题答案详解讲评课件
评论
0/150
提交评论