C语言程序设计 教学课件 ppt 作者 张强华 吕新平 第4章

上传人:E**** 文档编号:89370334 上传时间:2019-05-24 格式:PPT 页数:21 大小:83KB
返回 下载 相关 举报
C语言程序设计 教学课件 ppt 作者  张强华 吕新平 第4章_第1页
第1页 / 共21页
C语言程序设计 教学课件 ppt 作者  张强华 吕新平 第4章_第2页
第2页 / 共21页
C语言程序设计 教学课件 ppt 作者  张强华 吕新平 第4章_第3页
第3页 / 共21页
C语言程序设计 教学课件 ppt 作者  张强华 吕新平 第4章_第4页
第4页 / 共21页
C语言程序设计 教学课件 ppt 作者  张强华 吕新平 第4章_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《C语言程序设计 教学课件 ppt 作者 张强华 吕新平 第4章》由会员分享,可在线阅读,更多相关《C语言程序设计 教学课件 ppt 作者 张强华 吕新平 第4章(21页珍藏版)》请在金锄头文库上搜索。

1、第4章 基本运算符和表达式,4.1 运算符的种类 4.2 算术运算符 4.3 自增自减运算符 4.4 表达式 4.5 逻辑运算 4.6 条件运算符和条件表达式,退出,4.1 运算符的种类,1. 算术运算符 用于各类数值运算,包括加(+)、减(-)、乘(*)、除(/)、求余%(或称模运算)。它们是双目运算符,在使用需要两个运算量参与运算。 2. 关系运算符 用于比较运算。包括大于()、小于(=)、小于等于(=)和不等于(!=)六种。 3. 逻辑运算符 用于逻辑运算。包括与(&)、或(|)、非(!)三种。,4. 自增、自减运算符 包括+与-。 5. 位操作运算符 参与运算的量,按二进制位进行运算。

2、包括位与(&)、位或(|)、位非()、位异或()、左移()六种。 6. 赋值运算符 用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,=,=,=)三类共十一种。 7. 条件运算符 这是一个三目运算符,用于条件求值(?:)。,8. 逗号运算符 用于把若干表达式组合成一个表达式(,)。 9. 指针运算符 用于取内容(*)和取地址(&)二种运算。 10. 求字节数运算符 用于计算数据类型所占的字节数(sizeof)。 11. 特殊运算符 有括号(),下标等。,4.2 算术运算符,1. 加法运算符“+” 加法运算符为双目运算符,即有两个量参与加

3、法运算。如x+y,5+6等。这与一般的数学加法运算相一致。比较容易理解。下述的减法运算符和乘法运算符也一样。 2. 减法运算符“-” 作为减法运算符时为双目运算符,如x-y,6-5等。作为负值运算符时为单目运算,如-y,-8等。 3. 乘法运算符“*” 双目运算,如x*y,5*6等。,4. 除法运算符“/” 除法运算符与我们在中学数学中所学的计算规则有很大的不同。与参与运算量的数据类型有关。具体地说,分为以下两类: 其一,参与运算量均为整型时,结果也为整型,舍去小数。 其二,如果运算量中有一个是实型,则结果为双精度实型。 应该特别注意出发运算的规则,按原来的数学运算规则去推断,可能出现一些意想

