为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

自减运算符探析

2017-12-10 4页 doc 16KB 23阅读

用户头像

is_614050

暂无简介

举报
自减运算符探析自减运算符探析 自减运算符探析 信息技术SCIENCE&TECHNOL0GY.一2011NO.16盔圆 C语言的自增/自减运算符探析 唐淑玲 (大连职业技术学院辽宁大连116038) 摘要:在C语言提供的纷繁复杂的运算符当中,最让人费解的要算自增运算符与自 减运算符了.本文是笔者在C语言教学过程中归纳总 结的白增与白减运算符的具体应用,希望它能对教师的教学与学生的自学有所帮 助. 关键词:c语言自增运算符自减运算符探析 中图分类号:TP3文献标识码:A文章编号:1672-3791(2011)06(a)--O0...
自减运算符探析
自减运算符探析 自减运算符探析 信息技术SCIENCE&TECHNOL0GY.一2011NO.16盔圆 C语言的自增/自减运算符探析 唐淑玲 (大连职业技术学院辽宁大连116038) 摘要:在C语言提供的纷繁复杂的运算符当中,最让人费解的要算自增运算符与自 减运算符了.本文是笔者在C语言教学过程中归纳总 结的白增与白减运算符的具体应用,希望它能对教师的教学与学生的自学有所帮 助. 关键词:c语言自增运算符自减运算符探析 中图分类号:TP3文献标识码:A文章编号:1672-3791(2011)06(a)--O013--01 C语言中的运算符非常丰富,应用范 围也很广,可完成C语言中的除了控制语 句和输入输出以外的几乎所有的基本操 作,灵活使用各种运算符可以实现在其 它高级语言中难以实现的运算.在这些 运算符中,最难理解,最易出错也最为灵 活的便是自增/自减运算符.下面是笔者 在教学过程中归纳总结的自增,自减运 算符的具体应用,并结合运算符优先级 和其本身的特点,对WIN—TC环境下的 自增,自减运算符的功能与运算规则加 以分析说明. 1自增与自减运算符的特点及运算规则 1.1特点 自增与白减运算符均是单目运算符, 即对一个运算对象施加运算,运算结果仍 赋予该对象.使单个变量的值增加l的运算 符称为自增运算符,用"++"示.使单个 变量的值减1的运算符称为自减运算符,用 " 一一 "表示.白增,自减运算符只能用于变 量,不能用于常量和表达式,像2++和一一 (a+b)等都是非法的. 1.2运算规则 自增,自减运算符的结合方向是"自右 向左",每种运算符都有两种用法:(1)前置 运算——运算符放在变量之前: 运算式为:++变量,一一变量 先使变量的值增(或减)1,然后再以变 化后的值参与其它运算,即先增减,后运 算.例如:j=++i,其中i=2,先计算 i=i+1=3,后赋值.j=3,所以结果是i=3, J=3. (2)后置运算——运算符放在变量之后. 运算式为:变量++,变量一一 变量先参与其它运算,然后再使变量 的值增(或减)l,即先运算,后增减.例如: j=i++,其中i的初值还是2,但此时是先赋值 j=i,后计算i=i+l=2+l=3, 所以结果是i=3,J=2.因此j=++i和 .j=i++两式中j的结果是不同的,前者.j=3,后 者j=2. 2自增与自减运算符的应用 2.1在赋值表达式中的应用 关于自增,自减运算符的运算规则可 以理解为:在赋值语句中,自增,自减运算 符若作为前置式,其运算优先级高于其它 算术运算,即先按照"从右至左"的结合性 进行自增,自减运算,再进行其它运算;若 作为后置式,其运算优先级低于其它算术 运算,即先进行其它算术运算,再按照"从 右至左"的结合性进行自增,自减运算.假 设有这样的一个程序段,每条语句在执行 完毕后各变量的值写在其后的注释中. inta=3,b=6,il i:a++;/+i=3,a=4}/ i—al/}i=3,a=3十/ i=b--i=6,b=5?, i=++b;/i=6,a=6}/ 从以上的变化过程中可以看出:第1条 语句执行的过程是:先把a的值赋给i,再将a 中的值自增一个;故而i得到了a自增前的值 3;a自增1后变成了4;第2条语句执行的过 程是:先把a的值自减了l,由4变成了3,再 将3赋给变量i;第3条语句和第4条语句同1, 2条语句执行的道理是一样的.因此,++/一 一 运算符用在赋值语句中时前置和后置所 表示的含义是截然不同的. 2.2在循环语句中的应用 C语言提供了3种循环结构:while结构, do-while结构和for结构.在while结构和 do—while结构的循环体中,应该有使循环 趋向于结束的语句,这样的语句一般由赋 值语句来实现,例如用i++或i--,其中i称 为循环变量,在循环结构中只有改变循环 变量的值,这样在循环体执行若干次之后, 才能使循环条件不满足,结束循环.如果无 此语句,则i的值始终不变,程序陷入死循 环. 在for结构中,for语句最简单的应用形 式也可理解为如下形式:for(循环变量赋初 值;循环条件,循环变量增值){循环体语 句;}.其中,循环变量增值语句一般应用包 含自增(自减)运算符的表达式来实现.使用 原理同while结构和do—while结构.例如: for(i=l;i<=500;i++)sum=sum+i;该语句完 成1+2+3+……+500的功能.当然在循环结 构中使用自增(自减)运算符,只有在步长增 1或减l的情况下使用,在其它情况下,还应 使用赋值表达式来完成改变循环变量值的 功能. 2.3在指针中的应用 假设指针变量P指向数组a(HPp=a),则 p++,使指针指向下一元素,Upa[1】,若再执 行p,取出下一个元素a[1】的值.将++和一一 运算符用于指针变量十分有效,可以使指 针变量自动向前或向后移动,指向下一个 或上一个数组元素.例如:若想输出a数组 42个元素,程序如下:p=a;while(p<a+lO0) printf("%d",p++)l这个例子中的p++等 同于(p++),而不同于(p)++.因为++和 同优先级,结合方向为自右向左,因此它等 价于+(p++),作用是先得到p指向的变量的 值,UP(*p),然后再使p=p+l;而(p)++表示 P所指向的元素值加l,即(a[0】)++;如果a[O] =3,则(a[0】)++的值为4,这里是元素值加1, 而不是指针值加1. 3结语 综上所述,在使用自增,自减运算符 时,若在表达式或语句中只包含一种操作 时(自增或自减),则前置式和后置式的作用 都是一样的,都是使变量.bill或减l.若自增, 自减运算符和其它运算符联合使用时,就 需根据从不同运算符优先级和结合性两点 上综合考虑变量的变化方式.笔者希望对 此所作的探讨,能够有助于初学者对自增, 自减运算符的使用规则的正确理解.同时, 笔者希望用c语言程序时,为了保证可 靠性,程序必须清晰易读,而表达式的清晰 易读是十分重要的方面.因此,在C程序设 计中,要慎重使用自增,自减运算符,特别 是在一个表达式中不要多处出现变量的自 增,自减等运算. 科技资讯SCIENCE&TECHNOLOGYINFORMATION
/
本文档为【自减运算符探析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索