APP下载

C语言课堂教学方法刍议

2018-12-22张念鲁青岛远洋船员职业学院

数码世界 2018年3期
关键词:数组上机内存

张念鲁 青岛远洋船员职业学院

C语言程序设计是一门计算机专业重要专业基础课程,但让学生真正掌握这门语言却一直是一个教学难题。本人多年来从事C语言程序设计课教学工作,有一定的体会,现将较为成功的教学方法总结如下,与同行切磋。

1 注意内容的关联性

C语言里有很多内容孤立讲解不易理解,结合与之相关联的内容则有利接受。相当一部分教学内容,需结合计算机工作原理才能让学生清楚C语言的处理细节。为此,要考虑到内容关联性,授课中穿插讲解。例如:在讲授变量定义,要同时讲解内存单元和地址知识,指出变量定义的本质就是分配内存单元,并画出内存分配示意图。让学生清楚不同类型变量所占内存单元字节数不同,并说明计算机对内存单元访问根据地址进行。变量名记录着分配给它的存储单元地址,且可以通过&操作符取出,同时结合实例说明地址就是指针。有了这些知识准备,学生在学习指针内容时就会更好理解和接受。

2 全面采用“任务驱动”法

C语言内涵主要是程序设计思想。因此当学生掌握了C语言基本语法知识后,从顺序程序设计开始,所有内容讲解和引出可采用“任务驱动”法。即每单元知识点都以实例引入。首先分析列出解决问题的思路即算法,对于算法的每一步都用相应的语句实现,若用现有知识不能解决,便引入新的知识点并结合实例讲解相关内容,直至整个程序的全面实现。相应实例的选用基本是生活中能够实际用到或与课程设计相关的问题。第三、解决问题要用到输出和输入语句是新内容,分别进行讲解,最后给学生讲清楚交换的思想后就可以写出完整程序,新知识学习变成一个很自然的过程。又如对结构体内容的教学,首先是提出任务,处理学生综合测评信息;然后分析任务,需要存放学生信息引入构造结构体定义;其次分析算法后讲解结构体的处理方法。这样,在解决问题过程中就已经融入了结构体部分所有知识点,并且引入typedef的内容。

3 注重培养学生思维方法

在教学中,学生思维方法的培养最为关键。C语言解决的问题种类并不太多,常用的算法也限,故掌握不同类型问题的解决方法尤为重要。如,很多程序都要求一批数的和,这类问题就两种循环算法:一是先产生一个加数项,累加到累加器中;另一种是先累加一个加数项,再产生下一个加数项,并通过1+2+3+4+…+100经过多次修改变换,最终变成求∏=(1-1/3+1/5-1/7+…)/4的题目。算法相同,程序也是稍做修改而得,学生解决这类问题就变得相对简单。又如,讲解对数组的处理问题时,采用画内存单元分配图的方法,让学生了解到算法如何贴近生活、并非是凭空想象。

4 编写使用通用函数

教学生使用通用函数设计,建立自己的库函数,节省编程时间。讲解数组部分内容时,大量题目需要讲解,例题讲解采用自编通用数组输入和输出,程序全部采用函数实现以节省时间。这样主程序就成为输入数组、输出数组、处理数组、输出数组的样式。每一题目只需要编写处理数组的部分,节省出大量时间用于分析算法。

5 作重视同学间传帮带作用

有些学生接受能力较强,对本课程学习很有兴趣,这些同学会起到了很好的示范作用。对这些同学给予单独指导,让他们跟着老师做指导帮助其他同学。他们意识到帮同学和自己对本课程学习相得益彰,积极性得以充分调动。发挥他们的作用可帮助其他同学解决很多本课程的学习问题。

6 重视实践教学

抓好实践教学环节。学习C语言,上机调试实验最为重要。所有的编程题目都要求学生通过上机调试后才以作业形式上交。教学中所使用的实验指导书不含参考程序,实验题目全部和课堂所讲例题相似,学生找不到参考答案,必须自己编写。每次上机时都抽查题目准备和完成情况并做记录。所以每次实验学生都会精心准备、认真调试,学习效果自然提升。

7 制定合理的考评方法

考核办法要确保学生重视每个环节。本课程考核采取形成性考核方式,课程设计成绩单列,分数比例为:课程总评成绩 =平时考试(30%)+期末考试成绩(70% ),平时成绩由平时表现、作业和上机实验构成;期末成绩由理论和编程构成,采用上机考试方式 。形成性考核具体内容及评分标准为:平时学习表现和期末考试按比例生成。

加分项目:正确回答问题一次加 2分,主动回答问题一次加5分,在课堂上能起积极引导作用加5分,主动演示程序加5分。

作业( 100分):作业保质保量完成满分,缺一次作业扣6分,出现拼写等粗心导致的错误每个扣一分,出现语法错误每个扣2分。

上机实验( 100分):( 1)准备题目得20分,上机前认真准备题目,缺一次扣2分;(2)按题目单要求,完成一题目得 2分,所有程序全部调试通过、功能实现得60分;(3)实验报告完整规范得20分;报告中有源程序清单的15分,说明在程序编制中的难点及解决办法得5分。

8 结束语

C语言教学必须做到因材施教,本文探讨的教学方法均来自于本人教学实践,在针对本院学生的教学中取得了显著的教学效果。

[1]陈广红.C语言程序设计[M].武汉大学出版社,2014

[2]Peter Van Der Linden著.徐波译.C专家编程[M].人民邮电出版社,2002

猜你喜欢

数组上机内存
周金应
JAVA稀疏矩阵算法
标准化护理程序对体外膜肺氧合术患者上机各阶段用时的影响
JAVA玩转数学之二维数组排序
“春夏秋冬”的内存
寻找勾股数组的历程
基于内存的地理信息访问技术
待换
VB数组在for循环中的应用
上网本为什么只有1GB?