首页 > 范文大全 > 正文

“C语言程序设计”趣味实例教学方法的探讨

开篇:润墨网以专业的文秘视角,为您筛选了一篇“C语言程序设计”趣味实例教学方法的探讨范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

文章编号:1672-5913(2009)10-0058-02

摘要:为激发学生学习C语言程序设计课程的兴趣,使学生在学习上有主动性,本文以讲授循环控制这一章为例对趣味实例教学方法进行了探讨,给出几个围绕所学知识点设计的例子。

关键词:C 语言;循环控制;趣味实例

中图分类号:G642

文献标识码:A

1引言

“C语言程序设计”作为一门实用的编程语言,功能强大,编程风格自由灵活。在近几年的教学中发现,学生普遍认为这门课难度大,不容易学。如何通过教学方法的改变,让学生在学习上有主动性,激发学生学习该课程的兴趣,是讲授这门课程的教师应该考虑的问题。从目前大多数高校的教学情况看,现在一般多已采用多媒体教学。这种教学方式比起以前在黑板上讲授是有了一定的进步,但在目前的课堂教学中,还是以教师讲授为主,没有充分发挥学生学习的主动性,启发式教学没有得到充分运用。

2采用趣味实例教学

在“C语言程序设计”课程讲授过程中,要特别注意培养学生的学习兴趣。初接触计算机时,很多学生感到新奇、好玩,这不能说是兴趣,只是一种好奇。随着课程的不断深入,大量的语法规则很容易使一部分甚至是大部分学生产生枯燥无味的感觉。为了把学生的好奇转化为学习兴趣,采用趣味程序的例子激发学生的积极性,从而在实例中掌握C语言的语法和程序设计方法。这种方法的优点是可以根据教学内容,选择合适的例子,使学生掌握所学内容,趣味程序例子的选择至关重要。在每个实例的基础上,对学生多提问,并进行扩展,以复习前面学过的知识,也可以巩固当前学习的内容。通过启发式教学,让学生做更多的练习,加深对语法和程序设计方法的理解,掌握课程的精髓。为了实现课程的教学目标,培养学生的问题求解、编程和探索创新能力,在教学中必须强调实践训练,使学生在大量的练习中掌握知识,培养能力。下面介绍在讲授循环控制这一章中采用趣味实例教学的实践。

3实例分析

在循环控制这章中主要介绍while语句、do-while语句和for语句这三种循环语句。

3.1while语句

在介绍用while语句实现循环的一般形式和执行流程后,让学生思考用while语句编写程序实现猜数字游戏。先给出程序的运行结果,如图1所示。只要输入的数字和给定的数字不相同,就再重新输入,这种操作可通过while语句来实现。循环程序不停地读、检查和处理数据,直到遇到事前指定的表示结束的值,循环才终止。在判断不相等的同时,提示用户输入数字与给定值是偏大还是偏小,这个功能可运用条件运算符来实现。这样也对C语言中唯一的一个三目运算符有更深的认识。在此基础上,可让学生思考再增加程序的一些功能,如统计猜数字的次数、密码验证等,使程序更充实。具体程序如下:

void main()

{int a,k=9;

printf(" ------猜数字游戏------\n");

printf("请输入0到10之间任意一个整数:\n");

scanf("%d",&a);

while(a!=k)

{(a>k)?printf("高了\n"):printf("低了\n");

printf("再试一次!\n");

scanf("%d",&a);

}

printf("恭喜你,猜对了!\n");

}

3.2do-while语句

do-while语句的执行流程是先执行循环体语句一次,再判别表达式的值,若为真则继续循环,否则终止循环。do-while语句与while语句不同的地方在于do-while是先执行循环体,后判断表达式的“直到型”循环,而while语句是先判断表达式后执行循环体的“当型”循环。因此,do-while语句中的循环体至少被执行一次,对于循环体内容执行的次数由用户来决定时就可采用此循环语句。语句如下:

do

{ //其它循环语句

printf("继续吗(Y/N or y/n)?");

scanf(" %c", &reply);

}while (reply == 'Y' || reply == 'y');

例如设计一个简易计算器,可以实现加减乘除运算,由用户输入表达式,程序给出正确结果。采用上面介绍的语句即可实现多次运算,运算的次数由用户决定。采用多分支选择语句(switch-case)实现选择哪种运算。程序运行结果如图2所示。

3.3for语句

for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况。for语句的循环应用除了计数外,还可用空语句作为循环语句中的循环体,循环中不实现任何功能,只是使CPU等待一定的时间后再继续执行程序,即循环体作为延时循环。模拟延时一秒的函数如下:

void Delay(void) //函数功能:模拟延迟1秒的时间

{ long t;

for (t=0; t

{

//循环体为空语句的循环,起延时作用

}

}

循环变量t的上限由CPU时钟和需延时的时间共同决定。首先定义三个全局变量,分别表示小时、分钟和秒,若秒值为60,表示已过一分钟,则分值加1;若分值为60,表示已过一小时,则小时值加1;若小时值为24,则重新从0开始计时。秒值每次增1,调用一次延时函数。程序运行结果如图3所示。对该程序进一步扩展,要求学生在上机实践课中编写模拟电子时钟的程序。学生在上机编程中增加了输入当前时刻的部分,并能使程序正常运行,极大地激发了学生学习C语言的兴趣。

3.4综合实例

在介绍完循环控制章节的各种循环语句后,给学生布置一道设计自动柜员机的问题,在上机实践中由学生分组设计完成。先给出程序的执行界面,如图4所示。要求学生利用循环嵌套和switch语句等对自动柜员机功能菜单的各种选择进行判断和相应处理。在主程序外加上各个子程序,成为一个完整的程序。

4结束语

“C语言程序设计”课程所进行的趣味实例教学实践有助于学生更好地掌握课程的核心内容,激发了学生继续探索和学习的兴趣,培养了学生的创新能力,发掘了学生的创新潜能。教学必然是一个需要持续改进和完善的过程,我们将不断总结课程教学的经验,使C语言教学迈向新的台阶。

参考文献:

[1] 谭浩强. C程序设计[M]. 北京:清华大学出版社,2007.

[2] 苏小红. C语言程序设计教程[M]. 北京:电子工业出版社,2002.

[3] 江静岚. C语言教学方法探析[J].计算机教育,2007(21).

Teaching Method of Applying Interesting Examples on C Language Programming

FAN Hong, WU Yi-zhi

(College of Information Science and Technology, Donghua University, Shanghai 201620,China )

Abstract: To help students change from passive learning to active learning, inspiring interest of studying C language, the teaching method of applying interesting examples is discussed and several interesting cases, taking chapter of loops control as an example, are designed in this paper.

Key words: C language; loops control; interesting cases