c语言程序设计通用12篇

开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇c语言程序设计,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。

钟实

(江西科技学院)

热情,也丰富了探究教学的理论与实践。具体分析并探讨了C语言程序设计探究教学的实施目标、实施条件、教学情境的创设、探究形式、教学评价等问题。

[关键词]C语言程序设计探究教学实施目标

一、C语言程序设计探究教学实施的目标:情感目标、能力目标和认知目

1、体验C语言程序设计的编程思想,激发和保持对C语言程序设计课程的

求知欲,形成积极主动地学习和参与C语言程序设计课程探究活动的态度。

2、能辩证地认识C语言程序设计对社会发展、科技进步和日常生活学习的

影响。

3、获得亲自参与研究探索的积极体验、培养严谨的科学态度。

4、能从日常生活、学习中发现或归纳可以利用C语言程序设计解决的问题,

通过问题分析确定程序功能。

6、掌握计算机程序的基本概念,理解并掌握C语言程序设计语言的基本知

识,包括语句、数据类型、变量、常量、表达式、函数等,熟悉语言的语法规则,熟

悉计算机程序执行的基本过程。

7、了解C语言程序设计语言,掌握编写程序、编译程序、连接程序以及程序

开发环境等基本知识,掌握调试、运行程序的基本方法与技巧。

二、C语言程序设计探究教学实施的条件

1、掌握一定的计算机操作基础

C语言程序设计课程由于其学科自身的特点,需要在计算机上调试程序,

所以要求学生具有一定的计算机操作知识,如:开关机、键盘和鼠标的使用、文

件的建立与查找、常用软件的使用等。

2、良好的C语言程序设计认知结构

认知结构就是学生头脑里的知识结构,是学习者观念的全部内容和组织。

奥苏伯尔的认知结构理论是针对新学习内容的影响(即迁移)提出的,良好的认

知结构有利于知识的提取和正向迁移。C语言程序设计探究教学强调在已有知

识经验上的主动建构,面对新的问题和任务,需要学生及时从头脑中提取信息,

建立新旧知识间的联系,在已有C语言程序设计知识的基础上思考解决新问题

的办法,并试图将新知识纳入自己的认知结构中。

3、良好的探究环境

良好的探究环境是学生顺利进行探究的保证,至少包含两方面的内容:(1)

探究教学中可能需要查阅大量的资料,教师还应该准备书籍、网络等辅助资源。

(2)学生在探究学习的时候不能有太多压力,不同的学生由于其自身的因素不可

能以相同的速度学习,所以教师在进行评价的时候也应该因人而异,应该为每

并在此过程中感受到乐趣。

三、C语言程序设计探究教学情境的创设

心理学研究表明,恰当、适宜的环境能有效激发人的热烈情绪,提高活动的

质量和效果。教学情境是指教师人为创造的“典型场景”,创设目的在于引出教

学任务,将学生的注意力吸引到学习任务中来。教师把将要学习的C语言程序

设计知识通过一定的情境呈现给学生,使得学生认知结构与周围环境不平衡,

引起他们对学习目标的注意和兴趣,并通过探究活动把学生过去的活动和将来

的活动联系在心理学研究表明,恰当、适宜的环境能有效激发人的热烈情绪,提

高活动的质量和效果。教学情境是指教师人为创造的“典型场景”,创设目的在

于引出教学任务,将学生的注意力吸引到学习任务中来。教师把将要学习的C

语言程序设计知识通过一定的情境呈现给学生,使得学生认知结构与周围环境

不平衡,引起他们对学习目标的注意和兴趣,并通过探究活动把学生过去的活

动和将来的活动联系在一体。探究教学情境的创设应做到:(1)创设的情境是为

C语言程序设计教学服务的,要以C语言程序设计探究教学目标为依据。(2)探究

情境要接近学生的真实生活经验,能够吸引学生的注意力,激发他们的认知冲

突和求知欲。(3)学生在情境中能够感觉到问题的存在,自然地将新旧知识联系

起来。(4)情境中必须包含学生未知的新内容,而且是能够通过探究掌握的。

四、C语言程序设计课程中的探究形式

C语言程序设计课程中开展探究教学主要有4种形式:探究性提问、探究性

讨论、探究性演示和探究性实验。这4种形式是相辅相承的,而不是孤立存在的,

在C语言程序设计探究教学中,需要用到多种形式来构成一个完整的探究教学

过程。C语言程序设计探究教学通常都是由探究性提问开始,然后进行探究性

讨论、探究性演示或探究性实验;也可能从探究性演示或探究性实验开始,在演

示或实验的过程中发现问题,再进行探究性讨论。在实际教学过程中,要根据学

习内容和课堂情况灵活地选用这些形式。

五、C语言程序设计探究教学评价

动及其效果进行客观衡量和科学判定的系统过程。C语言程序设计探究教学评

价是对C语言程序设计探究教学过程及其影响的测量、分析和评定,评价中我

识和能力发展的需要。评价对探究教学的积极作用是很明显的,但是如果评价

指标制定不合理,或者评价方法的选用、评价结果的表述不当,不仅不能达到预

期效果,还会对学生的C语言程序设计学习产生消极影响。

参考文献

[1]《基础教育课程改革纲要(试行)》教育部文件,教基[2001]17号.

[2]保罗朗格朗.终身教育引论瞰[M].北京:中国对外翻译出版公司,1985,

p15~31.

[3]联合国教科文组织.学会生存——教育世界的今天和明天[M].上海:

上海译文出.

版社,1979,p2.

[4]张大均。教育心理学[M].北京:人民教育出版社,2005,p68--71.

[5]靳玉乐.探究教学论[M].重庆:西南师范大学出版社,200l.

作者简介

钟实(1986-02)男、民族(汉),籍贯(江西省南昌市),2010毕业于浙江大学

关键词:教学内容;教学手段;教学方法;考核方式

C语言是早期最经典、最强大的面向过程的程序设计语言之一。虽然现在面向过程已经全面转向面向对象,但是C本身的中级语言的设计理念以及对现有VC/C#等语言的深刻影响,使其至今仍是程序设计入门的首选语言,也是工科院校计算机专业学生接触的第一门程序设计语言。对于计算机类专业学生来说,一旦掌握了C语言,就可以较为轻松地学习其他任何一种程序设计语言,为后续的面向对象程序设计以及Java程序设计等语言的学习打下基础;对于其他非计算机专业的工科学生来说,比如电子、机电专业来说,该课程为学生用计算机编程解决实际问题提供了方法,是学习单片机技术教学的基础和重要工具。

一、C语言教学中面临的问题

C语言程序设计是一门基于dos操作系统下的面向过程的程序设计语言,随着面向对象语言的开发,C语言在界面交互性上逊色不少,作品上也不如Flash、三维动画效果吸引眼球,难学、难懂、难以应用的课程,对学生越来越缺乏吸引力。针对这种状况笔者认为,更新教育观念、探索新的教学模式才是根本出路。笔者根据多年的教学经验,对C语言程序设计课程从教学内容、教学手段、教学方法、考核方法方面进行了一系列的创新改革。教学内容主要解决如何调动学生积极性,激发学生创新能力,如何提高学生的创新能力、实践能力、研究能力、发现问题和解决问题能力等综合素质;教学方法主要解决如何实现“以人为本”,分层次教育,如何通过引导、启发等方法,激发学生的发散性思维。同时要利用目前课堂和实验教学在培养学生创新能力和实践能力方面的优点,利用大学生实训基地,为学生的创新和实践能力的锻炼和培养提供一个良好的平台。

二、教学内容的创新

课程内容的选取与组织是课程教学改革的基础。人才培养方案对C语言程序设计教学内容进行重新整合,把课程学习划分成培养学生的基本程序设计能力和培养学生的专业程序设计能力两个阶段。

第一阶段安排在大一第一学期,主要针对没有程序设计经验的大一新生,重点讲授C语言的基本知识,包括三种基本结构、数组、函数的概念。在第一阶段教学中,笔者采用案例教学方法结合具体的程序实例,创设情境,引导学生自己总结掌握C语言的基本语法和程序设计的基本方法。第一阶段的学习结束的时候,学生可以具备基本的程序设计能力,独立编写具有初等难度、几十行的程序,并且能够较顺利地完成程序调试与测试。第二阶段教学放在大一第二学期初,针对具备基础程序设计能力的学生,重点培养学生的专业程序设计能力。在第二阶段的教学中,以学生为主体、以教师为引导,采用国家火炬计划河北省软件人才工程实训课程,使学生融会贯通所学知识,完成一个具体的项目,以达到提高学生程序开发能力的目的。迄今为止,学生完成的项目包括“银行储蓄管理系统”“彩票信息查询系统”。教学实践证明,这种理论和实践技能并行的教学模式,更加有助于学生的创新能力的提高,使学生在不断实践中掌握技能,在技能学习中提高基础理论。

