博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c语言指针课堂教学设计,“C语言程序设计”课程指针的教学设计
阅读量:6621 次
发布时间:2019-06-25

本文共 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/

你可能感兴趣的文章
微信小程序调试之【不在以下合法域名列表中】
查看>>
切换 ip 批处理
查看>>
CommandArgument 绑定多个参数
查看>>
dropdownlist可以多选。类似的例子。。。
查看>>
ehcache 使用
查看>>
Objective-C 内存管理
查看>>
Js仿淘宝星级评分
查看>>
DEV GridControl绑定的数据,ID相同的行显示相同的颜色(当ID的值不确定时)
查看>>
android AlertDialog 弹出窗
查看>>
Linux下rz,sz与ssh的配合使用
查看>>
pku 1054 The Troublesome Frog 暴力+剪枝
查看>>
oracle登录数据库样例.txt
查看>>
iOS 文件操作:沙盒(SandBox)、文件操作(FileManager)、程序包(NSBundle)
查看>>
利用Python攻破12306的最后一道防线
查看>>
Android studio 百度地图开发(3)地图导航
查看>>
串行,并行,并发
查看>>
centos svn 的搭建
查看>>
HTML常见元素及其属性总结
查看>>
Android+Jquery Mobile学习系列(1)-开发环境
查看>>
第1章关键角色及其职责——明白职责
查看>>