4、不到的错误结果。 5. 求余运算符(模运算符)“%” 该运算的实质是求余数。参与运算的量必须均为整型。求余运算的结果的符号与被除数相同(这一点应特别注意),其值等于两数相除后的余数。 对于求余运算,应该从其结果的符号和值两方面来理解。,6. 不同数值类型间的混合运算 整型、单精度型、双精度型的不同数值类型可以进行混合运算。因为字符型数值可以看作整型,故整型、实型(包括单精度型与双精度型)及字符型之间可进行混合运算。这样一来,字符型数也纳入了数值运算体系之中。但是,在运算时,不同类型数值必须转换为同一类型数值。其转换规律是:自动转换(由系统自动进行,无须干预),就高不就低(把低级类型转换为高级类

5、型,再进行运算)。转换等级如下: 低级 高级 字符型 整型 浮点型 双精度型 【例4-1】(见课本),4.3 自增自减运算符,自增运算符为“+”(两个加号),其作用是把变量的值增加1。自减运算符为“-”(两个减号),其作用是使变量值减少1。自增自减运算符均为单目运算,只需要一个运算量。它可有以下几种形式: +i i自增1后再参与其它运算。简单地说,先加后用。 -i i自减1后再参与其它运算。简单地说,先减后用。 i+ i先参与运算后,i的值再自增1。简单地说,先用后加。 i- i先参与运算后,i的值再自减1。简单地说,先用后减。,在使用自增自减运算符时应注意以下几点: 只能用于变量,不能用于常

6、量。因为常量的值不能改变。所以不能使用如:10+、8-、-6。如果字符a表示一个常量,则也不能使用a+这样的形式; 对于多个变量的运行结果,也不能使用。例如,(x+y+z)+是不能使用的,因为其结果不能保存在其中的任何一个变量中; 当自增自减运算符与其他运算符结合使用时,应注意其具有“自右向左”结合的特性。 【例4-2】(见课本),4.4 表达式,4.4.1 强制转换与优先级 依据表达式的运算结果可以把它分为整型、实型及字符型等。如果不作特殊处理,表达式结果的数值类型根据数值混合运算的规则进行转换,具体数值有组成表达式的各项计算而得。 根据编程的要求,也可以实行强制转换。强制转换格式为: (类

7、型) 表达式 使用此格式可以把表达式的值强制转换为(类型)所规定的类型,这种转换不遵照“由低到高”的规则。(类型)可以为: char,int,float,double等。 【例4-3】(见课本),由此可以看到不同的运算有不同的优先级。表达式的优先规则为: (1). 函数计算最优先 (2). 其次类型转换 (3). 自增(+)、自减(-)与取反(-)次之 (4). 先乘除,后加减 (6). 有括号先算括号内 关于优先级的详细情况,请参考“表4.1 运算符一览表”。 关于表达式求值时应注意几个问题:其一,表达式中各类数据在参与计算时的数据类型是否一致,若不一致则需要转换,这时候要注意默认转换的规律

8、或者采用强制转换;其二,计算表达式时的优先级的问题,即先算什么、后算什么;其三,结合性的问题,是“左结合”还是“右结合”,这决定是“从左往右算”还是“从右往左算”。特别要注意的确是,在一个表达式中,可能既有“左结合”又有“右结合”存在,此时应十分小心。这些内容,必须通过一定大量的练习和上机验证才能掌握。,4.4.2 算术表达式 算术表达式是由算术运算符和括号连接起来的式子。 应该注意,在C语言中使用的算术运算符与中学所学的不同。以“/”表示除,以“*”表示乘。例如:“5/7”表示“5除以7”、“3*4”表示“3乘以4”。 4.4.3 赋值运算符和表达式 1 简单赋值 赋值运算符记为“=”。由“

9、= ”连接的式子称为赋值表达式。其一般形式为: 变量=表达式 例如:z=x+y、w=sin(a)+sin(b)、k=i+ 赋值表达式的功能是计算表达式的值再赋予左边的变量。,2 连续赋值 也可以采用连续赋值的方法,其格式为: 变量1=变量2=变量3=. . 变量n=表达式 此时,计算表达式的值,并赋给这一系列变量。 3 赋值语句与赋值表达式 在其它高级语言中,赋值构成了一个语句,称为赋值语句。 而在C中,把“=”定义为运算符,从而组成赋值表达式。 凡是表达式可以出现的地方均可出现赋值表达式。 在C语言中也可以组成赋值语句,任何表达式在其未尾加上分号就成为语句。因此如x=8;a=b=c=5;都是