三、教学手段的创新

在学习过程中除了发挥教师的引导作用,还需要充分调动学生的参与主动性。在授课期间灵活采用多种教学手段,如:自学、演示、对比、课堂提问、学生演练和讨论等,通过不同方法,寻找创意思维“契机”,安排创意铺垫内容,培育学生的创意萌芽,营造创意环境,引发学生争鸣,为学生提供更多的思维空间,诱发学生的思维灵感。例如,在教学中讲解“循环结构的循环嵌套”的时候,提出马克思手稿中的数学题的案例:伟大的思想家马克思的手稿中有这样一道有趣的数学题:有30个人,其中有男人、女人和小孩。他们在一家饭馆中吃饭,共花费50先令。如果每个男人吃饭要花3先令,女人要花2先令,每个小孩要花1先令,问男人、女人、小孩各多少人?先提出问题,引导学生分析、讨论案例,提问学生运用数学知识完成案例提出的问题需要进行哪些操作,这样学生就会比较有兴趣,课堂气氛就活跃起来。然后帮助学生从案例分析中理解并掌握什么是多重循环,并且如何使用双重循环解决问题,最终完成程序的编写。

在学习的第二阶段采用开放式训练教育方式,利用专题设计和课外指导方式,鼓励学生课外自主进行训练。如:完成的项目“彩票信息查询系统”,教师提出设计方案,学生完成基本功能以后,自己可以对其他功能进行完善。

四、教学方法的创新

课程每个章节内容结构主要由三部分组成:

知识点:介绍本章需要掌握的知识或技术。

应用案例:介绍本章知识应用的案例。

创新训练:针对具体的问题,应用本章技术来完成知识点的应用。

在整个教学过程中,教师采用框架式教学,像建筑工程师修建筑一样,先采用精讲的方式,让学生建立整门课程的知识框架;接着通过案例教学、项目式教学等多种教学方式,让学生逐步去进行细节知识点的填充;最后通过综合训练方式,完成整门课程的学习。

例如,在讲解C语言程序设计中的函数时,搭建出例如综合排序等程序的框架,给学生留出函数,让学生自由开拓思想,独立完成一些小型实例的编程,经过具体知识点的训练后,还要重点进行综合知识的应用训练,开展一系列的创新应用,以达到知识综合运用和培养创新能力的目的。

五、考核方式的创新

总之,经过不断的摸索与实践,通过以上的教学方法与教学手段的改革和实践,不仅提高了学生的学习兴趣,让学生从枯燥无味的语言学习中解放出来,从被动学习走向主动学习,同时也培养了学生分析问题、解决实际问题的能力,充分发掘了学生的创造潜能,锻炼了创新和协作精神。

参考文献:

[1]郭芹.对高职高专计算机专业程序设计教学的思考[J].中国科技信息,2008(1).

关键词:C语言程序设计;教学改革;算法

中图分类号:TP312文献标识码:ADoI:10.3969/j.issn.1003-6970.2012.05.044

TheCProgrammingLanguageTeachingReformandPractice

waNGZhong-ying

(ComputersciencedepartmentofShangluoCollege,Shangluo726000,China)

【Abstract】Clanguageashuman-computerinteractionisanimportanttool,intheITfieldisplayadecisiverole;atthesametime,clanguageisnormallyItstudentshigh-levelprogramminglanguages,theirmasterdegreedirectlyaffectsthestudentprogramliteracyandlearninginterestimprove.accordingtothelongtermclanguageprogramdesigncourseteachingexperience,combinedwiththenewteachingenvironment,thepaperpointsoutthatinthecourseofthereformintheteachingofsomemisunderstanding,inviewoftheseproblemsandhowtoimprovetheeffectofteachingputforwardmanysuggestions.

【Keywords】clanguageprogrammingdesign;teachingreform;algorithm

0引言

C语言程序设计课程是计算机科学与技术和软件工程等IT类专业的专业必修课程,也是《数据结构》、《算法设计与分析》等其专业核心课程的先修课程。C语言程序设计的水平在很大程度上决定了学生专业基础知识的掌握是否扎实,直接影响到后续课程的学习效果和专业兴趣的培养。为了提高学生的程序设计素质,为后续专业课程的学习打下基础,笔者结合自己长期C语言程序设计课程教学的体会,结合新的教学环境,指出了该门课程教学改革中的一些误区,并对如何提高教学效果提出了许多可行的建议。

1C语言程序设计教学中的几个误区

1.1对C语言程序教学的重视程度降低

许多人认为,JAVA、C#等目前行业内普遍采用的高级程序设计语言,相对来说简单易学,源程序可读性强,又有功能强大的集成编辑环境的支持,有利于让学生迅速开发项目,而C语言程序语法复杂,调试困难,开发较大规模的应用程序比较麻烦,所以在人才培养的课程体系中,采用JAVA、C#等高级语言来代替传统的C语言程序。笔者认为,这是一种急功近利的表现。首先是C语言程序的功能同样强大,在较大规模的应用程序尤其是系统程序的开发中有出色的表现,具有易编写程序操纵系统底层的优势,在嵌入式编程中具有不可替代的地位。TIOBE近日公布的2012年4月份的编程语言排行榜中,C语言再次超越JAVA语言重新回到了编程语言的王者地位,这说明具有30多年历史的C语言依然是历久弥新[1]。

1.1教学学时过度精减

在近几年的高校专业教学改革中,许多院校对课程课时进行了精减。在这个过程中,我们发现有的学校缺乏科学规划,存在许多不合理的地方,如对C语言程序设计课程的学时过分减少就是一个例子。这种现象不仅对提高学生能力的没有起到积极作用,反而影响了学生专业基础能力的培养。C语言程序设计是IT专业学生的第一门程序设计课程,不仅培养学生的对C语言本身的掌握,同时还需要培养学生的程序设计思维以及培养学生对IT行业的兴趣。在这一阶段,没有老师充分的指导往往是不够的。如果学个一知半解,会影响到后续课程如数据结构、操作系统等学习,进而失去IT行业的兴趣。

关键词:《C语言程序设计》课程;教与学;方法;探讨

1高职院校《C语言程序设计》课程教与学的现状

2教师如何上好《C语言程序设计》课程

2.1仔细领会教学大纲,全面深入教材改革

教师深入分析教学大纲,在全面了解学生的数学基础知识状况的前提下,根据大纲制定好教学计划。将教材中涉及到学生未掌握的数学知识方面的例题进行更换,避免因数学知识问题形成教学障碍。例如在讲多分支条件语句的应用中,教材普遍采用一元二次方程求解为例来说明,但一元二次方程的求解对于有些学生来说,虚数是一个知识障碍,可以想象得到,他们会学得一头雾水,教学效果自然就差。还有“输入三角形的三条边长,求三角形的面积。”的例题中,先要判断三条边是否能够组成三角形,再利用海轮公式计算面积,但海轮公式大部分学生都不清楚。这些例题就形成一个本末倒置的结果,为什么不选择其它的例题来分析呢?在后续的例题中,“根据成绩分数,输出等级。”,问题适当地简化,效果就很不错,还可以和后续的SWITCH语句结合起来教学。选取的例题除了有代表性外,涉及到的知识点也不可忽视,要记住,我们是在学习《C语言程序设计》,不是在学习数学,主次要分明。

2.2精心准备,加强师生互动

课前要充分备课,准备好教学的内容和学生的练习,做到有的放矢。例如在讲到“自加++”与“自减--”运算符时,我们着重讲自加。例题为:inta,b=5;分析:a=++b;a=b++;a=++b++;运算后a,b的值。经过分析后,让学生掌握其规律:运算符在变量前是先做自加操作,再取其值完成后续运算;而运算符在变量后面则是先取其值进行运算,再完成自加操作。得出这个结论后,提示学生自减的运算也是相似的,要求学生分析将上述例题的自加改为自减后a,b的值,这样学生学习起来针对性就比较强。为什么要设置上面三个例题呢,上过《C语言程序设计》课程的教师自然知道每道题的代表性。最后可以用综合题加强这两个运算符的运用,采用如下练习:inta=4,b=5;分析a=++a-b;b=--a++-b++;运算后a,b的值。学生完成这道综合题后,对自加与自减的运算及使用自然清晰明了。

