C++程序设计-大模型思维与实践课件 第03章 顺序结构程序设计-进阶内容_第1页
C++程序设计-大模型思维与实践课件 第03章 顺序结构程序设计-进阶内容_第2页
C++程序设计-大模型思维与实践课件 第03章 顺序结构程序设计-进阶内容_第3页
C++程序设计-大模型思维与实践课件 第03章 顺序结构程序设计-进阶内容_第4页
C++程序设计-大模型思维与实践课件 第03章 顺序结构程序设计-进阶内容_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章顺序结构程序设计进阶内容C++程序设计——大模型思维与实践2

隐式类型转换:进行算术运算时,如果参与运算的两个操作数类型不同(称为混合数据类型运算),编译器会按照一定的规则将这两个操作数转换为同一类型,以确保运算的准确性和效率。

数据类型高低等级的大致规律为:(1)数值范围大的高于数值范围小的,例如float>longlong。(2)占用空间多的高于占用空间少的,例如double>float、longlong>int。

数据类型的高低等级3-2-1算术运算中的类型转换unsignedlonglong处在哪个位置?3纵向的箭头表示必然的转换,横向的箭头表示根据需要进行转换。在算术运算前,两个操作数的类型将进行以下转换:如果存在short、char、bool类型,无条件将它们提升为int类型。完成第1个转换后,如果两个操作数的类型不相同,则按照图中横向箭头方向将低类型操作数的类型提升到另一个操作数的类型(高类型)。注意,横向箭头不代表转换所必经的中间过程,类型提升将一步到位。完成转换后,两个类型相同的操作数参与运算,得到的结果类型与转换后的操作数类型相同。数据类型的高低等级4以下情况中,参与运算的类型(被提升)为int,结果类型也为int:

‘b’-’a’//将字符提升为int类型进行运算,结果为int类型的1

‘b’+2//将字符提升为int类型进行运算,结果为int类型的99

5/2//两个操作数都为int类型,结果为int类型(即整除)

inti=2147483647;longlongresult=i+1;//其中,i为int的最大值。i+1进行计算时,两个操作数类型都为int,结果也为int,导致溢出,运算结果发生错误。

shorts=32767;intresult=s+s;//其中,s为short的最大值。s+s运算时,先将s提升为int类型进行计算,结果为int类型,不会溢出,结果正确。数据类型的高低等级5以下情况中,两个操作数类型不相同,低类型会被转换为高类型进行运算,结果类型也为高类型:

5/2.0//将5转换为double类型,结果为double类型

inti=2147483647;longlongresult=i+1LL;//其中1LL常量的类型为longlong,因此,i也将转换为longlong参与计算,计算结果也为longlong,结果不会溢出。

floatf=5.5;f*2;//计算f*2时,将2的类型转换为float类型然后再计算,结果为float类型。数据类型的高低等级6理解这些转换规则对于编写正确的C++代码至关重要。思考:3/4的结果是0而不是0.75?代码inti=2147483647;longlongresult=i+1;,其

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论