C语言程序设计2教学大纲

2024-09-06

C语言程序设计2教学大纲(共15篇)

1.C语言程序设计2教学大纲 篇一

实训二编程基础训练——选择

一、1.2.二、1.实训目的 熟悉变量、输入、输出等基本操作 进行选择结构程序设计练习实训内容及步骤 从键盘输入两个数,比较大小,输出大的数。

2.从键盘输入三个个数,比较大小,按从小到大输出三个数。

3.大小写转换——如果从键盘输入一个大写字母,要求用小写字母输出;如果从键盘输入一个小写字母,要求用大写字母输出。

4.从键盘输入一个学生成绩,对成绩进行判定,0-59不及格,60-69合格,70-79中等,80-89良好,90-100优秀。

三、算法设计思想(流程图)

程序一算法思想:

程序二算法思想:

四、测试与运行结果(输入你自己的测试结果,每位同学应该不一样)

程序一运行结果:

程序二运行结果:

五、实训体会(难点及解决方法)

1.在调试程序的过程中遇到什么问题?是如何解决的?

答:…

2.通过做本次实训,你有什么收获?

答:…

3.你有什么建议或心得体会?

六、附录源程序

程序一源程序:

程序二源程序:

2.C语言程序设计2教学大纲 篇二

1激发学生学习兴趣,树立学好C语言信心

引起学习动机的注意力条件有3个,即:感知的唤起、好奇心的激发、注意力的保持。感知唤起是引起注意力第一步,教师可以通过各种方式刺激学习者的感知系统,引起其好奇心,进而达到引起并保持注意力的效果。在上第一次C语言课时,很多学生对C语言到底是什么、作用如何等问题迷惑不解。我们可以先从大家熟悉的计算机操作系统入手,告诉他们操作系统中有很多用C语言编写的程序,然后通过演示C语言编程环境,看代码、编译、连接、执行一个完整程序来刺激其感知系统,进而激发其好奇心。在讲解完程序执行过程后,演一段由上一级学生编写的游戏程序,学生将会无比惊讶,C语言程序能用来设计游戏而且可转入到手机?在这种好奇心的驱使下,我们告诉学生,学会C语言的时候他们也能编出更多甚至比这更好的程序,接着进一步告诉他们C语言无比强大的功能与作用,使得学生充满对C语言的向往,从而激发其兴趣。

因为高职院校的学生英语、数学基础普遍较差,在激发学生兴趣后,要趁机打消学生英语薄弱的顾虑,告诉他们其实在C语言里用到的英文并不很多,能看懂编译时出现的英文就行,教学过程把常见语句告诉他们中文意思就能解决问题。

2改革课程教学内容

将整个C语言语法知识分解为四个部分。每个部分让学生独立学习与独立参加考试,目的是为了让学生在上一个阶段掌握大部分内容的基础上去学习一个部分,直到全部内容系统地学完,现将课程内容大致分成如下四个部分:

第一部分

1.概述与算法基础知识

2.数据类型、运算符和表达式

第二部分

1.最简单的C程序设计——顺序结构程序设计

2.选择结构程序设计

3.循环结构程序设计

第三部分

1.数组

2.函数

3.结构体和共用体

第四部分

1.预处理命令

2.指针

3.文件

经过这样划分后整个学期教学过程就分成四个阶段进行,可以达到循序渐进的效果。

3以实例为引,讲解语法规则,转变学生学习动机、学以致用

对于职业院校的学生来说,学习语法不是学习C语言程序设计的真正目的,应该在掌握语法的基础上,通过上机实践,真正的让学生学会用C语言来解决各种实际问题,学以致用。教师应在开学初就让学生充分了解学习C语言并不难,然后在以后的教学过程中,要使学生在学习中得到快乐、尝试成功的喜悦,提高学习的积极性和主动性,让《C语言程序设计》真正成为学生喜爱的课程。

教师在教学过程中,不能一味地按书本去讲,而要多举些实际的例子,多与日常应用相结合,用C语言解决实际问题,使学生明白C语言的用处及其强大的功能。例如,在讲授for循环时,可以计算当前班级的所有学生的平均成绩,计算总分时,用for循环计算,最后把总分除以班级人数即可得到班级学生的平均分,这样就可以节省很多工作量,而且保证结果的正确性。在课上可先把一个简单的例子给学生演示一遍,然后告诉学生具体算法设计过程,再让学生上机调试,在调试过程中让学生由统计一门课程到统计一个学生多门成绩。让他们在调试过程发现光用循环语句不能达到目的,于是引导他们学习下阶段中的数组就能解决此问题,由此让学生在解决问题的过程中产生自学的意识。

C语言还是一门实践性相当强的课程。学好C语言,要理论与实践并重。学习中存在的疑点或难点,学生可通过上机调试得到明确解答,同时也加深对学习内容的理解。教师在上课时,给学生举的例子要当场演示,在多媒体教学电脑上编译运行程序,得出正确的结果,加深学生的印象。对学生而言,在每一次的上机前应做好充分准备,编写好上机内容。对上机中出现的问题应能调试分析,编写实验报告,分析程序结果。学生只有反复上机操作,才能对C语言有更深、更全面的认识和理解,才能逐步提高实际操作和学习的能力。

4改革上机操作的实践环节,让学生当学习的主人

程序设计课程是一门实践性很强的课程,包括课堂教学和实验教学两部分。实验教学是课堂教学不可缺少的补充,实验教学质量的好坏影响课程的整体教学效果和质量,只听不练是学不好的,因此必须多编程、多上机调试。只有经过上机调试,编写的程序达到了预期的目的才算基本上掌握了编程知识。因此,要加强实践性教学环节,主要从以下几方面着手。

(1)在教学计划的安排上要增强实践性教学的学时,最好达到理论和实验的学时比例为1:1。

(2)在教学过程中,作为教学主体的教师除了讲述理论外,应尽可能地开设习题课,引导学生思考和给予学生自己分析问题的锻炼机会。

(3)在有限的设备条件下,学校应尽量提供好的实践环境和实践机会,尽可能的开放实验室和部分机房,鼓励学生独立进行工作,培养独立思考的能力和创新精神。

(4)充分发挥网络媒体的作用。以校园网为平台组建班级学习论坛。将课件与相关的视频教程加载到论坛中,以便学生随时都可以学习。开辟学生讨论空间,让学生把自己编写的程序上传至论坛中,让学生互相学习比较,教师定期点评程序质量。

5改革成绩认定方式

引入多角度评定成绩的因素,建立客观全面的考核机制。改变传统的以一张考卷决定学生在本门课程的学习中是合格还是重修的方式。综合考虑学生每个阶段的考核结果的基础上,四个阶段分别占10%,25%,30%,35%。同时鼓励学生以证代考,如获得全国计算机等级考试中的二级C语言证书,或获得省级以上的程序设计大赛三等奖以的学生可以不用参加期末考试等,以此方式鼓励学生。

总之,C语言是一门非常优秀的编程语言,学生也知道在工作过程中非常有用。但由于C语言自身比较复杂和灵活,因而掌握起来有一定难度,但一旦激发了学生的学习兴趣,并在教学过程采取有效的方法与手段,让学生积极参与到实践中来,就能取较好的教学效果。

摘要:C语言功能强大,几乎所有高校都开设了《C语言程序设计》这门课程。本文就C语言的教学方法进行了探讨,并提出了几种可供借鉴的方法。

关键词:C语言,程序设计,教学方法,学习兴趣

参考文献

[1]张建珍.C语言教学方法探究[J].计算机教育,2007,(18).

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

[3]彭丽.ARCS动机设计教学模式在高校C语言教学中的应用软件导刊.教学技术2007,(11).

3.浅谈C语言程序设计教学方法 篇三

【关键词】C语言程序设计 教学方法 资源整合

C语言是一门结构化程序设计语言,对于学生来说,C语言程序设计的思维方式和概念都是全新的,学生接受起来很困难。那么,在C语言程序设计教学过程中,怎样开展这种构造性的又具有创造力活动的教学呢?笔者经过这几年的自我学习以及实际教学中的不断摸索,对C语言程序设计教学方法有了一些认识,与大家共同探讨。

一、注重网络环境下的资源整合

互联网技术的飞速发展彻底引发了阅读、计算等方式的变革,巨大的信息量、便捷的信息传

递、极强的交互性,使得网络成为最有效的资源获取工具。因此,在教学过程中建立或利用一个以C语言为专题的编程学习网站,整合与C语言编程相关的丰富的学习资源,为学生提供动态的、协作性的学习环境和学习工具,让学习者自己选择信息资料,自己收集、分析并应用知识,去解决实际问题。通过网络学习环境开展C语言教学,提高了C语言教学活动的有效性。

二、以合作学习为导向,改革课堂教学环节

合作学习是备受国际教育界推崇的学习模式,因为它有助于培养学习者的合作精神和协同解决问题能力。

教学中,以几名学生为小组组成学习的基本单位,学生在学习小组内相互协作、相互帮助、群策群力,共同完成相应的教学任务。实际教学中,教师向各小组布置项目任务,给以必要的说明,提供必要的资料和网络资源,然后各学习小组研究问题,制定解决方案,最后将结果展示出来。例如,在C语言中的函数调用这一个问题,将程序分解为数个模块,每个小组各自承担其中一个模块的程序编写,C语言模块化程序设计的思想在这时得到充分地展现,让学生深刻理解了模块化程序设计理念,同时也使学生感受到了团队合作的重要性,培养了学生协作互助精神。

三、抓住重点,分散难点,注重循序渐进

学习程序设计是一个逐步积累的过程。教材在整体设计上,要注意分散难点、合理选材,为学生建立科学的学习顺序,并注意适时、适量,学以致用地逐步渗透相关的知识、思想和方法。对于有难度的知识点,采用先用一个简单的例子让学生有所了解,经过一段时间的反复练习以及相关知识的积累后,再引入一个复杂一些的例子,深入理解和掌握,然后再加以概括和总结。让学生对知识的认识、理解、运用有一个逐步深入的“螺旋式”上升过程。帮助学生把已学到的内容不断纳入新的内容体系中去,使学生认知结构中原有的概念和新的知识建立起实质性的联系。例如,双循环结构知识点中的打印规则图案的程序设计方法,就可依据问题的难易程度,先找出直角三角形图案形成的规律,再探究等腰三角形图案的形成特点,最后解决构成菱形图案的程序设计,让学生有一个全面、系统的理解和掌握解决该问题的思想方法。

四、立足任务驱动,渗透基本概念

概念的形成过程常常是学生进行逻辑思维的过程,如果遵循逻辑思维过程去组织教学,必将使学生容易掌握概念。因此,要想让学生领会C语言中抽象的概念,教学中以实例任务作为知识的载体,在每个实例中适时、适量渗透一些相关的概念和知识,由实例去驱动学生主动发现、分析和处理问题,让学生在做中学,在学中做,使学生在完成任务的过程中,逐渐地、很自然地去体会C语言的语法规则及相关概念,并且在这一过程中,学生还能体会到相似概念之间的差别,以及解决这一问题的不同程序设计步骤。比如,当型循环while与直到型循环do-while语句的区别,如果只通过教师讲述,多数同学一般只能在表面上知其然,实则不知其所以然,但如果给出一个具体的任务实例,让同学们在实践后的结果中自己去体

验两者之间的不同,留在学生脑海中的记忆将犹为深刻。

五、引导学生建构自己的知识体系

基于网络环境下的学习过程具有开放性、广域性和易交流性。因此,网络环境下的创新教育能真正达到因材施教、发展个性的目的,能够使学生主动参与学习过程,并按照自己的认知水平有序地进行学习和提高,并使其创造性学习成为一种习惯。建构主义的教学活动中,教师的教学形式并不固定,学生则作为一个主体,积极会同其他的小组成员一起,通过已经整合的学习资源在网络下讨论和学习,教师给予学生引导和帮助,解决学生建立知识体系过程中所出现的问题。这样,学生既掌握了教材上的内容,同时又通过网络资源学习了相关的知识点,完成了对自己知识体系的建构,形成了自己的学习方式,而教师不但完成了教学任务,也教会了学生学习的方法,为学生以后的自我学习打下基础,正所谓“教”与“学”相得益彰。

