基于C语言程序设计中自增与自减运算的探讨
摘要:在C语言程序设计中,自增和自减一直是较为复杂的运算。尤其当自增和自减运算出现次数较多时,对于不同的C-IDE(集成开发环境),相同的程序,结果却不尽相同。本文给出了对比运算结果,并详细地分析了原因。
关键词:C语言程序设计;自增;自减;IDE
中图分类号:TP312.1文献标识码:A文章编号:1007-9599 (2011) 03-0000-01
Analysis of Increment and Decrement Operation Based on C Language Programming
Shu Xiaosong
(Tongren University,Tongren554300,China)
Abstract:In the C language programming,increment and decrement has a complex operation.Especially when operation of increment and decrement appearance times are more and more frequently,as to different C-IDE,the result has been not quite similar in the same equal program.This paper proposes comparative operating results,and analyzes the reason in details.
Keywords:C language programming;Increment;Decrement;IDE
笔者一直从事C语言程序设计的教学工作,在讲授C语言程序设计的基本数据类型和基本操作中的自增和自减运算时遇到了比较有趣的现象。C语言程序设计,相同的程序中的自增和自减运算在不同的IDE中,结果不尽相同。
一、高级程序中的自增和自减运算
(一)++var(前置增量运算符):表达式(++var)使变量var的值加1,并且该表达式的值取var增加以后的新值。
(二)var++(后置增量运算符):表达式(var++)的值取变量var原来的值,并使var的值加1。
(三)--var(前置减量运算符):表达式(--var)使变量var的值减1,并且该表达式的值取var减少以后的新值。
(四)var--(后置减量运算符):表达式(var--)的值取变量var原来的值,并且var的值减1。
二、建立C-IDE平台
IDE(integrated development environment,集成开发环境软件)它是用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。该程序可以独立运行,也可以和其它程序并用。一般包括集成了代码编写功能、分析功能、编译功能、debug功能等一体化的开发软件套。所有具备这一特性的软件或者软件套(组)都可以叫做IDE。采用的C语言IDE平台为Win-Tc,Dev C++,VC++6.0。
三、编写简单的测试程序
下面是一个C语言的小程序,本文以自增运算符为例:
#include
int main()
{
int i=1,j;
j=(++i)+(++i)+(++i);
printf("j=%d\n",j);
}
定义整型变量i与j,i初始值为1,最终求j的值。这是一个很简单的C语言源程序,该程序中j的计算过程应该为:
i的初始值为1,第一个(++i)结果为2,i自增为2;
第二个(++i)结果就变为3,i自增为3;
第三个(++i)结果就变为4,i自增为4。
最终结果理论上j的值应该为2+3+4=9。
四、测试结果
(一)Win-TC
最终变量j的结果为12。
(二)Dev C++
最终变量j的结果为10。
(三)VC++6.0
最终变量j的结果为10。
五、结论
在C语言中,相同的自增或自减的程序结果在不同的IDE环境中结果却不相同。
(一)在Win-TC中:Win-TC先整体扫描有几个自增或自减符号,本文例举的C语言源程序中"++"出现了三次,i的初始值为1,那么在Win-TC中i的值就会增加三次,变为4,结果为:4+4+4=12;假如i的初始值为2,那么同理,在Win-TC中i的值就会增加四次,变为5,结果变为5+5+5=15。
(二)在Dev C++和VC++6.0中:刚开始还是按照