c语言程序范例6篇

c语言程序

c语言程序范文1

原型开发是C语言程序设计学习支持系统的使用的主要理论基础,在开发该系统的初始阶段,首先要有针对性的对使用的需要进行调查,以此为依据迅速的将一个系统原型制造出来并进行正常的运转。使用者运用这个原型之后,提供使用建议,接下来就是对该原型进行有效的修补和完善,以新的结构、数据和使用模型来建立起一个崭新的原型。之后再交由使用者进行使用并反馈意见,经过几次的使用和反馈、修改,使用者与系统提供者能够在使用上达到共识,使用过程中的种种误会得以解除,使系统得到精准的内涵,同时能够到达使用者的满意。经过这一系列的反馈与修改,系统如果能够达到使用者的要求,就可以被定义为实际生产运行系统,如果达不到使用者的要求,则就会被舍弃进行重新开发。

2C语言程序设计学习支持系统的开发步骤

在对C语言程序设计学习支持系统进行开发的过程中,要严密结合《C语言程序设计》这门课程本身的独特之处,并将该系统的开发思想融入其中,实现以下五个开发步骤:

2.1开发前分析

在进行系统开发之前,一定要结合实际情况做好各方面的调研,这是系统开发的必经之路,也是基础所在。首先进行开发前调研,能够使有疑问的地方展现出来,才能给设计者提供一个确实可行的主题来开发此系统。

2.2开发前设计

经过了开发前有效的分析和主题的确立,将使用者在使用过程中的需求通过调查了解清楚,将该系统的具体模块加以确立,将原型设计出来,同时数据库的基本情况也要得到有效的设计。

2.3C语言程序编程思路和语料分析

一个科学的推理路径的确立需要有效分析C语言程序编程思路和语料,同时要仔细分析复杂程序中存在的编程思路。

2.4系统的开发

在开发系统的过程中,代码的编写、信息库的开发、先进的技术的采用一系列程序后,才能使该系统的功能得以实现。

2.5试用与修改

将开发出来的系统交给使用者进行试用,使用者在使用过程中会发现各种各样的不足,及时根据使用者的意见进行沟通和修改,最终形成一个完善的系统。

3C语言程序设计学习支持系统的功能结构

3.1学习支持模块

在计算机的使用过程中,使用者很多时候会遇到种种困难,例如在对编程或程序进行调试的过程中遇到的难题,自己无法解决时,学习支持模块就能够及时帮助使用者将问题进行指示并提供帮助。编程思路分析指导和程序调试指导是学习支持模块的两大组成部分。

3.1.1编译诊断

使用者在使用计算机的过程中,正确的程序无法得到有效的调试的情况下,编译诊断就能够充分发挥自身作用,为使用者给予及时的帮助,使其了解发生错误的根本原因。它包括了上传程序和诊断问题两大部分。该系统是在使用者无法进行正确的编译C语言源程序时启用。使用者在启用该系统是首先要将参数输入进去,此时数据库就能够通过系统的查找提供错误的起因及解决方法,系统会逐步为使用者进行提示,再通过使用者输入的问题作出判断并给出解决方案。此时问题如果没有得到解决,则说明不完善的数据库存在于该系统中。

3.1.2编程思路分析

计算机使用者在进行上机编程的过程中,该系统能够使思路不清晰的复杂程序编程进行分析,根据相近的程序编程思路给使用者提供指示。它能够满足使用者的即时需求。

3.2信息库管理模块

3.2.1用户信息库管理

使用者的使用权限、基本信息和上传程序信息等的管理都是由该模块来进行的。在使用计算机的过程中首先信息库要将使用者的基本信息收入其中,使用者在每次登陆的过程中只有将基本信息输入进去,通过系统的检查之后才能够进行使用。

3.2.2出错知识信息库管理

针对这一部分的管理,发生问题的知识信息,其中包括诊断、设问和编译错信息,C语言使用者可以采取管理维护措施。完善、删除和添加等操作可以对出错知识库加以填充和完善。

3.2.3编程思路分析信息库管理

C语言使用者可以针对这一部分采取维护管理,即维护管理复杂程序的编程思路分析信息,主要可以采取的手段有更改、删除和添加等操作,不断填充和完善此信息库。

