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

 

ifelse组合

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

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分支的条件...如果ifif 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、指针型变量和“零值”比较的时候,把“零值”放在左边,这样当把“==”
误写成“=”时,编译器可以报错,否则这种逻辑错误不容易发现,并且可能导致很严重的后果。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值