MCU_C语言学习笔记之关键字_bool变量与零值比较,float变量与零值进行比较,if使用的一些注意事项

/*****************************************************************************************************************************************

*Author:JYW

*Time:2019_02_15

*Describe:学而记之进而习之

*****************************************************/

以下为C语言深度剖析的学习笔记

bool  bTestFlag   = FALSE;//FLASE的值在编译器里被定义为0;

         如果if(bTestFlag == 0);       if(bTestFlag == 1);这种写法很容易会让人误会成整型变量;

          如果if(bTestFlag == TRUE);  if(bTestFlag == FLASE);FLASE的值在编译器里被定义为0;但TURE的值在不同的编译器里并不完全是1;Visual C++定义为1,而Visual Basic 把TRUE定义为-1.故这种写法也不好。

if(bTestFlag);    if(!bTestFlag);

if语句是靠其小括号里面的表达式的值来进行执行的,如果为真的话就会执行后面的代码,如果为假的话就不会执行后面的代码;if(bTestFlag);    if(!bTestFlag);这样写既不会引起误会,也不会由于TRUE或FLASE的定义不同而出错了,以后的代码就要

扫描二维码关注公众号,回复: 5346216 查看本文章

这样写;

float 和double类型的数据都是有精度限制的,显然

不能拿来直接与0.0进行比较,EPSINON 为定义好的精度,如果一个数落在[0.0-EPSINON,  0.0+EPSINON]这个闭区间之内,我们可以认为在这个精度内它的值与零值相等;

//定义指针一定要同时初始化;NULL的值和0一样

p不是整型变量,也不是bool变量;

这个样子写是怕漏写一个“=”号,

if(p = NULL);这个表达式编译器认为是正确的,但却不是我们要表达的意思;

书写要规范化;具有良好的书写敲击规范;

if语句的后面不需要分号,如果不小心加了个分号,编译器并不会提示出错,编译器会把这个分号解析成一条空语句;

这两个是等效的;

所以建议在真正需要用空语句时写成这样:NULL;

使用if语句时的其他注意事项:先处理正常情况,再处理异常情况;确保if和else没有弄反。。

猜你喜欢

转载自blog.csdn.net/jiangxiaoweijxw/article/details/87377237