4结论

c语言程序范文2

在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:

1.加深对课堂讲授内容的理解

课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。

通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去"掩盖"程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。

2.熟悉程序开发环境、学习计算机系统的操作方法

一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓"环境"就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。

3.学习上机调试程序

c语言程序范文3

摘要:本文从教学实践出发,分析了当前非计算机专业“C语言程序设计”教学中存在的问题。提出了在课程教学中如何采用案例教学法、基于认知主义的内容设计优化以及以行动导向学习为指导原则来设计和组织课堂和实验教学的改革措施,并应用于教学实践。实践证明改革措施是非常有效的。

关键词:教学改革;教学模式;案例教学;认知主义;行动导向学习

中图分类号:G642 文献标识码:A

1前言

“C语言程序设计”作为全国大部分高校非计算机专业的一门公共基础课,在课程教学中,许多学生都认为该课程涉及的概念比较复杂、规则繁多、使用灵活、容易出错,学习起来普遍感到困难。特别是大多数高校将C语言作为非计算机专业学生进校后首先接触的第一门公共基础课,这种现象尤为明显。为此作者从自身多年教学实践出发,以培养学生用计算机解决问题的思维能力为基本点,对该课程的教学过程进行了大胆的改革尝试。

2传统教学中存在的问题

笔者从事了多年的“C语言程序设计”教学,发现传统教学中教学效果总是不理想,因此对此进行了深入分析,发现在传统的“C语言程序设计”教学中存在以下几个主要问题。

首先,教师将教学目标主要放在了让学生掌握语法规则上,而问题分析和算法思想等程序设计能力和素质的培养不够,导致学生学习积极性不高和缺乏对实际问题进行分析、编程和处理的能力。

其次,传统的教学过程与学生认知过程存在偏差。目前,国内的大多数C语言教材都考虑到知识结构的系统性和全面性,大致按“算法-数据类型-基本结构-数组-函数-指针-文件”的顺序来组织教材。教师按照教材编排的内容和顺序,按部就班地进行教学工作。这种组织方式虽然依逻辑思维方式进行了归类,但难点还是较为集中,跨度大,学生一下子很难接受。由于学生没有编程基础,讲授算法和数据类型时只能讲的多,分析的少,“填鸭”式的将概念灌输给学生,致使学生觉得C语言很难。随后章节的讲授也是先介绍C语言语法规则,然后再针对所学的语法规则讲授例子,例子以语法应用为重点,较少涉及具体的C语言编程应用。这种从理论到实践、理论和实践脱节的教学过程不仅难以激发学生的学习兴趣,导致课程知识很难被学生全面掌握和灵活运用。

最后,传统实验教学效果有待提高。C 语言的传统实验教学以语法为主线,实验课多数是强调语法语句练习,由于语法的单调枯燥容易使学生陷入到冗繁的语法规则之中而逐渐失去学习兴趣。我们应该认识到学习语法不是我们学习程序设计语言的真正目的。程序设计教学的目的是培养学生分析问题和解决问题的能力,是在掌握语法的基础上,通过上机实践,真正地学会使用计算机语言来解决实际问题,培养学生的程序设计思想。

3C语言教学改革的探索

3.1改革教学模式,推行案例教学法等启发式教学方法

针对传统课堂教学中存在的问题,我们决心跳出以语法教学为主线的教学模式,吸收国外计算机课程教学的优点,积极准备推行个案分析,将复杂枯燥的语法知识分解到一个个生动实用的程序实例中。在教学过程中以程序设计为主线进行教学,有意识地淡化计算机语言本身语法规则的介绍,而重点介绍程序设计方法,在分析程序和程序设计中熟悉语法、应用语句,并把软件工程学的思想贯穿于算法分析和程序设计的过程中。例如课程开始先提出温度转换和两个瓶中的油水交换等现实中的问题并以程序来解决,程序中涉及到的整形和字符型等数据类型和赋值和算术等表达式做一讲解,经过多个程序的示例,学生对C程序的基本结构和其中的语法知识有了一个了解,三种基本结构都介绍以后,再将语法知识做一个总结,学生很容易接受。