六、做好归纳总结,提高学生学习效率

C语言程序设计的学习,很重要的一点在于归纳总结。一个章节的结束,学生则难以形成完整、清晰的框架,因此,教师在教学中要及时归纳、做好小结。教学归纳可以是一个知识点的归纳(如if条件语句的归纳),也可以是对一种知识结构的归纳(如分支结构中包含if语句、while语句、循环语句等的归纳)。总结可以是一个小节的总结,也可以是一个单元内容的总结。归纳总结的形式也可以多种多样,可以使用文字概括,也可以使用图表总结,重点难点要着重强调。做好归纳总结,有利于学生对知识的理解、做到融会贯通,顺利实现知识迁移,提高学生的学习效率。

教学方法在程序设计教学中的重要性是不言而喻的,它制约着程序设计教学的效率。面对的教学对象不同,教学方法各异,但使每位学生都能得到充分的发展,培养创新人才,是我们的同一目的,教学绝不能脱离学生的知识背景和认知规律。

参考文献:

[1]扈中平.现代教育理论.高等教育出版社,2004.

[2]余胜泉.网络课程的设计与开发.教育技术通讯,2000,(10).

4.C语言程序设计课程教学大纲 篇四

中央电大教务处教学管理科 2007年08月29日

第一部分 大纲说明

1.课程性质、任务与目的

《C语言程序设计》是中央电大计算机科学与技术专业(专科起点本科)的一门专业基础课。主要任务是介绍C语言中的数据类型、数据表示、运算规则、语句定义、函数调用、程序结构、文件使用、编程方法等内容。目的是使学生能够利用一种计算机程序设计语言编写出解决较简单的数值计算和数据处理问题的程序,为学习后续课程奠定程序设计和算法设计的基础。

2.与其他课程的关系

学习《C语言程序设计》课程需要了解计算机基本组成,并具有对计算机进行基本操作的技能。本课程的后续课程为《数据结构》、《操作系统》、《数据库》等。

3.课程教学特点

《C语言程序设计》是一门知识性和实践性都很强的课程,必须在学习中掌握C语言的语法规则,并在上机实践中体会和加深理解,通过实际的上机操作训练,还能够学习到书本上学不到的知识和技能,提高自己进行程序设计和开发的实际能力。

4.教学主要内容

(1)介绍C语言上机操作环境、程序基本结构,系统函数的使用;

(2)介绍常用输入输出函数的作用;

(3)介绍C语言基本数据类型、常量、变量、运算符、数学函数、表达式等的表示与含义;

(4)介绍各种分支语句、循环语句的流程控制功能及相应的程序设计方法;

(5)介绍一维数组和二维数组的定义与作用,字符串数组的特殊存储格式与作用;

(6)介绍指针的定义和运算,变量存储空间的动态分配,数组名的指针含义;

(7)介绍用户函数的定义与调用,值参数和指针参数的使用,变量的作用域,递归函数;

(8)介绍结构和联合类型的定义与应用,结构链表的建立和使用;

(9)介绍文件的概念,文件的打开和关闭,字符文件和字节文件的处理操作。

(10)介绍利用C语言编写解决实际问题的程序设计思路和方法。

5.教学基本要求

本课程教学内容包括了解、理解和应用三个层次,并且逐步递进,具体含义如下:

(1)了解层次:记忆C语言中的基本概念和语法规则;

(2)理解层次:掌握C语言中的每个语法成分和语句的定义格式、含义及作用;

(3)应用层次:利用C语言,结合实际解决问题的需要,能够分析和编写程序。

第二部分 媒体使用和教学过程建议

1.课程学分和学时

本课程为4学分、72学时、第一学期开设。电视、实验和面授辅导学时各为20、27和25学时。课程中各章内容及学时分配如下表所示。

序号 一 二 三 四 五 六 七 C语言概述 数据类型与表达式 流程控制语句 数组和字符串 指针 函数 结构与联合

内容

电视学时 实验学时 面授学时 3 3 2 2 3 3 2 4 4 4 4 4 3 3 3 3 4 3 八

文件 2 3 4

2.教学媒体设计

(1)课程以文字教材为主,文字教材采用合一型。文字教材担负起形成整个课程体系系统性和完整性的任务,是学生学习的主要媒体形式。因此教材要概念准确、条理清晰、深入浅出、便于自学,并且要包含实验指导和实验内容。

(2)电视课程作为文字教材的强化媒体,配合文字教材讲授课程的基本知识以及重点和难点。

(3)面授辅导课程由面授教师系统地辅导教学内容,保证教学进度,检查学习效果,随时解答学生的问题,是非常重要的教学活动。

(4)CAI课件是利用计算机进行自主学习的重要教学手段,它能够集名师讲授、动画教学演示、作业练习、学习效果检查等为一体,不受时间、地点和空间的限制,深受学习者喜爱。

(5)网络资源媒体可以汇集有关教学文件为学生查询提供方便,还可以进行网络交流答疑活动,便于师生定期或随时开展。

3.教学过程建议

本课程的电视和面授课堂教学要把知识讲授与上机操作演示结合起来,同时要加强学生的上机操作练习和指导,使所学知识都能够得到上机运行结果的充分验证。

第三部分 教学内容和教学要求

第一章 C语言概述

(一)教学内容

1.C语言的特点

2.C语言中的基本语法成分和程序结构

3.常用输入输出函数printf和scanf的作用

4.C程序的编辑、编译、链接和运行

(二)教学要求

了解:C语言的特点,基本的语法成分,程序的结构,C程序的编辑、编译、链接和运行的过程。

理解:常用输入输出函数printf和scanf的作用

第二章 基本数据类型与表达式

(一)教学内容

1C语言中的基本数据类型;

2.整数、实数、字符、枚举等常量的表示;

3.使用#define编译预处理命令定义符号常量;

4.变量的定义和分类;

5.各种运算符的表示和应用;

6.数值、关系、逻辑表达式的求值;

7.常用数值函数的调用,如绝对值函数、平方根函数、指数函数、对数函数、取整函数等的调用。

(二)教学要求

理解:C语言中的基本数据类型种常量和变量的表示,运算符的优先级和结合性,表达式的构成,常用数学函数的调用格式与作用。

第三章 流程控制语句

(一)教学内容

1.if语句的定义格式和作用;

2.switch语句的定义格式和作用;

3.for语句的定义格式和作用;

4.while语句的定义格式和作用;

5.do---while语句的定义格式和作用;

6.continue和break语句的定义格式和作用;

7.return和goto语句的定义格式和作用。

(二)教学要求

理解:各种语句的定义格式;

应用:分析程序,按照解决问题的需要编写出相应程序。

第四章 数组和字符串

(一)教学内容

1.数组和数组元素的有关概念;

2.一维数组的定义和应用;

3.二维数组的定义和应用;

4.字符串的存储和字符与字符串函数的使用。

(二)教学要求

了解:数组和数组元素的有关概念;

理解:一维数组和二维数组的定义格式,字符串的存储格式,字符与字符串函数的调用格式;

应用:会分析含有数组和字符串应用的程序,根据数值计算和数据处理问题编写出数组应用程序。

第五章 指针

(一)教学内容

1.指针的有关概念;

2.指针的各种运算

3.数组元素的指针访问方式

4.数据存储空间的动态存储分配

(二)教学要求

了解:指针的有关概念;

理解:指针的各种运算符的含义,一维和二维元素的指针访问方式,动态存储分配与释放函数的含义;

应用:会分析含有指针操作的程序。

第六章 函数

(一)教学内容

1.函数的定义格式和各个语法成分的作用;

2.函数的调用格式以及调用过程;

3.值参数和指针参数的不同作用;

4.变量的作用域分类;

5.递归函数的概念和调用过程。

(二)教学要求

了解:函数的定义、声明、调用与返回的有关概念;

理解:函数的定义和调用过程,值参数和指针参数的使用,变量的各种不同作用域;

应用:会分析一个函数定义的功能,根据问题编写出对应的函数。

第七章 结构与联合(一)教学内容

1.结构的基本概念

2.结构的定义与初始化

3.结构成员的访问和结构变量的赋值

4.结构与数组

5.结构与函数

6.结构与链表

7.联合的定义与使用

(二)教学要求

了解:结构和联合的有关概念;

理解:结构和联合的定义格式,结构和联合成员的访问,结构作为函数参数的应用,结构作为链表中结点类型的应用;

应用:会分析和编写使用结构的函数或程序

第八章 文件

(一)教学内容

1.数据文件的概念

2.文件的打开和关闭,3.文件的操作方式

4.字符文件的访问

5.字节文件的访问

(二)教学要求

了解:文件的有关概念;

理解:文件的各种访问方式;

应用:会分析和编写使用文件的程序。

第四部分 实验

5.C语言程序设计2教学大纲 篇五

课程名称:C语言程序设计

课程属性:必修(限选)

实验属性:独立设课

适用专业:光伏发电技术及应用、光伏材料加工与应用技术、新能源应用专业 学时:(实验学时 34)

应开实验学期:第二学期

应开实验项目数:

实验类型:综合性、验证性

一、本门课程实验的目的与要求

通过实验,加深学生对C语言的理解,掌握数据类型、模块化程序设计、指针、数组、指针及结构体、共用体和枚举类型的定义及使用,会写选择型程序、循环型程序,要求学完本门课程后,可编写C语言小程序。

上机实验是学习C语言程序设计的重要环节。通过实验,学习C语言的特点和方法;理解计算机程序的执行过程;掌握用计算机解决问题的方法和基本的程序设计技术;学会程序的调试方法。

二、实践形式和实践环境要求

1、实践形式:课内实验。

2、实验环境要求:每人一台电脑,安装有(Turbo C 2.0,C++环境)的实验室环境条件。

三、实践总学时和实践资料

1、总学时:34学时。

2、资料:按自编实验指导书相关内容进行实践。

四、考核与成绩评定

本课程实验考核由各分阶段实验报告、期末实训两大部分组成。各分阶段实验报告占总成绩的60%,期末考核占总成绩的40%。

五、实践任务与学时分配

实验一C程序上机操作方法及运行环境

(一)实验目的与要求:

1、了解所用的计算机系统的基本操作方法,学会独立使用该系统。

2、了解在该系统上如何编辑、编译、连接和运行一个C程序。

3、通过运行简单的C程序,初步了解C程序的特点。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验二数据类型、运算符和表达式

(一)实验目的与要求:

1、掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。

2、掌握不同的数据类型之间赋值的规律。

3、学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加和自减运算符的使用。

4、进一步熟悉C程序的编辑、编译、连接和运行的过程。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验三顺序结构程序设计

(一)实验目的与要求:

1、掌握字符型数据与整型数据如何通用及赋值语句的使用方法。

2、掌握各种类型数据的输入输出函数的应用方法。

3、掌握顺序结构程序的编写过程。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0环境)。

实验四选择结构程序设计

(一)实验目的与要求:

1、掌握关系运算符和逻辑运算符的使用方法及其表达式的应用。

2、掌握分支语句的使用。

3、结合程序掌握一些简单的算法。

4、学习调试程序。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验五循环结构程序设计

(一)(一)实验目的与要求:

1、掌握循环次数不确定的循环程序设计方法。

2、掌握如何用break语句退出循环。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验六循环结构程序设计

(二)(一)实验目的与要求:

1、掌握循环次数确定的循环结构程序及双重循环结构程序的设计思路。

2、掌握循环控制变量的取值范围的确定。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验七数组的应用

(一)(一)实验目的与要求:

1、掌握一维数组的定义及应用,主要注意其下标从0开始及下标越界问题。

2、掌握数组在循环的控制下其下标的灵活变化。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验八数组的应用

(二)(一)实验目的与要求:

1、掌握数组的定义、数组元素的引用及数组的初始化。

2、掌握字符数组的定义、数组元素的引用及对字符数组的初始化。

3、在综合应用中的具体体现。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境))。

实验九函数

(一)(一)实验目的与要求:

1、掌握函数的定义、说明和调用方法。

2、理解return语句的作用和使用方法。

3、掌握函数调用过程中“传值”和“传址”方法的特性、使用及区别。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验十函数

(二)(一)实验目的与要求:

1、掌握函数的定义、说明和调用方法。

