本文共 1500 字,大约阅读时间需要 5 分钟。
1112019 年 / 第 7 期 / 3 月(上)
“C语言程序设计”课程指针的教学设计
马振婴
(重庆大学计算机学院 重庆 400044)
摘 要 《C语言程序设计》课程的指针概念抽象晦涩,且容易混淆。在教学中引入游戏、动画加强课程的趣味性,并采
用渐进式、对比式和启发式方法,提高学生的主动参与性。关卡式实验设计和程序改错练习巩固了学生的编程能力。
关键词 指针 C语言 内存地址 数组 函数
中图分类号:G424 文献标识码:A DOI:10.16400/j.cnki.kjdks.2019.03.047
The Instructional Design about Pointer of C Programming Course
MA Zhenying
(College of Computer Science of Chongqing University, Chongqing 400044)
Abstract In "C programming" course, pointer is abstract, obscure and confusing. Games and animation are used to make the
course more interesting, and the progressive, contrast and heuristic methods are applied in order to promote the students' active
participation. Level-by-level checkpoint experiment and error-correction practice can improve the students' programming ability.
Keywords pointer; C Language; computer memory; array; function
0 引言
“c语言程序设计”的课程内容中,指针是公认的难点。原
因之一是学生无法理解内存地址和存储计算的概念,原因之二
是传统的教学方法生动性和系统性不足。因此,学生们对这个
章节有畏难情绪,学习积极性极低。针对上述情况,笔者进行
了教学和实践环节的一些设计,以求抛砖引玉,与大家共勉。
1 课堂教学环节设计
1.1内存地址和存储计算
传统教材对计算机内部数据存储和计算过程的叙述比较
抽象和枯燥,因此笔者设计了以游戏的方式来增进学生对这部
分内容的兴趣。用一个分格的纸盒模拟内存,每个格子用二进
制地址编号;用卡片代表变量,卡片上写上变量名和变量值。
学生们两个人为一组。一个同学随机喊出指令,另一个同学做
出相应的动作。例如指令是“int a=0;”同学必须新建名字为 a
值为 0的卡片放入随机空格里。指令是“return 0;”必须把所
有的卡片都从格子中取出。“输出&a的值;”指令对应着念出
a变量存放格子的地址。“++*a”指令对应着把 a变量卡片上
的值加 1。一轮 20条指令,然后再交换角色进行。这个游戏
反复多加练习,有助于同学们区分变量名,变量值和地址的概
念。
1.2指针和数组
这部分教学采用循序渐进的方法,从指针操作一维数组逐
渐递进到二维数组。
1.2.1指针与一维数组
对方格和卡片游戏进行升级。由普通变量卡片的随机空
格存放,变为数组变量卡片的顺序存放,数组变量卡片存放的
格子连续编址。另外开辟空格存放指针变量卡片,并涂上不同
的颜色区分。游戏中用到的指令增加了定义指
转载地址:http://gbcpo.baihongyu.com/