3.2基于认知主义的内容设计优化

认知主义强调人的认知不是由外界刺激直接给予的,而是由外界刺激和认知主体内部心理过程相互作用的结果(内部心理过程包括态度、需要、兴趣和爱好以及原有的认知结构即过去的知识经验)。学习过程是每个人根据自己的态度、需要和兴趣爱好并利用过去的知识经验对当前的外界刺激(如教学内容)主动做出的有选择的信息加工过程。学生不再是外界刺激的被动“接收器”,而是主动地对外界刺激所提供信息进行选择性加工的主体。认知主义强调教学设计首先要充分考虑学习者的认知特征,并把重点放在教学组织策略上。强调教学内容的组织和传递策略必须充分考虑学生原有的认知结构。

在课堂教学过程中,遵循学生认知过程,对教学内容重新进行归纳,将难点再次分散,以缩小台阶,达到循序渐进。例如,C语言数据类型、运算符、表达式种类繁多,放在一起讲授,学生学习起来难度较大,我们将改变以往教学内容讲授顺序,首先介绍程序结构,使学生对C语言程序结构有个大致了解,然后通过一个简单的求两个数的和的例子介绍常用的常量形式和算术运算符以及相关的表达式,通过求绝对值的例子介绍关系运算等,使学生学习起来没有想象中的那么难。紧接着再教学生编写简单的、实用的C程序设计,然后趁机引入基本输入、输出函数就顺理成章了。这样一来台阶小了,学生的信心也增加许多,学习积极性很快就被提高起来。对于生硬的语言叙述,课堂上改用生动的比喻,进行详尽引导。

程序设计方法的传授是C 语言程序设计课程的另一重点。在教学中,不仅要贯彻自顶向下逐步求精的面向过程的程序设计思想,还要尽可能采用程序框图等程序设计工具,来说明程序设计的过程和算法,来培养学生程序设计的能力和素质。

3.3教学手段改革

传统教学手段中,用粉笔书写板书的时候,教师可能会根据学生的随堂反应,有机而又灵活地掌握分寸,并且可能以恰如其分的比喻,幽默风趣的语言,以姿势助说话等多种形式把对课程的理解表达得淋漓尽致,抓住学生跟随自己一步一步领会教材。但是,程序设计课程中问题分析、算法设计及程序都要在黑板上书写,很难展现题目直接的衔接,并且课程进度受到很大影响。

使用多媒体教室,省去了粉笔在黑板上的书写时间,以计算机技术为核心的现代化教学手段至少比板书教学节省总学时的三分之一,但是现代化的CAI教学在很多情况下只能播放事先辑录好了的讲稿、教案或课件,在一个光线黑暗的教室里,教师无法看到学生的表情。CAI教学不足之处就是容易把板书教学可能实现的双向交流变成单向传递。

基于上述分析,我们在教学过程中充分发挥两种教学手段的优势,采用多媒体与黑板结合的教学方式,对理论知识利用幻灯片给出,例题讲解只要由教师利用黑板对问题进行分析,引导学生写出算法,在语言编译环境下直接进行编程调试,使学生能直观地看到编程的方法与效果,极大地提高了学生的学习兴趣。

3.4以行动导向学习为原则设计和组织实验课程教学活动

所谓行动导向学习就是有目的地、系统地组织学生在实际或模拟的专业情境中,让学生参与设计、实施、检查和评价职业活动的经历来发现、探讨和解决职业活动中的问题,在体验与反思学习行动的过程中,获得完成职业活动所必需的知识与能力。

上机实践是“C语言程序设计”教学中不可缺少的教学环节。充分有效的上机实践不仅能纠正学习中的理解偏差、加深知识要点的理解,还能增强学生的上机实践的积极性和问题处理能力,切实提高编程能力与编程水平。

在进行实验课程教学设计和组织时,我们以行动-学习-行动这条主线来组织教学。具体过程如下:

(1) 编写一些趣味性较高的程序,演示给学生看,通过例子告诉学生我们所需要学习的知识要点;

(2) 在介绍了C语言程序编辑器的使用方法后,带领学生走进实验室,依照例题,进行简单的程序设计,对出程序中的错误,教师现场辅导给予解决;

