c语言程序设计实例(精选5篇)
c语言程序设计实例范文第1篇
摘要:为激发学生学习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 202320,China )
c语言程序设计实例范文第2篇
关键词:C程序设计;C语言;课程;教学
1概述
C语言是当今计算机应用中最重要且被广泛使用的一门程序设计语言,它兼具高级和低级语言的优点,特别适合于编写计算机系统软件。高校的很多计算机专业课程,如数据结构、操作系统、算法设计等,多选用C语言作为教学语言。学生学好C语言,不仅是一门课和一种技能的问题,而且涉及到能否学好整个专业课。因此,C语言程序设计的教学越来越被提高到重要的位置,各校纷纷进行C语言教学方法的改革和试点工作[1-3],并取得了一定的经验和成绩。
笔者所在高校也进行了有益的探索[4]。在部级教学团队“计算机基础系列课程教学团队”共同确立的教改思想和指导原则下,各授课教师根据自己的教学经验,进行了多种教学方法的尝试,取得了良好的成果。其核心思想是,不断加大C语言的实践课时,注重学生编程技巧和编程能力的提高。尽管如此,部分学生仍然不能很好地掌握C程序设计技术。在C语言考试中,学生更易于完成填空、选择、判断正误等检验“基础知识”的题型,程序设计或上机编程题则完成质量较差。直到学习数据结构等课程时,部分学生仍然难以用C语言编写算法,这直接影响到了数据结构等课程的教学效果,对后续课程造成了影响,甚至严重影响了毕业论文的进度和质量。
C语言是一门程序设计语言,它是程序员和计算机相互交流的语言。作为语言学习,它也遵守人学习语言的最一般规律:在实践中学习语言,重视单词的学习和积累,重视语言的交流能力。
2像婴幼儿学习说话一样,学习计算机语言
婴幼儿学习语言的方法对C语言程序设计课程的教学组织具有很大的启示作用。
2.1跟着大人,重复学习说话
婴儿学习说话,是从“mama、baba”开始,爸爸妈妈积极应答,并鼓励孩子继续“说话”。期间没有人在意,孩子是有意识或者是无意识的,孩子的发音是否准确,只要有声音,就给予足够的鼓励。之后,婴儿继续学习其他称呼和各种词汇,会说“开门、妈妈抱”等短句,直到“我要出去”等简单的句子。这一语言学习的过程特征很明显:跟着大人,重复说话,不在乎语法是否正确,能简单表达意思,大人能听懂即可。
C语言学习也一样。教师把自己看作大人,学生就是婴儿。从语言教学上看,不首先去强调语法等规则,而是教授“例子”。教师可以在课堂上重点讲授一个又一个例子,在课堂上编译、连接并调试运行程序,让学生课后去重复这些程序。这种方法可以让学生在最短的时间内,真正“接触”到C语言,通过老师的程序实例和计算机实现对话。教师通过作业,鼓励和引导学生修改这些简单的程序,并鼓励学生独立完成一些新的程序。这种方法使学生在刚开始上课时就接触计算机,重视学生快速和计算机建立联系,让学生在编辑、排错、调试和运行程序的实践过程中,和计算机对话,达到从实践中学习的目的。
“在例子中,学习和计算机的对话,让计算机训练自己。”
2.2不断学习单词,丰富语言的内涵
会说话的婴儿有了新的渴求,他需要通过不断学习,拓展自己的知识和生存空间,大人们也非常配合他,不断教他新的“知识”,这些新知识,首先就是“单词”。婴儿会指着电视机“啊啊”地叫,大人们教给他说“电视”,于是婴儿学会了“电视”这个单词。他可能说“宝宝要电视”,虽然不符合语法,但他已经勇敢地清楚地表达了自己的需求。宝宝在大人的纠正过程中不断学习,掌握的词汇越来越多,他也越来越具有和人交流的能力。这种能力是通过不断学到“新词”开始的,是不断被大人们纠正提高的。
C语言学习也一样。教会学生编写基本的C程序后,接下来的工作,不是要写复杂的“让计算机唱歌跳舞”的程序,而是让学生不断掌握新词汇,扩大和计算机的交流范围。在C中,这些新词汇就是C的库函数。C语言提供了丰富的库函数,程序员不可能脱离开这些库函数妄谈编程。以往的C教学中,可能会忽视这些库函数的介绍,只有在课本的附录里,才能找到他们的索引。教师课堂上的主要时间,花费在介绍C的各种语法上。考试中,这些语法就是“基础”知识,这又会把学生的学习重点,引导在学习和背这些语法上,无形中又忽视了实际编程能力的培养和锻炼。这是造成学生不会“写程序”重要原因。
婴儿不认识新事物,就无法开口说话。学生如没有很好地掌握库函数,就难以写程序。比如,若没有printf()函数,学生就不可能知道如何把信息显示在屏幕上。因此,学习写C程序,首先需要学好C的库函数。教师在课堂上的重点,就在于在例子中,尽可能多地使用库函数。让学生“见过”并“知道”有这样的库函数可以用,再通过编程作业,促使学生掌握库函数。库函数就是C语言中的“单词”,有了这些单词,才能开始编程,和计算机“对话”。
“不仅要会和计算机说话,而且可以天南海北地聊。”
2.3多说多练
学会说话的婴幼儿对这个世界充满了好奇,他已经长大了。他不仅和他的爸爸妈妈说话,他还要和其他人说。他要去上幼儿园,可以和老师说话,可以和幼儿园的其他小朋友说话,他的语言能力不断进步,他会唱歌,会背唐诗、三字经、弟子规,他已经像个大人了。
学生学习C语言也一样。最开始模仿老师的程序,编写程序,按照老师布置的作业练习编程,最后可以根据自己的兴趣,编写一些应用程序。学生解决问题的能力越来越强,可以排除程序中的错误,掌握调试程序的方法,逐渐能够书写小规模的程序了。
这些能力的提高和培养不是教师在课堂上能够完成的,需要学生在实践中提高。此时教师可以使用特殊资源了,即上机课时。高校中C语言的课时一般由3部分构成:课堂学时、课后机时和专门的上机课时。利用上机课时,教师可以布置小规模的系统编程作业,让学生去完成。通过这种作业,让学生系统掌握C的编程知识,提高程序设计能力和水平。
“多写多练,可以和计算机讨论问题。”
2.4上学后,我们再学语法
婴幼儿长成了小学生,他要开始上学了。在学校,他开始学习课文,通过课文认字、认词、认成语,写字、写词、写句子,他开始锻炼写作文。不知不觉中,他读了很多书,从童话开始,到小说、散文、诗歌,最后是名著。他开始系统学习语法,主谓宾定状补,不胜枚举。
C语言的学习也没有止步。实际上,C语言程序设计课程只能完成上述2.1~2.3部分的内容,这些部分教会了学生写程序,而不是教会了学生C语言的语法。C语言的语法,可以融于课堂的例子中,通过程序设计和调试,直观地介绍C的语法,通过程序练习和调试,由计算机来告诉学生,怎样符合规则,怎样不符合。对于一般的语法,要求学生自学。C程序中的众多语法,比如C语言从main()函数开始执行、变量定义位置、注释写法、函数命名、参数以及函数返回、变量作用域、运算符的优先级等,多是规则,并不难理解,需要学生记住并掌握,而单调的看书和记忆,效果远不如在程序排错和调试过程中学习。
通过程序实践和例子学习语法,而不是只是在课堂上讲授语法。这样,当学生有了一定的编程能力后,再回过头去研究语法,可以更好地提高对C语言的理解水平。如果在一开始就把重点放在语法上,可能反而无法掌握C程序设计技术。
实际上,C的一些语法细节在实际工作中是不常用的。例如,判断闰年的逻辑表达式:( Year%4==0 && year%100!=0 )||year%400==0,其中涉及到运算符、运算表达式以及运算符优先级等问题。若要计算该表达式的值,当然需要记住表达式的优先级顺序等语法知识。但实际工作中,是不鼓励把程序写成那种样子的,实际工作中,要求程序书写清晰明了,简单易懂,强调程序的可读性。因此,上述代码可以写为:
(( ( year%4 == 0 ) && ( year%100 != 0 )) || ( year%400 == 0 ))
“不仅让计算机能听懂,而且要易于听懂。”
2.5学无止境
经过了中学阶段的学习,孩子已经完全掌握了“汉语”这一门语言,此后能否成为编辑、记者、作家、诗人,则需要更多的学习和锻炼。他需要研读名著,体验生活,笔耕不辍。
C语言也如此。C语言课程结束后,学生可以通过参加课外兴趣小组、各种计算机编程竞赛、后续的专业课学习、毕业设计等,不断锤炼自己用C语言进行程序设计的能力。他可能逐渐接触到C语言课程永远无法讲授的东西,比如socket编程、进程与多线程、并发与竞态、Linux驱动程序、Windows驱动程序、研究开源代码等。他成了一名高级程序员、资深程序员、专家,他开始“用Word写程序”。
“计算机编程,一个玩具(计算机)的更高级的玩法(写软件)而已。”
3结语
C语言是一门程序设计语言,教学的目标在于让学生“掌握”C语言。所谓掌握,不仅指C的基础知识、语法结构等,最重要的目的是会用C语言写程序。C的其他所有知识,都在程序编写和调试中得到学习和掌握。
本文根据婴幼儿学习语言的特点,提出了C语言的教学思想和教学方法,其主要思想为:教学目的在于教会学生用C语言写程序,让学生在不断实践中提高程序设计的水平;课堂上,主要通过程序讲授编程的方法和技巧,强调C语言的库函数学习及其使用方法,通过程序重点介绍难点和重要语法知识,一般语法由学生自学;强调大量的C程序锻炼,在C语言的编写、调试中,由计算机教会学生编写程序,在编写程序和调试程序中,学习C语言的语法。
致谢:本论文得到了部级教改项目“部级教学团队――计算机基础系列课程教学团队”的支持。
参考文献:
[1] 李莉. C语言程序设计的教学改革[J]. 计算机教育,2009(12):28-29.
[2] 李业丽. “C语言程序设计”课程建设的思考[J]. 计算机教育,2009(12):31-32.
[3] 赵金萍. “任务驱动式”的C语言程序设计教学[J]. 计算机时代,2007(8):25-26.
[4] 王冰. C语言程序设计课程教学方法的探讨[C]//王永生. 研究型大学建设本科教学改革的研究与实践. 北京:北京交通大学出版社,2008:624-628.
Teaching Methods of C Programming Language Learned from Baby’s Language Learning
ZHAO Shuaifeng, HU Shaohai
(School of Computer and Information Technology, Beijing Jiaotong University, Beijing 100044, China)
c语言程序设计实例范文第3篇
[关键词]中职计算机教学《C语言程序设计》改革
一、注重课程改革的探索,提高“C语言程序设计”的教学效率
中职计算机专业的学生,今后将从事计算机应用和软件开发的实际工作。基于这点,我们就要制定详细的教学计划和改革方案,逐步提高每个学生对于研究工作的初步能力。《C语言程序设计》是现今计算机科学与技术相关专业的核心课程和主干课程。《C语言程序设计》涉及到诸多的理论基础和教学内容,教师要制定详细的课堂教学规则,从C语言的教学理念出发并明确课程项目的改革目标。目前,C语言教学分为两部分的内容,即理论课堂和上机实验。两个都是非常重要的过程,教师要给予高度重视。首先,在理论课堂上,我们主要讲解一些C语言的基础知识,比如“#in-cludemath.”表示在程序中会引入数学函数;当运行错误时在软件页面的下方会出现“error”的标识;“#includestring.h”会在主函数中引入字符类型等这些都是C语言的基础编程知识,一定要学生掌握透彻并合理运用。其次就是上机实验过程。实验前要让学生对预习内容做简单总结性的回顾,同时也可以让学生之间相互探讨交流,以问答的形式复习C语言的相关知识。教师自己也可以进行编程练习,把作品的灵魂和特点充分展示给学生,带领他们走向更高级的编程世界。
二、加强计算机课程的教学力度,培养学生的“C语言程序设计”能力
《C语言程序设计》主要通过让学生系统学习C语言的基本知识和编程过程中的基本语法,激发学生的灵动性思维,较好地训练学生解决计算机问题的思维逻辑。计算机课程是当前中职教育中的直供电课程,对学生的思维能力以及编程思路和技巧都有较高的要求。所以我们在设置实验题时还可以故意在程序中再设置一些BUG,让学生自主编译,从编译错误中发现程序语句的问题,和学生共同探讨交流,找到有效的解决方案。只要加强计算机课程的教学力度,学生就能自主培养“C语言程序设计”能力,在日常的学习中学会探索求知、学以致用。接下来,教师就可以把教学重点转向“项目为导向”的组织课堂。在案例分析时,学生的动手编译过程非常重要。我们要给学生重点讲解编写程序的思想和方法,让他们确定整体性的编写程序方案,给学生提供一个轻松、自由的C语言学习环境,然后再引导学生讨论学习。只有这样才能吸引学生的注意力,在每个教学环节都做到错落有致,提高学生程序调试能力。
c语言程序设计实例范文第4篇
关键词:程序设计语言;程序调试;教材;编程能力
中图分类号:G642 文献标识码:B
随着计算机应用的普及,计算机编程能力已经不仅仅是计算机专业学生需要掌握的能力,因而我国高校普遍为大学生开设程序设计课程。目前主要的程序设计课程包括:C/C++程序设计,VB/程序设计和Java程序设计等。从上海参加计算机等级考试的学生来看,C/C++程序设计的学生占60%,VB/程序设计占35%,Java程序设计占约5%,因此“C程序设计”仍然是高校学生学习计算机编程知识最重要的一门课程。
尽管C程序设计语言问世已经三十多年了,但在课程教学中,很多教师和学生仍然觉得C程序设计语言很难驾驭。那原因是什么呢?作者认为这主要是由C程序设计语言本身特点决定的。首先,C程序设计语言是一种结构化程序设计语言,用它进行程序设计的方法是结构化方法,其思想与我们日常生活中处理问题的思路有较大的出入;其次,C程序设计语言最早是用于开发系统软件的,是一种“中级语言”,其语法限制不太严格;第三,C程序设计语言中强大的运算功能和丰富的数据结构(如指针等)对初学者的逻辑思维能力要求较高,不容易学懂。针对C程序设计语言这样的特点,要学好这门语言,一本好的教材显得特别重要。
和学习外语一样,学习一门程序设计语言的最终目的是能运用这种语言来解决实际问题,因而,程序设计课程的教学和考核也应该面向这样的目标。2009年4月,上海市计算机等级考试大纲再次进行了修订,对作为二级的主要科目“C程序设计”的大纲进行了较大的修改:将原来的纸质试卷书面考试改为上机考试,使用“上海市高校计算机等级考试通用平台”进行考试,建议使用Microsoft Visual C++ 6.0作为程序开发环境;为加强对学生应用C程序设计语言解决问题的能力,新增一种题型――程序调试题。其目的就是引导教师和学生在提高动手实践和实际应用能力的方面下功夫。
对于“C程序设计”的推荐参考教材,上海市等级考试二级命题组决定仍旧选择由谭浩强教授编著、清华大学出版社出版的《C程序设计》。随着计算机技术的迅猛发展,上海市等级考试在不断发展,谭浩强教授的《C程序设计》也从第一版、第二版演变到了第三版,那么,为什么上海市等级考试始终选谭浩强教授的《C程序设计》作为“C程序设计”科目的参考教材呢?结合自己的教学和命题实践,我们深刻体会到谭浩强教授编写的《C程序设计》教材有以下三个重要特点。
1由浅入深,通俗易懂
谭浩强教授丰富的教学经验和编写教材的经验在《C程序设计》中得到集中体现,由浅入深、循序渐进的内容安排和通俗易懂的写作风格,使《C程序设计》非常适合作为程序设计的入门级书籍,也推动了中国计算机基础教育的普及和发展;《C程序设计》教材对C语言语法部分、控制结构部分、数组、指针等的讲解都非常流畅,给读者一气呵成的信心和欲望。金山公司前总裁兼CEO雷军曾经说过:“是谭浩强让程序员感到了写程序就是自己的生命。”
2概念清晰,融会贯通
《C程序设计》针对初学者的特点,精心策划、准确定位,使得全书概念清晰、融会贯通;将必要的基础知识融会贯通到程序设计课程中,能给初学者打下良好的程序基础,对学生的知识结构建设以及今后的深造和提高都大有裨益;全书强调用结构化程序设计方法编写程序,自始至终用完整的程序输出范例来演示所讲的概念,内容全面,层次清晰,适用于不同层次的学习对象和不同课时的教学单位,特别是高校计算机基础教学。
3例题丰富,启发思维
《C程序设计》全书结构清晰,例题丰富,每章都附有大量习题,并且有配套的习题解答,非常有利于学生复习巩固课上所学的知识,也便于教师设计实验课的教学内容。谭浩强教授还在书中引导学生带着问题学习、在启发中得到理解、在思维中得到提高、在实践中得到认知。通
过使用这本教材来学习C程序设计语言,初学程序设计的学生可以达到熟练运用C语言进行小规模应用开发的能力。
正是因为以上特点,谭浩强教授的《C程序设计》把原先很多人认为深奥难懂的C语言变为只要具备计算机初级知识的人都能学会一门程序设计语言,能够使学生对C语言产生浓厚的学习兴趣,是学习C语言的一本理想教材;也正是这些特点,让我们始终选择谭浩强教授的《C程序设计》作为教材。
参考文献:
[1] 谭浩强. C程序设计[M]. 3版. 北京:清华大学出版社,2005.
c语言程序设计实例范文第5篇
医学生生物医学工程C语言程序设计融合教学一、引言
生物医学工程( Biomedical Engineering,BME) 起源于20世纪60 年代,它综合了生物学、医学和工程技术学的理论与方法,是多门理工类学科向生物与医学渗透并相互交叉,从工程学的角度展开研究,以解决人体医疗的若干问题的学科。因此,生物医学工程专业是多个学科发展到一定水平交叉产生的新型高技术边缘学科。随着IT产业与医疗行业的高度融合,培养高层次的研究型、应用型技术人才逐渐成为生物医学工程专业人才培养的主要目标。
当前,生物医学工程专业毕业生面临的工作需求不仅包括传统的医疗设备管理、销售、操作和维修,还包括信息化医疗设备的研究、设计、开发和生产等。而医学类院校在“C语言程序设计”教学中普遍存在着教学内容过于偏重语法基础知识,教学案例与医学专业结合不紧密等问题,因此,医学院校有必要从教学、管理和实践等方面入手,深入探索适应新型人才培养需求的教学模式。
二、生物医学工程专业“C语言程序设计”课程的开设现状及问题分析
“C语言程序设计”是理工类大学生必修的专业基础课,也是医学类院校生物医学工程专业必修的计算机基础课程之一。该课程开设的目的在于使学生掌握基本的程序设计方法和技巧,为医学生提供一个动手、动脑、独立实践的机会,培养医学生良好的程序设计风格和严密的逻辑思维能力,为进一步学习计算机相关知识和医学专业知识奠定基。各医学类院校在“C语言程序设计”教学中也存在以下几个方面的问题:
1.“C语言程序设计”课程教学难度大
一方面,目前医学类院校“C语言程序设计”课程大多选用理工类非计算机专业的通用教材,而“C语言程序设计”课程本身具有概念抽象、语法结构复杂、数据类型繁多等特点。因此,对医学生而言,利用较少的课时学习“C语言程序设计”课程仍然具有不小的难度。
另一方面,为使医学生系统地掌握“C语言程序设计”相关知识,教学过程中容易出现课堂知识容量过大的情况,这都不利于医学生对知识的掌握。
2.“C语言程序设计”课程学习兴趣低
目前,医学类院校在“C语言程序设计”教学中更加侧重C语言语法结构等基础知识,对各种应用实例的开发、运行过程讲解得深度不够,学生实践练习机会少,学习过程较为枯躁。另外,教学实例多选用教材上的小程序,虽然方便学生预习复习,但由于缺乏界面设计、模块接口设计等实践操作,无法与生物医学工程专业的研究方向和实际需求相结合,导致学生学习兴趣低。
3.计算机知识与医工专业知识教学融合度低
当前,大部分医学类院校生物医学工程专业开设的计算机课程除了“C语言程序设计”之外,还包括汇编语言、数据库基础、微机原理与接口、电路分析、模拟电子技术、数字电子技术、信号处理技术等。各门计算机课程与医学专业课之间是相辅相成、互相联系的。例如,医学类专业课“医用传感器”实验中需要用汇编语言编写程序与单片机连接进行模拟实验。从这方面来说,计算机知识与医工专业知识存在较高的融合度。然在,实际教学过程中,由于医学生更加注重医学类专业课的学习,因此容易忽视“C语言程序设计”课程与其他专业基础课之间的联系,更谈不上与这些学科之间的融合学习。从而导致了“C语言程序设计”课程失去了计算机基础课程的服务性地位,降低了计算机知识与医学专业知识的融合度。
三、生物医学工程专业“C语言程序设计”课程的融合教学研究
“C语言程序设计”课程的融合教学是指根据生物医学工程专业的课程结构特点,在相关专业课的教学过程中,将C语言程序设计的思想和技巧融入生物医学工程专业的实际需求中,统筹课程体系中的各要素,整体协调,相互渗透,形成基于专业、依托学校、联合医院和企业的“三位一体”融合式教学培养模式。
1.基于生物医学工程专业,调整“C语言程序设计”课程
C语言是一门高级程序设计语言,对于医学生来讲,C语言的地位就相当于一门外语,是人和计算机相互交流的工具。所以,医学生学习“C语言程序设计”就像人学习外语一样,主要要学习本语法、语义和认知过程。C语言的语法规则主要包括常量和变量定义方法、数据的运算规则、程序设计的三种基本结构(顺序、选择和循环)、函数定义及调用方法等。C语言的语义规则要求学生掌握三种基本结构、利用数组批量处理数据、利用函数进行模块化程序设计以及利用指针促进程序模块化进程的思想和方法。C语言的认知过程,主要侧重于培养学生养成良好的编码规范。
由于生物医学工程专业与智能医疗器械设计、批量数据处理、故障检测等有着较为紧密的联系,因此,在“C语言程序设计”教学时除了要求学生掌握常用的语法和语义规则外,还要重点学习数据的批量处理技术和模块化程序设计等知识。
2.依托医学院校,形成多学科交叉发展
根据生物医学工程专业的课程设置,发挥“C语言程序设计”的基础性作用,形成以“C语言程序设计”为核心的多学科交叉发展。例如,对于相对晦涩的汇编语言课程的学习,可以在安装C语言编程平台(MicrosoftVisualC++ 6.0)的同时,再安装另一调试工具软件OllyDBG。对于调试版(Debug编译选项组),使用MicrosoftVisual C++6.0进行调试,将C++源代码反汇编;而对于版(Release 编译选项组)使用OllyDBG进行调试。
例如,某医院“专家预约系统”程序实例。该医院某科设有5个专家诊室,为保证看诊质量,平均分配医疗资源,医院规定:①每个专家每天只接待20个患者;②患者就诊诊室采用循环预约的方法,即1到5号、6到10号……患者分别预约1至5号专家,如此重复至所有专家预约完毕。编写“专家预约系统”程序,要求约诊单上提示患者预约了哪位专家,应该去几号诊室就诊。
分析,在Visual C++6.0环境下,使用循序程序结构与多分支结构进行嵌套实现上述功能。程序命名为“专家预约系统.cpp”,代码如下:
#include "stdio.h"
#define MAX 100
void main()
{ int i,j,m;
char flag[30];
for(i=1;i
{ printf("\\n请按“预约专家”按钮开始预约!");
gets(flag);
m=i%5;
switch(m)
{ case 1:printf("\\n您预约的是%d号专家,请到%d号诊室就诊\\n",i,m);break;
case 2:printf("\\n您预约的是%d号专家,请到%d号诊室就诊\\n ",i,m);break;
case 3:printf("\\n您预约的是%d号专家,请到%d号诊室就诊\\n ",i,m);break;
case 4:printf("\\n您预约的是%d号专家,请到%d号诊室就诊\\n ",i,m);break;
case 0:printf("\\n您预约的是%d号专家,请到%d号诊室就诊\\n ",i,5);break;}}
printf("对不起,今天预约人数已达上限,请转到普通诊室或明天预约!\\n");
程序执行过程中,以“Enter”键代表“预约专家”按钮,按其他键不执行预约专家操作。在Visual C++6.0中编译、链接、执行后,生成可执行文件“专家预约系统.exe”。程序运行结果(部分)如图1所示。
运行OllyDBG,打开上例中的生成文件“专家预约系统.exe”,得到反汇编代码如图2所示。
将C语言与汇编语言以及医学常见现象进行融合教学,一方面,能够充分发挥“C语言程序设计”的基础性地位,使医学生迅速理解并掌握汇编语言程序。另一方面,通过不同编程语言之间的融会贯通,极大地调动了医学生学习“C语言程序设计”的积极性和主动性,提高了学习效率。
3.联合医院和企业,开展订单式培养
生物医学领域独占鳌头的美国,大多数高校都与企业签有联合培养实习计划。医学生的实习多在高年级完成,因为高年级学生已经完成了通识教育知识的学习,并且在工程、数学、生物工程设计、仪器、生物及生物材料等方面已有了足够基础知识和基本能力参与生物工程方面的实践项目。联合医院和企业,开展订单式培养,一方面,可以使医学生在专业领域的联合培养实践活动中获得实践经验;另一方面,专业实践活动又能够很好地促进对其他专业课程的学习和理解。因此,联合医院和企业开展专业实习实践活动,通过对“C语言程序设计”课程理论知识的实践应用,有助于促进学生将基础理论知识与技术需求紧密结合起来,扎实学生的基本功,提高医学生的就业竞争力。
四、结束语
本文建构的“三位一体”融合教学培养模式,能够有效地解决生物医学工程专业“C语言程序设计”课程开设过程中出现的问题,充分发挥“C语言程序设计”课程的基础性地位,对提高生物医学工程专业人才素质,提升医学生实践水平,都具有一定意义。
参考文献:
[1]宫照军,顾宁,梅汉成.生物医学工程的研究范围[J].生命科学,2009,(04):212-215.
[2]宁禄乔,王新昊,康振华.基于专业培养目标的C语言教学研究与实践[J].中国教育信息化,2023,(05):59-60.
[3]刘芳,秦兴国,王宇英.《语言程序设计》教学存在的问题及改进[J].教育理论与实践,2023,(05):51-52.
[4]刘志宏,刘舟荷,张雯晖.项目教学法在C语言教学中的实践与研究[J].中国成人教育,2023,(04):139-140.
[5]宫照军,顾宁,梅汉成.中美生物医学工程专业本科教育的比较与启示[J].现代教育科学,2023,(05):132-136.
[6]谭浩强.C程序设计教程[M].北京:清华大学出版社,2023.10.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yyfangchan@163.com (举报时请带上具体的网址) 举报,一经查实,本站将立刻删除