第四章 4.11.1节练习

来源:互联网 发布:博物馆软件 编辑:程序博客网 时间:2024/06/01 10:05

练习4.34

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

(a) if(fval)

(b) dval = fval + ival;

(c) dval + ival * cval;

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

解答:

(a) float -> bool

(b) int ->float, float -> double

(c) char->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) fval = ui * fval;

(d) cval = ival + fval + dval;

解答:

(a) 没有,这个直接和字面常量相加。

(b) 有,uint -> double, double -> float 

(c)  有,uint ->float

(d)  有,float -> double, int -> double, double -> char


0 0
原创粉丝点击