下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 c语言中的自增自减运算符的应用 李芙蓉摘 要:自增、自减运算符是 c 程序设计语言中特有的,在编程过程中经常用到。本文根据自增(自减)运算符的特点, 浅谈自增(自减)运算符在vc+6.0编译器的应用,以期为初学者学习和使用自增(自减)运算符提供一些帮助。关键词:c语言;自增(自减)运算符;表达式:g642 :b :1002-7661(2014)21-009-01c语言功能强大,使用灵活,是初学者的很好的入门语言。而自增(自减)是c语言中比较有特色的运算符,在编程中合理使用可以节省代码,提高效率;但是如果使用不当,则极易造成错误。本文根据自增
2、(自减)运算符的特点, 浅谈自增(自减)运算符在vc+6.0编译器的应用,以期为初学者学习和使用自增(自减)运算符提供一些帮助。一、自增(自减)运算符的含义及使用形式1、自增自减运算符的含义c语言的自增和自减运算符分别是:+,-。作用是使变量的值加1或减1,它们能操作的对象只能是变量,常量不能进行自增(自减)运算。如7+相当于7=7+1,和赋值表达式的要求不相符。特别要注意的是在c语言中,数组名和函数名都属于常量,因此不能进行自增(自减)运算。表达式也不能进行自增(自减)运算。如(a+b)-,等价于a+b=a+b-1,不符合赋值表达式的要求。自增(自减)运算符具有对运算量重新赋值的功能,故不能
3、对无存储空间的对象进行重新赋值。2、自增(自减)运算符的使用形式自增(自减)运算符作用于变量之前称为前缀运算(+i或-i),运算符作用于变量之后称为后缀运算(i+或i-)。前缀运算规则为:“先变后用”,即,加(减)号在前,先加(减)后用;运算结果:变量的值相应增加1(减少1)。后缀运算规则为:“先用后变”,即,加(减)号在后,先用后加(减);运算结果:变量的值相应增加1(减少1)。二、自增(自减)运算符的灵活运用“+、-”运算符在 c 语言程序中的运用非常广,也非常灵活,现通过例子说明。1、自增(自减)运算符在表达式中的应用例 #includevoid main()int i=3,j=3,p,
4、q;p=+i;q=j+;printf("%d,%d,%d,%dn",p,q,i,j);运行程序,输出结果为:4,3,4,4分析:是前缀,“先变后用”。即先执行i=i+1,在执行p=i。因此i和p的值都是4。是后缀,“先用后变”。即先执行q=j,在执行j=j+1。因此q的值为3,j的值为4。2、自增(自减)运算符的混合应用设i的初值为4,求表达式p=(i+)+(i+)+(i+);自增运算作为后缀式,其运算优先级低于求和运算。相当于先执行p=i+i+i,在执行i+,i+,i+。因此p的值为12,i的值为7。而表达式p=(+i)+(+i)+(+i);自增运算作为前缀式,其运算优先
5、级高于求和运算。故先按照“自右至左”的结合性进行两次自增运算即+i,+i,i的值变为6,获得满足第一个求和运算符两侧的操作数要求进行6+6求和运算,然后将和值(12)与变量i的第三次自增值(i=7)进行第二次求和运算(12+7)即p=(+i)+(+i)+(+i)=(6+6)+7=19,最后i的值为7。关于自增(自减)运算符的在混合应用中的规则我们可以理解为,若作前缀形式,其运算优先级高于其它算术运算,即先按照“从右至左”的结合性进行自增(自减)运算,再进行其它运算;若为后缀形式,其运算优先级低于其它算术运算,即先进行其它算术运算,再按照“从右至左”的结合性进行自增(自减)运算。3、自增(自减)
6、运算符在函数调用中的应用在调用函数时,对函数参数的求值顺序是自右至左。例如:i=4; printf("%d,%d",+i,+i);上面printf函数中遵循从右至左的求值顺序,先求出第2个表达式 +i 的值 5,然后求第1个表达式+i的值6,最后再从左到右输出每个表达式+i的值:6,5。i=4; printf("%d,%d",i+,i+);上面输出函数执行顺序仍为从右向左,第2个表达式i+的值为4,此时变量i并没有立即自增,所以第1个表达式i+的值仍为4。最后再从左到右输出每个表达式i+的值:4,4。当输出函数执行完成之后,变量i执行i+操作,一共执行了
7、2次,i的值为6。4、自增(自减)运算符在循环结构中的应用在循环语句while,do while和for中都有类似“i+;”或“i-;”这样由变量和自增自减运算符构成的赋值语句充当使循环趋于结束的语句,目的是为了避免程序出现死循环。例#includevoid main()int s=0,i;for(i=1;i<=20;i+)s=s+i;printf("%dn",s); 分析:当循环变量i=21时,条件不成立,循环结束。在循环表达式中出现的自增自减运算符可看做独立的语句,+i 和i+最终都使得循环变量i的值自增,所以没有分别,等价于i=i+1。三、结束语自增、自减运算符
8、是 c 程序设计语言中特有的,在编程过程中经常用到,但对于初学者而言,往往感到难以理解这两个运算符的运算实质,因此使用自增自减运算符时要特别小心,仔细考虑,否则会得到莫名其妙的结果,对于初学者在学习中应该多分析,同时也应多上机练习。希望通过对此所作的探讨,能够使初学者正确理解自增、自减运算符的作用和意义。参考文献:1 谭浩强.c程序设计m.3版.北京:清华大学出版社,2005.2 梁海英.c语言程序设计.清华大学出版社.20133 朱承学.c语言程序设计教程 m.中国水利水电出版社.2004. 摘 要:自增、自减运算符是 c 程序设计语言中特有的,在编程过程中经常用到。本文根据自增(自减)运算
9、符的特点, 浅谈自增(自减)运算符在vc+6.0编译器的应用,以期为初学者学习和使用自增(自减)运算符提供一些帮助。关键词:c语言;自增(自减)运算符;表达式:g642 :b :1002-7661(2014)21-009-01c语言功能强大,使用灵活,是初学者的很好的入门语言。而自增(自减)是c语言中比较有特色的运算符,在编程中合理使用可以节省代码,提高效率;但是如果使用不当,则极易造成错误。本文根据自增(自减)运算符的特点, 浅谈自增(自减)运算符在vc+6.0编译器的应用,以期为初学者学习和使用自增(自减)运算符提供一些帮助。一、自增(自减)运算符的含义及使用形式1、自增自减运算符的含义c
10、语言的自增和自减运算符分别是:+,-。作用是使变量的值加1或减1,它们能操作的对象只能是变量,常量不能进行自增(自减)运算。如7+相当于7=7+1,和赋值表达式的要求不相符。特别要注意的是在c语言中,数组名和函数名都属于常量,因此不能进行自增(自减)运算。表达式也不能进行自增(自减)运算。如(a+b)-,等价于a+b=a+b-1,不符合赋值表达式的要求。自增(自减)运算符具有对运算量重新赋值的功能,故不能对无存储空间的对象进行重新赋值。2、自增(自减)运算符的使用形式自增(自减)运算符作用于变量之前称为前缀运算(+i或-i),运算符作用于变量之后称为后缀运算(i+或i-)。前缀运算规则为:“先
11、变后用”,即,加(减)号在前,先加(减)后用;运算结果:变量的值相应增加1(减少1)。后缀运算规则为:“先用后变”,即,加(减)号在后,先用后加(减);运算结果:变量的值相应增加1(减少1)。二、自增(自减)运算符的灵活运用“+、-”运算符在 c 语言程序中的运用非常广,也非常灵活,现通过例子说明。1、自增(自减)运算符在表达式中的应用例 #includevoid main()int i=3,j=3,p,q;p=+i;q=j+;printf("%d,%d,%d,%dn",p,q,i,j);运行程序,输出结果为:4,3,4,4分析:是前缀,“先变后用”。即先执行i=i+1,在
12、执行p=i。因此i和p的值都是4。是后缀,“先用后变”。即先执行q=j,在执行j=j+1。因此q的值为3,j的值为4。2、自增(自减)运算符的混合应用设i的初值为4,求表达式p=(i+)+(i+)+(i+);自增运算作为后缀式,其运算优先级低于求和运算。相当于先执行p=i+i+i,在执行i+,i+,i+。因此p的值为12,i的值为7。而表达式p=(+i)+(+i)+(+i);自增运算作为前缀式,其运算优先级高于求和运算。故先按照“自右至左”的结合性进行两次自增运算即+i,+i,i的值变为6,获得满足第一个求和运算符两侧的操作数要求进行6+6求和运算,然后将和值(12)与变量i的第三次自增值(i
13、=7)进行第二次求和运算(12+7)即p=(+i)+(+i)+(+i)=(6+6)+7=19,最后i的值为7。关于自增(自减)运算符的在混合应用中的规则我们可以理解为,若作前缀形式,其运算优先级高于其它算术运算,即先按照“从右至左”的结合性进行自增(自减)运算,再进行其它运算;若为后缀形式,其运算优先级低于其它算术运算,即先进行其它算术运算,再按照“从右至左”的结合性进行自增(自减)运算。3、自增(自减)运算符在函数调用中的应用在调用函数时,对函数参数的求值顺序是自右至左。例如:i=4; printf("%d,%d",+i,+i);上面printf函数中遵循从右至左的求值顺
14、序,先求出第2个表达式 +i 的值 5,然后求第1个表达式+i的值6,最后再从左到右输出每个表达式+i的值:6,5。i=4; printf("%d,%d",i+,i+);上面输出函数执行顺序仍为从右向左,第2个表达式i+的值为4,此时变量i并没有立即自增,所以第1个表达式i+的值仍为4。最后再从左到右输出每个表达式i+的值:4,4。当输出函数执行完成之后,变量i执行i+操作,一共执行了2次,i的值为6。4、自增(自减)运算符在循环结构中的应用在循环语句while,do while和for中都有类似“i+;”或“i-;”这样由变量和自增自减运算符构成的赋值语句充当使循环趋于结
15、束的语句,目的是为了避免程序出现死循环。例#includevoid main()int s=0,i;for(i=1;i<=20;i+)s=s+i;printf("%dn",s); 分析:当循环变量i=21时,条件不成立,循环结束。在循环表达式中出现的自增自减运算符可看做独立的语句,+i 和i+最终都使得循环变量i的值自增,所以没有分别,等价于i=i+1。三、结束语自增、自减运算符是 c 程序设计语言中特有的,在编程过程中经常用到,但对于初学者而言,往往感到难以理解这两个运算符的运算实质,因此使用自增自减运算符时要特别小心,仔细考虑,否则会得到莫名其妙的结果,对于初学者
16、在学习中应该多分析,同时也应多上机练习。希望通过对此所作的探讨,能够使初学者正确理解自增、自减运算符的作用和意义。参考文献:1 谭浩强.c程序设计m.3版.北京:清华大学出版社,2005.2 梁海英.c语言程序设计.清华大学出版社.20133 朱承学.c语言程序设计教程 m.中国水利水电出版社.2004. 摘 要:自增、自减运算符是 c 程序设计语言中特有的,在编程过程中经常用到。本文根据自增(自减)运算符的特点, 浅谈自增(自减)运算符在vc+6.0编译器的应用,以期为初学者学习和使用自增(自减)运算符提供一些帮助。关键词:c语言;自增(自减)运算符;表达式:g642 :b :1002-76
17、61(2014)21-009-01c语言功能强大,使用灵活,是初学者的很好的入门语言。而自增(自减)是c语言中比较有特色的运算符,在编程中合理使用可以节省代码,提高效率;但是如果使用不当,则极易造成错误。本文根据自增(自减)运算符的特点, 浅谈自增(自减)运算符在vc+6.0编译器的应用,以期为初学者学习和使用自增(自减)运算符提供一些帮助。一、自增(自减)运算符的含义及使用形式1、自增自减运算符的含义c语言的自增和自减运算符分别是:+,-。作用是使变量的值加1或减1,它们能操作的对象只能是变量,常量不能进行自增(自减)运算。如7+相当于7=7+1,和赋值表达式的要求不相符。特别要注意的是在c
18、语言中,数组名和函数名都属于常量,因此不能进行自增(自减)运算。表达式也不能进行自增(自减)运算。如(a+b)-,等价于a+b=a+b-1,不符合赋值表达式的要求。自增(自减)运算符具有对运算量重新赋值的功能,故不能对无存储空间的对象进行重新赋值。2、自增(自减)运算符的使用形式自增(自减)运算符作用于变量之前称为前缀运算(+i或-i),运算符作用于变量之后称为后缀运算(i+或i-)。前缀运算规则为:“先变后用”,即,加(减)号在前,先加(减)后用;运算结果:变量的值相应增加1(减少1)。后缀运算规则为:“先用后变”,即,加(减)号在后,先用后加(减);运算结果:变量的值相应增加1(减少1)。
19、二、自增(自减)运算符的灵活运用“+、-”运算符在 c 语言程序中的运用非常广,也非常灵活,现通过例子说明。1、自增(自减)运算符在表达式中的应用例 #includevoid main()int i=3,j=3,p,q;p=+i;q=j+;printf("%d,%d,%d,%dn",p,q,i,j);运行程序,输出结果为:4,3,4,4分析:是前缀,“先变后用”。即先执行i=i+1,在执行p=i。因此i和p的值都是4。是后缀,“先用后变”。即先执行q=j,在执行j=j+1。因此q的值为3,j的值为4。2、自增(自减)运算符的混合应用设i的初值为4,求表达式p=(i+)+(i
20、+)+(i+);自增运算作为后缀式,其运算优先级低于求和运算。相当于先执行p=i+i+i,在执行i+,i+,i+。因此p的值为12,i的值为7。而表达式p=(+i)+(+i)+(+i);自增运算作为前缀式,其运算优先级高于求和运算。故先按照“自右至左”的结合性进行两次自增运算即+i,+i,i的值变为6,获得满足第一个求和运算符两侧的操作数要求进行6+6求和运算,然后将和值(12)与变量i的第三次自增值(i=7)进行第二次求和运算(12+7)即p=(+i)+(+i)+(+i)=(6+6)+7=19,最后i的值为7。关于自增(自减)运算符的在混合应用中的规则我们可以理解为,若作前缀形式,其运算优先级高于其它算术运算,即先按照“从右至左”的结合性进行自增(自减)运算,再进行其它运算;若为后缀形式,其运算优先级低于其它算术运算,即先进行其它算术运算,再按照“从右至左”的结合性进行自增(自减)运算。3、自增(自减)运算符在函数调用中的应用在调用函数时,对函数参数的求值顺序是自右至左。例如:i=4; printf("%d,%d",+i,+i);上面printf函数中遵循从右至左的求值顺序,先求出第2个表达式 +i 的值 5,然后求第1个表达式+i的值6,最后再从左到右输出每个表达式+i的值:6,5。i=4; printf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能制造企业环境污染控制方案
- 2026届山西省临汾市侯马市502学校化学高一上期中质量跟踪监视模拟试题含解析
- 江西省南昌十中2026届化学高二第一学期期末学业水平测试模拟试题含答案
- 生产计划安排及物料采购协调方案
- 2025中国教育培训行业数字化转型现状与前景报告
- 2025中国教育国际化行业市场发展分析及投资潜力评估研究报告
- 2025中国教育人工智能市场分析与发展战略研究报告
- 2025中国工业软件市场供需状况及竞争格局分析报告
- 2025中国工业设计服务市场需求变化与竞争态势报告
- 员工培训计划制定与实施方案工具
- 《师范硬笔书法教程(第2版)》全套教学课件
- 三门峡水利工程案例分析工程伦理
- 学前教育职业生涯人物访谈
- 基本消防知识考试题库200题(通用版)
- 心衰病慢性心力衰竭中医诊疗方案
- 视频监控系统调试记录
- 矩阵论智慧树知到课后章节答案2023年下哈尔滨工程大学
- 少先队辅导员大赛知识竞赛题库含答案
- 《思想道德与法治》课件第四章明确价值要求践行价值准则第三节积极践行社会主义核心价值观
- 富氧节能环保燃烧技术介绍
- 例谈初中道法学科指向核心素养课堂教学的达成 论文
评论
0/150
提交评论