(3) 授课教师总结实验中的共性问题,课堂上讲解此类问题的解决方法,再讲解所涉及的语法点,这样学生由于一开始已经有了感性认识,就比较容易理解和记住语法规则;

(4) 在理解和记住语法规则的基础上,教师再设计一些简单的题目,让学生走入实验室,经过这样循环往复,对于简单的程序设计,学生很快就可以掌握了;

(5) 随着学习的深入,当接触到较复杂的程序设计时,可以由教师策划一些案例,具体行动由学生自己计划、实施、检查以及修正和评价。对于一个较为复杂的程序,过去教师往往是给学生提示设计思路,这就会局限学生的思维和行动。在教学中我们可以分小组进行讨论,让学生自己拿出程序设计思路和程序设计的算法,画出流程图,然后教师给予指导和点评。

4结论

上述教学内容、教学手段与教学方法的改革,是根据实际教学过程中学生存在的问题提出的,并在“C语言程序设计”课程教学实践中运用。实践证明,这些教学改革效果良好,提高学生的学习热情,让学生从枯燥无味的语言学习中解放出来,既让学生能深刻理解课程的理论知识,又培养学生的创新思维,提高了实验技能,培养了自学能力和创新能力,并锻炼了毅力,从而从被动学习走上主动学习。我们将继续努力探索,使“C语言程序设计”课程教学日趋完善,使C语言课程的教学效果再上一个台阶。

参考文献:

[1] 张锦祥. 高级程序设计语言课程教学改革与实践[J]. 浙江教育学院学报,2007(4):71-76.

[2] 赵山林,高媛.C语言程序设计[M]. 北京:人民邮电出版社,2004.

[3] 王冬. 高职C语言程序设计教学改革探索[J]. 计算机教育,2007(9):94-96.

[4] 万蓉. 基于行动导向《C语言程序设计》的教学实践[J]. 成都航空职业技术学院学报,2008(2):17-22.

The Reform and Practice of C Language Programming

LIU Hong-min, ZHAO Shan-lin

(School of Electronics and Computer Science and Technology,North University of China,Taiyuan 030051,China)

c语言程序范文4

[关键词] C语言程序设计 课程教学 策略研究

一、引言

多年来,《C语言程序设计》一直是高校计算机专业的一门重要的专业基础课,很多其他的理工科专业,也在1年级开设这门课程。这门课程的主要目的是掌握C语言的语法规则,并具备一定的程序设计能力。对于没有编程经验的初学者来说,掌握结构化程序设计方法的困难相当大。与其他高级语言相比,C语言具有语法限制少,程序设计自由度大,可以直接操作硬件等优点,但这也使学习《C语言程序设计》这门课程更加困难。本文从《C语言程序设计》的课程教学策略入手,探讨了与教学效果有关的若干问题。

二、课程内容组织策略

在《C语言程序设计》课程教学中,内容组织策略对教学效果有直接影响。常见的内容组织策略有3种:滚雪球式内容组织策略、铺垫式内容组织策略、词典式内容组织策略。

1.滚雪球式内容组织策略

滚雪球式内容组织策略是先讲述问题的核心部分,然后按照问题各要点的逻辑关系,成螺旋状,由内相外,层层展开。这一过程有些像在雪地里滚雪球,雪球由小到大的形成过程,因此称为滚雪球式内容组织策略。例如某些演讲,先讲述演讲的题目,然后解释题目的含义,再举例说明,最后给听众一个思考的问题,这就是滚雪球式内容组织策略。

这种策略的特点是正向思维,开门见山,观点鲜明,讲解的始终是听众最需要解决的问题。优点是先入为主,能够预期要讲的内容,不感到意外;缺点是对复杂的问题,难以立刻让听众明白;对难以接受的观点,难以立刻引起听众的共鸣。

滚雪球式内容组织策略是在《C语言程序设计》教学中常用的内容组织策略。对于复杂、系统化的知识,需要详细设计讲述的过程。我们可以先用准确的术语直接讲解问题的核心部分,再用通俗易懂的话语解释,对于问题的其他部分,以后再按思路慢慢展开。例如,在第一节课介绍什么是C程序时,可以先讲最简单的C程序,即只有一个main函数,而且main函数也是空函数。然后向main函数中添加语句,再介绍含有多个函数的程序。