2、理解return语句的作用和使用方法。

3、掌握函数的嵌套调用和递归调用的定义及编制方法。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验十一编译预处理

(一)实验目的与要求:

1、掌握简单的宏定义和带参数宏的定义及其应用,并理解宏展开实质。

2、掌握文件包含和条件编译的应用。

3、清楚带参的宏和函数的差异。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验十二指针

(一)实验目的与要求:

1、掌握指针的概念,指针变量的定义和使用。

2、会使用指向数组的指针。

3、会使用指向字符串的指针。

4、掌握指针型函数和指向函数的指针。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0,C++环境)。

实验十三结构体、共用体

(一)实验目的与要求:

1、掌握结构体类型的说明和结构体变量的定义。

2、掌握结构体变量成员的引用和对结构体变量的初始化。

3、掌握结构体数组的定义及使用。

(二)参考学时:2

(三)实验环境::计算机机房(Turbo C 2.0环境)。

实验十四文件

(一)实验目的与要求:

1、掌握文件以及缓冲文件系统、文件指针的概念。

2、学会使用文件打开、关闭、读、写等文件操作函数。

3、学会用缓冲文件系统对文件进行简单的操作。

(二)参考学时:2

6.C语言程序设计教学大纲72du 篇六

课程名称:中文名称 :C语言程序设计;英文名称:C Language Programming 课程编码:161002 学 分:4.5分

总 学 时:72学时,其中,理论学时:52学时;上机学时:20学时。适用专业:全校理工科各专业 先修课程:计算机基础 执 笔 人:李新玉 审 订 人:杜友福

一、课程的性质与任务

《C语言程序设计》是为全校所有的理工科专业的学生开设的公共基础课,也是一门重要的必修课。其目的是使学生掌握程序设计的基本方法,培养学生掌握利用计算机处理问题的思维方法与应用能力。要求学生掌握程序的三种基本结构及结构化的程序设计方法,了解并掌握几种典型的算法,并且能够熟练地运用C语言编写各种应用程序,为进一步学习其它相关课程奠定基础。

二、教学内容与学时分配

第一章

程序设计基本概念

(3学时)本章重点:

一、算法及特性;

二、结构化程序设计方法。难点:算法设计及其表示。第一节 程序和程序设计

一、程序;

二、程序设计。第二节 算法

第三节 结构化程序设计方法

第四节

C语言程序的基本结构

第二章 数据类型、运算符和表达式

(5学时)本章重点:

一、标识符的正确使用;

二、各种基本数据类型的使用;

三、算术运算符的优先级和结合性;

四、表达式计算中的类型转换。难点:

一、各种类型数据在计算机内存中的存储形式;

二、自增自减运算。

第一节 C语言的数据类型 第二节 常量与变量 第三节 整型数据 第四节 实型数据 第五节 字符型数据

第六节 算术运算符与算术表达式 第七节 赋值运算符与赋值表达式

一、赋值运算符和赋值表达式;

二、复合的赋值表达式;

三、自加、自减运算符;

四、赋值运算中的类型转换。

第八节 逗号运算符与逗号表达式

第三章 顺序结构程序设计

(4学时)本章重点:

一、printf函数;

二、scanf函数。难点:输入与输出时的格式控制。第一节 C语句概述

第二节 赋值语句

第三节 数据的输入与输出

一、printf函数;

二、putchar函数;

三、scanf函数;

四、getchar函数 第四节 顺序结构程序举例

第四章 选择结构程序设计

(4学时)本章重点:

一、逻辑值的表示、使用及其运算;

二、关系运算符的运算规则及关系表达式;

三、逻辑运算符的运算规则及逻辑表达式;

四、if语句;

五、switch语句的形式与执行过程。难点:

一、逻辑表达式求值时的“非完全求解法”;

二、条件运算符具有的自右向左的结合性及条件表达式的求解过程;

三、if语句的嵌套使用问题;

四、switch语句的执行过程及在switch语句中正确使用break语句的方法。

第一节 关系运算和逻辑运算

一、逻辑量及其在C语言中的表示;

二、关系运算符和关系表达式;

三、逻辑运算符和逻辑表达式。

第二节 if语句

第三节 条件运算符和条件表达式

第四节 switch语句

第五节 语句标号和goto语句(本节内容仅要求一般了解)

第六节 选择结构程序举例

第五章

循环结构程序设计

(6学时)本章重点:

一、while循环、do-while循环及for循环的构成、执行过程及使用方法;

二、循环嵌套的使用方法;

三、用循环结构实现的典型算法,如:累加、阶乘、穷举法、递推法等。难点:

一、for循环使用时的灵活性,如:表达式的缺省及其处理、循环体是空语句等;

二、多重循环(即循环嵌套)的使用;

三、break语句和continue语句的作用和区别。

第一节 while语句

第二节 do-while语句

第三节 for语句

第四节 循环的嵌套

第五节 break和continue语句在循环体中的作用

一、break语句;

二、continue语句。

第六节 用if语句和goto语句构成的循环(本节内容仅要求一般了解)第七节 循环结构程序举例

第六章 数组

(6学时)本章重点:

一、各类数组的定义、引用及初始化;

二、用字符数组来处理字符串;

三、数组应用的典型算法,如:求最大/最小值、排序等;

四、字符串处理函数。难点:

一、二维数组的存储结构;

二、字符数组与字符串的关系;

三、字符串的输入输出。

第一节 一维数组

第二节 二维数组

第三节 字符数组

一、字符数组的定义与引用;

二、字符数组的初始化;

三、用字符数组来存放字符串;

四、字符数组的输入和输出;

五、用于字符串处理的函数;

六、字符数组应用举例。

第七章 函数

(6学时)本章重点:

一、库函数的正确使用;

二、函数的定义、调用和说明的方法;

三、调用函数和被调用函数之间的数据传递规则;

四、函数的递归调用方法。难点:

一、函数定义、调用和说明三者的关系;

二、传值调用、传址调用的含义及使用;

三、递归的实现方法。

第一节 库函数

第二节 函数的定义和返回值 第三节 函数的调用

第四节 函数的说明

第五节 调用函数和被调用函数之间的数据传递 第六节 函数的递归调用 第七节 程序举例

第八章

用户标识符的作用域和存储类型

(4学时)本章重点:

一、作用域与生存期的基本概念;

二、局部变量、全局变量的作用域、生存期及各自使用时的特点;

三、static说明对局部变量和全局变量的影响;

四、扩展全局变量作用域的方法。难点:

一、4种存储类型变量的说明方式、特点及适用范围;

二、静态局部变量的初始化及其对程序的影响;

三、全局变量与局部变量同名时的处理。

第一节 局部变量、全局变量和存储分类 第二节 局部变量及其作用域和生存期 第三节 全局变量及其作用域和生存期 第四节 函数的存储分类

第九章

编译预处理

(2学时)

本章重点:

一、不带参数的宏定义;

二、文件包含的作用;

三、编译预处理命令在程序中的实际作用。难点:

一、带参数的宏定义的替换过程;

二、宏调用与函数调用的区别。

第一节 宏定义 第二节 文件包含

第三节 条件编译(本节内容仅要求一般了解)

第十章

指针

(4学时)本章重点:

一、指针和指针变量的概念;

二、指针变量的引用;

三、一维数组与指针;

四、指针变量作为函数的参数。难点:

一、指针与内存地址的关系;

二、指针与数组的地址的关系;

三、函数指针;

四、数组的三种引用方式(下标法、首地址增量法、指针变量法)。

第一节 指针的基本概念

第二节 指针变量的定义与引用 第三节 函数之间地址值的传递 第四节 一维数组和指针

第五节 二维数组和指针(本节内容仅要求一般了解)第六节 字符串与指针

第七节 函数与指针(本节内容仅要求一般了解)

第十一章 结构体、共用体和用户定义类型

(4学时)本章重点:

一、结构体类型与结构体类型变量的定义;

二、结构体类型变量的引用方法、“.”操作符的意义以及其优先级;

三、结构体数组的定义形式、初始化及其引用方式;

四、指向结构体的指针。难点:

一、指向结构体的指针;

二、结构体数组;

三、链表的概念及其对链表的一些简单操作;

四、结构体变量的成员与共用体变量的成员在内存中的分布形式;

五、结构体变量及结构体指针作为函数的参数。

第一节 结构体类型 第二节 结构体数组

第三节 指向结构体的指针 第四节 结构体与函数 第五节 链表

第六节 共用体(本节内容仅要求一般了解)第七节 枚举类型(本节内容仅要求一般了解)第八节 用typedef说明一种新类型名(本节内容仅要求一般了解)

第十二章 位运算

(2学时)本章重点:

一、位运算符的语义及作用;

二、位运算的应用。难点:位段的概念及使用。第一节 位运算的概念 第二节 位运算举例

第三节 位段(本节内容仅要求一般了解)

第十三章 文件

(2学时)本章重点:

一、文件指针的概念;

二、文件打开和关闭;

三、fscanf函数和fprintf函数。难点:各种文件打开方式的作用。

第一节 C语言文件的概念 第二节 文件指针

第三节 文件的打开与关闭 第四节 文件的读写

第五节 文件定位函数(本节内容仅要求一般了解)

三、教学基本要求

本课程的基本要求是掌握程序设计的基本原理、概念和方法;在介绍算法、数据结构、计算方法、结构化程序设计方法的基础上,主要介绍C语言及其程序设计方法及应用。主要内容包括:了解C语言的各种数据类型的特点及其运用方法;掌握各类语句的语法及功能;了解算法的描述方法,并掌握一些基本的典型算法;了解程序的三种基本结构,并初步掌握结构化的程序设计方法;掌握在微机中运行C程序的过程和程序调试的方法;能够阅读、理解简单的C程序,并能自己动手编写小型的应用程序。

四、上机内容与学时分配

1、顺序结构程序设计

2学时

2、选择结构程序设计

2学时

3、循环结构程序设计

4学时

4、数组

4学时

5、函数

4学时

6、指针

2学时

7、结构体与共用体

2学时

五、大纲说明

本大纲适用于全校理工科各专业。本课程宜安排在学生学完“计算机基础”课程之后的第二学期进行,教学总时数为72学时,其中课堂讲授52学时,计划内上机学时为20学时,另外需要学生多利用业余时间自主安排上机学习。本课程的课堂教学全面采用多媒体CAI技术,按照本大纲的内容进行教学。课程的重点是第三、四、五、六、七章的基本内容;难点主要是第六、七、十章的部分内容。

六、主要参考书

1、《C语言程序设计》第一版,杜友福主编,科学出版社,2004年1月。

2、《C语言程序设计导学》第一版,杜友福主编,科学出版社,2004年1月。

7.C语言程序设计课程教学探讨 篇七

认知心理学认为, 当人们在接触一个完全不熟悉的知识领域时, 从已知的、较一般的整体中分化细节, 要比从已知的细节中概括整体容易一些。C语言程序设计课程旨在使学生掌握C语言的基本语法、基本语句、基本控制结构以及自顶向下结构化程序设计的基本方法, 使学生认识到算法、良好的程序设计风格以及实践在本课程学习中的重要性, 培养学生熟练使用C语言编程分析和解决实际问题的能力。该课程为学生进一步学习其它专业课程和今后从事软件开发工作打下坚实的基础。但C语言涉及的概念多, 语法规则广, 使用灵活, 初学者很难理清头绪, 为此在教学中笔者采用思维导图法帮助学生在头脑中首先建立本课程的知识构架, 以算法为核心讲解, 将工程设计与课堂教学同步, 大大提高了学生的编程能力。

1 C语言程序设计的教学方法

1.1 帮助学生建立认知结构

从C语言程序基本结构形式入手, 根据课程教学内容的组织安排, 勾勒出整个课程的知识体系结构, 如图1所示。

以后在每一章讲解时, 先给出这张总体构架图, 再给出本章的知识导图, 如“函数”一章的知识导图如图2 所示。这样, 学生“既见了森林, 也见了树木”, 能清晰了解所学知识的地位与作用。

1.2 目标引导学生学习

