2012年2月
内蒙古科技与经济
F ebruar y 2012 第3期总第253期Inner Mongolia Science T echnology &Economy No .3Total No .253
C 语言中几个知识点的学习技巧
X
段文秀
c语言如何去学(德州学院计算机系,山东德州 253023)
摘 要:对于初学者,自加自减运算符、变量、指针等知识点是C 语言中较难理解且易混淆的内容,但这几个知识点也是C 语言中精华的部分,也是全国计算机等级考试必考的内容。文章对这几个知识点的学习技巧进行了分析与探讨,以提高C 语言教学效果。
关键词:自加自减;变量作用域;指针;学习技巧
中图分类号:T P312 文献标识码:B 文章编号:1007—6921(2012)03—0121—01 C 语言是结构化的面向过程的高级语言,是在国内外广泛使用的一种计算机语言。在大量使用面向对象程序设计语言的今天,由于C 语言的诸多优点,C 语言仍是计算机专业或其他工科专业学生必修的课程之一。但是对于初学者,自加自减运算符、变量、指针等知识点是C 语言中较难理解且易混淆的内容,但这几个知识点也是C 语言中精华的部分,也是全国计算机等级考试必考的内容。所以有必要对这几个知识点的学习技巧进行分析与探讨,以提高C 语言的教学效果和学生的学习效果。1 “++,--”运算符的使用
“++,--”的使用是C 语言灵活性和简洁性的表现之一,但也是初学者经常感到迷惑的问题之一。首先,“++,--”是单目运算符,运算对象是整型、字符型、指针型、数组元素等变量,不能是常量和表达式。作用是对变量做加1减1运算,结果仍是原类型。运算符和变量可构成前缀表达式(例:++i ,--i )和后缀表达式(例:i ++,i --),它们的使用规则如表1。
假设有定义:int a,b,c,d;a=b=c=d=10。表1++--运算符的运算规则
表达式
使用环境
运算规则
运算结果
表达式的值
变量的值a ++在表达先取a 的值作为表达式的值,后a 做加1运算1011++b 式中作b 先做加1运算,后取b 的值作为表达式的值1111c --为子表先取c 的值作为表达式的值,后c 做减1运算109--d
达式
d 先做减1运算,后取d 的值作为表达式的值
9
9
而语句a ++;或++a ;的功能都与语句a =a +
1;完全相同,语句a --;或--a ;的功能与a =a -1;完全相同。
总之,前缀表达式是先计算后取值,后缀表达式是先取值后计算。掌握这个规则,就能正确解题了。
例:设有语句“int a =1,b =3,c =2;a +=b *=(++b-c++);”,运行此语句后a,b,c 的值分别为9,8,3
其计算过程为b 做b=b+1运算得++b 的值为4,b 的值也为4,然后取c 的值2作为c ++的值,c 再做c =c +1运算得c 的值为3。则++b -c --的值为,然后再做*=运算得的值为,最后做+=运算得的值为。
2 有关变量的几个概念的理解
2.1 变量名,变量值,变量的地址
变量是在程序运行过程中可以改变的量,其实质是内存中某块存储空间,变量名是这块存储空间的标识符,变量值是这块存储空间中存储的数据,变量的地址是这块空间首字节的编号。变量名与变量地址之间有着非常密切的关系,我们读写变量的值总是通过变量名到变量的地址,通过此地址到这块空间,然后向这块内存空间中读写数据。变量名、变量值、变量的地址之间的关系见图1
所示。
图1 变量名、变量值与变量地址的关系
例如:有定义int a =2;此变量在内存中的存储如图1。
在此图中,变量名为a ,变量的值为2;变量的地址为2000。
变量就如同一间教室,教室名为“10计算机(三)班”,教室的值为10计算机(三)班的全体学生,变量的地址为某学院某教学楼302。要记住每个教室的地址不太现实,我们此班的学生总是通过班级名(即教室名)到此教室地址,再通过此教室地址到此教室。
2.2 变量的作用域和生存期
变量的作用域是变量的空间有效性,是指变量在哪些地方编译系统能正常编译。根据作用域的不同我
们把变量分成全局变量和局部变量,全局变量的作用域是其定义位置至程序尾,而局部变量的作用域是其定义所在的函数或复合语句。在一C 程序中,当局部变量和全局变量同名时,在局部变量的作用域内,全局变量就失去效用。
变量的生存期是指变量的时间有效性。是指编译系统给变量分配存储空间至释放存储空间这一时间段。其生存期会依变量的存储类别不同而不同,也会依变量的作用域的不同而不同。(下转第3页)
X
收稿日期2b 2b 8a 8a 912121
:2011-12-28
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论