面试题
2016-03-05 11:04
232 查看
试题 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 分。
名为 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 分。
相关文章推荐
- PHP程序员玩转算法公开课(第一季)02_单链表在内存中存在形式剖析
- PHP程序员玩转算法公开课(第一季)01_五子棋算法_汉诺塔_回溯算法
- 面试题
- 励志篇——程序员人生
- Java面试题之一对调两个数
- 98%的人没解出的德国面试逻辑题
- 说说我们为什么集体辞去工作
- 安卓面试题,再次归纳版本
- 夜谈程序员的职业生涯规划
- 拖延症,请你放过程序猿
- 【黑马】程序员————集合框架(二)泛型、Collections、Array
- 第一次面试心得
- java集合面试题
- 谈谈最近深圳找工作经历
- WEB前端面试重点
- 面试常客Handler详细解析(handler基础)(一)
- 程序员每天自我洗脑和催眠
- 程序员的自我修养
- 在职场该保持一种什么姿态?高调还是低调
- 面试题集合