有意义的学习条件之一是学习者必须具有有意义学习的心向, 即学习者积极主动地把符号所代表的新知识与他的认知结构中原有的适当观念加以联系。建构主义学习理论认为学习心向是学生当前所处的情境引起的, 而不是学生自发完成的。教师是教学过程的组织者, 是学生建构知识的帮助者和引导者, 因此教师要通过创设符合教学内容要求的情景和提示新旧知识之间联系的线索, 帮助学生建构当前所学知识的意义。

如对数组概念的讲解与使用时, 先给出应用实例:求班上30个同学 C语言课程的平均分, 最高分和最低分。再提出问题:30个数据如何输入与存放?心理学认为, “疑”最易引起定向探究反射, 有了这种反射, 思维也就应运而生了。引导学生考察数据的特性, 说明这30个数据所具有的共性, 引入数组概念, 说明数组是描述一组具有相同数据属性的组合, 组合中的每个数据 (或者数组元素) 用数组名及带下标的标识符来区分, 如A[I]。用建立的数组概念来实现数据的成批输入、成批累加、判断处理。

学生有的放矢, 能集中注意力, 开动脑筋积极思考, 提高了学生的学习兴趣和积极性。

1.3 以算法分析为重点

认知心理学认为具有高度概括性、包容性和强有力解释效应的基本原理、概念和方法有利于新的学习, 有利于创造性地解决新问题。算法是程序的核心与灵魂, 语法是外壳和工具。培养学生程序设计能力必须注重算法分析、算法设计。算法的分析能帮助学生开拓思路, 总结逻辑规律。

2 C语言程序设计的教学模式

为了提高学生的编程能力, 在教学中采用工程设计与课堂教学并行的教学模式。

工程设计内容:简单的学生成绩管理系统。

该题目涉及: (1) 文件的操作, 为方便系统管理, 必须掌握文件的建立、打开、读、写等操作; (2) 系统的组织包含数据的输入、数据修改、数据查询、数据统计、数据输出等功能, 必须掌握函数的调用; (3) 数据内容的组织涉及数组、结构体、链表, 必须掌握数组、结构体、链表的数据对象操作; (4) 功能的实现必须设计算法控制流程, 掌握不同的流程图表示方法; (5) 功能算法思想的实现必须根据算法描述进行符号化语句表示; (6) 调试源代码。

学生编程能力的形成分为4个阶段:数组前的知识归纳为编程能力的第一阶段, 学生应掌握基本的结构语句;函数、指针知识归纳为编程能力的第二阶段, 其内容是编程能力培养的重点、难点, 目的是使学生掌握编程的模块化思想及通过指针实现多种结构类型的引用、内存的动态分配等;结构体、文件归纳为编程能力的第三阶段, 目的是使学生掌握复杂结构类型数据的组织与处理, 数据与文件的关系及文件数据的处理;第四阶段是综合编程能力的提高、算法的实现、系统调试能力的培养。

根据教学的进展将工程项目涉及到的知识分成若干个子任务, 在不同的阶段安排不同的子任务, 这样工程项目任务就贯穿于整个教学过程中。随着教学进程的不断推进, 学生逐步完成了整个项目的设计, 循序渐进地提高了编程能力。通过这个过程, 学生不仅系统地掌握了知识, 并且能系统地、综合地运用知识, 大大提高了学生工程设计的能力。

3 结语

“教无定法”是教学的特色之一, 对C语言程序设计课程的教学方法和教学模式进行有益探索, 可以大大提高教师教学水平, 提高教学质量, 改善教学效果。

摘要:将认知结构论用于C语言程序设计课程教学中, 帮助学生建立层次分明的全课程认知结构, 以目标激发学生学习心向, 以算法为核心讲解, 将工程设计与课堂教学同步, 大大提高了学生的编程能力。

关键词:C语言程序设计,教学方法,教学模式,探讨

参考文献

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

[2]祁小梅.奥苏贝尔认知结构与迁移理论及教学[J].黑龙江高教研究, 2004 (4) :99-100.

[3]邱建林, 刘维富.C语言程序设计教学的研究与实践[J].电气电子教学学报, 2003, 25 (4) :96-98.

8.C语言程序设计教学方法探究 篇八

摘要:在应用型本科C语言程序设计教学实践中,对课程合理定位,改进课堂教学方法,以案例引导为教学核心,激发学生的学习积极性。

关键词: 教学方法 案例引导 程序设计

【中图分类号】TP312.1-4

应用型本科人才培养是遵循本科人才培养教育规律,突出实践应用的一种人才教育培养模式。“C语言程序设计”是我国应用型本科院校中计算机、电子、通讯等专业学生在跨入大学校门后接触的第一门专业基础课程,提高这门课程的教学质量,对于增加学生对计算机语言的浓厚兴趣以及培养大学生的计算机应用及开发能力都至关重要。

一、现状及其教学中存在的问题

1、由于学生刚接触计算机语言,同时C语言作为结构化程序设计语言,它具有较强的抽象性, 常规教学内容重在讲解C语言的基本语法,所选编程实例大多用于语法规则的验证和说明。因此,对初学者来说比较难于接受,也容易出现一些问题。

2、传统的实验教学内容简单、枯燥,学生多按实验教材和教师指导的程序一步一步完成,课下很少相互间进行交流,学生虽然有一定收获但是也束缚了手脚。从而导致一部分学生在开始的前几次上机过程还饶有兴趣后又感觉枯燥无比,逐渐对程序设计语言的学习产生较大误区,觉得C语言没有多大用处,从而放弃认真学习C语言的机会。

3、在教学方法上,由于传统的“填鸭式”教学方法只是简单地按照课本顺序循序渐进地教学,每一节课都要记住许多语法细节而实践环节少,学生不知综合起来解决实际问题,始终处在被动的学习状态中,从而吃不透、用不活所学语言知识,在开发综合应用程序时,软件设计能力较差。

二、C语言教学方法探究

1、学生学习兴趣的提高

90后大学生思维活跃,个性十足,他们对自己的学习活动、学习内容与其未来的就业和发展的影响都是十分关注的,同时,他们对于课程知识的适用性了解很少。如果课堂教学能从教育心理学出发,通过有意义的学习内容来激发学生的这种学习动机,让学生感觉到计算机编程很奇妙,很有趣,并愿意在编写出来后通过不断修改完善,相互分享,从而增加他们完成一个程序后的成就感,进一步激起他们深入学习C语言程序设计课程的欲望。

2、改进教学方法,把编程解题思路和程序测试等放在首位

在《C语言程序设计》的教学过程中,注重由整体到具体,由设计算法到书写程序并进行调试的整个过程,培养学生对语言的兴趣及正确的思维模式。课堂教学组织过程重在从一个较完整的程序例子开始,该例子包含了该语言中的主要语句,目的是使学生先对程序有个初步的印象,再简单介绍该例子中用到的语句,让学生对该语言的学习有一个大概的了解。整个教学过程中应该把解题思路、方法和步骤当作授课的重点,从而让学生明白如何分析并解决实际问题,逐渐培养学生进行程序设计的正确思维模式。

在《C语言程序设计》的实践教学中,学生的另一个拦路虎就是程序调试中遇到的种种问题。学生在上机输入程序后,编译时还会出现各种问题,加之学生的英语基础较差,看不懂message窗口中的英文提示信息,导致大多数学生面对机器不知所措,而这种情形又降低了他们学好这门课的信心以及学习这门课的主动性。因此,教师要做的就是找到一种好的方法使学生少出现这种问题。从而提高学生解决问题的能力,增加学习这门课程的信心。

3、将算法教学融入到语言教学中

在教学过程中,始终以程序设计为主线,每道题的讲解者从构造算法出发,着重于讲解算法的逻辑,以训练学生的实际编程序能力为目标。C语言学习过程中,学生感到困难的一般不是在于语法,而是如何根据算法编写程序问题。一题多解,注重算法是程序设计的灵魂,是教学重点,也是教学难点,而语言只是形式。没有正确的算法,计算机将解决不了任何问题。因此在算法教学中可以通过实例进行,从最简单的例子入手使学生在解决具体问题的过程中学习一些基本逻辑结构和语句。同时让学生知道根据同一个问题可以提出不同的从易于理解到精简的算法,从而比较这些算法之间的优劣。了解算法的优化。通过对算法的优化练习,可以在无形中提高学生写算法的水平。使得学生真正了解到算法是程序的灵魂。

4、以实例为引导,讲解语法规则

《C语言程序设计》中很多知识比较抽象、枯燥,不容易被学生接受和理解,教师在课堂教学中应该巧用生活中的实例化繁为简,将深奥的理论讲得通俗易懂。比如,在介绍程序控制结构时,我们可以从简单的猜数游戏入手,从而对分支结构做重点阐述,再进一步增加难度过渡到条件的嵌套和循环的学习中。所以教学中案例的选择非常关键,以这几点做为案例选择的基准:1)选择的案例能够包括已学过的知识和即将要学的知识;2)案例的选择要与学生的兴趣相关,能激励学生收集有关资料,激发学习自觉性,引发学生的相互讨论;3)案例的内容有助于增加学生的学习编程语言的信心。

5、循序渐进的课堂实施

在课堂教学中以案例分析为第一教学阶段,利用与生活相关的实例激发学生对这个功能程序的兴趣和求知欲望,引发学生自我讨论,分析结果和问题,最后归纳总结;以自主训练为第二教学阶段,引导学生能过由简单到复杂的训练,达到快速、准确掌握技能的目的;以总结评价为第三教学阶段,通过引导学生的交流体会,进一步归纳尚待解答的问题或提出新的问题,引发全面思考并建立自主学习的能力。

三、结束语

随着社会计算机领域的发展,计算机相关科目的教学目标也随之有了深远的影响与改变。对于学生来说,掌握好C语言的语法并不完全是这门课程的学习目标,而让学生学会用C语言来解决各种实际问题,并让学生对学习编程这条道路上体会到更多学习乐趣,尝试成功的喜悦才是这门课程的基本学习目标,从而让《C语言程序设计》真正成为学生喜爱的一门课。

参考文献:

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

[2] 胡艳华.《独立学院非计算机专业C语言程序设计教改简论》[J].计算机教育,2011(2):107-109.

[3] 第惠多斯.《德国教师培养指南》[M].袁一安,译.北京:人民教育出版社2001.

9.C语言程序教学新探 篇九

href=“#”>

摘 要:C语言程序是本专科院校一门重要的计算机基础课程。在教师的教学过程中普遍感觉难教,学生在学习过程中感觉枯燥难学。该文根据笔者多年的C语言程序教学经验,提出了一些C语言程序教学上的新思路。

关键词:C语言;算法;上机实验

0 引言

程序设计对于各个计算机类高校而言,都是非常重要的一类课程,尤其是理工类院校的必修课。而要进行程序设计,必须掌握一门计算机语言来做为编程工具。目前,很多计算机类高校都把C语言作为程序设计的入门课程来教学。我们知道可供选择的计算机语言是非常多的,如C++,C#,java等等,之所以选择C语言是由于C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,它既有高级语言的优点,又有低级语言的许多特点。可以说,学好C语言对打好程序设 计基础起到至关重要的作用。

由于很多高校在学生进入大学学习的第一学期就开设C语言课程,大多数学生在高中时因为高考的压力而没有接触过计算机,对计算机的基本操作并不了解。这就导致了学生在学习C语言的过程中,感觉C语言语法枯燥,难以掌握;对基本概念能够理解,但是当实际应用到程序编写的时候又感觉无从下手;学生没有养成良好的程序编写习惯,使写出来的程序漏洞百出……等等这些问题都跟教师的教学方法、学生的学习方法有很大的关系。针对学习C语言中的种种问题,根据笔者多年的C语言教学经验,下面提出C语言教学中的一些新思路供大家共同探讨。掌握基本要求,打好学习基础

在学生阶段,C语言的学习主要是学习程序设计的方法,训练程序设计的思维,为以后进一步的学习和应用打下良好的基础。但在实际教学当中,很多学生改变不了高中时期的学习方法,对课本上的概念和程序死记硬背,总以为把书背熟了就能够学好C语言,而没有把精力放在最基础、最常用的内容上,以至于基础薄弱,在程序的编写时经常会出现一些不应有的错误。笔者在教学中发现学生经常会出现以下一些问题。