10、赋值语句。,4 赋值转换 如果赋值运算符两边的数据类型不相同, 系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。具体规定如下: 实型赋予整型,舍去小数部分; 整型赋予实型,数值不变,但将以浮点形式存放, 即增加小数部分(小数部分的值为0); 字符型赋予整型,由于字符型为一个字节, 而整型为二个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0; 整型赋予字符型,只把低八位赋予字符量。 【例4-4】(见课本),4.4.4 逗号运算符和逗号表达式 在C语言提供了一种特殊的运算符号,称为逗号运算符,用来把两个表达式连接起来,相当于一个表达式。其一般形式为: 表达式1,表达式2

11、 【例4-5】(见课本) 逗号表达式可以嵌套,即表达式1和表达式2 也可以是逗号表达式。 逗号表达式的一般形式为: 表达式1,表达式2,. .表达式n 整个逗号表达式的最终值等于表达式n的值。,4.5 逻辑运算,4.5.1 关系运算 关系运算实际上就是比较运算,就是将两值进行比较,判断是否符合给定的条件。比较两个量的运算符称为关系运算符。 关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,,=的优先级相同,高于=和!=,=和!=的优先级相同。 4.5.2 关系表达式 由关系运算符连接起来的表达式称为关系表达式,如:a6就是一个关系表达式。具体讲,当a=8时,此关系表达式的值

12、为真。用1表示关系表达式为真,用0表示关系表达式为假。关系表达式的一般形式为: 表达式 关系运算符 表达式 上述的一般形式中,表达式也可以是关系表达式,此时,则出现了关系表达式的嵌套。 【例4-6】(见课本),4.5.3 逻辑运算符 C语言中提供了三种逻辑运算符。 &和|为双目运算符,要求两个运算量。!为单目运算符,要求一个运算量。逻辑运算符和其它运算符优先级的关系可表示如下: ! 优先于算术运算符和赋值运算符。 & | 优先于赋值运算符,但低于算术运算和关系运算。 按照运算符的优先顺序可以得出: ab & cd 等价于 (ab) & (cd) !b=c|dc & x+yc) & (x+y)b

13、),逻辑运算的值也为“真”和“假”两种,用“1”和“0 ”来表示。而参与逻辑运算的量可以是0(表示假)或非0(表示真)。其求值规则如下: 与运算:表达式1 & 表达式2。当表达式1 的值和表达式2的值均为真时,整个与运算表达式的值为真;否则为“假”; 或运算:表达式1 | 表达式2。当表达式1 的值或者表达式2的值有一个真时,整个或运算表达式的值为真;当表达式1 的值或者表达式2的值都为假时则为“假”; 非运算:!表达式。当表达式1 的值为真时,非运算表达式的值为假;当表达式的值为假时则为“真”;,4.5.4 逻辑表达式 用逻辑运算符将关系表达式或逻辑量连接起来的表达式叫做逻辑表达式,其一般形

14、式为: 表达式 逻辑运算符 表达式 其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如: (a&b)&c 根据逻辑运算符的左结合性,上式也可写为: a&b&c 逻辑表达式的值是式中各种逻辑运算的最终值,结果只能是“1”和“0”,分别代表“真”和“假”。 【例4-7】(见课本) 【例4-8】(见课本),4.6 条件运算符和条件表达式,条件语句是C语言独有的,它根据条件是否成立而赋予变量不同的值。它有效地增加了程序的效率。 条件运算符有以下两个:?和:。它是C语言中唯一的三目运算符,即有三个元素参与运算。由条件运算符组成条件表达式的一般形式为: 变量=表达式1 ? 表达式2 : 表达式3 其求值规则为:如果表达式1的值为真,则把表达式2的值赋给变量,否则把以表达式3的值赋给变量。 【例4-9】(见课本) 【例4-10】(见课本),使用条件表达式时,还应注意以下几点: 条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。 条件运算符?和:是一对运算符,必须配对使用; 【例4-11】(见课本),

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号