滚雪球式内容组织策略不仅适用于某一问题,也适用于一本书或一门课程的整体内容组织。例如,我们可以在《C语言程序设计》的教材前言或课程第一讲,就讲述什么是“C语言程序设计”等核心内容,而且要让学生听懂。在第一次课后的上机,就要让学生能够完成简单的程序设计。以后各讲再详细讲解编程所需要的完整知识。

2.铺垫式内容组织策略

铺垫式内容组织策略是先讲述问题的部分,然后按照问题各要点的逻辑关系,成螺旋状,由外相内,层层逼近,最后讲述核心观点。这种策略是在讲核心部分之前,先做充分的铺垫,因此称为铺垫式内容组织策略。例如有的演讲,先讲述日常生活中身边的某些现象,然后举一反三,引出不易想到的问题,再加以深刻的剖析,最后亮出自己的观点,这就是铺垫式内容组织策略。

这种策略的特点是逆向思维,在离中心论点较远的选择入口点,在讲述开始时听众不容易明白入口点与中心论点的关联,因此不能够预期要讲的内容。在引申剖析时往往出人意料,使听众恍然大悟,本来难以接受的事显得顺理成章、水到渠成,产生画龙点睛式的效果;但是在“点睛”之前可能会让听众不明其所以然,晕头转向,心急的听众可能没有耐心听下去。

铺垫式内容组织策略在《C语言程序设计》教学中有时会用到。对于某些复杂的概念、程序或例题,采用铺垫式内容组织策略比采用滚雪球式内容组织策略的教学效果更好。例如,在讲解“数组”、“结构体”等概念时,采用概念功能应用举例的顺序,不如采用应用举例功能概念的顺序讲解效果好。直接讲述概念时,不容易与前面的知识构成一个系统。我们可以先讲某些不适合使用简单变量的例子,然后分析简单变量为什么不适合,如简单变量难以大批量定义,不适合用循环结构依次处理,难以反映数据之间的内在联系,等等,再引出适合这些应用的“数组”来。这样讲解,“数组”的概念更容易被接受。

3.词典式内容组织策略

词典式内容组织策略是把问题的各个要点按某一规律排序,再按此顺序一一讲述。排序的规律是客观的,与要点的内在含义无关,不考虑听众是否容易理解。这种组织方式有些像词典中单词的组织方式,单词排列的次序是由单词的字母决定的,与单词的含义、读者是否容易理解、记忆无关,因此称为词典式内容组织策略。

在讲述那些需要让听众理解的内容时,一般不采用这种内容组织策略。如果某些概念只罗列名称,不介绍含义,可以按这种内容组织策略把这些名称建一个总表。很多教材的附录,手册性质的图书,也会采用这种内容组织策略。这种内容组织策略的优点是便于检索,缺点是不适合理解系统化的、内在联系密切的内容。

词典式内容组织策略在《C语言程序设计》教学中出现的较少。C语言的教材和电子教案一般是按照便于教学,便于读懂的原则编写的。那些没有详细展开讲的内容,往往以表格的形式出现在附录中或者正文中,如printf函数的格式字符表,常用库函数表等。某些总结性质的索引表也经常出现教材或电子教案中。

在《C语言程序设计》课程教学中,经常应该综合运用以上3种内容组织策略。具体应用哪一种,应该看具体情况,例如要讲解的问题是什么,学生的掌握情况和接受能力,教学条件,教师的教学风格等等因素,再确定详细内容组织策略。很多情况下,我们的教学方案是多种内容组织策略的组合。

三、课程教学资源分配策略

这里教学资源指理论课时、实验课时、辅导答疑、批改作业或其他耗费教师精力、学校资产等资源的因素。目前在很多高校,《C语言程序设计》课程存在着学时紧张的状况。因此,确定课程的各个环节占用多少教学资源,成为与教学效果(如考试成绩、编程能力等)直接相关的因素。在确定课程教学资源分配策略时,需要考虑学生学习能力、课程总学时、教学要求等具体情况。

按学生的学习能力,高校学生基本上可以分为A、B、C共3类学生。A类学生的特点是对本课程感兴趣,有钻研能力,有耐心,有恒心。即使得不到很好的教育条件,依靠自己的努力,也能够学会一些知识。对这类学生,不需要耗费太多教学资源,就能获得出色的学习效果。B类学生的特点是认真好学,但是自学能力差,对教师的依赖性很强。对投入的教学资源的回报率很高,在教师的精心指导下也能够取得很好的学习效果。C类学生的特点是对学习不感兴趣,一贯学习不好,自暴自弃。难以预计需要投入多少教学资源,才能达到与B类、C类学生同样的教学效果。

图1为一些常见的有缺陷的分配策略。图中横坐标(X轴)表示按时间顺序排列的各个教学环节,纵坐标(Y轴)表示需要投入的教学资源。3条水平虚线Y=A、Y=B、Y=C分别表示在各个教学环节能够让A类学生、B类学生、C类学生达到教学要求所需要的教学资源。

如图1(a)所示,当教学资源紧张时,把教学资源平均地分配在各个教学环节上是不合适的。若只分析教学资源中的理论课时,那么这时课程进度对B类和C类学生来说过快,会过早促使这些学生两极分化,大批学生在入门阶段就失去信心。在图1(b)中,在入门阶段进度过快,未入门的学生在之后的学习会很吃力。为了让他们达到教学要求,不得不投入更多的时间精力,投入的教学资源的回报率不高。在图1(c)中,在入门阶段过分重视教学效果,占用的课时太多。为完成教学计划,后面的教学环节只好草草完成,呈现出“虎头蛇尾”的现象,总体教学效果不好。

图2是推荐的几种在不同情况下的课程教学资源分配策略。在图2(a)中,大部分学生为B类学生,推荐的分配策略是:首先,尽量使B类学生达到基本教学要求;其次,使尽可能多的学生入门;再次,辅导少数学生达到较高水平。在图2(b)中,学生两极分化严重,A类学生和C类学生为学生的主体。这时推荐的分配策略是:一方面使尽量多的学生(含C类学生)达到基本教学要求,另一方面使上游学生达到尽可能高的水平。

《C语言程序设计》课程教学资源分配策略多种多样,在实际应用中应灵活变化,才能达到最佳效果。

四、结束语

针对不同的情况确定不同的课程内容组织策略和教学资源分配策略固然重要,但更有意义的是把尽量多的C类学生和B类学生培养成为A类学生。“十年树木,百年树人”,把学生塑造成栋梁之才,这对学生的一生都有长远的意义。

参考文献:

[1]谢竞博.C语言程序设计教学中的问题及改革建议[J].重庆邮电大学学报(社会科学版),2008,20(2):137-140.

c语言程序范文5

关键词:C语言;理论教学;实践教学

中图分类号:G642.0 文献标识码:A 文章编号:1674-9324(2012)07-0079-02

随着计算机学科和其他学科交叉应用的不断深入,高校都开设了程序设计课程,培养学生掌握和利用计算机分析解决问题的能力,同时提高学生的逻辑思维能力。要进行程序设计,必须掌握一门计算机语言作为编程工具,由于C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,它既有高级语言的优点,又有低级语言的许多特点,通过该课程可以很好地提高学生的编程能力,进一步为学习其他涉及到计算机知识的专业课程或者从事编程开发工作打下良好的基础,因此很多高校都把C语言程序设计作为一门基础的必修课进行开设[1]。然而通过调查发现,在教学过程学生普遍反应C语言难学而老师感觉难教,课程结束后很多学生对程序设计没有清醒的认识,更谈不上进行实际的应用开发[2]。如何解决C语言程序设计课程教学中普遍存在的问题,让学生对程序设计有一个完整的认识,进而培养和提高学生的综合素质,是值得每一位从事程序设计语言教学的教师去认真研究的课题。

一、存在的问题

高校C语言课程大都在一年级开设,由于大多数学生在高中时接触计算机编程较少,这就导致了学生在学习C语言的过程中,感觉其枯燥、抽象、难以掌握;对基本概念尚能理解,但当实际编程时,又感觉无从下手。这些问题跟教师讲课过程中过多注重语法等理论知识,对学生学习兴趣和解决实际问题的能力培养不够有很大关系,主要原因体现在以下几个方面。

(1)学习目的不明确。一些学生不清楚程序课程的学习目的和意义,认为就是学习语法规则,学习内容抽象并且晦涩难懂,没有实用价值,学习只是为了考试及格,认为大一开设的课程是基础课,和专业课联系不大,对自己的就业没有影响。一些非计算机专业学生学习该课程目的甚至只是为能通过计算机等级考试拿到证书。

(2)学习内容不合理。许多老师在讲授课程内容时往往都是先给出一般的语法格式,然后介绍语句的语法规则,最后讲解语法要点和例题,没有易于理解和能够提高学习的案例,由于书本内容死板枯燥且和实际问题脱节,无法满足学生的认识水平,也不能调动学生学习的兴趣。在进行上机实验时,试验内容往往是书本上的或是老师上课时所讲的案例,由于内容的选择不恰当,上机实践很大一部分情况下都变成了打字练习,或者只会验证性地做一些修改对错、得出程序运行结果的实验,一旦要求功能改进,不能进行算法和语法结构的调整,最后学生总会觉得出C语言难学的结论[3]。

(3)教学方式不完善。部分老师的教学仍然采用理论讲授在先、上机实验验证、最后布置作业巩固的传统教学模式,在教学过程中过多强调学习语法格式等理论知识,重点分析程序和算法的运行过程,而不是讲解根据问题如何分析和设计算法和程序,从而致使学生的程序设计能力不强。这种教学模式培养出的学生虽然理论知识学得很好,考试的时候也可以拿到高分,但在真正要求解决实际问题的时候,往往没有编写程序的思路,不知如何下手。由于经常解决不了问题,不能体会到计算机编程在解决实际问题时带来的便捷以及没有编程的成就感,久而久之,学生也就失去了学习计算机编程的动力。

二、解决方法

(1)激发学生学习兴趣。兴趣是最好的老师,能够使人产生愉快的心理状态,并对学习过程产生积极的影响。研究证明学习者只要对学习有兴趣,就可使人脑处于开放状态,学习者对于学习的兴趣越浓,信息在传输过程中受到的干扰就越小,信息接受量就越大。从教育心理学的角度来说,兴趣是一个人倾向于认识研究获得某种知识的心理特征,是推动人们求知的一种内在力量。人的注意力、观察力、思维能力、记忆力乃至想象力都和兴趣紧密相连,兴趣能使人的认识理解记忆处于最佳状态,思维能力最为主动和活跃[4]。有了学习兴趣,学生才有可能有意识地去思考和解决问题,因此在C语言教学的过程中要注重激发学生的学习兴趣。

c语言程序范文6

关键词: C语言程序设计; break语句; switch语句; 循环结构

中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2013)12-48-02

Analysis on “break” in course of C language programming

Li Xinran, Zhao Shanlin

(North University of China, College of Computer and Control Engineering, Taiyuan, Shanxi 030051, China)

Abstract: In the course of C language programming, the break statement has two functions. First, it is used in the switch statement, which can end Select Case. Second, it is applied to a loop structure, which can end this layer circulation. By analyzing the examples, the application conditions and functions of the break statement are revealed as well as things to note, and its application methods are clarified.

Key words: C language programming; break statement; switch statement; loop structure

0 引言

在C语言程序设计课程中,break语句的功能非常容易理解,在switch语句中可以利用break语句结束switch结构;在循环结构中可以利用break语句结束循环。但是,很多人并不清楚在什么条件下使用break语句,本文着重分析break语句的使用条件,以及break语句的常见用法。

1 break语句在switch语句中的应用

switch语句是多分支选择语句,一般形式[1]:

switch(表达式)

{

case 常量表达式1: 语句1; [break;]

case 常量表达式2: 语句2; [break;]

case 常量表达式n: 语句n; [break;]

default : 语句n+1; [break;]

}

switch语句执行过程是[2]:

⑴ 计算switch语句表达式的值;

⑵ 依次与1-n个常量做比较,当表达式的值与常量相等时,执行case后的语句;

⑶ 当执行break语句时,结束switch语句;

⑷ 如无break,则从匹配的case语句起,一直执行到break或switch语句末尾为止;

⑸ 如无匹配的case值时,则执行default相应语句。

switch语句说明:

⑴ switch后括号内的表达式可以是任意类型,会自动转化为整型;

⑵ 每个常量表达式的值必须互不相同;

⑶ 执行完一个case后边的语句后,转到下一个case继续执行,可以用break强制程序在执行完一个case后跳出switch结构。如果所有case中的常量表达式都不符合,则执行default后面的语句;

⑷ case后的多条语句不必用{}括起来。

由此可见,对于break语句的使用,当执行完某个case常量表达式后面的语句,想要结束switch语句,此时应该在相应语句的后面执行break语句。例如:

main()

{ int x=1,y=0,a=0,b=0;

switch(x)

{ case 1:

switch(y)

{ case 0: a++; break;

case 1: b++; break;

}

case 2: a++; b++; break;

case 3: a++; b++;

}

printf(“\na=%d,b=%d”,a,b);

}

/*运行结果为:a=2,b=1。*/

分析运行结果,由于case 1:语句中是switch语句的嵌套,而且嵌套的switch语句后面没有执行break语句。如果在内嵌的switch语句后面执行break语句,则运行结果为:a=1,b=0,此时执行了break语句,就从switch结构中结束了。

2 break语句在循环结构中的应用

在循环结构中使用break语句的形式是“break;”,break语句的功能是强行结束循环,转向执行循环语句的下一条语句[3]。break执行流程如图1所示。

[表达式] [表达式] [语句][语句] [break;][yes][no]

图1 break语句执行流程图

如图1所示,当循环中执行了break语句,循环将提前结束。那么在什么样的条件下,循环结构中需要使用break语句,对此我们通过一个例题,来分析使用break语句的条件。

例题:判断某一个一位数n是否在一个不高于四位的整数m中出现。判断n是否在m中出现,需要将n与m中的每一位数进行比较,分离m中的每一位数,可以借助于算数运算符的求余和除,如果n==m%10,说明n在m中出现了,此时需要提前结束循环,这时要使用break语句。如果n!=m%10,那么就需要不断求新的m,利用m=m/10求得新的m;重复n与m%10的比较过程。通过分析得知,循环结束有两种可能,一种是n在m中出现了提前结束循环;另一种是n在m中没出现,当m的值变为0时结束的循环。由于此时不能判断是什么原因结束的循环,所以我们必须借助于标示变量来区别这两种情况。先将标示变量flag的值置为1,如果n在m中出现,则标示标量flag的值置为0。如果n没在m中出现标示变量的值不变,这样结束循环后,可以通过标示变量的值来判断n在m中是否出现。

通过上述分析得到循环中使用break语句的条件:当存在着两个独立的条件都可以使循环结束时,提前结束循环的条件就是使用break语句的条件;另外一个结束循环的条件作为控制循环的变量。此种用法通常借助标示变量来区别结束循环的原因。使用break语句时候,还需注意break语句只能结束本层循环,不能影响外层循环。

判断某一个一位数n是否在一个不高于四位的整数m中出现的算法实现如下:

main()

{ int m,n,flag=1;

scanf("%d%d",&m,&n);

while(m!=0)

{ if(n==m%10)

{ flag=0;

break;

}

m=m/10;

}

if(flag) printf("no\n");

else printf("yes\n");

}

3 结束语

本文分析了C语言程序设计课程中break语句的使用方法。在switch语句中,可以结束多分支选择结构;在循环结构中,可以结束本层循环。同时分析出在两种结构中使用break语句的条件,并举例说明break语句的用法和需注意的要点。通过本文对break语句用法的分析,能让学习C语言程序设计课程的学生更准确地掌握break语句的用法,为学好结构化程序设计语言的选择结构和循环结构程序设计打好基础。

参考文献:

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

[2] 赵山林.C语言程序设计[M].人民邮电出版社,2012.

[3] 赵山林.C语言程序设计[M].高等教育出版社,2010.

上一篇电商金融论文

下一篇清风荷影