4.3.1 布尔变量与零值比较
z 【规则4-3-1】不可将布尔变量直接与TRUE、FALSE 或者1、0 进行比较。
根据布尔类型的语义,零值为“假”(记为FALSE),任何非零值都是“真”(记为
TRUE)。TRUE 的值究竟是什么并没有统一的标准。例如Visual C++ 将TRUE 定义为
1,而Visual Basic 则将TRUE 定义为-1。
假设布尔变量名字为flag,它与零值比较的标准if 语句如下:
if (flag) // 表示flag 为真
高质量C++/C 编程指南,v 1.0
2001 Page 28 of 101
if (!flag) // 表示flag 为假
其它的用法都属于不良风格,例如:
if (flag == TRUE)
if (flag == 1 )
if (flag == FALSE)
if (flag == 0)
4.3.2 整型变量与零值比较
z 【规则4-3-2】应当将整型变量用“==”或“!=”直接与0 比较。
假设整型变量的名字为value,它与零值比较的标准if 语句如下:
if (value == 0)
if (value != 0)
不可模仿布尔变量的风格而写成
if (value) // 会让人误解 value 是布尔变量
if (!value)
4.3.3 浮点变量与零值比较
z 【规则4-3-3】不可将浮点变量用“==”或“!=”与任何数字比较。
千万要留意,无论是float 还是double 类型的变量,都有精度限制。所以一定要
避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。
假设浮点变量的名字为x,应当将
if (x == 0.0) // 隐含错误的比较
转化为
if ((x>=-EPSINON) && (x<=EPSINON))
其中EPSINON 是允许的误差(即精度)。
4.3.4 指针变量与零值比较
z 【规则4-3-4】应当将指针变量用“==”或“!=”与NULL 比较。
指针变量的零值是“空”(记为NULL)。尽管NULL 的值与0 相同,但是两者意义不
同。假设指针变量的名字为p,它与零值比较的标准if 语句如下:
if (p == NULL) // p 与NULL 显式比较,强调p 是指针变量
if (p != NULL)
不要写成
if (p == 0) // 容易让人误解p 是整型变量
if (p != 0)
或者
if (p) // 容易让人误解p 是布尔变量
if (!p)
分享到:
相关推荐
输入年份,输出是否是闰年
c++的if语句、决策语句块和变量作用域,决策语句块和变量作用域只有一些,可能不全
对于可能发生的事情,我们平时经常会说“如果……,那么……”。语文里,我们叫他条件复句、“如果”之后的内容...我们来看这样语句英语:if mark>90,cout”GOOD!”把它翻译成中文就是:如果分数大于90,则输出GOOD。
if语句是C++/C语言中最简单、最常用的语句,然而很多程序员用隐含错误的方式写if语句。本节以“与零值比较”为例,展开讨论。 4.3.1 布尔变量与零值比较 l 【规则4-3-1】不可将布尔变量直接与TRUE、FALSE或者1...
内容涵盖了switch语句的定义、基本语法、使用场景、优点、注意事项、与if语句的区别、实战应用、多重分支、范围检查、字符串处理、默认情况、性能考虑、灵活性、多态性、安全性、调试、性能优化和最佳实践等高级知识...
程序的基本控制结构 表达式语句 函数调用语句 空语句 复合语句 if语句、if-else语句、switch语句 while语句、do-while语句、for语句 continue语句、break语句、goto语句、return语句
if 语句 if-else 语句 if-elif-else 语句 switch 语句 1.3.2 循环结构¶ 将若干条语句重复执行多次,就需要用到循环语句。 循环 循环语句包括下面几种: for 语句 while 语句 do-while 语句 1.4 数组与结构
平时我们在说“如果……那么……”的时候,还经常和“否则……”连用。...虽然这样也能够把意思表达清楚,但是语句显得冗长,要是条件再多一点则更是杂乱。可见,在程序设计中,如果没有“否则……”语句将会多么麻烦。
请写出 float x 与“零值”比较的 if 语句
编译原理课程设计,是对PL0语言的扩充。 主要包括if-then-else,do-while-until,for 资源里有我写的报告和源码,c++实现。 需要自己运行测试
希望我上传的c++教程可以帮助你。c++是我们软件开发人员必修课,它的软件开发功能十分强大,它会在你的软件开发展现它的魅力,同时希望你爱上它。
这是一段简单的while和if语句嵌套使用的C++代码,使用与初学者对while和if语句的理解,加深C++程序编译的思想!
4.3 if 语句... 27 4.4 循环语句的效率... 29 4.5 for 语句的循环控制变量... 30 4.6 switch语句... 30 4.7 goto语句... 31 第5章 常量... 33 5.1 为什么需要常量... 33 5.2 const 与 #define的比较... 33 ...
是利用c++代码中的if语句 进行几只小猪体重的对比,适合新手上路,大佬的话就可以略过,具体内容在我上传的文档有
编译原理实验,用C++实现的一个对if then条件语句的翻译过程,可以实现对简单布尔表达式和简单赋值语句的翻译,可以识别长串标识符。
狼羊白菜农夫过河程序 c++,条件语句嵌套。
自己原创的资源,代码有些长,包含完整代码和完整报告网上if —then语句的参考资源不多,故上传,仅供参考。
淮 海 工 学 院 计算机工程学院 课程设计报告 设计名称: C++语言课程设计 姓 名: 学 号: 专业班级: 系 (院): 计算机工程学院软件工程系 设计时间: 2011.6.8~2011.6.24 设计地点: 计算机工程学院机房 "指导...