找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 927|回复: 0

[分享] if语句学习

[复制链接]

已领礼包: 859个

财富等级: 财运亨通

发表于 2014-5-16 22:12:50 来自手机 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
if语句学习
      首先,进行的是if 语句的简要分析。if语句是最简单也是最常用的语句,然而很容易很忽视,其中的细节:要明确几种常见的数据类型以及各类型数据的定义范围;

具体分析如下:

1、 用if语句进行布尔变量与零值的比较。

       **这里需要注意的是不可将布尔变量直接与TRUE、FALSE或者0、1进行比较,本身就表示事件的真与假,根据布尔类型的语义,零值为“假”(记为FALSE),任何非零值都是“真”(记为TRUE)。

假设布尔变量名字为flag,它与零值比较的标准if语句如下:

If(flag) //表示flag为真;

If(!flag) //表示flag为假;

另有常用到的不良风格,或者说是不标准表达方式如下:

if( flag == TRUE )

if( flag == 1 )

if( flag == 0 )

if( flag ==FALSE )

2、 整形变量与零值进行比较

        对于整形变量与零值进行比较是经常会出现布尔型的表达方式,因此需要注意的是应当将整型变量用“==”或者“!=”直接与“0”比较作为判断条件。假设整型变量的名字为value,那么他与零值的比较的参考if语句如下:

if( value == 0 ) ……

if( value != 0)……

经常容易犯的错误如下:

if ( value )

if (!value )

3、 浮点变量与零值的比较

        无论是float还是double类型的变量,都有精度,都属于浮点变量,不可将浮点变量用“==”或者“!=”与任何数字进行比较,而是应该设法将语法转换成“>=”或者“<=”的形式。

假设浮点变量的名字为f_value,在实际应用中将

if ( f_value == 0.0 )

转化为

If( (f_value >=0.09) && (f_value <= 0.11) )

4、指针变量与零值的比较

      指针当中的零值有以下两种理解方式:指针地址为零和空指针,设指针变量为*add,则对于指针的地址为零时可与表示为:

if ( add == 0 )

对于空指针式,此时的表示方式则应更改为:

If ( add == NULL ) 或者

If ( add != NULL )

最后,对if语句进行补充说明:

1、如何看待语句 if(NULL == p)?

      事实上该语句等同于 if(p ==NULL )在书写过程中很容易将“p == NULL” 书写成“p = NULL”,在编译器中if(p =NULL) 是合法的,但if(NULL =p )编译时将会出错,因为NULL不能被赋值。这能有效避免由于书写错误造成不必要的麻烦。

2、正确书写if/else/return 的组合语句:

错误的书写习惯如下:

if (condition)

return a;

return b;

正确的书写方式为:

If( condition )

Return a;

Else

Return b;

或者更改成条件语句:

Return(condition ? a : b );

http://www.cnblogs.com/philips-lu/p/3535249.html


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-1-6 01:40 , Processed in 0.395029 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表