zoukankan      html  css  js  c++  java
  • 练习4.34、4.35

    4.34:根据本节给出的变量定义,说明在下面的表达式中将发生什么样的类型转换:

    a) if  (fval)  b)dval =fval + ival;  c) dval + ival * cval;

    需要注意每种运算符遵循的是左结合律还是右结合律。

    Ans:a) float类型会转换成bool类型;

        b)首先ival会转换成float类型,然后再转换成double类型。

        c)cval会转换成int类型,然后int类型会转换成double类型。

    4.35:假设有如下的定义,

    char cval;  int ival;  unsigned int ui;

    float fval;   double dval;

    请回答在下面的表达式中发生了隐式转换吗?如果有,请指出来。

    (a) cval= ' a '+ 3;  (b) fval = ui - ival*1.0;

    (c) dval = ui * fval;   (d) cval=ival + fval +dval;

    Ans:a) 发生了隐式转换,赋值运算符的右侧,' a '转换成int类型,然后根据左值的类型,int类型转换成char类型。

         b)发生了隐式转换,赋值运算符的右侧,ival转换成了double类型,然后ui会转换成double类型,再根据左值的类型,double类型转换成float类型。

         c)发生了隐式转换,赋值运算符的右侧,ui转换成float类型,然后根据左值的类型,float类型转换成double类型。

         d)发生了隐式转换,赋值运算符的右侧,首先ival转换成float类型,然后float类型再转换成double类型,根据左值的类型,double类型转换成char类型。

  • 相关阅读:
    开源数据采集组件比较: scribe、chukwa、kafka、flume
    主流开源SQL(on Hadoop)总结
    Hive over HBase和Hive over HDFS性能比较分析
    开源Astro(SparkSQL On HBase)
    ML: 降维算法-LE
    ML: 降维算法-LLE
    Blender使用基础
    Cycles渲染研究测试效果图
    vs2008所有DTE.ExecuteCommand命令
    come on,逆战
  • 原文地址:https://www.cnblogs.com/Dark-King/p/9450785.html
Copyright © 2011-2022 走看看