2.3充分利用学生的成功心理,培养学习兴趣

在平时的教学中,我们也应重视这一点,特别是对学习积极性较高的学生更是如此,今年的《C语言程序设计》课程实习中,这一点得到了充分体现。很多练习我都不先分析,而是让他们自己独立分析、调试,最后才小结。大部分学生两周实习完成后,总结说:“在这两周的实习中,所学到的知识比前半学期学到的知识还多”。其实,我想并不是他们在这个过程中学到了很多知识,关键是他们经过独立地思考分析,完成了程序的编写,获得了充分的成功感!有了成功感,就有了学习兴趣,兴趣是最好的老师。学生在学习中能获得快乐,学习过程自然就会轻松很多。

2.4让学生学以致用,转变学习动机

2.5让学生克服畏难心理,理性认识计算机编程语言

我们的学生大多在学习前就有畏难的情绪,觉得《C语言程序设计》课程难学、学不会,造成这种情况主要是对计算机编程语言不了解。另外就是有些学生英语学得差,看到计算机编程使用英文,就未学先弃了。其实学习语言并没有他们想象的那么难,英语差对学习计算机语言影响不大。比如学习该课程,真正要记的关键字只有32个,语法也不复杂,只要大家不带着畏难的心理,一定能学好的。作为《C语言程序设计》任课教师,在上课前,做好学生的畏难心理工作,会在今后的教学工作中起到事半功倍的效果。

2.6从例题中提取精华,让学生掌握一些代表性的编程方法

这一点其实和学习数学一样,不管是教材中的例题还是教师另外安排的练习,一般来说都比较具有代表性,代表了某类问题的解决办法。因此,学生在学习中不要仅仅满足于理解或掌握这些题目的解决方法,还要进一步将这些具有代表性的解决办法提炼出来,为解决相似问题提供参考。比如说在讲数组排序方法的应用时,常会讲“冒泡法”和“选择法”两种排序方法,其实,作为一般的应用,不管是哪种排序方法都比较好,只要是排序的问题,使用其中的一种(或加以变换)都能解决问题的。

3教师如何引导学生学好《C语言程序设计》课程

教学是一个相互配合的过程,涉及到教师如何教、学生如何学的问题,这两个环节相辅相成、缺一不可。学生如何学也起着举足轻重的作用,而学生如何学与教师的正确引导是密不可分的,下面就如何引导的问题谈几点看法。

3.1强调该课程前四章的重要性,要打好扎实的基础

计算机语言的学习,真正要记住的知识不多。如该课程,只要学好前四章:标识符、运算符与表达式、顺序结构程序设计、程序调试方法等,并打下扎实的基础,后面的学习就会轻松得多。我们在教学中经常遇到这种情况,学到后面,有些学生连printf()、scanf()、putchar()、getchar()等常用函数的使用都忘了,这些最基本的知识都不能熟练掌握,又如何学习后面的内容呢?

3.2让学生改变学习方式,为学生多动脑、多分析、多练习提供条件

3.3引导学生加强数学的学习,努力拓宽数学知识面

以上是长期担任《C语言程序设计》课程教学的几点体会,从该课程的抽考和全国计算机等级考试《C语言程序设计》二级考试的情况来看,达到了预期的教学效果。

【关键词】C语言程序设计教学改革实践教学

一、引言

随着计算机技术的飞速发展和不断普及,计算机已经在人们的工作生活中得到了越来越广泛的应用,由此也促进了高校计算机技术教育的不断推进。目前许多高校已经将计算机语言课作为一门基础必修课,主要目的是让学生通过程序设计方法的学习,了解计算机解决问题的过程和方法,训练逻辑思维能力,培养解决问题的能力。C语言程序设计以其丰富的数据类型、清晰的语言结构、较强的逻辑性以及结构化程序设计思想等优点,非常适合作为教学语言,因此许多高校将C语言程序设计作为公共基础课。然而,由于C语言课程引入许多新概念和思想较为抽象和复杂,对于初学者来说仍具有一定的难度。针对这种情况,笔者总结了教学过程中出现的问题,提出改革方案,并取得了良好的效果。

二、存在的问题

作者通过多年从事C语言程序设计课程的教学工作,发现在教学中存在的一些问题,总结起来主要有以下几点:

(1)内容繁杂,学习过程枯燥

在C语言程序设计课程中,开始的几堂课主要是介绍数据类型、语法规则、基本函数等,内容往往比较单调、枯燥、信息量较大,学生学习起来,觉得乏味,无聊,缺乏学习兴趣和学习信心。

(2)理论与实践教学环节脱节

目前,许多高校中C语言程序设计课程多以课堂理论讲授为主,比较注重知识体系的完整,而忽略了学生编程能力以及创新能力等综合素质的培养。因此,理论与实践并重,注重培养学生的逻辑思维能力以及解决问题的能力,培养学生的钻研精神,是亟待解决的问题。

(3)学生难以建立抽象的逻辑思维能力。

利用计算机语言解决实际问题时,既有抽象的数学思维,又与以前所建立的数学思维不同,对逻辑思维能力要求较高。学生常常感到课堂上听懂了,可是自己编程解决问题时,又觉得无从下手。因此,如何帮助学生建立计算机语言抽象思维方式是教好课程的关键所在。

(4)缺乏科学合理的考核方案

传统考核往往采用期末一张试卷定成绩的考核模式,缺乏对学习过程中的监督和监管,部分学生为了得到高分,往往期末临时抱佛脚的突击复习,只注重语法等细节知识,不利于对学生解决实际问题能力的培养。

此外,由于学时有限以及机房硬件条件等因素的限制,也影响着C语言课程的实际教学效果。

三、教学改革措施

下面作者结合多年的计算机语言课程教学经验,针对C语言程序设计课程教学过程中常见的问题,提出了一些改革措施。

(1)课堂采用多种教学手段,充分调动学生学习积极性

首先,对于C语言繁多的语法、语句等比较枯燥的理论知识,教师要充分利用现代化多媒体教学设备,制作生动的电子教案,并配以一定的实际生活中的实例,如水仙花数、猴子分桃等,可以进行现场编程,使学生在解决实际问题的过程中,逐步掌握理论知识。对于一些有趣的实例,比如说汉诺塔等,可以制作多媒体课件,寓教于乐,增强课堂内容趣味性,从而充分调动学生的学习积极性,以及培养学生的主动学习能力与探索知识的能力。

(2)丰富多彩的授课方式,培养学生自主学习能力

根据不同课程内容的特点,教师选取合适的课堂组织方式。例如,教师可以采用问题讨论教学,由教师提出问题,让学生分组相互讨论,提出解决问题的方法,教师只提供必要的辅导,从而培养学生主动学习、探索并解决问题的能力以及创新能力。教师可以在授课过程中,引入项目驱动式,先从一个最简单的程序开始,随着课程的不断推进,不断扩充原有程序,教师要根据知识的层次关系提出更深层次的问题,引导学生思考。在项目驱动教学法上,需要注意的是新知识点要在原有知识点之上的逐步导入,由浅到难地逐层推进,从而使学生更容易接受。教师还可以采用启发式教学,结合一些直观形象,易于引起学生联想的具体事例来激发学生的思维,使他们学会举一反三和独立思考,注重学生逻辑思维能力的培养。

(3)理论与实践齐头并进,培养学生实践动手能力

由于C语言程序设计是一门实践性非常强的课程,要想学好C语言,就必须要多编程,多练习,在不断的编程练习过程中,掌握程序的设计思想,提高编程能力。我校十分重视实践环境建设,建有12个公共机房,并全部接入校园网,供全校C语言公共课使用。我校C语言程序设计公共课全部在机房上课,学生一人一机,机房配有投影仪,可供老师授课使用。优越的教学条件和教学设施,为学生C语言课程的学习提供了硬件保证。要求授课教师要精心准备上机的例题,并要求学生做好上机前得准备工作。在课堂组织上,先要求学生认真听课,然后再布置习题,让学生当场编制、调试并运行程序,尽量让学生把当堂课的授课内容在课内就完全掌握住,并能够熟练运用。对于学生编制的优化性能较好的程序,教师要给予积极的鼓励和表扬,使学生体验到成功的乐趣,从而增强学生的学习和探索问题的热情。