(1)编写程序时不区分标示符的大小写。例如,int myname和int MyName就是完全不同的两个变量。在C语言里面,对标示符大小写敏感,但是很多同学就是会忽略这最基本的要求,造成程序出错。

(2)对“=”和“==”混淆使用。“=”是C语言里的赋值符号,把右边的值赋给左边的变量;而“==”是关系运算符,它的作用是判断“==”两边的值是否相等,返回的结果是一个逻辑值,即“真”或“假”。例如:a=1,是把1这个数据放在变量a里面,而a==1,表示a变量的值是否跟1相等,如果相等返回“真”,如果不相等就返回“假”。

(3)颠倒printf()函数值的输出顺序。直接看个例子:

输出的正确值应该分别为10,11,10,10。

很多学生出现错误是因为不理解printf()函数执行的顺序,printf()函数在执行时是从右到左,而输出时是从左到右。

从以上3个学生容易出错的例子我们可以看出,正是由于学生对基础知识掌握的不理想,导致这些极其简单错误的出现。在我们的教学当中,教师也必须把最基础的知识跟学生讲透,让学生改变学习观念,对学生加以引导,懂得学习C语言并不是一朝一夕就能够一下子变成编程高手,而应该脚踏实地,实事求是地打好基础。重视算法的学习

算法是程序的灵魂,没有好的算法,就编写不出好的计算机程序。在C语言教学中,教师在很多时候都不注重算法的教学,导致学生上课时候能听得懂,看得懂课本上的程序例题,但是当布置作业让学生自己去完成程序编写的时候,学生又感觉无从下手。这些都是由于学生只注重去背课本上的程序例题,而不注重程序的算法思想照成的。教师在教学中要注意对学生算法逻辑思维的培养,在讲解程序时,应该首先分析程序中所需要用到的算法,要把重点放在例题的解题思路上,一步一步地引导学生,让学生知道程序为什么要这样编写。在授课阶段初期,我们也可以给学生举一些简单的、有生活气息的例题来引发学生对算法的兴趣。例如,我们可以举这样的一些例子。

(1)家里有个微波炉可以同时烧烤2份牛排,每份牛排有两面,每面需要烧烤2分钟才可以食用,问用微波炉烧烤3份可以食用的牛排需要多少时间?这个问题用算法来解答的话,我们可以有2种方案。第1种,先把第1份牛排和第2份牛排放进去烧烤2分钟,然后再把这2份牛排翻一面过来再烧烤2分钟,接下来把第3份牛排放进去,烧烤两面共花去4分钟,由此可知整个过程一共要用掉8分钟。第2种,同样的把第1份牛排和第2份牛排放进去烧烤2分钟,然后把第2份牛排先取出来,把第1份牛排翻一面过来跟第3份牛排一起放进去烧烤2分钟,最后把第3份牛排翻一面过来跟第2份牛排的另一面一起烧烤2分钟,这样3份牛排就都烤好了,这种方法,我们只需要6分钟。很显然,用这样一个简单的例子,可以让学生知道算法的重要性,好的算法可以节省程序大量的执行时间。

(2)有甲乙两人,甲现在26岁,乙现在8岁,求多少年之后甲的年龄是乙年龄的两倍?对于这个问题,我们可以引导学生使用循环体来解答。我们知道年龄是逐年增长的,假设甲为变量m,乙为变量n,则循环体就是m++、n++的一个过程,当甲和乙的年龄相差两倍时,循环结束。所以我们设定循环体的执行条件应该是m!=2*n。最后当循环体结束时输出m和n的值。通过这样的一个分析过程,相信学生很快就能够写出这个问题的程序。

由此可见,通过一些例子的算法讲解,一方面能够让学生理解解题的过程,一方面还可以锻炼学生的算法思维,让学生感受到算法的重要性。上好实验课

上机实验也是C语言教学中的一个重要环节,学生仅仅听课是学不好C语言的。学生不仅要能够掌握基础的概念,还要自己动手编写程序,最后要亲自上机调试程序的运行并对程序进行修改。所以,如何上好C语言课程的实验课,也是教师要思考的一个问题。在笔者平时的教学中遇到这样的一些问题,如很多学生在上实验课时,没有把精力放在学习上,而是在玩游戏看小说;还有些学生上实验课前没有很好的预习,浪费了大量时间在知识的复习上;在实验过程中,学生一遇到问题就会向老师提问,以至于老师疲于解答甚至由于问的人数过多而无法一一进行解答。这些问题都影响到实验课的效果,甚至会影响到部分学生的学习积极性。如何改变这种状况,笔者采用以下几种方法。

(1)在上实验课之前就把实验题目布置给学生,学生在上课之前就需要提交给教师一份预习报告,这份报告里面应该包含学生对实验题目的解题思路及初步的解题程序。然后让学生带着这份报告上机调试程序。这样就可以避免学生在上实验课时无所事事的情况。

(2)对于有条件的学校可以配置多名实验指导教师。学生在实验中经常会遇到一些问题需要教师帮助解决,当问的人比较多的时候,教师就没有办法一一解答,而部分学生由于得不到解答而会停止程序的调试转做其他事情,如果一直得不到帮助的话,就会影响他们的积极性,所以配置一到多名指导教师是很有必要的。如果没有足够教师的话,我们可以让班级里面学习比较好的同学,组成一个学习兴趣小组。让这些学生在实验课时对一些有问题的同学进行帮助,这样既能够增进学生之间的友谊,又能够完成教师布置的实验任务。

(3)改变实验的考核方式。很多教师一般都是在下课的时候让学生提交作业,这样可能会让一些学生钻空子,拷贝别人的作业提交。所以建议在课堂上当场对学生的作业进行评分,遇到有雷同的作业,要求学生重做。在期末的时候,也必须要强调平时的成绩,不能把期末成绩作为衡量学生成绩的唯一指标。

通过以上的一些措施,可以有效地促进学生对C语言的学习效果,对巩固C语言的课堂教学起到了巨大的作用。结语

以上笔者就平时的一些教学经验跟各位同仁一起探讨,主要目的还是希望能够改变当前C语言程序教学中的一些不足之处,对以后的教学能够起到一定促进作用。应用本文中的一些措施,对我校C语言程序的教学有明显的帮助,但各个学校的软硬件水平都不尽相同,希望各位同仁能够从中得到一定的启发,共同把C语言程序这门课上好,让学生学好。

参考文献:

10.C语言程序设计2教学大纲 篇十

江西司法警官职业学院欧阳群

摘要:随着科学技术的发展,计算机已普及到各行各业,深入到各级层次,越来越多高校把《C 语言程序设计》作为使用学习编程的入门语言,《C语言程序设计》课程已成为当近计算机教育的一门必修基础课。因而,搞好该门课程的教学具有非常重要而深远的意义。

关键字:C 语言程序设计 教学 算法引言

学习计算机程序设计语言是提高人们计算机知识水平的关键步骤。C语言作为当今最流行的程序设计语言之一,不但成为计算机专业的必修课。而且也越来越多的成为非计算机专业的学习课程。C语言简洁,紧凑使用起来方便,灵活,运算符和数据结构丰富,可移植性好,硬件控制能力高,表达和运算能力强。其运算速度也优于C++。但同时,C语言又是一门学习起来难度较大的语言,同学们反映,学习过程中经常会出现一些问题,对语句没有直观的理解,而是死记硬背,缺乏对一些算法的清楚认识以及缺少对运算符等语法方面的理解,造成编写程序时无法理清楚解题思路,无从入手,在程序调试的过程中不认真分析出错原因,面对枯燥的程序题,便失去了积极性。鉴于上面一些问题,下面笔者从激发学生的学习兴趣、培养学生对方法的理解、如何让学生

处理好语法与算法的关系、加强实践操作等几方面谈谈我的教学体会:

2、在教学过程中要激发学生的学习兴趣

有句话说的好“兴趣与爱好是最好的老师”。为了使学生能尽快地掌握计算机知识,进入计算机的应用领域,在课程讲授过程中,要特别注意培养学生的学习兴趣。很多学生和我说过,他们学习计算机就是从玩游戏开始的。学生们刚接触计算机时都会感到新奇、好玩。这还不能说是兴趣,只是一种好奇。随着课程的不断深入,概念、语法规则、算法等知识的学习加大学习难度,使一部分(甚至是大部分)学生对课程学习产生厌倦情趣。为了把学生对计算机程序设计初期产生的好奇心转变为学习兴趣,授课时我们可以把对定义和规则的讲解与具体问题结合起来,努力把枯燥无味的“语言”讲的生动、活泼。在第一节课上,我们可以给同学展示一些已经做好的程序,让同学们对C能做出些什么程序有一定的了解,并把C和学生曾经学过的其他课程联系起来。例如数学中的很多问题,是C语言初期学习算法时比较好的引例。在课程的进行中,引导学生学一种算法,就尝试在同行课程中应用。我们还可以经常介绍一些趣味性算例,如: “菲波纳契兔子问题”、“水仙花数”、“竞赛记分”等,培养学生的学习兴趣,让大家积极主动、自觉独立地获取知识,打好学习程序设计语言的基础。整个教学过程中应该把解题思路、方法和步骤(即“算法”)当作授课的重点,从而让学生明白如何分析并解决实际问题,逐渐培养学生进行程序设计的正确思维模式。

2、在教学过程中要加强学生对程序的理解

对于一门艺术性的语言,它的价值便是它的实用性和美感。众所周知,英语的美感在于它的发音、而汉语则在于它的象形,它们给人的一种直观感觉就是美。C语言作为一门计算机语言,它的美又在哪里呢?那便是它的可持续性,正确性与实用性,也就是说一个程序我们一眼看上去就能理解它想表达的是什么,所以在教学过程,如何让学生理解好程序,成了入门最重要的一步,例如:我们在学习两个数交换时:

main()

{int a=1,b=2.c;

c=a;

a=b;

b=c;}

如果只是看c=a,a=b,b=c是相当难理解的,但是,若是加以联想,我有两杯水,要将杯中的水相互交换,便要引入一个空杯了,而这个空杯子正是C,这样问题被轻而易举地理解了,又如,我们在学习排序方法时,由于算法理解起来比较复杂,此时我们要联系生活中的例子,以上体育课中排

队为例按个子高低从小到大排列,并结合程序考虑该如何移动位臵。通过与生活实际相结合,理解相对枯燥难懂的程序算法,放弃传统的死记硬背的方法,无疑可以使原本吃力的学习得到一定的缓解。

3、在教学过程中要让学生正确处理语法与算法的关系。教学中对程序课程教学的一项基本目的是要让学生掌握设计程序的思路并对待处理实现的任务能用计算机语言编写出程序。要让学生完成程序,如何处理算法与语法之间的关系显得犹为重要。算法是程序的核心与灵魂,是程序精华的体现,语法仅仅是一种程序工具,我们在教学过程中不应把重点放在语法规则的教学上,语法是重要,不掌握语法规则就无法编写出正确的程序,但是只学会语法,甚至能把语法背得滚瓜烂熟,也不可能编写好程序。我们应该把重点放在解题思路上,即算法的讲解及算法优化上,对于一个经典的算法,需要通过大量的例题进行学习。在学习开始时没必要在语法细节上死背死抠,毕竟让学生能编出程序才是最重要。一些语法细节是需要通过长期实践才能掌握的。在学生对算法能够较好理解后,再层层深入,让学生去加强对语法的理解。

4、在教学过程中要突出实践操作的重要性

程序设计课程实践性很强,同学在学习过程中只听不练根本达不到预期的学习效课,每次上机前,都要根据教学计

划布臵与理论教学配套的实践作业,让学生明确上机任务,编写好上机调试的程序,使学生在每次上机实习中有收获,加强对理论的理解。我们可以在机房中设立教师机,让学生在教师机上建立以学号和姓名为文件名的文件夹,以后每节课作业都存入其中,课程结束后按作业的多少、优劣来评定实习成绩。针对程序设计中的一些操作难点,可以让学生分组讨论并集中演示,这可以起到事半功倍的效果。课程结束前我们把教师机中学生作业完成情况及所学的内容作一个分析,并进行有针对性的讲解,前后联系起来,使学生对课程内容能够融汇贯通。我们要让学生用积极的思维解决出现问题,程序报错不能运行时,认真检查核对语法错误;程序能运行却得不到正确的结果时,认真检查核对算法的疏漏,使学生知道可能往往程序中一个小小标点或者字母的失误,都可能导致整个程序出现问题。

