C语言笔试题(11)——关于与零值比较的
来源:互联网 发布:悦食家淘宝店 编辑:程序博客网 时间:2024/04/30 05:49
分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var)
BOOL型变量: if(!var)
int型变量: if(var==0)
float型变量: const float EPSINON = 0.00001;
if ((x >= - EPSINON) && (x <= EPSINON)
剖析:
考查对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分。
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分。
- C语言笔试题(11)——关于与零值比较的
- C语言中与零值的比较
- C语言中几种与零值的比较
- 不同类型变量与零值的比较 【C语言规范】
- C语言不同类型变量与零值比较的规范写法
- C语言布尔、整形、浮点、指针变量与”零值”比较的if语句
- C语言中的零值比较
- 关于一个C语言的笔试题(数组+指针)
- 每日一题(50)—— 各类型与零值的比较
- 与“零”值的比较
- 与“零值”的比较
- 与零值的比较
- 与零值的比较
- linux学习之c语言比较float,bool,指针与零值
- c 零值比较
- C语言比较 回车符和零的区别
- 与零值比较
- 与零值比较
- Linux GCC编译使用动态、静态链接库
- php 正则表达式验证电子邮件是否正确
- buzouwanmei777(buzouwanmei777@163.com)
- RMQ (Range Minimum/Maximum Query)算法
- 与等待事件相关的性能视图
- C语言笔试题(11)——关于与零值比较的
- oracle 循环控制语句
- 3_30_物联网
- http://download.csdn.netuserzhaoshe
- C++虚函数学习笔记(仅供参考)
- C:深入研究MessageBox
- jquery 动画函数
- rsync: failed to connect to 192.168.2.9: Connection refused
- 公司培训小结