E设备管理2课件.pptVIP

  • 2
  • 0
  • 约2.71千字
  • 约 39页
  • 2017-04-19 发布于河南
  • 举报
第3章 数据运算 ;本章学习目标 ;3.1 算术运算 ;返回本节;3.用算术运算符和括号将运算对象连接起来的,符合C语法规则的式子,称为C算术表达式。运算对象包括常量、变量、函数等。例如a+b/c * d ,就是一个合法的C算术表达式。 4.C语言规定了运算符的优先级和结合性。在表达式求值时,先按照运算符的优先级别高低次序执行,例如先乘除后加减;如果在一个运算对象两侧的运算符的优先级别相同,例如b/c * d ,则按规定的结合方向处理。C语言规定,算术运算符的结合方向为“自左至右”,即“左结合性”。;3.2 自增(减)运算 ;说明: 1.参加自增(减)运算的运算对象必须是整型变量。 2.自增和自减运算符可用在运算对象之前(称为前置运算),也可放在其后(称为后置运算)。 3.当自增或自减运算符与运算对象变量组成的运算表达式单独组成一条语句时,无论是前置运算,还是后置运算,其结果是一样的,即都是使该变量的值增加1和减少1。 ;4.但是,当自增或自减运算符与其它运算符混合使用时,前置和后置用法是有区别的。 前置运算:自增或自减运算符在变量之前,C语言先执行对该变量的加1或减1操作,然后引用变量的数值作为整个自增或自减表达式的值。 后置运算:自增或自减运算符在变量之后,C语言先引用变量的数值作为整个自增或自减表达式的值,然后执行对该变量的加1或减1操作。 5.++和――的结合方向是“自右至左”。; 3.3 关系运算 ;返回本节;3.关系运算符及相应操作数组成的式子称为关系表达式,其中操作数可以是常量、变量及子表达式(可以是算术表达式或关系表达式、逻辑表达式、赋值表达式等)。 4.关系表达式的值是一个逻辑值,即true(真)或false(假)。在C语言中,关系表达式的值在取得true时为1,在取得false时为0。 5.在等优先级的情况下,关系运算的结合性是“自左至右”。;3.4 逻辑运算 ;返回本节;(1)abc 只有a为真(非0)时,才需要判别b的值;只有a和b都为真时,才需要判别c的值。如果a为假,则不判别b和c的值,整个表达式的值为假。如果a为真,b为假,则不判别c。 (2)a||b||c 只要a为真(非0)时,就不判别b和c的值,整个表达式的值为真。只有a为假,才需要判别b的值;只有a和b都为假时,才需要判别c的值。;3.5 赋值运算 ;3.5.1 赋值运算符 ;说明: 1.当赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换。主要有以下几种情况 : (1)将实型数据(单、双精度)赋给整型变量时,舍弃实数的小数部分。如a为整型变量,执行“a=2.5”的结果是使a的值为2。 ?;(2)将整型数据赋给实型变量(单、双精度)时,数值不变,但以浮点数形式存储到变量中。如将3赋给float变量f,即执行“f=3”,则先将3转换为3.00000,再存储在f中。如将3赋给double变量d,即执行“d=3”,则先将3补足有效位数字为3.00000000000000,然后以双精度类型存储到d中。 2.赋值运算符的优先级比关系运算符和逻辑运算符的优先级别低。见图3.3。 ;3.5.2 复合赋值运算符 ;表3.6 算术赋值运算符 ;说明: 1.参加算术赋值运算的两个运算对象,先进行算术运算,然后将运算结果赋给第一个运算对象。因此,这组运算符要求第一个运算对象必须是变量。 2.由于复合赋值运算符是赋值运算符中的一类,因此其优先级别比其它运算符低。 例如, a+=b-1 等价于 a=a+(b-1) ;3.5.3 赋值表达式 ;3.6 逗号运算 ;说明: 1.逗号表达式的一般形式可以扩展为: 表达式1,表达式2,表达式3,...,表达式n 它依次求解表达式1至表达式n的值,整个逗号表达式的值为表达式n的值。 2.逗号运算符在所有运算符中级别最低。 例如,(a=1,b=2,c=3)求解后,变量a的值为1,b值为2,c值为3,整个表达式的值为3。 又如,表达式(a=1,a+2)的值为3,求解后a值为1。 又如:b=(a=7,a+2),b%3 求解后,变量a值为7,b值为9,表达式值为0。 ;3.7 条件运算 ;说明: 1.条件运算符的优先级别比关系运算符和算术运算符低,比赋值运算符高。 2.条件运算符的结合方向为“自右至左”。如 3.表达式1的类型可以与表达式2和表达式3的类型不同。 4.条件运算表达式中,表达式2和表达式3的类型也可以不同,此时条件表达式的值的类型取二者中较高的类型。 ;3.8 位运算 ;说明: 1.位运算符中,除~外,均为二目(元)运算符,即要求运算符两侧各有一个运算对象。 2.

文档评论(0)

1亿VIP精品文档

相关文档