5、结束语

在对学生进行C语言教学时,除了采取以上措施外,笔者认为由于该课程涉及内容太多,在学时较少的情况下,可以对一些应用性教差及教难的问题适当带过,如果,过分强调那些难点问题,必然影响学生对基本知识的理解,并且也会加大学生学习负担。学生掌握好程序设计中最基本、最常用的部分后已经可以解决大多数的问题。在学生熟练地掌握了基本知识后再去学习较难的部分也会使难点问题简单很

多。“授之鱼、不如授之以渔”,在教学中除了要加强学生对知识的理论学习外,最重要的是培养学生从计算机的角度去考虑如何解决问题、培养学生良好的思维习惯。

参考文献

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

[2] 石爱容, C语言程序设计课程教学探析.警官教育论坛,2006年第2期

[3] 吴丽丽.论职业技术教育中《C语言程序设计》的教学.科技信息(学术版).2006第9期

[4] 张海玉.C语言程序设计教学方法探析.山西财政税务专科学校学报.2006年 第8卷 第1期

[5] 孙锋.C 语言程序设计教学的几点体会.教育与培训.2006 第7期

作者简介:

11.高职C语言程序设计教学改革探讨 篇十一

关键词:C语言;教学改革

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2014)26-6122-02

C语言程序设计作为计算机类专业的核心基础课,在专业体系中占有重要的地位。学好C语言,不仅为后续C++、Java等课程奠定良好的基础,同时也是从事软件编程的必备能力。但是在实际教学中发现很多高职学生认为C语言界面灰暗、语法繁杂、枯燥无味,对C语言望而生畏,难以达到良好的教学效果。不少学生虽然学习了C语言,但是不会使用C语言进行编程,更不用说解决实际问题了。针对这种情况,结合多年教学经验,提出C语言程序设计教学改革的一些看法和建议。

1 高职C语言程序设计教学现状及存在问题

1.1 学生文化基础差,C语言学习入门难

高职生源广泛,既有普高生,也有职高生,还有中职对口升学上来的,当然还包括一部分自主招生录入的学生。不论以何种方式进入高职,他们总体文化基础比较差,对C语言学习起来比较困难。一方面,C语言的运行环境不论是Turbo C还是Visual C++都是纯英文运行环境,对英语能力要求较高,而我们的学生在英语方面恰恰是弱项。另一方面,编程能力的培养对学生的逻辑思维能力要求较高,我们的学生相反,形象思维能力好一点,逻辑思维能力大都较弱。所以基础差导致学生入学之初看到C语言的运行环境,还没有开始学习怯步了。

1.2 学生缺乏学习C语言的兴趣

C语言程序设计在教学中既有语法的学习,也有编程思想如程序结构、数据结构等的学习。C语言数据类型和运算符丰富,语法限制不太严格,程序设计的自由度很大,这本来是C语言的优点,但是对于初学者来说,这些恰恰都变成了缺点,增加了学生学习的难度,再加上部分教师在教学过程中从语法开始,按部就班,缺乏贴近生活的实例,导致学生学了很多语法,确写不出一个程序,久而久之,对C语言的学习便失去了兴趣。

1.3 缺乏良好的教学方式

在教学过程中,大部分教师和学生注重课本知识的学习。教师先在教室里讲解课本内容,然后在机房实践中学生将老师讲过的程序录入到机器中,运行出正确的结果就完事大吉了。这样的教学方式,学生没有明确的学习目标,老师的指挥棒指到哪里,学生执行到哪里,学生没有思考问题的习惯,完全忽略了学生的主动性、创造性。一旦遇到没有老师指导的情况,学生就会无从下手。

1.4 实践教学环节薄弱

C语言程序设计作为编程的入门基础课,不仅要求学生掌握一定的语法,最重要的是培养学生的逻辑思维能力从抽象思维转向C语言的计算思维,能用C语言的方式思考问题,掌握基本的编程方法。这些都需要在大量的实践中进行练习,实践教学的效果对C语言学习的成功与否至关重要。在我们的实践教学环节中,基本上还延续着几十年约定俗成习惯,理论课完毕后,老师布置与其相符的任务,学生通过上级来验证上课的内容是否正确,不论是教师还是学生都重视程序运行的结果,忽视程序设计的过程。其次在实践教学环节中选取的例子都是课本上的例题,这些题目往往更注重C语言本身的语法规则,离社会实际比较遥远,学习之后不能解决实际问题。再次在上课过程中,一位老师指导众多学生,无法详细的为每位学生进行辅导,学生遇到问题也是一知半解,实践课不能起到巩固理论课学习的作用。

1.5考核方式单一

大部分院校对C语言的考核都以考试为主,操作为辅,或者干脆不进行操作考核。这种单一的考核方式注重语法,忽视学生的动手能力和解决实际问题的能力,也导致学生在学习过程中极易出现重语法轻编程能力培养的现象,本末倒置,不能达到良好的教学效果。

2 高职C语言程序设计教学改革对策

2.1激发学生学习C语言的兴趣

C语言是程序设计的入门基础课,在此之前学生根本没有接触过程序,也不知道什么是算法,对C语言的一切都是陌生的。如果我们在教学中再照本宣科,按部就班,学生肯定会畏学,甚至厌学。因此在C语言学习过程中,激发、培养学生的兴趣至关重要。当学生从内心深处对所学课程感兴趣时,他们就会主动去学习,在学习C语言之初,我们要多准备一些用C语言编制的解决实际问题的例子演示给学生看,让学生直观的感觉到C语言是有用的,可以解决实际问题的。同时提供一些简单的验证性的实例让学生亲自上机操作运行,让学生感觉到他们也可以编程,逐渐培养学生的兴趣。

2.2 培养学生的编程思维——用C语言的方式进行思考

在C语言教学中一个难点是兴趣的培养,另一个就是编程思维的培养。我们早已习惯现有的思维方式,但是C语言使用的却是自己独有的机器思维方式。在刚学C语言的时候,大部分学生都不理解明明3+2一看就知道等于5,我们却在C语言中定义变量,进行运算再输出结果这样复杂而又陌生的方法来解决这个小学生都会的问题。学生们大感困惑与迷茫,实际上这就是C语言的处理方式,即输入à处理à输出。其中的处理过程最为关键,也就是算法,编程能力最核心的体现。我们要培养的就是学生的算法能力,在教学中,时刻让学生用C语言的方式来思考问题,解决问题。

2.3 灵活多样的教学方法

C语言程序设计主要培养学成的编程能力,这个学习的过程比较枯燥,不像Photoshop、Flash等课程形象、直观、生动,因此在教学过程中要使用多种教学方法,使学生易于接受。例如在讲到变量交换时很多学生不理解为什么要引入中间变量,引入中间变量进行交换后他们眼花缭乱,变量不知所踪。那么我们在教学中完全可以使用现实中的实例——两个人交换座位,来进行模拟变量交换,学生马上就理解为什么引入中间变量了。我们要善于从生活中发掘实例,是我们的学生更好的掌握C语言。

2.4 加强实践锻炼

要想成为一名合格的程序设计师,就必须在实践中锻炼,不断积累编程经验。在实践教学环节安排上,要既有验证型程序,巩固学生课堂所学知识,也要有扩展型程序,培养学生自主学习能力。二者缺一不可。只有验证型程序,学生学习没有动力,只要录入代码即可;如果只有扩展型程序,学生因为太难会无从下手,只有二者结合起来,循序渐进,才能不断提高学生的编程能力。

2.5 建立立体式教学,拓展学生学习空间

随着信息技术和教育技术的发展,网络、电脑和手机的便捷使用,我们的教学也应该与时俱进,结合这些高科技,建立全方位立体式教学环境,拓展学生学习的空间。我们建立了课程教学网站,学生可以在线编程,系统在线监测程序正确与否;教师也可以在线考试,检测学生对知识的掌握程度。只要有网络,学生就可以进行C语言的学习。同时积极鼓励同学参加各种程序设计大赛,如蓝桥杯、ACM程序设计大赛等,以赛促教,以赛促学,激发学生学习兴趣,形成良好的学习氛围。

3 结束语

高职院校C语言程序设计教学改革,不是一蹴而就的工作,需要我们长期坚持,不断在实践中总结,提升,在教学过程中以教师为主体,发挥学生的主导作用,辅之以行之有效的教学方法,一定可以提高教学效果。

参考文献:

[1] 方红琴,立体式C语言程序设计教学改革探讨[J].计算机教育,2012(12).

[2] 丁辉.高职C语言程序设计教学改革研究[J].计算机教育,2014(3).

[3] 屈喜琴,石卉,陈忠贵.高职高专C语言程序设计教学改革探索[J].软件导刊,2012(6).

12.C语言程序设计教学方法探析 篇十二

《C语言程序设计》是高校计算机专业的一门重要的专业基础课,也是很多院校的工科必修课。针对该课程,笔者从长期的教学过程中总结了如下经验,认为要将学生从对程序设计茫然、不感兴趣到打好基础,再到熟练应用,教师在具体的教学实施过程中,应该分为引导入门、基础充实和实践提高三个阶段。

2 引导入门阶段

《C语言程序设计》的学习显得抽象、枯燥,这也是大多数学生抱怨程序设计太难、不好学的主要原因。孔子曾经说过“知之者不如好之者,好之者不如乐之者”,兴趣是最好的老师,是学习的前提和推动力,故初级阶段旨在引导学生入门,培养他们学习C语言程序设计的兴趣。计算机类的课程有其特殊性,主要分为理论教学和实践教学两大块。

2.1 理论教学应该注意以下几点

(1)避免给学生讲些枯燥、抽象的东西。

可以用一些趣味性的程序或者小游戏来调动大家的热情。笔者在第一堂理论课中演示了一个人机互动的猜数程序,在演示的过程中,大家都很感兴趣,积极参与猜数,充分调动了大家的积极性,也提高了他们学习编程的兴趣。

(2)注意分层教学,使不同层次的学生都能有浓厚的学习兴趣。

2.2 实践教学可以采用如下方式

可以给出几个简单并有详细输入、输出结果的程序源代码,让学生进行编辑并调试。当他们“编”的程序成功地输出结果时,学生就会产生直观的感性认识,以轻松的心态进入程序设计世界。在此基础上,以循序渐进的方式,逐步引导,进行一些简单的修改,让程序得到不同的结果,并解释原因,然后提出新的问题,让学生思考如何修改程序以解决新的问题。比如给出两个数求和的源代码和运行过程,让学生修改为两个数求差,最后思考三个数求和应该如何实现,培养学生的创造性。

3 基础充实阶段

3.1 知识点讲解

知识点讲解主要采用类比法、对比法、归纳法和实例教学等方法来促进学生学习和理解知识点。

《数据及其类型》章节可以采用对比法来进行教学。类型是个比较抽象的概念,可以把C语言中所涉及的数据类型和数学中的毫克、克、千克,斤、公斤等计量单位做类比,避免知识点的生疏。

《顺序、分支、循环》三种程序设计,可以采用归纳法和对比法。顺序结构程序设计的特点是按顺序执行,当需要根据条件而执行不同的操作时,选用分支结构的程序设计,如若题目中存在重复执行的某种操作,则采用循环结构程序设计。顺序结构的程序设计,可以按如图1所示的框架结构进行程序的书写。

针对不同的知识点,在基础阶段,选择一个有代表性的例题让学生在理解的基础上达到将思想转化为程序的目的,从而触类旁通。

switch结构,可以采用分数段问题来进行讲解,关键在于如何确定分数段之间的定值问题。switch的语法结构为利用switch后的表达式与case后的常量表达式进行匹配,比如60~69之间的实型数据,假设用变量score来存储,只需将该数强制转换为int型,然后除以10即可得到一个定值,即(int)score/10。

循环结构,可以采用典型例题求1+2+3+…+100之和。

假设i为循环控制变量,则初值为1,终值为100,增量为1,采用如图2所示的方法可以分析出循环体为两项之和,即sum=sum+i,故最后的程序为for(i=0;i<100;i++)sum=sum+i。