(4)建立科学合理的考核方式,注重过程监督和综合素质的培养

考试是教育评价的重要手段之一,传统的考核方式大多以期末一张试卷定成绩的考核方式,不注重学习过程中知识的积累,不能全面反应学生掌握知识的真实情况,并且不利于学生综合能力和素质的培养。因此,科学合理的考核方式对学好C语言也是重要环节之一。我校采用平时成绩+期末考核的考核方式,平时成绩主要由平时测验、平时作业、平时出勤等综合给出。而期末考核由笔试考试+上机考核两部分给出。笔试考核主要考察学生基础知识和基本理论的掌握情况,而上机考试主要考核学生动手能力和运用知识的综合能力。通过引入平时监管,就要求学生认真对待每一堂课,避免期末为了应付考试而突击复习的现象。通过引入上机考核,充分培养了学生的编程能力、解决实际问题的能力及创新能力。

四、结束语

我校通过对C语言程序设计公共基础课程的教学改革,有效增强了学生的学习热情,激发了学生自主学习的积极性,提高了学生编写、调试程序的能力以及编程解决实际问题的能力,培养了学生逻辑思维能力与团队合作精神,教学效果得到显著提高。

[1]蔡晓丽.陈舜青.丁志云,计算机C语言实验教学改革探讨[J].电脑知识与技术,2010(5):4191-4192

[2]周欣欣,程序设计类课程教学改革探索与实践.科技信息[J],2012(2)

[3]余冬梅,基于C语言的计算机语言类课程的教学方法研究与实践.现代计算机[J]2020(8):67-69

【关键词】C语言;教学改革;教学效果

《C语言程序设计》是高校各专业本科教学中的一门重要技术基础课,在各专业的本科教学计划中占有重要地位和作用。本课程的教学宗旨是要努力把C语言从应试课程转变为一种实践工具,主要目的不再局限于使学生单纯地了解和掌握C语言的基本语法规范,而是要致力于培养学生运用C语言解决实际问题的编程能力,以C语言为工具,介绍程序设计的基本思想和方法,培养学生无论以后在学习、工作中使用什么语言编程,都能灵活应用这些思想和方法的能力。

1.改革的必要性

我国传统的教学模式是完全遵循书本内容和知识结构,通过“讲授法”完成一系列的教学任务,如教师向学生传递知识信息、控制学生掌握知识信息的过程等。“讲授法”从本质上而言是一种单向性的思想交流或信息传输方式,是以教师为中心、学生被动接受知识的一种教学模式。在教学过程中,学生才是真正的主体。随着应用型人才培养改革的不断深入,学生培养目标和教育理念也不断更新,传统的教学方法无法满足现代教学需求,从而提出教学内容、教学方法和教学手段的改进,提高学生学习《C语言程序设计》课程效率和效果。

2.教学内容的科学组织

教学内容的科学组织是提高教学质量的关键。众多程序设计教材中存在的问题:①实例不实,为解释语法而设计。②语法堆砌,只见树木不见森林。③忽视错误程序的分析与讲解。为解决以上问题,编写了内容紧密结合实践,实例兼趣味性和实用性的教材。

3.教学方法的灵活应用

以应用为背景,以程序设计方法为主线、以语法和结构为核心,以培养能力和提高兴趣为目标,重视方法、思想和能力的结合。提出多种实用新式的教学方法:案例—任务驱动教学方法、设置错误寻求正确答案教学方法。

1)案例—任务驱动的教学方法

“程序设计语言”强调的是“设计”,应当从“设计”入手,以程序设计思想与方法为核心,注重程序的编写过程,选择一个恰当的案例非常重要。案例的选择应当由浅入深,要做到精、准、易。精就是突出重点,目的明确;准就是能够反映欲教授内容的本质;易是简单易懂,不能把学生吓着。

2)设置错误寻求正确答案的教学方法

在课堂教学中,有意给出一些带有算法错误或语法错误的程序段,使学生产生一些疑问,去思考,为什么这样编程不对?为什么这样的程序得不到正确的运行结果?让学生自己去寻找程序答案,修正这种程序中的语法错误及算法错误。

4.教学手段的改进

采用“以多媒体教学为主、板书为辅、现场编程演示”的方式,多种教学手段相互补充,使课堂教学与实验教学相结合。

多媒体教学方式的特点是信息量大,图文直观,便于算法的动态演示,同时借助于编译系统进行程序从编辑、编译、链接、运行到测试与调试的整个过程的演示,可增强学生对程序设计的感性认识,缺点是每页的幻灯片内容有限,不便于学生进行前后内容的对照,内容更新速度过快,学生有时反应不过来,跟不上教师的思路,而传统的板书教学法恰好弥补了这一缺陷。因此,以多媒体教学为主、板书为辅,多种教学手段并用,可以实现传统媒体与多媒体的优势互补,最大限度发挥二者的应用价值。教师课堂现场编程演示,目的是避免纸上谈兵,达到“以学生为本、师生互动”的目的,虽然加大了教师授课的随机性和难度,但是却可以充分调动学生的学习积极性和主动性,而且由教师一边带领学生找错,一边讲解如何找错和如何改错,给学生留下的印象更为深刻,也真正体现了“按照学生的学来设计和组织教师的教、启发引导、精讲多练、理论与实践相结合”的教学宗旨。

5.总结

针对应用型人才培养目标,本文对C语言程序设计课程教学的各方面提出了改革。经过几年的教学实践表明,该教学模式有利于调动学生的学习积极性,使学生真正地认识地到学有所需,学有所用,学有所为。培养了学生分析问题和解决问题的能力,提高了学生程序设计和程序调试的水平。

[1]翟秋菊.C语言程序设计教学改革初探[J].农业网络信息,2008,3.

[2]张索君.《C语言程序设计》教学改革初探[J].河南科学学院学报,2010,2.

[3]翟文宪.案例教学初探[J].课程·教材·教法,1996,6.

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

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

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

2.学习上机调试程序

通过这次为数不多的几天计算机实习学习,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。同时它让我知道,只要你努力,任何东西都不会太难。

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

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

关键词:中职计算机专业《C语言程序设计》教学方法

《C语言程序设计》在中职计算机专业专业课程中起着举足轻重的作用,也是对口高考技能考核和理论考试的必考科目。学生素质偏差是中职学校普遍存在的共性,由于学生素质一般不高,学习兴趣不浓,学习态度不端正,学习目的不明确,再加上学生刚刚接触计算机语言类的专业课,该课程本身难度较大,枯燥无味,又存在传统教学的弊端,教学设施设备落后,这些因素造成学生学习困难,没有兴趣去学,甚至有些学生望而生怯,不愿意去学;教师上课也无精打采,照本宣课,课堂氛围死气沉沉,教学效率不高,教学质量上不去,使教学陷入困境。如何使教师的教与学生的学走出误区,已成为当务之急。

一、培养学习兴趣,提高学生的学习积极性

教师首先应想方设法调动学生的学习积极性,不要急着去讲解书本知识,把学生学习积极性调动起来,让学生感觉学习C语言程序好玩,把C语言的研发当成一种游戏,产生强烈的求知欲望,进而挖掘出巨大的学习潜能。

其次在C语言教学中应多采用通俗易懂的例子,避免抽象问题挫伤学生学习积极性。比如在讲解两个变量值互换时,很多学生采用数学中的解法:A=B,B=A,不理解为什么要引入中间变量C,使用C=A;A=B;B=C语句。[1]此时教师如果用生活中看得见摸得着的实物来比喻,学生就很容易理解了。假设A和B两个盒子里分别放满白色粉笔和彩色粉笔,现要求在不借助第三方载体的情况下将两盒粉笔交换,请同学演示,能否成功如果再拿一个空盒子来并允许使用第三个空盒,能否成功由此得出必须借助第三个盒子,才能交换成功。这样学生理解起来就容易多了。

二、重新整合教学内容,分类汇总

