您的位置:首页 > 编程语言 > C语言/C++

7.读c语言深度剖析 -- if else

2011-11-07 10:50 197 查看
 

if、else组合

简单的看下面几个简单的问题:

1  bool变量与“零值”进行比较

bool变量与“零值”进行比较的if语句怎么写?

bool bTestFlag= FALSE

if(bTestFlag); if(!bTestFlag);

 

2  float变量与“零值”进行比较的if语句怎么写?

floatfTestVal=0.0;

if((fTestVal>=-EPSINON) && (fTestVal <= EPSINON));

//EPSINON为定义好的精度。

 

3  指针变量与“零值”进行比较的if语句怎么写?

int*p=NULL;//定义指针一定要同时初始化,指针与数组那章会详细讲解。

if(NULL ==p); if(NULL != p);  NULL写在前边(
编译器认为if (p = NULL)是合法的但会指出if (NULL = p)是错误的,NULL不能被赋值)

4   C语言有这样的规定:else始终与同一括号内最近的未匹配的if语句结合。

5   if语句后面的分号

if(NULL !=p);

fun();

这里的fun()函数并不是在NULL !=p的时候被调用,而是任何时候都会被调用。

相当于

if(NULL !=p)

{

    ;

}

func();  因为编译器会把这个分号解析成一条空语句

 

6语句结构

if( )

.....

else if( )

.....

else if( )

.....

else

如果if中的条件为真,则执行if中的代码块;条件为假,则判断第一个if
else后的条件,

为真执行其中代码,否则再判断第二个if else分支的条件...如果if、if
else//第一个、if else//第二个的条件都不满足,

则执行最后的else中的代码....

--------------------------------------------------------------------------------------------------

面试题1:变量的声明和定义有什么区别

      为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,

但是只在一个地方定义。加入extern 修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分

定义。

      说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间,

如外部变量。

面试题2:写出bool                     、int、float、指针变量与“零值”比较的if 语句

      bool 型数据:

      if( flag )

      {

           A;

      }

      else

      {

           B;

      }

      int 型数据:

      if( 0 != flag )

      {

           A;

      }

      else

      {

 B;

      }

      指针型数:

      if( NULL == flag )

      {

           A;

      }

      else

      {

           B;

      }

      float 型数据:

      if ( ( flag >= NORM ) && ( flag <= NORM ) )

      {

           A ;

   }

    注意:应特别注意在int、指针型变量和“零值”比较的时候,把“零值”放在左边,这样当把“==”

误写成“=”时,编译器可以报错,否则这种逻辑错误不容易发现,并且可能导致很严重的后果。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息