《指针》是C语言的精华,主要采用理论实例化,指针即地址,在掌握的过程中主要是学会如何描述地址(以一维数组和指针以及二维数组和指针为例来进行说明)。

一维数组中各元素的地址利用指针法描述,讲解时可以类比第一层教学楼的教室,例如a[0]所在的地址为东1101,则a[1]所在的地址为东1102,可以假想P为一个人,处于东1101的位置,移动到东1102即往下走了一个教室,即下一个元素的地址值为P+1。一维数组中元素的地址利用指针法描述见图3。

同理,二维数组和指针则可以类比把三层楼的所有教室按顺序依次叠放起来。a[1]为东1201的地址,即第二层楼的第一个教室,后续元素的分析方式与一维数组类似。二维数组中元素的地址利用指针表示方法如图4所示。

世间万事是普遍联系的,程序设计世界的概念都来源于现实世界,用类比的方法,参照现实世界中具体的事物来说明程序设计世界中抽象的概念,有利于加强学生的理解。

3.2 教学手段

3.2.1 合理安排学时,灵活运用多媒体课件

简单的内容可以提出要点安排学生自学,重点内容如:函数、指针等内容则要详细讲解。同时在演示重点和难点问题时尽量结合板书,特别是递归、排序等算法,最好能一步一步的通过板书辅助多媒体演示内存的变化,直观、形象地讲授给学生,加深其对问题的理解,培养学生抽象思维和逻辑推理能力,掌握程序设计的思想和方法。

3.2.2 加强相应的机制激励学生

(1)利用学生的程序来激励学生。

发现好的程序、有新异的程序提出集体表扬,让其进行集体讲解。

(2)施行捆绑机制,培养学生的合作能力。

以四到五人为单位,划分成不同的小组,同学之间互帮互助。对每小组的每个成员进行好记载,程序设计的分值均相同。差异体现在进步分(对自身而言)、辅助分(对小组中的成员进行辅助使其进步)。

(3)加强学生自主学习的能力。

构建一个学生自主学习的平台,把经常容易犯的错误分章节放在网站上,实践课上对网站上已有的内容不进行解答,让学生通过网络自行解决。

每个学生利用自己的帐号把每次实践课上程序编写和调试中所犯的错误,上传到网站上,最后和笔者上课所做的记录进行对比。如若错误在逐次减少,则奖励平时成绩的得分。

4 实践提高阶段

实践提高阶段,主要在于利用“案例驱动”教学法,达到整合教学内容的目的。

案例驱动教学法是一种综合性的教学方法,在C程序设计课程中应用这种方法的目的在于培养学生综合运用所学知识解决实际问题的能力。针对在校学生接触实际应用较少的特点,采取逐步引导的方法。首先根据学生已有的知识,适当引入数据结构和算法,预先设计一个案例,让学生在掌握基础知识的同时对算法有一个积累,提高其分析和解决复杂问题的能力,同时为后继课程的学习做准备。在此“案例”框架的驱动下,展开新知识的教学和学习,有利于激发学生的学习热情,训练学生逐步从学习语法的使用到能够独立的编写简单小程序,到编写具有一定难度的多模块程序,最后再到开发一定规模的大型程序。

5 结束语

教学是一门艺术,它是教师综合素质的体现。在C语言程序设计的教学过程中,如能从C语言的特点出发,理论联系实际,树立程序设计的思想,传授程序设计的方法,在教师的指导下,尽量将学生的内在积极性与潜能充分发挥出来,必能取得良好的教学效果。

参考文献

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

13.C语言程序设计2教学大纲 篇十三

摘要:该文主要探讨了C语言程序设计课程在现有高等教育体系中教学内容及方法。提出了C语言程序设计课程的教学内容应该分成基础课程和高级课程两部分;提出了根据现实中的问题和需要学习的知识点为依据来编排教学案例,通过增加问题的难度逐步学习掌握更多的知识点。

关键词:C语言程序设计;教学内容;教学方法

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)13-0161-03 C语言程序设计课程在教学中出现的问题

C语言是现今计算机领域通用的语言之一,虽然并不像上个世纪80年代那样一枝独秀,但仍具有非凡的魅力。C语言是Thompson、Ritchie等人开发UNIX操作系统的副产品,并用C语言并UNIX操作系统进行了重写。在C语言普及后,国际标准化组织又多次对C语言进行了标准化,包括C89标准、C99标准和最新的C11标准。C语言对现代编程语言产生了巨大的影响,许多流行的现代编程语言都借鉴了大量C语言的特性,包括C++,JAVA,OC,Swift,C#等。

考虑到大量新编程语言的普及程度。高等院校学生还有学习C语言的必要吗?对于这个问题回答:首先,学习C有利于更好的理解其他新式编程语言,能让程序员更好地掌握继承自C语言的基本特性。其次,现有大量的C语言代码需要维护。最后,C语言仍然是众多工程领域最重要的编程语言,包括嵌入式开发、智能机器人、智能家居和智能电子产品等。

现今国内大部分高校都会首选C语言作为计算机编程的入门语言。各专业开设的C语言课程一般都是一个学期讲完,学时数大概在48~64课时之间。由于学生没有编程基础,很难在这么短的时间内熟悉C语言的各个知识点。在各个高校C语言程序设计课程教学中,有两种教学方法比较主流:一种是采用多媒体演示+黑板板书、并用一定的课时量上机练习编程的教学方法,这种方法可以在一学期内讲解完C语言课程大部分知识点。但是这种教学方法需要学生课后自己花时间上机练习编程。而且由于教师不在现场,学生出现的问题得不到及时解决,容易对编程产生厌恶感,导致学习失败。另一种方法是采用教室与机房一体化的教学方法,教师采用多媒体演示+黑板板书,通过设计好的项目来引导学生学习,指导学生现场编程,通过多年的实践发现,这种教学方法的效果比上一种好,但是由于班级学生人数众多,即使采用小班教学,也有30个左右的学生需要指导。在一学期的课时内,没有足够的时间指导学生学完全部重要的知识点。

本文的主要目的就是探讨C语言程序设计课程中教学的内容及教学方法,提供解决以上教学方式中出现的问题的思路。C语言程序设计课程教学内容的探讨

C语言程序设计课程教学中,选择一本好的教材非常重要。什么是好的教材?首先教材作者应该是C语言编程方面的专家、有实际项目的开发经验、熟悉C语言的标准。其次教材中应该有好的教学案例和精?x的习题,教学内容应该由浅入深、知识点全面、对C语言初学者经常犯的错误有提示和解答。我们不应该选择那种字典式、看起来全面但不便于学习的教材。国内的有些教材喜欢纠结于语法上的细节,故意把语句写得很复杂以考查学生是否掌握了相关的语法知识,这样做甚至会使习题的答案陷入了未定义行为的泥潭,对学生编程能力的提高是有害的。

通过对前面所述的两种主流教学方法的分析发现,由于C语言程序设计课程学时的限制,不可能既全面的讲解各个知识点,又让学生较快地掌握C语言的编程技术。因此有必要将C语言程序设计课程分成基础课程和高级课程来教学。

基础课程包括以下内容:

1)C语言概述和C语言编译器的使用;

2)C语言的基本概念、格式化输入/输出和表达式;

3)选择语句、循环语句和基本数据类型;

4)数组、函数和指针;

5)结构、联合与枚举;

6)底层程序设计;

7)预处理器和多文件程序的编写。

高级课程包括以下内容:

1)指针和数组;

2指针的高级应用:动态存储分配、链表、指向指针的指针和指向函数的指针;

3)标准库、输入/输出、标准库对数值和字符数据的支持;

4)错误处理和国际化特性;

5)C99标准和C11标准。

在课程教学中,教师最好采用项目化教学的方式,对基本知识点的熟练应用进行重点训练,使学生能够用所学的编程知识和技巧解决实际的项目问题。高级课程是否需要开设,关键看学生的专业和需求。对于电气电子信息类专业的学生,应该开设C语言的高级课程,使学生有能力使用C语言进行单片机和嵌入式技术的开发。C语言程序设计课程教学方法的探讨

C语言程序设计作为一门应用性很强的课程,检验学生学习的效果如何就是看学生编程的能力。欧美高校普遍采用的教学方法是在大班教学中采用多媒体演示+黑板板书的方式教学,然后在小班讨论课程中以助教辅导的方式练习编程。国内高校很少采用教授大班讲解课程,然后分班由助教辅导的教学模式,这就决定了国内的教学方式与欧美高校有所不同。由于需要教师一个人完成所有的教学任务,一个较好的教学模式就是采用项目化教学方式,将课程分为基础课程和提高课程进行教学。对C语言编程要求较高的专业,学习基础课程和高级课程两个部分,分两学期完成。对于一般的工科专业,可以只学习基础课程,重点了解编程的思想和编程的现代方法。

14.C语言程序设计2教学大纲 篇十四

日期: 2010-5-12 1:24:52 浏览: 8 来源: 学海网收集整理 作者: 佚名 【摘 要】C语言是我国高校普遍开设的一门课程,本文根据实际教学经验,介绍了在C语言程序设计中进行的一些改革与实践。其中对提高学生的学习兴趣,发挥多媒体教学的优势,提高课堂生动性及学生能动性提出了一些行之有效的方法。

【关键词】C语言程序设计; 教学改革;网络多媒体教学

Abstract :C language is a course generally set up by China’s colleges and universities, this article introduced some of the reform and practice in the C programming language in accordance with the actual teaching experience.Threre are number of effective methods which can increase the students’ interest in teaching,play the advantages of multi-media teaching and improve classroom liveliness and students’activity.Key words:C language programming design;Teaching reform;Network multi-media teaching

现在计算机已普及到各行各业,深入到各级层次,而学习C语言程序设计是提高人们计算机知识水平的重要步骤。在我国高等学校教育中C语言不但成为计算机专业的必修课,而且也越来越多地成为非计算机专业的学习课程。做好该门课程的教学具有非常重要而深远的社会意义,现将我在C语言程序设计课程中教学内容、教学手段、教学方法等方面的改革与取得的教学效果与大家做一探讨。

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

教师深入分析教学大纲,在全面了解学生的数学基础知识状况的前提下,根据大纲制定好教学计划。将教材中涉及到学生未掌握的数学知识方面的例题进行更换,避免因数学知识问题形成教学障碍。

在选取教材时,要选择“精讲多练、案例应用”为主的教材。C语言程序程序设计本身比较抽象,学生在刚开始接触的时候很难理解,所以兴趣并不很大。根据这门课程的一般教学顺序,在前几周讲授的内容往往是变量、数据类型、运算符、表达式、语句、函数等定义、使用说明等。这些理论知识中概念多、难以理解和记忆,会使一些学生失去学习C语言的兴趣。为了避免这种现象的出现,应该采用“理论精讲,够用就行”的教材,教师在讲授具体程序和案例时再将涉及到的未讲知识补充讲解。通过这种讲解方法可以减少学生的学习压力,保证教学进度和教学效果。

在教学过程中,以“案例驱动,兴趣引导,自身实现”贯穿整个教学过程。以学生感兴趣的某种游戏为案例,通过用C语言编程来实现游戏的过程引起学生的兴趣,再讲解具体的C语言知识。引起学生兴趣的案例除了游戏案例外,还可以是其他学生感兴趣的内容。最后让学生自己建立一个开发项目,用所学的C语言知识来实现。这种方法避免进行枯燥的语法训练,学生不会觉得课程枯燥无味,能提高学生的学习积极性,更重要的是学生能感受到C语言的结构化编程思想,并进行一定的实际编程获取编程经验。

二、应用网络多媒体教学模式的 C语言教学

1 世纪人类社会全面进入信息化的世纪,信息技术的广泛应用将极大地改变人们的生产生活方式,教学也不例外,网络技术的应用必将改变传统的教学方式。C语言教学中重点与难点内容用FLASH软件制作成动画演示教学,能够把抽象的过程以真实的、直观的方式展现出来。把动态的图象和学生的抽象思维活动密切地结合起来,教师可以重点突出的讲解程序算法,教师演示课件时的速度、次数,以及前后顺序等都可以根据教学需要灵活地控制和改变,使得教师易于把握教学的进度。根据FLASH软件的特点,可以让学生动手控制动画的执行步骤,在观看或者参与动画的过程中加深理解C语言的执行过程。利用几何图形、色彩变化及闪烁等效果,再现程序执行过程的动态及变化过程,例如C语言课程中的汉诺塔问题、杨辉三角形问题,还有许多排序和比较的程序,能够通过动画把完整的过程演示。

