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 );

posted @ 2014-01-27 22:12  philips_lu  阅读(331)  评论(0编辑  收藏  举报