第2章 数据和表达式续9.15号.ppt_第1页
第2章 数据和表达式续9.15号.ppt_第2页
第2章 数据和表达式续9.15号.ppt_第3页
第2章 数据和表达式续9.15号.ppt_第4页
第2章 数据和表达式续9.15号.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、2.5基本运算符和表达式,2.5.1基本运算符2.5.1.1算术运算符- -*/%其中,模运算符只能用于int和char类型的数据,其他运算符可以用于任何基本数据类型。 注意,在除法运算符的操作数都是int类型和char类型的数据的情况下,运算结果(商)变为int类型的值,并且小数部分自然丢失。 算术运算还存在溢出问题(参见下面的示例)。 注:如果除法溢出,将导致程序异常结束。#包括主机() inti,j; i=32767; j=i 1; cout i=i t j=j n。 返回0; 中的组合图层性质变更选项。 此示例中的预期输出为i=32767j=32768,实际输出为i=32767j=-3

2、2768。 这是溢出造成的。 整数32767的二进制格式为100000000000000000000000000,方法是将0111 1111 1111 1111加1。 这是-32768的二进制补充代码。 2.5.1.2关系运算符=!=理论上,关系运算的结果必须是逻辑值(“真”或“假”)。 因为c语言中不存在逻辑值,所以关系运算的结果是非零值(通常1,表示逻辑真)或零(表示逻辑假)。 c关系运算的结果是整数值,因此运算结果可用于算术运算。 例: 3 5 )!=0/结果为0 (3 5) 1/结果为2,2.5.1.3逻辑运算符。 sizeof(k)/结果是2,2.5.2式,式是用运算符连接常数、变量

3、的式子。 示例:3* a4/bx1=(-bsqr (b * b-4 * a * c ) )/(2* a ) x 5中的任何表达式都有值。 此值是表达式中每个运算符的最终运算结果。 在单一变量或单一一定数这样的特例式的情况下,其值是变量或常数的值。2.6代入式和类型转换,2.6.1代入式中包含代入运算符的式子称为代入式。 一般的形式是variable=expression。 在赋值表达式中,赋值运算符的左操作数必须是变量,而右操作数必须是任何有效表达式。 赋值表达式的值是其右操作数的值。 赋值运算符必须使右操作数成为表达式,因为赋值表达式是有效的表达式,所以可以使用赋值表达式作为赋值运算符的右操

4、作数来构成所谓的“连接”赋值表达式。 例如,I=j=3* 5,2.6.2增量减法运算符,-增量减法运算符和减法运算符是将操作数(必须是int或char类型的变量)的值加1或减1的赋值运算符。 两个运算符都是一元运算符,但操作数可以位于运算符的左侧(末尾),也可以位于运算符的右侧(前置),因此会对其他运算产生不同的影响。 假设I是int型变量,则增量和减量运算符有i/前置增量- i/前置增量i/后置增量i -/后置减量4种使用形式,对于由单一的增减量式构成的语句,前置和后置的运算结果没有任何区别。 在包含其他运算的公式中,前置和后置的运算结果会产生不同的效果。 例:/i=3; j=i; /j的值

5、是3,I的值是4 k= i; /k的值为5,I的值为5注意:因编译器不同,增减量运算符的处理也不同,所以以下的使用方法存在移植性的问题。 cout i t i endl;2.6.3复合赋值运算符、=-=*=/=%=2.6. 4式的类型转换、c语言支持不同数据类型的混合运算。 如果一个表达式中存在不同类型的数据,编译器将自动转换数据,以确保参与运算的所有数据类型相同,从而确保运算的准确性。 自动转换的一般原则是将短数据转换成成长数据。 例如: f=i j * 0.5,类型变换都是暂时的,应该说明变换不改变变量的数据类型,只改变变量的值。 因此,如果使用不正确,可能会丢失数据精度。例如,如果I,j

6、是int型变量并且j的值是3,则在i=j * 0.3之后,I的值变为0。 2.6.5强制型转换、编译器的自动型转换控制性差,有时无法满足程序的需要。 例如,设I为int型变量,其值为5的f为浮点型变量。 在f=i/4 20.3之后,f的值为21.3,而不是预期的21.55。 强制型转换(cast )是解决这样的问题的有效手段,(type)expression或者type(expression )例子: f=float(i)/4 20.3例子: inti=3,j=5; 在c语言中,type var _ name (表达式); 例如:英寸(3)、j(5);2.7.2 const和volatile修饰符,关键字const和volatile是c语言的两种类型修饰符,两者都可以用于修饰变量。 前者也可以修饰函数。 用const限定的变量称为常数识别符,具有变

温馨提示

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

评论

0/150

提交评论