易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++程序员应聘常见面试题深入剖析(2)

C/C++程序员应聘常见面试题深入剖析(2)
作者:宋宝华 e-mail:21cnbao@21cn.com 出处:软件报
 3.内功题
试题1:分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var)
解答:
BOOL 型变量:if(!var)
int 型变量: if(var==0)
float 型变量:
const float EPSINON = 0.00001;
if ((x >= - EPSINON) && (x <= EPSINON)
指针变量: if(var==NULL)
剖析:
考查对0 值判断的“内功”,BOOL 型变量的0 判断完全可以写成if(var==0),而int 型变量也可以写成if(!var),指针变量的判断也可以写成if(!var),上述写法虽然程序都能正确运行,但是未能清晰地表达程序的意思。
一般的,如果想让if 判断一个变量的“真”、“假”,应直接使用if(var)、if(!var),表明其为“逻辑”判断;如果用if 判断一个数值型变量(short、int、long 等),应该用if(var==0),表明是与0进行“数值”上的比较;而判断指针则适宜用if(var==NULL),这是一种很好的编程习惯。
浮点型变量并不精确,所以不可将float 变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。如果写成if (x == 0.0),则判为错,得0 分。
试题2:以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
void Func ( char str[100] )
{
sizeof( str ) = ?
}
void *p = malloc( 100 );
sizeof ( p ) = ?
解答:
sizeof( str ) = 4
sizeof ( p ) = 4
剖析:
Func ( char str[100] )函数中数组名作为函数形参时,在函数体内,数组名失去了本身的内涵,仅
仅只是一个指针;在失去其内涵的同时,它还失去了其常量特性,可以作自增、自减等操作,可以被修改。
数组名的本质如下:
(1)数组名指代一种数据结构,这种数据结构就是数组;
例如:
char str[10];
cout << sizeof(str) << endl;
输出结果为10,str 指代数据结构char[10]。
(2)数组名可以转换为指向其指代实体的指针,而且是一个指针常量,不能作自增、自减等操作,不能被修改;
char str[10];
str++; //编译出错,提示str 不是左值
(3)数组名作为函数形参时,沦为普通指针。
Windows NT 32 位平台下,指针的长度(占用内存的大小)为4 字节,故sizeof( str ) 、
sizeof ( p ) 都为4。
试题3:写一个“标准”


相关文档:

CentOS5.4 Linux下Modbus TCP IP协议C++的一个小例子

///////////////////////////////////////////////////////////////////////////
/*
ReadCoils函数:
读继电器的状态 , 成功返回ture。
send 数据长度=12
recv 数据长度=10
unsigned short int addr 读继电器的起始地址(继电器编号-1) 。
注意:1~8个继电器,起始地址从0开始
unsigned short int len ......

C++ 扩展和嵌入 Python

下载源代码
Python简介
  Python是一种简单易学,功能强大的解释型编程语言,它有简洁明了的语法,高效率的高层数据结构,能够简单而有效地实现面向对象编程,特别适用于快速应用程序开发,也可以用来开发大规模的重要的商业应用。Python是一个理想的脚本语言。
  Python免费开源,可移植到多种操作系统,只要避免使 ......

50个c/c++源代码网站 幽灵 逐梦

C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。
1、http://snippets.dzone.com/tag/c/ --数以千计 ......

C/C++中,GB2312转Unicode

    嵌入到多个系统编程时常常出现编码问题,特别是中文,并且对于国标GB2312来说,不像UTF-8那样可以用算法直接转为unicode(传说是这么说的,我也没试过),所以GB到Unicode只能是一对一的转换。
以前碰到过GB转为Unicode的难题,在网上找到了源码,我只是修改了一下查找的代码,将查找算法改为二分查找。
&n ......

C/C++程序员应聘常见面试题深入剖析(1)


C/C++程序员应聘常见面试题深入剖析(1)
作者:宋宝华 e-mail:21cnbao@21cn.com 出处:软件报
1.引言
本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的
大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。
许多面试题看似简单,却需要深厚的基本功才能给出完美 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号