[理学]C语言大学实用教程第3章讲稿.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]C语言大学实用教程第3章讲稿

第3章 数据类型运算符和表达式 ⑵ C语言运算符的优先级和结合性 优先级:是指当没有括号时,两个相邻的运算符在一起时运算的执行次序。 结合性:是指当一个操作数两侧的运算符具有相同的优先级时,该操作数是先与左边的运算符结合,还是先与右边的运算符结合。 自左至右的结合方向,称为左结合性。反之,称为右结合性。结合性是C语言的独有概念。除单目运算符、赋值运算符和条件运算符是右结合性外,其它运算符都是左结合性。 ⑶ 表达式的写法 书写表达式时必须注意各种运算符的优先级和结合方式,并注意适当地使用括号,否则,就得不到正确的表达式。 ⑷ 表达式求值 ① 按运算符的优先级高低次序执行。例如,先乘除后加减。 ② 如果在一个运算对象(或称操作数)两侧的运算符的优先级相同,则按C语言规定的结合方向(结合性)进行。 3 算术运算和算术表达式 ⑴ 算术表达式的概念 用算术运算符和括号将运算对象连接起来的、符合C语言语法规则的式子。 或者说,表达式中的运算符都是算术运算符。 例如: 3+6*9、(x + y)/2 - 1等,都是算术表达式。 算术运算符的结合方向是“自左至右”,即:在执行“a – b + c”时,变量b先与减号结合,执行“a - b”;然后再执行加c的运算。 ⑵ 五种基本算术运算符 + (加法/正号) 、-(减法/取负)、*、/、%(求余数) ① 关于除法运算/ C语言规定:两个整数相除,其商为整数,小数部分被舍弃。例如,5 / 2 = 2。 ② 关于求余数运算% 要求两侧的操作数均为整型数据,否则出错。 ⑶ 自增(++)、自减(--)运算 ① 作用 自增运算使单个变量的值增1,自减运算使单个变量的值减1。 ② 用法与运算规则 自增、自减运算符都有两种用法: 前置运算──运算符放在变量之前: ++变量名、--变量名 先使变量的值增(或减)1,然后再以变化后的值参与其它运算,即先增减、后运算。 后置运算──运算符放在变量之后: 变量++ 、变量— 变量先参与其它运算,然后再使变量的值增(或减)1,即先运算、后增减。 例1:自增、自减运算符的用法与运算规则示例。 main() { int x=6, y; printf(x=%d\n,x); /*输出x的初值*/ y = ++x; /*前置运算*/ printf(y=++x: x=%d,y=%d\n,x,y); y = x--; /*后置运算*/ printf(y=x--: x=%d,y=%d\n,x,y); } 程序运行结果: x=6 y=++x: x=7,y=7 y=x--: x=6,y=7 思考题:如果将案例“y=++x;”语句中的前置运算改为后置(y=x++;),“y=x--;”语句中的后置运算改为前置(y=--x;),程序运行结果会如何? ③ 说明 自增、自减运算,常用于循环语句中,使循环控制变量加(或减)1,以及指针变量中,使指针指向下(或上)一个地址。 自增、自减运算符,只能能用于整型变量,不能用于常量和表达式。 例如,5++、--(a+b)等都是非法的。 在表达式中,连续使同一变量进行自增或自减运算时,很容易出错,所以最好避免这种用法。 1 赋值运算 赋值号“=”就是赋值运算符,它的作用是将赋值号右边的表达式的值赋给赋值号左边变量。 赋值运算符的一般形式为: 变量名=赋值表达式 例如,x = 5 y = (float)5 / 2 如果表达式值的类型,与被赋值变量的类型不一致,但都是数值型或字符型时,系统自动将表达式的值转换成被赋值变量的数据类型,然后再赋给变量; 3.8 赋值运算与赋值表达式 将浮点数赋给整型变量:舍弃浮点数的小数部分; 将整型数据赋给浮点型变量:数值不变,但以浮点数形式存储在变量; 将字符处理为无符号数或对unsigned char型变量赋值:字符的8位放在整型变量的低8位,高8位全为0; 将字符处理为带符号的整数:若字符的最高位为0,则整型变量的高8位全补0;若字符的最高位为1,则整型变量的高8位全补1 ; 将带符号的整型赋给long int型变量时:要进行符号扩展:若整型变量是正数,则long int 的高16位全补0;若整型变量是负数,则long int 的高16位全补1;将整型变量的16位送到long int 的低16位,以保持数值不变。 2 复合赋值运算 复合赋值运算符是由赋值运算符之前再加一个双目运算符构成的。复合赋值运算的一般格式为: 变量名

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档