摘 要:C语言作为一门结构化程序设计语言,由于其按照模块方式组织程序,使得程序层次分明、调理清晰,程序后期容易维护和修改。同时它又兼具高级语言和低级语言的特点,既可以用来编写系统软件,又可以用来编写应用软件。C语言作为计算机专业的一门基础性课程,从大学到中职学校都在开设,但侧重点不同,近年来C语言又成为中职学生对接高考必考的专业课程之一,中职学生通过学习C语言,可以扩展性的掌握其他高级语言程序设计的基本概念、思想、方法和技巧,为今后更高层次的学习奠定一定的基础,同时中职学生又被要求能够使用C语言解决一般的实际问题,成为合格的技能型人才。
关键词:C语言;程序设计;应用研究
中图分类号:TP312.1-4
但是在实际的中职C语言教学中,问题很多,真的是学生难学,教师难教。近年来中职学校生源普遍质量有所下降,招收的多是一些“问题学生”,家庭问题生、厌学情绪生、或社会闲散人员再进入学校的。这些学生英语水平本就有限,所以阅读全是英文的程序代码很有难度,更不要说要求他们识记C语言复杂的语法规则,如数据类型、流程控制语句、函数等;这些学生语文水平不高,又限制了他们阅读文章的能力,相当数量的学生阅读课本例题不明其意,教师在授课时可以清楚的告知重点和难点,但课堂或者课后自学时,很多学生看完课本内容后根本区分不清什么是重点内容,经常会顾此失彼,不会合理分配学习时间,把精力放在没有必要纠结的地方;这些学生数学逻辑推理能力不强,加之中职C语言课本的例题又多是数学问题,单纯用数学的方式去解决学生都不会,所以很多时候老师在讲课过程中还得补充初中数学知识,本末倒置感觉很无奈;如果再碰到一些现实的问题,一部分学生根本没有解决的思路、无从下手,另一部分则思路混乱、次序颠倒。所以中职学生学习程序设计语言的确很有难度,所以他们的定位不能太高,分三步走会比较稳妥。第一步——“打基础”,正所谓师傅领进门,先进来再说,这一步以老师授课为主,主要讲解C语言的语法规则,比如C的各种数据结构(整型、实型、字符型、数组、结构体、共用体、枚举、指针类型)、C的各种流程控制语句(if_else语句、while、do_while、for循环语句、switch 语句、continue、break、goto跳转语句)、函数、文件等内容。这些都是C的基础,就好比我们小学学习语文时的笔画、写字、造句等,是C的各种规章制度,是必须具备的知识,而打好坚实的基础是学习后续内容的关键。第二步——“游历山川”,多看参考书和现有程序,大量阅读别人的程序代码,分析其编程思路、使用的方法和技巧,这就好比我们语文学习中的阅读欣赏,久而久之就会掌握一些常用的程序模块,并把它们逐渐沉淀为自己的阅历,当然这部分内容的学习需要教师的指导,但课堂教学的时间有限,更多的时候需要学生自发的学习,那么第一步内容的掌握与否会直接决定这一步走的是否游刃有余。第三步——“照猫画虎”,大胆尝试着模仿编写程序,从简单的程序入手,由简单到复杂,循序渐进,同时注意结合上机过程去调试程序,一个好的程序是经过不断的调试、修改、再调试出来的,上机调试程序是为了检验编写过程是否合理、有效,能否经得起实践的考验。
以上三个步骤环环相扣,几乎在每一章的教学过程中都会渗透进去,但第一步就走得异常艰难,第二、三步的个人修行就更不用说了。面对大量的C语言语法理论知识,教师在课堂教学时填鸭式的教育使得学生普遍感觉枯燥,随着课本的深入学习,学生的学习兴趣会越来越低,甚至到最后出现消极抵触情绪。教师在死教,学生在死学,最后的考试成绩总是差强人意。所谓“兴趣是最好的老师”,学生对一门课不感兴趣那如何能学好呢?作为老师是否应该首先反省自己呢?我们能否换一种方式,同样实现知识的传授呢?可不可以将游戏环节带入课堂理论教学呢?让学生放松下来,在游戏的快乐、轻松环境中接受知识,为此,设计了以下几个游戏环节。
1 跳方格游戏
在讲解数据结构这一章内容时,会讲到不同的常量表示形式,实型常量的两种表示形式(十进制形式和指数形式)、整形常量的三种表示形式(十进制形式、八进制形式、十六进制形式)、字符常量的表示形式、字符串常量的表示形式。这一节内容难度不大,在整个C的知识结构中主要是为后面变量的赋值做准备,大量的练习可以巩固知识的掌握。所以我们可以设计这样的练习方式:以个人为单位跳方格,老师出题目,学生答对一道题目前进一格,答错时保持当前位置不变,每人共5道题目,题目完未跳出所有方格者重新进入下一轮。示意图如下:
通过这个游戏的设计,学生既锻炼了身体,又掌握了知识,同时还缓解了紧张的理论课上课气氛,让学生轻松学习。
2 知识抢答
同样在讲解数据类型这一章另一个知识点——标识符的命名规则时,概念的理解需要借助大量的练习题目去进行,那么在整个C的知识结构中,标识符的命名规则为后续变量、函数、数组等的正确定义作准备,也是必须要掌握的环节。练习题目可以采用团队协作抢答的方式进行:以十人为一组,全班分三、四组即可,每组选派三个代表参加抢答,由老师提前将100道题目先发给每个小组集体讨论,正式开始时随意随意抽取40道题目,宣布开始后,最先跑到指定位置者回答,回答正确该组奖励一分,回答错误扣一分,每组基础分60分,题目完游戏结束,最终可以根据分值给予每组不同的物质奖励。示意图如下:
通过这个游戏环节的设计,既增加了学生之间的团队合作意识、增强了学生的集体荣誉感,又让学生学到了知识,课堂气愤和谐而快乐。
3 送祝福
在学习文件这一章内容时,会讲到格式化读写函数fcanf()和fprintf(),课本上的例题没有趣味性,我们可以在这里设计一个送祝福的游戏环节:全班同学每两人为一组,小组内第一个同学负责在电脑上用文本编辑程序编写一个数据文件,内容如“hello my good friend”或者”happy birthday!”或者“you are very beautiful!”等祝福语,然后告诉另一个同学保存的文件名是什么,另一个同学则编写C语言程序,将
数据从文件中读出并打印在屏幕上。然后两人交换一下,刚才编写程序的同学写祝福语,另一个写程序。通过这个游戏的设计,既增进了同学们之间的友谊和感情,又锻炼了学生动手编写程序代码的能力。
以上三个游戏的设计目的只有一个,那就是让学生在轻松的气氛中去学习,通过游戏的趣味性缓解单调、枯燥的课堂理论学习,充分调动学生的学习积极性,把学生拉回到课堂上、书本上、知识上。这里我们的课堂也不仅局限在教室,也可以是操场、户外等地方,学习环境可以随意一些,但教师传授知识的目的达到即可。有句话“不能改变环境,只能去适应环境”,我们今天的中职教育就是面对的这样一群学生,放弃吗?不可以,只要教师认真对待课堂、用心分析中职学生具体情况,课本上的其他内容同样可以设计成许多的游戏环节,教学改革提出很长时间了,作为教师需要不断改革自己的教学方法,以上内容只是个人在教改的一点思考,供大家参考,如有不到之处,请指正,我会及时改正,让我们为培养合格的中职人才而共同努力。
参考文献:
[1]徐维祥.C语言程序设计教程[M].高等教育出版社,2004.
[2]谭浩强.C语言程序设计(第二版)[M].清华大学出版社,2001.
[3]周锦梅.浅谈中职计算机专业C语言程序设计的教学.河南科技学院
[4]李振方,高维秀.中职生专业课学习障碍分析及对策