- 2
- 0
- 约5.47千字
- 约 11页
- 2018-08-11 发布于福建
- 举报
Ch平台在交互式程序设计教学中应用
Ch平台在交互式程序设计教学中应用
文章编号:1672-5913(2009)05-0056-04
摘要:Ch交互式解释型运行平台不仅可以给教师提供一个能够充分解释C语言中抽象难以理解的概念的平台,而且可以提供让学习者很快上手,验证并进行显式化抽象概念的运行开发调试平台。本文列举了C语言中的难点如指针、数组、变量作用域、函数及其参数和浮点数等实例,说明教学中如何借助交互式解释型Ch平台的优势来显式化这些理论概念并加以理解,最后分析了近几年来我校采用该平台所取得的教学效果。
关键词:C语言程序设计;Ch交互式解释型教学平台;指针数组;变量作用域;浮点数
中图分类号:G642
文献标识码:A
1引言
计算机技术的应用已渗透到各行各业,普及到社会活动的各个方面,人们的所有活动几乎都离不开计算机。而指挥计算机有效工作的计算机程序设计语言也已经从所谓高科技的IT专业技术走向大众普及型技术,在高校的不同学科、不同专业广泛开设。让非计算机专业的学生掌握编程技能,用高级程序设计语言独立编制程序解决一些实际问题的需求越来越迫切。
但是程序设计语言有上百种,选择编程语言也成为一种困惑。曾记得互联网上有人问“现在用哪种编程语言以后的优势大一点”,我们会毫不犹豫地告诉他选择C语言。首先从就业角度来看,TIOBE编程语言流行排行榜2008[1]显示,C/C++编程语言的使用是最广泛的,大约占26%左右,如表1所示。国内很多高校,尤其是理工类大学新生入学后接触的第一门编程语言课程就是C语言程序设计。其次从专业角度来看,C语言涵盖了程序设计的最基本概念,它灵活性好,效率高,可以接触到软件开发比较底层的东西。纵观计算机的发展历程,C语言有着悠久的历史,积淀比较多,大部分操作系统都是基于C开发的,也有如ISO-C89、ISO-C99等的标准,是无法被替代的能够指挥计算机最有效工作的语言。随着IT技术的平民化,C语言越来越受到人们的青睐。
但是对于初学者来说,C语言似乎太难,例如C语言中的编译、连接和执行过程太繁琐,指针数组太难理解[2]。最难让人忍受的是看不见摸不着,写的程序提交给计算机后不知道发生了什么。尤其在目前大众化教育的背景下,该问题显得更为突出[3],因此很多程序初学者就选择了Basic语言。国内很多学者对于如何针对C语言程序设计教学提出了很多很好的建议,如吴文虎教授[4]提出的“理念先行”就很有效地解决了解题思路的问题,斯金纳教学法[5]、解析教学法[6]提出了如何有效提高课堂效果的教学方法。这些方法和经验帮助我们有效解决了一个问题,即“如何提高程序设计课程的教学效果”,适用于任何一种编程语言。在“C语言程序设计”的课程教学中,不仅要讲究教学艺术[7],更要选择一个能够快速入门并具有良好用户交互性的语言环境。本文介绍的就是犹如Basic语言解释环境一样方便,调试运行比它更显直观,能够让用户看得见摸得着的具有交互性和解释性的Ch平台[8]。
2Ch交互式教学平台对指针和数组的诠释
Ch是一个可嵌入的C/C++解释器,它是C的解释执行。它包含了C的全部功能,可以独立于其他C编译器存在,也可以与其他C编译器并存。Ch还提供单命令执行方式,图1所示的是Ch的交互环境,C语言的命令可以在此环境下交互解释执行。单个语句键入后马上就可以得到结果,进行验证,学习单个语句时可以快速理解,不像VC验证单个语句时必须写一个完整程序。例如,在命令行定义一个整型变量a和整型指针变量pa,并将pa指向变量a的地址,其内存地址为0x0042B1E0,可以直观发现变量a赋值为30,则指针pa所指向的存储空间内容为30。而指针pa进行间接赋值为40后,变量a的值也即为40。通过这种形象直观的演示,读者可以很容易理解指针和变量的区别和关联。
又如C语言中的数组。定义一个整型数组ArrayB,长度为30,在交互环境下,其首地址是0x003A6438,下一个单元地址是0x3A643C。从这里可以很直观地看到数组在计算机中是一个连续的存储块,相连两个数组元素之间的存储距离相差这个数组类型的大小,如ArrayB[1]与ArrayB[0]之间相差sizeof(int)=4,所以数组元素可以用数值计算来获得某个数组元素的内存地址,从而达到访问数组元素的目的。例如在图2中,数组元素ArrayB[20]赋值为5,则可以通过地址计算ArrayB+20的间接访问得到该元素的值,而这个元素在内存中的物理位置则是0x003A6438+20*4=0x003A6488。通过这种交互式操作,可以把C语言中非常隐性的内在原理展现出来,让初学者可以看得见,消除抽象的解释。使用同样的方法学习更复杂、更难理解的结构类型
原创力文档

文档评论(0)