- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章_c语言学习_运算符与表达式
四川农业大学计算机系 新航线培训 新航线 新航线 第二章 运算符与表达式 2.1 C语言运算符简介 初等运算符 ()[ ] - . 1 自左至右 (一)单目运算符 ! ~ ++ -- - (类型) * sizeof 2 自右至左 算数运算符 * / % 3 自左至右 + - 4 自左至右 (左移右移运算符) 5 自左至右 关系运算符 = = 6 自左至右 == != 7 自左至右 (按位与运算符) 8 自左至右 ^ (按位异或运算符) 9 自左至右 | (按位或运算符) 10 自左至右 逻辑运算符(不包括!) 11 自左至右 || 12 自左至右 (挑)条件运算符 ? : 13 自右至左 (胡)赋值运算符 = += -= *= /= %= = = = ^= |= 14 自右至左 (豆)逗号运算符 , 15 自左至右 口诀:初一算关逻挑胡豆 2.1 C语言运算符简介 运算符的结合性和优先级 运算符的优先级 指不同的运算符在表达式中进行运算的先后次序。如 : a+b*c 当一个运算对象的两侧的运算符的优先级相同时,运算的结合方向称为结合性。运算符的结合性分为左结合(从左向右计算)和右结合(从右向左计算)两种。如:a+b+c 运算符的结合性 表达式 用运算符将操作对象(变量、常量、等)连接起来、符合C语法规则的式子称为表达式。每一个表达式也都具有一定的值。 如:89的值为0,97的值为1,7+9的值为16 2.1 C语言运算符简介 5.5%2 2.2算术运算符和算术表达式 基本算术运算符: + - * / % 取整(/) :两整数相除,结果为整数(去掉小数部分) 例: 5/2 = 2 3 / 4=0 (“/”左右两侧均为整型数据)除法(/) 只要有实型数据就是除法运算 例:-5/2.0 = -2.5 3.0/4=0.75 取余(%):两整数相除,结果为他们的余数;要求“%”两侧必须都为整型数据 如: -5%2= -1 1%10=1 5%1=0 区别:(int)5.5/2 例:求出整数457的个位、十位、百位。 分析: 1.求个位的方法:457%10 2.求十位的方法:457/10%10 3.求百位的方法:457/100 或457/10/10%10 2.2算术运算符和算术表达式 定理:1.任何一个整数除以10取整则去掉这个整数的个位 推理:除以100取整则去掉个位和十位 2.任何一个整数除以10取余则得到这个整数的个位 推理:除以100取余则得到个位和十位 #includestdio.h main() { int a=457; printf(去掉个位后的数=%d,a/10); printf(\n去掉个位和十位后的数=%d,a/100); printf(\n得到个位的数=%d,a%10); printf(\n得到个位和十位的数=%d\n,a%100); } “%d”为格式符,表示:屏幕输出显示时出现“%d”的地方用逗号后面的一个整数值替换。 自增自减运算符 2.2算术运算符和算术表达式 作用:使变量的值增1或减1。 前置: (先执行i=i+1或i=i-1,再使用i值) 如:i=1;a=++i;a=2;(i=2) i=1; a=--i; a=0; (i=0) 后置: (先使用i值,再执行i=i+1或i=i-1) 如: i=1;a=i++;a=1;(i=2) i=1;a=i--;a=1;(i=0) ++ -- 不能用于常量和表达式 如:5++,(a+b)++ #includestdio.h main() { int a,i=1; a=++i; printf(前置时:a=%d i=%d,a,i); i=1; a=i++; printf(\n后置时:a=%d i=%d\n,a,i); } 2.3赋值运算符和赋值表达式 简单赋值运算符 = 如:a=9 复合赋值运算符: += -= *= /= %= = = = ^= |= 例:a+=5 - a=a+ a*=c+5 - a=a*(c+5) =左侧必须是变量,不能是常量或表达式 结合方向:自右向左 例:int x,y; x=3;y=5; 表达式 x%=y/=2的值为? x%=y/=2 先算y/=2 ? y=5/2 y= 2 再算 x%=2 ? x
文档评论(0)