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

C++Primer第五版 4.11.1节练习

2015-09-14 17:09 302 查看
练习4.34:根据本节给出的变量定义,说明在下面的表达式中将发生什么样的类型转换:

(a) if (fval) //flaot转换成bool类型
(b) dval = fval + ival;//fval + ival;ival转换成float ,它们的结果转换成double
(c) dval + ival * cval; //cval 转换成int,乘法结果转换成double


练习4.35:假设有如下的定义:

char cval;  int ival; unsigned int ui;
float fval;  double dval;


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

(a) cval = ‘a’ + 3; 
//int类型转换成char类型

(b) fval = ui – ival * 10;
//ival *10 int转换成unsigned类型,最后转换为float类型

(c) dval = ui * fval;
//float转换为unsigned,unsigned 转换为 double

(d) cval = ival + fval + dval; 
//int 转换为float,float转换为double,最后double类型转换为char类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: