第十讲 运算符和表达式-数据类型转换_第1页
第十讲 运算符和表达式-数据类型转换_第2页
第十讲 运算符和表达式-数据类型转换_第3页
第十讲 运算符和表达式-数据类型转换_第4页
第十讲 运算符和表达式-数据类型转换_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

项目二程序设计基础知识第十讲数据类型转换C语言程序设计任务驱动式教程运算符和表达式C程序基础知识概述数据类型常量变量目录数据类型转换a是一浮点数,计算结果:a=1/2+1/3+1/4=1.08;而运行结果:为0;这是为什么呢?问题导入数据类型转换分类任务十自动类型转换强制类型转换类型转换数据类型转换-----自动类型转换任务十

不同类型的数据共存于同一个表达式中时,按照C语言的规则要转换成同一类型,转换是编译系统自动完成的。doublefloatLongunsignedintchar,short说明:必定的转换运算对象类型不同时转换存储空间小的向存储空间大的转换数据类型转换-----自动类型转换任务十2、“低级向高级转换”原则。例如:inta=1,d; /*定义整型变量a、d*/floatb=2.1; /*定义单精度型变量b*/doublec=3.3; /*定义双精度型变量c*/d=a+b+c;

则计算a+b+c时,先将变量a和变量b都转成double型,然后计算,所得结果为double型。1、如参与运算的变量类型不同,则先转换成同一类型,然后进行运算自动转换遵循三个基本规则:数据类型转换-----自动类型转换任务十3、赋值运算两边的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。d得到的值6仍为整型。因为右边量的数据类型高于左边,故会丢失一部分数据(只保留整数部分)。d=a+b+c;自动转换遵循三个基本规则:数据类型转换-----自动类型转换任务十例如:混合运算:先算优先级别高的“/”混合运算:30.2属于double类型;2属于int类型;a属于char类型混合运算:将a转换为int类型97最后得到的是125.2属于double类型;数据类型转换-----强制类型转换任务十在C语言中,还可以把一种类型的数据强制转换为另一种类型的数据。(1)一般格式(类型标识符)(表达式)(int)2.6(float)a2(2)程序示例浮点型数据强制类型转换为整型数据时,截取浮点数的小数部分,保留整数部分。数据类型转换-----强制类型转换任务十在C语言中,还可以把一种类型的数据强制转换为另一种类型的数据。(1)一般格式(类型标识符)(表达式)(int)(x+y)(2)程序示例算术运算符的优先级要小于强制类型转换运算符,表达式的括号不能省略。数据类型转换-----强制类型转换任务十在C语言中,还可以把一种类型的数据强制转换为另一种类型的数据。(1)一般格式(类型标识符)(表达式)重点提示:当表达式为单一常量或变量时,表达式两侧的括号()可以省略。当浮点型数据转换为整数时,系统采用的是直接截断的方式,而不是四舍五入。对变量进行强制转换后,变量本身的数据类型不变,而是得到一个所需要类型的数据。(int)2.6doublea=3.14;intb;b=(int)a;2a=3.14b=3(2)程序示例技能实训

思考下列语句执行后各变量的类型。练一练技能实训任务十技能实训2.已知:inti;floatf;则有下面表达式值的类型:10+'a'+i*f练一练技能实训任务十这个表达式的运算过程是:第一步,计算i*f,结果为double类型。第二步,计算10+'a',结果为int类型值107。第三步,计算107+i*f

温馨提示

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

评论

0/150

提交评论