在网络教学方面可以把教学内容做成课程网站。上课时讲解网站上的理论内容和相关练习题。学生可以通过计算机访问网站中每次课讲的内容,在编写程序时遇到问题可以先通过网站查找相关资料先自己解决问题。这种方式便于学生整理学习笔记,培养学生解决问题的能力。还可以在网站上布置课后作业和收取学生的作业,便于教师的作业批改。

在网络教学方面还可以采用局域网内的网络教学管理软件进行教学与指导,例如极域教学软件。这种教学软件可以在教师机上给学生做同步演示与讲课,在学生做练习时可以把学生做练习的过程用广播形式在局域网内演示给其他学生看,这样增加了互动效果、方便对学生的练习进行讲解。

三、创造条件加强学生能力的培养

学生编程能力的提高,不是听来的,不是看来的,而是练出来的。机械的练习老师布置的作业只能完成对知识的认识,还不能完成对知识的理解与运用。利用比赛、项目任务的方式给学生以压力,让学生充分动脑在短时间内提高自身运用C语言的能力。比赛能给学生一种荣誉感,能激发学生的学习主动性、创造性,可以充分展示学生的学习能力。在教学过程中,可以根据以讲完的教学内容进行专项应用比赛,也可以在学习完C语言后进行班级内、学校内的大型比赛。比赛完成后树立学习的榜样,给学生以学习动力。

在学生C语言的编程能力方面,“授之以鱼,不如授之以渔”。程序设计是一种具有创造性的工作,程序设计具有一定的抽象性,它用数学的方法去描述一些问题。一般的程序设计要建立数学模型,要进行算法设计,这样才能将实际问题的解法表达成计算机所能表达理解的形式。在教学的过程中不能单单满足于授予学生多少知识内容,而是要加强学生独立分析问题、解决问题能力的培养。因此,课堂教学要摆脱呆板、生硬的灌输,应着力于激发学生的学习兴趣,帮助学生树立正确的学习动机,培养学生的学习能力。例如以一个成熟的项目展示完整的C语言代码,向学生讲解代码中算法、建模的过程,培养学生的良好编程习惯。

四、采用综合考核法评价学生的成绩

对C语言程序设计的考试是衡量这门课教学情况与学生学习的好坏的标准,不是看学生“知不知道”,而是“会不会干”。C语言程序设计考试是一门考察学生的逻辑能力、C语言语法掌握能力、编程能力的综合考核。不能只用主观题和客观题来评价,而应当把重点放在编制程序和调试程序上。所以对学生学习成绩的评定,采用综合考核法,将平时的实践成绩与期末卷面成绩进行综合,得出本课程综合考评分。这种教学法,不但能更客观地反映学生的学习情况,同时也能促进学生学习起到很好的教学效果。

单一的考核方法并不能体现学生的学习效果和教学效果,需要用多种方式来评价。在采用上述方法后,还可以试行反复考试法。反复考试法就是当学生对自己成绩不满意,认为没有考出自己实际水平时,可以给学生一次或多次重新考试的机会。高校教学的目的并不是考试,而是培养学生的学习能力与实际动手操作能力,通过这样多方式考核的办法可以充分评价出学习的学习能力与实际动手操作能力。

五、校企结合面向社会培养学生的编程能力

为了使学生学习到的知识与社会接轨,可以创建校企结合的课程建设方法。听取企业家对C语言程序设计教学改革的意见、由企业向学校提供实验(实习)条件、以企业作为学生的校外实习基地或者企业为学生提供就业岗位,通过这些方法使学生熟悉公司内的编程环境,尽快进入工作状态。学校还可以邀请企业家为学生开讲座,派遣青年教师到企业去实习,使教学的内容与企业的实际更为贴近。学校作为企业的人才培育基地,发挥技术和设备的优势,为企业提供支持,向企业输送合格毕业生,校企结合实现双赢。

总之,在“C语言程序设计”课程中,我们要努力提高学生对课程的兴趣和学习热情,在教学手段上充分利用多媒体、网络软件等手段,使得学生充分掌握C语言的基本理论知识,同时加强学生自身的学习能力和实践能力的锻炼,使学生更好地掌握C语言程序设计方法符合现代社会对人才的要求。

【参考文献】

15.《C语言程序设计》教学方法浅析 篇十五

一、增加课堂趣味性, 提高学生的学习兴趣

工作中我们常常有这样的体会, 并不是所有的教学内容都是有趣的, 如《C语言程序设计》与其他课程的教学相比, 就愈发显得枯燥。现代心理学的研究已证明:愉快、欢乐、适度平稳的情绪能使中枢神经活动处于最佳状态, 保证体内各系统的协调一致, 充分发挥机体的潜能。在课堂中安排有趣味的例子吸引学生、培养兴趣, 刺激学生的好奇心, 能使教学有趣有味, 达到事半功倍的效果。在多年的实践过程中, 笔者的趣味教学得到了学生的认可, 学生由厌学上升到喜欢学, 受益匪浅。

由于C语言是计算机相关专业最基础的课程之一, 学生一般在学习C语言之前, 对程序语言没有任何概念, 这就增加了教学的难度。为了增加学生对C语言的趣味性, 教师在授课过程中, 可以适当的演示一些用C语言编写的声音、图形、动画等小程序, 使学生明白C语言编写的程序不仅仅是那些枯燥的文本数字, 知道C语言的重要性, 从而产生浓厚的兴趣。同时, 授课过程中多创设一些情境, 例如在通过讲解“九宫图”问题时, 我们可以这么讲解:请大家做一回黄蓉, 帮靖哥哥填九宫图。为逃避裘千仞的追杀, 靖哥哥背着黄蓉逃进瑛姑的住所, 瑛姑出了一道难题, 要求靖哥哥将1~9这9个数字填入九宫图中, 使得横向、纵向、斜向的数字之和均为15。这种方式就使问题变得非常形象化。总之, 所有的教学方式的选择都应该以增加课堂趣味性, 提高学生学习兴趣为基准, 使学生由被动学习转变为主动学习。

二、重视教学内容的组织, 突出重点、难点

在教学过程中, 教师一般都按照教材的编写顺序来讲解, 在《C语言程序设计》中, 前几章介绍的都是一些变量、运算符、表达式、控制语句等, 这些内容对于一群之前没有接触过编程的学生来说, 显得非常的枯燥乏味, 容易打击他们的积极性, 从而产生厌烦情绪。因此, 教师在授课过程中, 应该以程序设计为主线, 将这些内容的讲解都融入到程序设计当中, 让学生多动手、多思考, 这样的学习过程不仅使学生掌握了最基础的知识, 也增加了学生的学习能力。

另外, 教师在《C语言程序设计》的教学过程中要突出课程的重点、难点。如:

1. 复合语句

复合语句就是用一对“||”把若干语句括起来构成一个语句组。复合语句是C语言中最重要的一种语句, 也是比较难理解、容易混淆的语句。教师在讲解这部分时, 可以给出一些程序示例的源码, 让学生进行自主分析。

2. 指针

C语言学习中最重要, 也是最难的一点就是指针的使用, 正所谓“学好了指针就等于学好了C语言”。

首先要让学生理解指针的概念。其次, 让学生理解指针和地址在概念上的区别。再次, 让学生区分内存单元的指针和内存单元的内容。最后, 让学生掌握指针的相关操作 (指针函数参数、指针数组、指针函数等) , 要注意在实践应用中让学生学会如何运用指针解决问题。

三、加强课堂间的讨论, 增加课堂的互动

《C语言程序设计》和其他学科一样也有很多待讨论的问题, 所以讨论在《C语言程序设计》教学中占有很重的地位, 如一些开放型问题、疑难问题等, 都比较适合讨论。

1. 提出讨论的主题

即创设讨论的“焦点”问题。教师可以自己先设计一些问题, 让学生针对这些问题提前阅读资料, 再展开讨论, 也可以让学生自己提出问题。

讨论的主题可以是多种多样的, 例如:

(1) 根据教材的重点和难点, 为便于学生掌握并加深理解而精心设置的题目。例如:指针的调用、指针作为参数的传递等。

(2) 探讨性的题目。如在教学中, 学生之间对某个问题的认识发生分歧, 或者学生对教材中的结论提出怀疑时, 教师不作正面回答, 将分歧点和疑点交给学生讨论。例如:两种不同算法之间的效率比价等。

(3) 设置一些难实现的问题引发讨论。例如:如何用C语言实现链表等。

总之, 讨论的主题应是探讨性或比较难实现的问题, 也可以是解释性或应用性的问题。一个明确的事实或共识的观点, 是无法引起讨论的。讨论题不能太简单也不能太深奥, 太简单会让学生觉得无话可说, 或者几句就说完, 积极性调动不起来;太深奥, 学生会感觉吃力, 无从下手。对于一个较大或者较复杂的问题, 可以将问题化小, 按层次序列化。

2. 列出讨论提纲

为防止讨论时跑题, 或者没有焦点, 教师可以预先准备一个讨论提纲, 以便学生在讨论时能有次序、有焦点地进行。

3. 讨论前的准备

宣布讨论的原则, 向学生介绍讨论的题目、目的以及评价等具体问题;根据讨论的形式作必要准备。对于需要做资料调查或实验准备的讨论, 可以预先布置讨论的任务, 让学生分工去搜集资料、从事调查或实验, 写好讨论发言稿, 然后再进行课堂讨论。

4. 展开讨论

组织学生发言, 可以有以下的形式:自由发言、指定主要发言人、临时指定发言人或者轮流发言等。

四、引入任务驱动教学模式, 提高学生创新能力

任务驱动教学模式的实施过程是学习者在教师的引导下, 紧紧围绕一个共同的任务活动中心, 在问题动机的驱动下, 通过对学习资源的积极主动应用, 进行自主探索和互动协作的学习。在学习过程中, 学生通过完成相应的任务, 构建真正属于自己的知识与技能。

1. 提出任务

任务的提出应该说是任务驱动教学模式中最为关键的第一步, 任务设计的好坏能够直接决定教学目标的能否成功实现。任务是课堂教学的“导火线”, 是问题提出的表现。任务驱动的特点是:把所要讲授的内容巧妙地隐含在一个个任务中, 使学生通过完成任务达到掌握所学知识的目的。因此, 教师在授课之前应该悉心设置任务。

例如在讲解控制语句时, 可以提出以下任务:

任务1:根据学生成绩决定奖学金等级。

任务2:小学生四则运算程序的开发。

通过这些任务, 可以使学生很好地理解: (1) if…else…多分支选择结构; (2) switch开关结构; (3) 选择语句的嵌套。

2. 分析任务、搜集资料、发现问题、解决问题

任务给出后, 教师不要急于讲解, 应先让学生讨论、分析任务, 搜集相关的资料, 提出完成任务需要做哪些事情, 发现要完成任务存在哪些问题。导致这些问题存在的原因, 可能是知识的掌握问题, 也可能是资料搜集不全的问题。对于知识的掌握问题, 如果知识是以前己经学习过的, 学生复习以前的内容, 自己就会给出解决方案, 如果知识是没有学习过的, 即含在任务中的新知识点, 教师可在学生提出问题之后给予积极的引导, 让学生自己去探索, 弄懂相关知识, 寻求解决问题的方案。而如果是资料不全的问题, 教师可引导学生利用网络查阅资料, 学会利用因特网搜集资料, 解决自己碰到的问题。只有通过这种方式, 才能培养起学生解决问题的能力。

3. 总结与评价

在解决问题、完成任务之后, 教师要针对完成任务过程中暴露的问题进行分析总结, 针对不完善的地方进行修改。对任务进行评价时, 教师要多说一些鼓励的话, 激发学生的兴趣。

参考文献

[1]蔡晓丽, 王维丽“.计算机C语言”课程改革探索[J].常州工学院学报, 2006 (4) .

上一篇:梦想让人生更有意义优秀作文下一篇:安全反思日活动