教材一般先介绍数据类型、表达式、算法、函数等抽象难懂的C语言基本概念,然后才介绍程序的编辑和运行。如何利用现有资源重新整合教学内容打破教材原有的顺序章节,将各知识点按先分类后汇总的原则重新组织这就要求教师对整本教材的内容非常熟悉,能前后照应、融会贯通,而不是为了上课而上课,照本宣课,不能尽信书,也不能无书,这样会取得更好的教学效果。例如在讲解命名规则时,老师可以把变量和数组放在一起,使学生感觉到知识间的关联,记住了一个,另一个也记住了,提高学习效益。再如利用C语言把一系列杂乱无章的数据按照一定顺序排列,此时我们可以把顺序法、选择法、冒泡法放在一起,让学生能直观地看出各种方法的区别,举一反三,有利于加深对知识的理解。

如学习循环结构时,举例:sum=1+2+3+4+5+…+n;让学生建立两个概念:装和的变量sum(初值为0),表达式:sum=sum+n;例题变化:p=1*2*3*4*5*…*n;装乘积的变量p(初值为1),表达式:p=p*n;深化例题:s=1!+2!+3!+4!+5!+…+n!;引导学生分析并发现这是前两个循环的合并,得出循环体语句:p=p*n,s=s+p,[2][3]使学生掌握一题多变的思维模式,举一反三、触类旁通。

三、改变传统单一的教学方法

C语言和其他计算机专业课不同,它要求初学者要具备较好的数学和英语基本功,而数学和英语是职业中学学生普遍感到头疼的“老大难”课程。针对这种现状,我们要根据学科间的联系,以及学生的个性差异因材施教,要改变过去单一、乏味的以教师讲为主的传统教学方法,采用适应时代需求的符合学生客观规律的“项目教学”、“自主学习”、“任务驱动”、“案例学习”、“合作学习”[4]等多种方法。

例如:输入5个学生的3门课程成绩,求每个学生的平均成绩和每门课程的平均成绩。学生拿到题目感觉无从下手,我把题目拆分成两个任务:1.求每个学生的平均成绩;2.求每门课程的平均成绩。再将学生分成A、B两组,分别将任务1交给A组学生完成,将任务2交给B组学生完成。这样学生感觉轻松多了,轻而易举地完成了各自的任务。最后我把两个任务再组合在一起,此题就迎刃而解了。在教学过程中我改变了过去一个人讲的传统教学方式,采用项目教学和合作学习相结合的复合法使问题得以解决,学生对二维数组有了进一步的认识,加深了理解。

求学生平均成绩程序段如下:

For(i=0;i

Aves[i]=0

For(j=0;j

Aves[i]+=scor[i][j];

Aves[i]/=3;

求课程平均成绩程序段如下:

Aves[i]/=5;

C语言程序设计课程本身要求培养学生的动手能力和综合运用知识解决实际问题的能力,这就要求学生要多动手上机练习。教师要采用多媒体技术,多形式地运用教学方法激发学生的学习兴趣,引导学生的发散性思维的形成。例如:打印杨辉三角形,由于学生对杨辉三角形不了解,教师可以借用Flas形象地打印出杨辉三角形,帮助学生找出其中的规律:第一列的数都是1,各行最后一个数也是1,从第3行第2个数起,为上行同列数与前一列数之和,例:a[i][j]=a[i-1][j-1]+a[i-1][j];(i>=3,j>=2)。教师借助动画,可使得原本抽象难懂的概念变成形象直观的动态模型,为学生在练习的过程中发现问题、探讨问题、解决问题,积累丰富的经验,使学生体会到成功的喜悦。

只要我们能从学生的实际出发,充分调动学生的学习积极性,运用科学有效的适应时代要求的教学方法,就一定能使学生学好这门课程。

参考文献:

[1]林东,陈琳.编程语言基础――C语言.高等教育出版社,2006.6,(2).

[2]黄煜编.程序设计语言课程教学方法探讨.山西农业大学学报,2006,(1).

一、C语言程序设计课程教学现状

二、基于计算思维能力与信息应用能力培养的教学改革实践

计算思维能力培养的教学方法大体有问题启发式教学法、案例教学法和项目教学法。对于学生解决问题的能力和科学行动能力的培养,也常以案例教学法和项目教学法作为其教学方法。因此教师必须要认真研究和思考如何在教学中开展案例教学和项目教学。C语言程序设计课程中的许多知识点都适合培养学生的计算思维能力,特别是分析设计程序时如何科学分析问题并进行数学抽象,如何对问题进行符合逻辑的算法设计、编程与调试以及生成可执行的程序,都是对计算思维的很好的诠释。因此,在培养学生计算思维能力方面最理想的课程之一就是C语言程序设计。

(一)理论教学

(二)实践教学

(三)课程考核

本课程结合实际应用,引入企业项目化考核方式,更加注重对学习过程的考核。建立以自动评测系统和实践能力考核为主的多元化考核体系。期末总成绩由期末机试成绩(40%)、实验项目考核成绩(40%)和平时成绩(20%)组成。实验项目成绩由中级项目和高级项目两项实验成绩组成。即从项目的实施情况记录、小组项目的成果展示、实验报告的总结以及小组成员的合作态度等各个方面评定学生成绩。平时成绩依据课堂表现、考勤情况和小组协作三方面组成。这样做的目的是让学生的最终成绩能更客观地反映学生的学习过程和学习效果,突出能力培养目标,减轻学生的考试压力。四、结语培养科学行动能力,提升计算思维能力是应用型本科院校非计算机专业的计算机课程的教学目标。实践证明,在教学中应该有意识地在理论教学和实践教学的各个环节中融入计算思维的培养。在实践课的教学环节,通过分级项目的形式由易到难地把学生融入项目达标与设计实现的过程中,不仅仅有助于学生理解计算机分析解决实际问题的思想,更有助于提高学生利用计算思维方式来解决实际问题的能力与团队协作能力。

作者:刘红霞单位:榆林学院

关键词:C语言;指针;指针变量;地址

DiscussApplicationOfThePointerinCLanguageProgram

HUXiao-yan,PANGRun-fang

(Engineering&TrainingCenterInnerMongoliaUniversityofSeicenceandTechnology,Baotou014010,China)

Abstract:Inthispaper,theconceptofpointer,pointerarithmetic,pointerofuse,flexibleapplicationshouldpayattentiontointermsofClanguagepointeranalysisanddiscussion.Guidethestudentshowtousethepointer.

Keywords:CLangwage;Pointer;PointerVariables;Address

《C语言程序设计》课程是我校理工科非计算机专业学生进入大学所接触的第一门计算机语言课程。实践证明,该门课程对于初学者来说难度比较大,这也是由于C语言的特点决定的。因为C语言功能强大,它既有高级语言的特点,也有低级语言的特点。而在这门课程中指针又是C语言的精华,因此灵活地应用指针,可有效地表示复杂的数据结构、动态分配内存、方便地引用字符串和数组;在进行函数调用时还可获得多个返回值,并可直接处理内存地址,实现其它高级语言难以实现的功能;运用指针编程是C语言最重要的风格之一。但指针比较难以掌握,使用时常犯一些错误,即使是熟练的程序员也很难发现和排除这些错误。为了设计出高效、简洁、紧凑的用户程序,正确理解和使用指针非常重要。因此如何引导学生学会C语言的指针在编程中应用是很重要的事情。

1指针的概念

计算机对信息的处理都由操作系统调入存储器存放并执行,存储器中有众多的存储单元,存储单元是用来存放数据的。存放在存储单元中的数据称为存储单元的内容(或值)。计算机为了对存储单元进行有效的管理,便为存储单元进行编号(以字节为单位),这个编号就是“地址”,这个“地址”又称为指针[1]。每个变量都有一个地址。不同数据类型的变量,占用的字节数不同,系统把变量占据存储单元的第一个字节的地址作为该变量的地址。有了地址我们就可以引入指针变量。指针变量是一种特殊的变量,变量中存放的不是某种数据类型的数据,而是存放另一个变量的地址。如果一个指针变量存放了另一个变量的地址,则形象地称指针变量指向那个变量。下面提供一个指针的例题,通过分析例题来理解指针的概念。

例:利用指针,求两个整数的和。main()

{inti,j,sum;

int*p,*q;/*定义指针变量*/

p=&i;q=&j;/*建立关联*/

scanf(“%d,%d”,p,q);

sum=*p+*q;/*使用指针变量*/

printf(“%d,%d\n”,*p,*q);

printf(“和=%d\n”,sum);

}

在程序当中,首先定义两个普通变量i,j,再定义两个指针变量p,q,为了进行区分普通变量和指针变量,所以在指针变量名前加’*’号。不能引用没有赋值的指针变量,否则可能会造成系统瘫痪,所以将&i赋值给p,&j赋值给q,说明指针变量指向了普通变量。如图所示:

有了指向关系,在输出语句中就可以利用指针来访问普通变量i,j。

2指针的运算

指针变量和其他变量一样,也可以进行运算,由于指针的运算实际上是地址的运算,所以和其它变量的运算又有区别[1]。

1)间接访问运算

用变量名对其所对应的存储单元的内容进行读写称为直接访问,而通过存储单元的地址对其内容进行读写的则称为间接访问。尽管指针变量中保存的是存储单元的地址,而引入指针的目的主要是为了更方便快捷地访问存储单元的内容。

间接访问是在引用的指针变量前面加一个“*”号,用来表示指针所指向的存储单元的值或内容。例如:

inta=5,*p;

p=&a;

printf("%d",*p);

当指针p指向a后,若用指针p访问所指存储单元的内容时,可以写成*p,也就是说在这里*p与a是等价的。由于“&”与“*”两个运算符优先级别相同,且结合方向均为自右至左,又是一对互逆运算,所以有*&a=*p,&*p=&a。

2)指针变量加或减一个整型量,从而得到另一个地址,当然自增自减运算也是合法的。如先使p指向数组a的首地址(即p=a),则p+n表示的是下标为n的元素地址。p++表示:使p指向下一个元素a[1]。如果接着执行*p,则取出a[1]的值。*p++等价于*(p++)作用是:先得到p指向的变量的值(即*p),然后再将p+1=>p;*(p++)与*(++p)的作用不同,前者是先取*p的值,然后使p加1,而后者是先使p加1,再取*p;++(*p)表示p所指向的元素的值加1。指针变量乘除一个整型量无意义,C语言也不允许此类语句出现。

