《C++程序员应聘常见面试试题深入剖析.docx》由会员分享,可在线阅读,更多相关《C++程序员应聘常见面试试题深入剖析.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2.找错题试题1:1()(10;* 1 = 0123456789;(,1 );试题2:2()(10, 110;i;(0; i10;)(li = a;)(,1 );试题3:3(* 1)(10;(1 ) = 10 )(,1 );解答:试题1字符串1须要11个字节才能存放下(包括末尾的0),而只有10个字节 的空间,会导致数组越界;对试题2,假如面试者指出字符数组1不能在数组内结束可以给3分;假如面试者 指出(,1)调用使得从1内存起复制到内存起所复制的字节数具有不确定性可以给7分, 在此基础上指出库函数工作方式的给10分;对试题3, (1) = 10)应改为(1) f();a;0;3.内功题试题1
2、:分别给出,八指针变量与“零值”比较的 语句(假设变量名为)解答:型变量:()型变量:(0)型变量:=0.00001;(x = - ) (x 二”或形式。假如写成(x 0. 0),则判为错,得0分。试题2:以下为下的32位程序,请计算的值(100)()=?)*p = ( 100 );(p ) = ?解答:()二4(P ) = 4剖析:(100)函数中数组名作为函数形参时,在函数体内,数组名失去了本身的内涵, 仅仅只是一个指针;在失去其内涵的同时,它还失去了其常量特性,可以作自增、自减 等操作,可以被修改。数组名的本质如下:(1)数组名指代一种数据结构,这种数据结构就是数组;例如:10; 0 ;输出结果为10,指代数据结构10。(2)数组名可以转换为指向其指代实体的指针,而且是一个指针常量,不能作自增、 自减等操作,不能被修改;10;编译出错,提示不是左值(3)数组名作为函数形参时,沦为一般指针。32位平台下,指针的长度(占用内存的大小)为4字节,故()、(p )都为 4。试题3:写一个“标准”宏,这个宏输入两个参数并返回较小的一个。另外,当你 写下面的代码时会发生什么事?=(*, b);解答: