[IT认证]C++复习.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[IT认证]C复习

2.5.3 表达式中各类数值型数据间的混合运算 在表达式中常遇到不同类型数据之间进行运算,如 10+′a′+1.5-8765.1234*′b′ 在进行运算时,系统会自动地将不同类型的数据转换成同一类型,然后进行运算。转换的规则按图2.7所示。 图2.7 假设已指定i为整型变量,f为float变量,d为double型变量,e为long型,有下面表达式: 10+′a′+i*f-d/e 运算次序为: ①进行10+′a′的运算,先将′a′转换成整数97,运算结果为107。 ②进行i*f的运算。先将i与f都转换成double型,运算结果为double型。 ③整数107与i*f的积相加。先将整数107转换成双精度数(小数点后加若干个0,即107.000…00),结果为double型。 ④将变量e转换成double型,d/e结果为double型。 ⑤将10+′a′+i*f的结果与d/e的商相减,结果为double型。 上述的类型转换是由系统自动进行的。 2.5.5 强制类型转换运算符 有时程序编制者还可以利用强制类型转换运算符将一个表达式转换成所需类型。例如: (double)a (将a转换成double类型) (int)(x+y) (将x+y的值转换成整型) (float)(5%3) (将5%3的值转换成float型) 强制类型转换的一般形式为 (类型名)(表达式) 强制类型转换 #include iostream using namespace std; int main( ) { float x; int i; x=3.6; i=(int)x; cout″x=″x″,i=″ iendl; return 0; } 运行结果如下: x=3.6,i=3 x的类型为float型,值等于3.6。 由上可知,有两种类型转换,一种是在运算时不必用户指定,系统自动进行的类型转换,如3+6.5。第二种是强制类型转换。当自动类型转换不能实现目的时,可以用强制类型转换。此外,在函数调用时,有时为了使实参与形参类型一致,可以用强制类型转换运算符得到一个所需类型的参数。 2.6.2 赋值过程中的类型转换 如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时会自动进行类型转换。 (1) 将浮点型数据(包括单、双精度)赋给整型变量时,舍弃其小数部分。 (2) 将整型数据赋给浮点型变量时,数值不变,但以指数形式存储到变量中。 (3) 将一个double型数据赋给float变量时,要注意数值范围不能溢出。 (4) 字符型数据赋给整型变量,将字符的ASCII码赋给整型变量。 赋值过程中数据类型转换1 #includeiostream using namespace std; int main() { int a; float b=2.34f; a=b; coutaendl; return 0; } 2 (5) 将一个int、short或long型数据赋给一个char型变量,只将其低8位原封不动地送到char型变量(发生截断)。例如 short int i=289; char c; c=i; //将一个int型数据赋给一个char型变量 赋值情况见图2.8。为方便起见,以一个int型数据占两个字节(16位)的情况来说明。 图2.8 赋值过程中数据类型转换2 #includeiostream using namespace std; int main() { short int a=289; char c; c=a; coutcendl; return 0; } 2.5.4 自增和自减运算符 在C和C++中,常在表达式中使用自增(++)和自减(--)运算符,他们的作用是使变量的值增1或减1,如 ++i(在使用i之前,先使i的值加1,如果i的原值为3,则执行j=++i后,j的值为4) --i (在使用i之前,先使i的值减1,如果i的原值为3,则执行j=--i后,j的值为2) i++ (在使用i之后,使i的值加1,如果i的原值为3,则执行j=i++后,j的值为3,然后i变为4) i--(在使用i之后,使i的值减1,如果i的原值为3,则执行j=i--后,j的值为3,然后i变为2) 写出程序运行结果 #include iostream using namespace std; int main() {int i,j,m,n; i=8; j=10; m=++i+j++; n=(++i)+(++j)+m; couti\tj\tm\tnendl; return

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档