3)由于指针变量中的地址也是一数值,所以指针变量间也可以进行关系运算。

4)两个类型相同的指针变量可以相减,例如指向同一数组的指针变量相减可以得到两个指针间元素的个数。相加或相乘则无意义[1]。

3指针的使用[3]

链表是数据结构的一种存储形式,能够实现动态分配存储空间。我们知道,用数组存放数据时,必须事先对数组定义固定的长度(即元素的个数)。例如,有的班级有100人,而有的班级有50人,如果要用同一数组先后存放不同班级的学生数据,则必须定义长度为100的数组。如果事先难以确定元素的个数,则必须把数组定义得足够大,以便够用;但实际若使用得很少,那样就造成了内存空间的浪费。定义小了又满足不了需求,为了解决这一矛盾,C语言提供了“需之则有,不需则无”的动态数据结构--链表,它根据需要开辟存储单元。

指针和结构体配合可以实现动态存储分配,用来实现对链表的建立、插入和删除等操作。

建立一个简单链表,结点类型定义的一般形式:

struct类型名

{数据域定义;

struct类型名*指针域名}

其中,数据域和指针域都可以不止一个,当指针域不止一个时,将构成比较复杂的链表。以4个结构体变量为结点建立一个简单链表并且输出。

#include

structnode

{intdata;

structnode*next;};

main()

{structnodea,b,c,d,*head,*p;

head=&a;/*头指针指向a结点*/

a.data=10;a.next=&b;/*a结点指向b结点*/

b.data=20;b.next=&c;/*b结点指向c结点*/

c.data=30;c.next=&d;/*c结点指向d结点*/

d.data=40;d.next=NULL;/*d结点是尾结点*/

p=head;

while(p!=NULL)/*输出链表,p作为工作指针*/

{printf(“%d-->”,p-->data);

p=p-->next;/*工作指针后移*/}

printf(“NULL\n”);}

运行结果为:

10-->20-->30-->40-->NULL

建立一个简单链表很容易,只需将引用自身的结构体变量的地址赋给前驱的next即可。在后面需增加结点(即一个此类型的结构体变量)时,只要将原链尾结构体变量中的引用自身的指针指向新增加的结点即可。

4灵活应用指针还必须注意如下问题[2]

1)要注意指针变量的当前值。我们在做指针变量指向数组的练习时,经常会有这样的情况发生:

{inta[6],i,*p;

p=a;

for(i=0;i

scanf(“%d”,p++);

printf(“%d”,*p);}

当我们运行程序时,输出的6个数据和我们输入的不一致,就是由于指针变量进行了移动,已经移出了我们的数据区域,当再利用指针进行访问元素时必须把指针变量的当前值重新指向数组中的第一个元素a[0]才可以。所以上面的程序在第二个for循环的前面加一条p=a或p=&a[0];程序的结果才是正确的。

2)在一维数组a[10]中,有语句p=a,则p+i和a+i都表示地址相当于&a[i],p和a都是指针,但是它们有区别,p是变量,可以实现p++,a是常量,a的值不能改变。

3)当指针指向字符串时,字符指针变量和字符数组之间是有区别的。

A、字符数组由若干个元素组成,每个元素中存放一个字符,而字符指针变量中存放的是地址。

B、定义了字符数组之后,只能对各个数组元素赋值,不能用下面方法对字符数组赋值:charstr[];str=“Ihaveabook!”;

而对指针变量,可以采用下面方法赋值:

char*a;a=“Ihaveabook”;

赋给a的不是字符,是字符串的首地址。

C、对字符指针变量赋初值

char*a=“Ihaveabook”等价于

char*a;

a=“Ihaveabook”;

对数组初始化

charstr[]=“Ihaveabook”不等价

charstr[20];

str[]=“Ihaveabook”

5结束语

指针是C语言的难点,但也是精髓,只要我们掌握了其本质含义,也就不难了。上面所介绍的是C指针使用过程中的一些常用、重要的方法和规则。要达到熟练灵活应用,还需要在实践中不断积累、总结、提高。

[1]郝长胜.C语言程序设计[M].内蒙古:内蒙古大学出版社,2007.

关键词:C语言程序设计;实践;案例教学;考核

DiscussionofPracticeEffectinTeachingofCLanguageProgramming

SUNHua,YUJiong,QIANYu-rong,TIANSheng-wei

(SchoolofSoftware,XinjiangUniversity,Urumqi830008,China)

Abstract:Thearticlesimplyintroducestheaimsofteachingandmethodsofteaching,andanalysescasemethodinpracticeteaching.Throughbuildinginterestgroupsandreasonableexaminemechanism,itcanrealmakestudentsmasterkeypointanddifficultpointinClanguageprogramming.Practiceteachingplaysakeyroleincoursestudyingandoutsideclassstudying,anditcanalsopromoteself-confidenceofstudentsintheprocessofprogramming.

Keywords:Clanguageprogramming,practice,caseteaching,examine

程序设计课程是一门需要动手实践的课程,每一章节都需要学生编写简单的小程序以掌握所学的知识点,在全部课程结束后,要求学生能够独立地设计、编写和测试具有一定难度的程序。但是由于本课程的课时相对比较少,教学中的知识和难点又相对比较多。如何掌握课时,既能够完成教学大纲的要求,又能在较大程度上提高学生的编程水平,是一个非常有价值的研究课题。

该文将从实践的角度,重点分析实践教学在C语言程序设计课程学习过程中发挥的作用,并介绍实践教学的效果。

1课程的教学目标和教学方法

1.1教学目标

在《C语言程序设计》教学大纲中,对教学目标做出了明确的规定,要求学生通过该课程的学习,一方面,学生具备利用计算机处理问题的思维方式和程序设计的基本方法,另一方面,课程的学习能够启发学生主动将计算机引入到其它基础课和专业课。

1.2教学方法

1)针对C语言程序设计课程中技术点比较多的特点,教学形式以手把手实践方式为主。提高学生的实践动手能力。

为了充分调动学生的实践动手能力,还将实践结果与考核相挂钩,督促学生在实践过程中端正态度,认真学习。

2实践教学的方法

在教学目标和教学方法中,反复强调了实践教学,采用各处教学方法,通过实践、实践、再实践的路线,使学生能够达到教学目标的要求。我们在《C语言程序设计》课程中采用了各种实践活动,使实践教学作用在课程学习过程中得到充分的发挥。

2.1案例教学

案例教学是实践教学的一个很觉的教学方法[3],它不仅可以启发学生,使学生快速理解所学的知识,而且通过案例教学,也能帮助学生了解各知识点的用法,帮助学生快速入门。《C语言程序设计》课程的实践课时并不是无限的,如何利用有限的课时,使学生能够掌握重点和难点部分,需要一定的技巧和手段来完成。作为主讲该课程的老师,应该巧妙地安排,根据学生的特点,设计出一些经典同时又非常符合学生实情的案例。可以利用教研室的团队,形成一个《C语言程序设计》的研究小组,计论并安排适合本专业学生特点的案例。

2.2建立兴趣开发小组

在实践过程中,应该充分调动学生的自我管理能力。让学生相互帮助,有时候学生的讲解比老师的答疑更容易让学生接受。开发小组既可以让学生自己建立,小组成员由小组的组长自己指定,也可以由老师安排。最后需要老师把关,尽量保证每个小组在学期结束时,都能完成一定数量的教学案例的设计、开发和测试任务,每个小组成员在小组设计开发过程中,都有所为,有所收获。

每个兴趣开发小组完成的实践教学任务,都是由老师精心挑选的程序。有时需要根据学生的特点,有针对性地采取不同的案例,分不同的难易程度。避免有些学生觉得过于简单,有些学生又无法完成实践教学要求的矛盾。同时,还需要对学生的最终完成效果安排考核,对做的非常好的学生给予鼓励与帮助,同时考核也能激励学生认真完成,深刻掌握程序设计思想的思维模式。

兴趣开发小组之间也可以互相学习,取长补短。这种建立开发小组的模式,让学生在大学一年级就能体会到项目经理的职责与作用。同时培养学生的合作沟通技能,为以后的职业发展奠定了基础。

2.3合理的考核机制

1)由任课教师决定过程的考核。[4]

学习是一个循序渐进的过程,不同的学生,在分析问题、解决问题的能力上各有不同。由任课教师在实践过程中,发现进步比较大的学习,发现关于思考以及敢干大胆尝试的学生。而不是采用一刀切的方法,用统一的衡量方法考核学生。

2)由学院教师进行横向比较。

通过本届学生与历届学生的对比,发现不同层面上的优秀的学,在全院范围内给予表彰。

3)由校外专家进行纵向比较。

学生在实践过程中所设计开发的课程设计,考核时要求提交代码及文档,并要求完全按照规范撰写实习报告,并由校外专业审核。整个课程设计与软件开发的过程一致,从编写第一个课程开始,就让学生了解软件开发过程中所涉及的各个环节,使学生从大一开始就做到规范,并形成职业习惯。这必将终身受益。

最终对于设计开发优秀的、进步比较大的学生,都要给予一定的奖励。通过这种方式引导学生主动积极地参与到实践学习过程中。

2.4在实践中领悟

3实践教学的作用

3.1在课程学习过程中的作用

根据教学大纲的要求,《C语言程序设计》课程是实践性非常强的课程,因此,如何完成教学大纲中规定的要求,完成实践教学,达到强化学生的动手能力、培养学生的学习兴趣和启发学生的程序设计思维的作用,实践教学在这一系列的活动过程中发挥的不要替代的作用。

3.2对课外实践的指导作用

《C语言程序设计》课程的教学过程是,学习-实践-再实践。一次实践难以达到效果[5],需要反复实践。高校培养软件专业的人才的培养目标是专业的工程师。学校学习实践的结束,也是社会实践的开始。经过四年实践锻炼培养的大学生,走出校门后,企业不需再培训或者只需经过简单的职业培训,就可以上岗。因此,在校期间实践教学就显得格外重要,更加需要学生们珍惜和利用实践机会,把在校期间的实践经验直接应用于职业生涯中。真正实现从实践中来,到实践中去的过程。

3.3提升自信心过程中的作用

在教学实践过程中,通过将所学的知识运用于实践,最终能让学生对知识点如何应用有一个感性的认识,尤其是经过反复调试,最终程序的运行结果显示在屏幕上,这种成功的喜悦之情是对学生的最大的肯定,能够极大的提升了学生的自信心。这对于学生如何克服本课程后序的难点以及其它课程学习的畏难情绪也能起到很大的帮助作用。

4结束语

《C语言程序设计》课程中采用实践教学是可行而且非常有必要的,该文简要介绍了实践教学的方法,重要分析了《C语言程序设计》课程中,实践教学活动发挥的重要作用。今后需要继续探索教学方法和手段,促使实践教学的作用发挥极致,使学生达到教学大纲的要求,实现教学目标,为社会输送高级专业人才。

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

[2]新疆大学软件学院.C程序设计教学大纲[Z].2009.3.

[3]余恒芳.《C#高级程序设计》课程改革与实践之完善[J].福建电脑,2011(8):201-202.

关键词:C语言;教学内容;教学方法与手段;教学改革

1.引言

我院开设的“C语言程序设计”课程不但是计算机专业的必修课,而且也是非计算机专业的公共计算机基础课。但在“C语言程序设计”课程教学中,许多学生都认为C语言涉及的概念比较复杂,规则繁多,使用灵活,容易出错,且程序设计课程逻辑性又很强,[1]学生不能很好地理解算法,编写程序也很困难,教师教学和学生学习都感到困难,并在不同程度上产生畏难心理。特别是我院将C语言作为理工科学生进校后首先接触的第一门计算机基础课,这种现象尤为明显,而C语言基础打不牢会直接影响后续专业课程的学习。因此如何改革“C语言程序设计”课程,进一步提高教学效果成为一个紧迫任务。本文根据多年的程序设计课程的教学实践,对“C语言程序设计”课程从教学内容、教学手段、教学方法等方面提出几点建议。

2.教学内容的改革

2.1课堂教学内容的改革

传统的《C语言程序设计》教学内容主要包括C语言语法基础、数据类型、程序控制结构、函数、指针、文件等。教材在内容组织上,在语法上讲解过细、过多。在各章节的编程例子中,多数难度较大,分析较少;不够形象,学生较难理解,且适用性不强。笔者本着“以任务为驱动”的指导思想,在课堂教学过程中,对教学内容重新进行了归纳,将难点再次分散,以缩小台阶,达到循序渐进。

2.2实验教学内容的改革

“C语言程序设计”是一门实践性很强的课程,既要掌握概念,更要动手编写程序。其主要任务就是培养学生具有一定的阅读程序、设计编写程序的能力,分析问题、解决问题的能力和逻辑思维的能力。因此,上机实验是学习程序设计课程必不可少的实践环节,特别是C语言灵活、简洁,更需要通过编程的实践来真正掌握它。我院为非计算机系理工科学生开设的“C语言程序设计”课程的实验学时是32学时,共8个实验。由于实验课时较少,在实验内容的安排上就显得十分重要。实验的总体要求,强调上机实验要经历三个步骤:

(1)上机前的准备让学生写出实验预习报告。内容包括对实验题目的理解和分析,选择适当算法,画出流程图并编写程序。分析可能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。

(2)上机输入和编辑程序,并调试运行程序。首先调用C语言集成开发环境,输入并编辑事先准备好的源程序;然后进行调式。在调试过程中,要充分利用C语言集成开发环境提供的调试手段和工具,例如单步跟踪、设置断点、监视变量值的变化等。整个过程应自己独立完成。

(3)每次上机结束时老师都逐一检查学生编写的程序并打分评定。

3.教学方法与手段

在教学方法上,从以教师为主体的的方式转向以学生为主体、教师为主导的教学方法。有效地培养学生的分析问题与解决问题的能力。以“递归函数”为例,笔者先给出问题:王小二自夸刀工不错,有人放一张大的煎饼在案板上,问他:“饼不许离开案板,切100刀最多能切多少块?”。[2]通过引导学生分析问题,建立数学模型q(n)=q(n-1)+n,q(0)=1(一刀都不切当然只有1块)。再通过与或节点图分析数学模型的含义。最后给出递归算法程序。整个讲解过中结合板书,逐步引导,层层深入,取得了很好的教学效果。

在教学手段上,积极采用现代化的教学手段,如多媒体教学这样有利于激发学生的学习兴趣,发展学生的主体能力;同时由于多媒体信息量大,也能够优化教学过程。但对于案例分析或程序的编写过程,就发挥传统教学的优势,进行课堂讨论、板书讲解、结合提问,将问题层层剖析、层层深入,达到师生互动的效果,学生的想象力也会得到充分的发挥,对问题的理解也变得更容易。

4.课程考核办法的改革

建立一个服务于课程目标的学生学习评价方法是一项非常重要的工作,考核不是目的,“以考促学”才是考核的本质。传统的期末“笔试”这种单一的、“一考定终身”式的考核方式,已远远不能满足课程的需要。为使考核真正发挥“以考促学”的作用,要重视对学生学习过程的考核,重视实际动手能力的考核,侧重考核学生对知识的融会贯通和灵活运用能力,而不仅仅是基本理论、基本知识的掌握。具体的改革措施如下:

(1)变单一考核为复合考核,从多个方面对学生进行考核。课程总成绩由平时成绩、实验成绩、期中成绩、期末成绩四个部分构成。其中,平时成绩考核包括对出勤、随堂实训、课堂提问、作业等部分;实验成绩考核是针对课程的8次实验成绩。

(2)衡量这门课学习的好坏,不是看学生“知不知道”,而是“会不会干”。期末试题考核的方法不用是非题和选择题,把重点放在读程序、编制程序和调试程序。实践表明,这种考核方法不但能更客观地反映学生的学习情况,同时也能促进学生学习,起到良好的教学效果。

5.结束语

本文教学内容、教学方法与手段的改革,是根据实际教学过程中学生存在的问题提出的,并已经在“C语言程序设计”课程教学实践中加以运用,得到大部分学生的认可,取得了较好的教学效果。只要我们不断探索教学改革,我校的C语言程序设计课程的教学必会取得长足的进步。

THE END
1.初始c语言小白的第一游戏(猜数字)在程序中我们?般是使?程序运?的时间作为种?的,因为时间时刻在发?变化的。 在C语?中有?个函数叫 time ,就可以获得这个时间,time函数原型如下: 1 time_t time (time_t* timer); time 函数会返回当前的?历时间,其实返回的是1970年1?1?0时0分0秒到现在程序运?时间之间的 https://blog.csdn.net/2401_88004955/article/details/144095820
2.开源项目:2048程序!C语言编程练手小游戏,400行源码分享开源项目:2048程序!C语言编程练手小游戏,400行源码分享2048 是最近比较流行的一款数字游戏 原版 2048 首先在 github 上发布 原作者是 Gabriele Cirulli 它是基于 1024 和小 3 传奇 Threes 的玩法开发而成的新型数字游戏 大家好,欢迎来到IT知识分享网。 https://yundeesoft.com/123940.html
3.C语言实例之9斐波那契数列实现iknowtheworld的技术博客C语言实例之9斐波那契数列实现 1. 斐波那契数列简介 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多?斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为 “兔子数列”。 它的特点是从第三项开始,每一项都等于前两项之和,数列的前两项通常定义为 0 和 1(也有从 1 和 1 开始的https://blog.51cto.com/u_16417016/12665593
4.未来虫教育双手奉上!一个好玩的小游戏(纯C语言编写)!一个好玩的小游戏(纯C语言编写)! 源代码#include #include #include #include #include #define MAX 100long long int speed = 0;//控制敌机的速度int position_x, position_y;//飞机的所在位置int high, width;//地图的大小int bullet_x, bullet_y;//子弹的位置int enemy_x, enemy_y;//敌人的位置https://www.163.com/dy/article/JHS86HNJ05566XY7.html
5.C语言编写彩票程序20220209210314.docxC语言编写彩票程序.docx,.设计目的 训练随机数的控制 训练结构体数据编程 训练文件编程2.设计要求 事先把教工的编号、姓名、部门存入电脑 运行过程: 选择抽奖的等级,并输入该等级的人数 人员滚动显示,按任意键抽取(一个或一组),本等级抽取完毕,集中显示直到抽取所https://max.book118.com/html/2022/0209/8050033052004056.shtm
6.排列函数+一个组合函数)和数组编一个21选5彩票中奖的C语言程序假设左边的总分在b列,右边的总分在f列,则c1单元格的排名公式为:=countif($b:$b,""&b2)+counthttps://ask.zol.com.cn/x/23581905.html
7.彩票双色球C语言程序后端双色球程序https://www.coder100.com/index/index/content/id/2670508
8.C语言,一个彩票摇奖程序摇出22选5的中奖号码kingshow而在C语言程序中,我们要想产生不重复的随机数字,也可以模仿这个过程来产生随机数字。首先在一个数组balls中保存所有的彩球号码(从1到22),然后,用rand()产生一个数组中号码个数范围内的随机数n(产生一个0到21范围内的随机数),然后用这个数n作为数组下标,从balls数组中取出的数字balls[n]就是摇出的号码,然后https://www.cnblogs.com/kingshow123/p/yaojiang.html
9.体育彩票开发程序员招聘(工资待遇要求)深圳市傲雷科技发展有限体育彩票 开发程序员 是做什么的 取自体育彩票近一年相关招聘职位 开发程序员工程师C语言C++长沙 7000-12000 有实际开发工作经验 1、熟练掌握C或C++语言或其他语言; 2、有实际开发经验,有实际后台开发系统经验 3、熟悉基本的数据结构和操作系统知识; 4、愿意学习,喜欢学习 更多 查看公司相关招聘 相关公司 https://m.jobui.com/company/9204299/salary/j/kaifachengxuyuan/
10.揭开福利彩票3D的中奖概率Cbb语言编写阿浪的日志C语言编写:福利彩票3D游戏玩法的程序。此3D彩票游戏,包括直选 和组选。无论是直选还是组选,购买的期数越多中奖的概率就越高。从此程序了解到福彩的中奖概率。 #include<stdio.h> #include<stdlib.h> #include void RecordEnter(int En[],int n) //记录彩民购买3D幸运号码 { int i;https://www.360doc.cn/article/1295335_90393770.html
11.语言文字培训学习感悟6篇(全文)语言文字培训学习感悟 第1篇 “C++是个难学易用的语言”,这句话相信很多人心有戚戚。C++的学习难度,一在于语言本身太多的“幕”,二在于“paradigm shift”((思考模式的移转)。传统程序语言如C,pascal,basic,fortran?,除了模样看起来稍有不同,基本上都是函数call来call去,大同小异,很容易掌握。你想做的动作https://www.99xueshu.com/w/filejzei01fw.html
12.网址平台app官方入口“我对越渝合作充满信心和期待!”越南总理范明政率团访渝 。 11月8日,渝中区红岩村八路军驻渝办事处,范明政等越南代表团成员参观胡志明同志居室。首席记者 龙帆 摄 收件箱没有请查看垃液亩圾箱。掘埋基 content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalablehttp://s.wuliwuli.work/lkdduyu.html
13.项目实战2彩票号码生成器C语言课件.ppt程序逻辑及C语言编程项目实战二彩票生成器2022/12/251中国职业教育联盟课程体系中国职业教育联盟课程体系成就百万精英2.1需求描述根据双色球规则,模拟产生一注双色球号码。双色球规则:"双色球"每注投注号码由6个红色球号码和1个蓝色球号码组成红色球号码从1-33中选择;蓝色球号码从1-16中选择要求:红色球号码不能重https://www.renrendoc.com/paper/234409516.html
14.《C语言程序开发范例宝典(第2版)(1DVD)》书名:《C语言程序开发范例宝典(第2版)(1DVD) 》 出版社:人民邮电页数:502 (页) ISBN:9787115277893字数:868 (千字) 出版时间:2012-06-01印刷版次:第三版 作者:明日科技 曹飞飞 高文才图书类别:C语言 定价:65元RMB从书类别:程序开发范例宝典 第1章 基础知识 1 http://www.mingribook.com/bookinfo.php?p1=booklist&id=346
15.苹果官方ap?马来西亚数字部部长戈宾德·辛格·德奥在接受新华社记者采访时表示,作为2025年东盟轮值主席国,马来西亚正努力建设成为区域数字经济领导者,期待与包括中国在内的伙伴加强人工智能、绿色生态等关键领域交流与合作,共同迎接机遇、面对挑战。 11月19日,在马来西亚吉隆坡,深圳英飞源技术有限公司亚太区销售总监迟源(http://m.whonfon.com/1126wdrmpwc.html
16.C语言C语言运行程序后,系统将提示输入生成的彩票数量。 生成彩票 输入需要生成的彩票数量(最多100张),系统将随机生成相应数量的彩票,每张彩票包含7个号码,范围在1到36之间。生成的彩票号码将立即展示。 源码获取 关注【测试开发自动化】公众号,回复 “ 体彩模拟 ” 获取。 https://developer.aliyun.com/article/1581267