《 C语言程序设计》读书心得

2024-05-07

《 C语言程序设计》读书心得(共14篇)

篇1:《 C语言程序设计》读书心得

读书心得

期:

目:《 C语言程序设计》读书心得 心得报告人姓名:

院:

级:

重复字数/总字数: 查

率:

《 C语言程序设计》读书心得

最近在图书馆借了一本关于C语言程序设计教的书,C语言是目前流行的程序设计语言之一,具有程序简洁、数据类型丰富、表达能力强、使用灵活、实用高效等优点,在当今软件开发领域有着广泛的应用。

现在我来介绍这本书的内容和目录:第一章 概述【程序设计基本知识、C语言的发展与优点、C语言程序的基本结构、C语言程序的运行】,第二章 基本数据类型【C语言的数据类型、基本数据类型、常用的数学库函数、基本运算与表达式、混合运算时数据类型的转换】,第三章 顺序结构程序设计【C的语句、赋值运算与赋值语句、数据输入/输出】,第四章 选择结构程序设计【条件描述、if选择结构、条件运算、switch多分支选择结构、选择结构程序举例】,第五章 循环结构程序设计【while循环结构、do„while循环结构、for循环结构、与循环有关的控制语句、3种循环语句的比较、循环的嵌套、循环结构程序举例】第六章 函数与编译预处理【C程序的模块结构、函数的定义与调用、函数的参数传递、函数的嵌套调用与递归调用、变量的作用域与存储类别、内部函数和外部函数、函数应用举例、编译预处理】,第七章 数组【数组的概念、数组的定义、数组的赋值与输入输出、数组的应用、字符数组与字符串、数组作为函数参数】,第八章 指针【指针的概念、指针变量的定义与运算、指针与数组、指针与字符串、指针与函数、指针数组与指向指针的指针、指针与动态内存管理、指针应用举例】,第九章 结构体【结构体类型的定义、结构体变量、结构体数组、结构体类型指针、结构体与函数、链表、结构体应用举例】,第十章 共用体与枚举【共用体、枚举、位运算与位段结构、用typedef定义类型名】,第十一章 文件操作【文件概述、文件的打开与关闭、文件的顺序读写操作、文件的随机读写操作、文件操作时的出错检测】,第十二章 还有本章小结和习题。

这本书让我学会了什么是字符数组与字符串,字符串处理函数都包括那以下六点,如:

1、求字符串长度函数strlen(),该函数用来计算字符串的长度,即所给字符串中包含的字符个数(不计字符串末尾的“”字符),函数返回值为整形,其调用格式为:

Strlen(字符串)其中的参数可以是字符数组名或字符串常量。列如: Char s[]=”good morning”;Printf(“%dn”,strlen(s));

Printf(“%dn”,strlen(“good afternoon”));将输出:12 14

2、字符串复制函数strcpy()和strncpy()该函数用来将一个字符串复制到另一个字符串中,函数类型为void,其调用格式为:strcpy(字符数组1,字符数组2)该函数可以将字符串2中的字符复制到字符数组1中。其中字符数组1必须定义得足够大,以容纳被复制的字符串。函数中的参数字符数组1必须是字符数组名,字符数组2可以是字符数组名或字符串常数。

3、字符串连接函数strcat()函数调用格式为:strcat(字符串1,字符串2)该函数将字符串2连接在字符串1的后面。限制字符串1不能是字符串常量。函数调用返回一个函数值,函数值为字符串1的开始地址。正确使用该函数,要求字符串1必须足够大,以便能容纳字符串2的内容。

4、字符串大写字母转换成小写字母函数strlwr()函数调用格式为:strlwr(字符串)该函数将字符串中的大写字母换成小写字母。其中的“字符串”不能是字符串常量。

5、字符串小写字母转换成大写字母函数strupr()函数调用格式为:strupr(字符串),该函数将字符串中的小写字母转换成大写字母。其中的“字符串”不能是字符串常量。

6、字符串比较函数strcmp()函数调用函数为strcmp(字符串

1、字符串2)该函数比较两个字符串的大小,对两个字符串从左至右逐不字符相比较(按字符的ASCLL码值的大小),直至出现不同的字符或遇到“”为止。如全部字符都相同,则认为相等,函数返回0值;若出现不同的字符,则以第一个不相同的字符比较结果为准。若字符串1的那个不相同字符小于字符串2的相应字符,函数返回一个负整数;反之,返回一个正整数。

通过这本书可以让我学习到C语言逻辑思维的能力,通过一些很复杂的程序编程来转动我们的大脑,同时,还可以更好的掌握计算机的一些相关的知识,不断的提高自己的学习,

篇2:《 C语言程序设计》读书心得

通过本次教师发展在线的C语程培训中,我受益匪浅,几位教授的精彩演讲,让我找到了自己的不足和日后教学中的改革方向和内容。同时,也让我感觉到了,有今天各位教授的良好教学效果,这其中包含了他们的艰辛、背后的大量付出和无私奉献。

我是一直从事C类语言的教学工作,对C语言的教学已有5年教龄,在这几年的教学过程中,我们也一直在寻找好的教学方法和新的教学理念。通过本次学习,我总结要教好《C语言程序设计》这门课,最基本要把握好以下几个方面:

(一)要重视实践环节,上机调试成绩非常重要。

学习一门语言,就是要按照它的语法来编程。要编程,当然就要上机操作来验证你程序的正确性。所以上机非常重要,通过执行你所写的程序,完成你所写程序的目标,最终达到你的目的。而且通过执行程序,你会发现程序中的错误,从而使你了解你所学知识中的不足,同时,要学会根据编译时提示的错误来改正程序中发生的错误,以便下次不会再犯同样的错误。

(二)基本语法学习虽然枯草乏味,但是它相当于高楼大厦的一砖一瓦,一定要下硬功夫让学生掌握熟练。

C语言的语法部分。这部分内容是学好C语言的基础,只有学好了这些语法,才会写程序,看程序。所以对一个初学者来说,这部分内容是非常重要的,所以要扎实地熟悉每一个语法,并能根据这些语法来编程。

(三)学习要抓住重点,难点部分要多讲、多学、多练。

通过这次学习使得我对C语言的重点,难点,以及易出错的地方把握的更精准了。当然,这只是针对我个人而言。在C语言学习过程,重点就是数组,指针,以及结构体了。难点也是它们了,不过数组和结构体还是挺简单,所以在此主要就指针方面谈谈自己的看法。

下面谈谈通过这次学习,结合我们学校的教学情况,打算对该课程的教学进行如下几个方面的改革:

(一)理论教学内容的组织

C语言的重点知识包括:结构化程序设计方法、流程图的组织、三种程序设计结构、三种基本数据类型和三种自定义数据类型;难点包括:结构程序设计方法、算法的分析、流程图的组织与设计、函数、指针等。

根据知识内容和每年的新学时安排,我们将理论教学内容分为授课内容和自学内容两大模块。

(1)授课内容

C语言的授课内容分为两阶段:①基础准备阶段 这部分内容确保学生“实用、够用”,主要包括三种基本数据类型(只要求掌握常用的int,float,char);三种常用运算符及其表达式(赋值、算术、逻辑(包括关系));三种程序设计结构(顺序、选择、循环)。②实训项目驱动阶段 这部分内容主要是“实训实战”,主要包括数组、函数、指针和结构体。通过第一阶段的学习,学生已经具备了一些程序设计的基础知识,在这一阶段将通过一个实训项目的完成来熟悉主要内容,同时巩固第一阶段的成果。

(2)自学内容

课本中的内容上课没重点介绍或者说就是没提到的,划为自学内容。但这些内容,我们并不是在课堂要求学生回去自学:要求过高,规矩过多,这样效果不佳。而是让学生在实验中发现问题后,带着问题去学习,去找答案。

例:整型 我们只介绍int基本类型,当学生想计算n!时,学生测试5!=120时,他可能会去测试20!、50!,这时,存放阶乘的变量Factorial再定义为int,结果就是0了,这时问题就来了,他就会去寻找正确的处理方法(long int)。

(二)实验教学的安排与设计

教学改革方案确定后,我们对本课程实验教学上从多方面进行了教学更新。我们考虑到学生处于了解计算机语言及编程的初级阶段,有许多最基础的内容有待掌握,所以本课程的实验教学不太适合完全以项目开发的形式进行,注重的是加强模块化实训。

(1)上好第一节实验课

我们常说“上好第一节课”,那么第一节实验节的重要性也不言而喻。这节课对培养学生的学习兴趣、增强学生的学习信心、锻炼学生的自主学习等多方面影响很大。

第一次实验项目是—熟悉Turbo C的运行环境,主要是掌握一些在TC中的一些键盘操作方式。一般是教师给学生提供程序代码(三个),但我们在学生不知情的情况下,给学生两个有语法错误的和一个正确的程序。这样,当学生运行正确的程序时,知道计算机可以帮我们处理问题,原来程序就是这样写的;当学生运行错误的程序,首先他会诧异(老师给的程序原来是错的),于是要求他们自己修改,尤其是有时一个致命错误导致的10多个errors,被学生修改后,没有了errors或所剩无几,这时学生表现的很兴奋、很有成就感,从而加强了本课程的学习兴趣和信心。

(2)分两阶段进行 实验内容与理论教学内容相互应,在基础准备阶段,这方面教学方法上主要是加强操练。通过各种大小程序、多重训练和一个问题的多种解法来加强语法知识点的掌握和训练,开阔学生编程的思路,掌握编程基础。同时,在这过程中我们严格把关,让学生课后认真准备,每次进实验室时,应有写好的完整代码,上机调试,发现问题同时解决问题,要求认真完成实验内容,并在课后书写实验报告。鼓励学生多写程序,要加强实践环节,首先要从量上有个划分。在实训项目驱动阶段。本阶段实训项目的设计非常重要,原则是既要使学生有切入点能够动手又要使各章的内容之间有联系点。

(三)案例教学法

C语言的教学,教师一般受传统应试教育的影响,狠抓理论考试,忽略了程序设计能力的培养,把授课重点放在程序设计语言的基本语法的讲授和掌握上,所选的编程实例大多用于语法规则的验证和说明,仅从程序设计语言的使用这个单一的角度进行教学,而使得大多数学生在学完本课程后,“吃不透、用不活”,表现为学生在程序调试时,对程序中出现的逻辑错误经常不知所措,在开发较大的应用程序时,不知道如何入手。

采用案例教学法,以程序设计为主线,以编程应用为驱动,通过案例和问题引出教材内容,重点讲解程序设计的思想和方法,穿插讲解相关的语言知识。使教学效果既有深度又有广度,学生实际动手能力大为增强。

篇3:《 C语言程序设计》读书心得

1“以人为本”开展教学

学生是教学活动的主体,教学活动要以学生为中心而展开。教育心理学的研究表明:学生在没有精神压力、没有心理负担、心情舒畅,情绪饱满的情境下,大脑皮层容易形成兴奋中心,思维最活跃,实践能力最强。因此,在授课过程中,本人尽量以通俗易懂的方式讲解,通过设置问题情景,充分调动学生的积极性和主动性,引导学生参与到教学环节中。课下,深入学生群体,通过与学生交流,把握学生的思想动态,及时做好学生的思想工作。同时利用课余时间与学生打成一片,建立一种民主平等亦师亦友的关系。在评价学生时,根据学生特点,经常运用一些激励性的语言。例如:“你真聪明”、“你真行”、“我为你感到骄傲”、“你虽然说错了,但很勇敢”等等。一次次的表扬和鼓励,使学生充分信任自己,从而达到在课堂教学中的互动。

2 采用“模块化”教学方式

C语言是计算机及其相关专业的一门非常重要的基础课。但这几年的C语言的教学效果总是不理想。主要存在的原因:一是C语言牵涉的概念比较复杂,规则繁多。不容易记忆,而且易混淆。二是C语言应用灵活。学生不能较好地将所掌握的理论知识应用到实践中。针对现状,我在本学期授课中,积极响应职业教育改革要求,进行模块化教学。按照C语言教学大纲和教学计划,我将授课内容划分为6个模块:课程入门、结构化程序设计、数组应用、函数应用、结构体和指针的综合应用以及文件应用。在每一模块的教学过程中,首先介绍一个较完整的程序例子,该例子包含了此模块所涉及的主要语法和语句,目的是使学生先对此部分内容有个初步的印象,再简单介绍该例子中用到的语法和语句,让学生对该模块的学习有一个大概的了解,也不会因为一大堆语句的出现,而对学习语言望而生畏。这样的教学方法,学生先对语言的学习有了整体的概念,再具体介绍语句,学习时心里就有了“底”。整个教学过程中应该把解题思路、方法和步骤(即“算法”)当作授课的重点,从而让学生明白如何分析并解决实际问题,逐渐培养学生进行程序设计的正确思维模式。

3 构建自主探究、小组讨论的学习模式

为了能够及时、全面地关注到每位学生的学习状态,充分调动学生的积极性,我采用分组方式进行教学控制和管理。每周抽出固定时间对组长进行提前培训,并给出一些难度较高、与实际生活接近的题目,加强辅导,引导学生掌握良好的编程思想。然后在课堂讨论和实践课时间,就由组长全权负责。实践证明,自主探究、小组讨论的学习模式,变被动接受为“自主研究”型学习,实现学生学习方式的个性化。这种学习模式能够克服和解决以教师讲授为主要形式带来的许多弊端,尤其在促进调动全体学生参与学习活动方面效果特别明显。这种学习模式是研究型的,力求做到学生人人参与,为其创设了宽松良好的环境,使其可以随想、随说、随问,消除自卑感,让其不同程度的得到发挥、提高。

4 采用丰富多彩的CAI课件进行课堂教学

针对C语言中一些比较抽象、难理解的知识点,积极引入CAI课件进行讲解。CAI课件可创设新颖有趣的动画情境,容直观性、多变形、知识性、趣味性于一体,为学生营造一个图文并茂、动静结合的教学场景,促使学生多种感官同时接受刺激,大大激发了学生的学习兴趣,活跃课堂气氛,从而达到“课伊始,趣亦生”的境界。以指针为例,指针是地址的形象化名称。要想掌握指针,关键是弄清楚指针的指向问题。所以此部分内容需要结合所使用的数据在内存中的存储问题讲解。这就需要形象化的描述出内存的存储。利用CAI课件不但能够形象化地描述出数据在内存中的存储,还可以动态记录指针在某一时刻的变化。从而化抽象为形象,便于学生理解。

总之,经过积极的探索和思考,打破传统的教学模式,采取以人为本、模块化教学、结合CAI课件等方式,充分调动学生的积极性和参与性,才能更好地培养学生的竞争合作精神和独立学习的能力,才能适应职业教育的改革发展要求。

参考文献

[1]张瑞,陈岚.关于多媒体教学的几点思考[J].贵阳金筑大学学报,2004(4):73-74.

[2]薛小锋.C语言程序设计》教学方法探析[J].福建电脑;2004(1):81,87.

[3]魏利华.谈《C语言程序设计》课程的教学定位[J].雁北师范学院学报,2003(3):97-99.

[4]徐章艳.“C语言程序设计”实验教学探讨[J].电气电子教学学报,2004,26(2):84-89.

篇4:《 C语言程序设计》读书心得

关键词:记忆法;C程序设计语言;口诀记忆

中图分类号:H319文献标识码:A文章编号:1671-864X(2016)08-0190-01

计算机C语言具有设计特性、高效性、可移植性、灵活性、强大的功能等优势,学好C语言有非常重要的意义[1]。但由于初学者缺少先验知识,该课程学习难度大,知识掌握较困难。本文采用“口诀记忆法”,将一些较为复杂和零散的知识点进行编写串联,对促进学习者有效学习的发生,提供了一种较好的选择。

该课程新增知识点较少,教材内容变化不大,通过以下四个步骤(如图1),即可完成编写过程,后续只需在教材章节的基础上对知识点上进行细化。

一、分析环节

分析环节一般分为两个步骤,第一是对学习者的分析,第二是对知识点的分析。分析学习者应该着重分析学习者的一般特征、入门能力和学习风格。教师可以通过查看学生以前的学习成绩记录、直接向学生提问、与学生交谈、与教师交谈、标准化测试、教师自己出题等方式来了解教学对象的特征和入门能力[2]。学习风格可以选择问卷或量表进行测量。在此基础上,确定要进行记忆的重难点。教学者应重点关注那些理解力和思维能力较弱,但容易调动积极性的学习者,进行重点的教学辅导。

对于知识点的分析,一般应结合教材目录、前人总结、课后习题、题库试题等方面进行。以《第二章C程序设计的初步知识》[3]章节为例,首先借助教材对知识点进行初步细分。由目录可知,该章节包括“简单的C语言程序的格式”、“标识符、常量和变量”、“数据类型”、“算术表达式”、“赋值表达式”、“自加、自减运算符和逗号运算符”等小节。其次是对每小节具体知识点进行分析,教材一般都提供了课后习题,这些习题是专家教师经过长期实践总结出的,具有一定的代表性。教学者可以将其中一部分作为要点暂时列出。最后在结合对学习者分析的基础上,进一步筛选出要点知识,即编写知识点。

二、选择记忆方式

对于编写知识点,可以采用口诀记忆可以选择谐音、简化、对偶和综合等方式进行编写。谐音记忆就是把需要记忆的教学难点内容跟日常生活中的谐音结合起来,采用押韵、联想等方式进行记忆;简化是将复杂的知识点,突出重点后进行选择性的简化;对偶是用对称的字句加强语言的效果,但一般情况下在记忆法中,较难达到完整的对偶,只要求字数大概一致即可;综合的方式是指没有固定的格式,可以将几种方式结合运用(如表1所示)。初步完成编写的记忆法往往较为粗陋,还会存在混淆概念或知识点的可能,教学者需要在不断实践的基础上进行修改,同时最好配有口诀的解析说明,方便学习者理解记忆,避免产生歧义。

三、学习者参与编写

对编写的口诀而言,学习者参与编写,可以发挥群体智慧,逐步完善其解释和记忆功能。对学习者自身而言,积极参与会提高学习效果[2]。对教学者而言,可以减轻教学者编写负担。教学者可以定期组织学习者展示上交记忆法成果。

四、评价反馈与修改

评价反馈与修改在整个记忆法的编写过程中都在不断进行,包括判断学习者分析是否准确、对知识点的分析是否适当、对记忆方式是否有改进、对学习者学习和编写过程及结果是否有效。在此过程中,记录调查结果、原始口诀和改进口诀及其解释说明、学习者学习表现等都会为评价过程提供重要的数据依据。同时鼓励并组织学习者对学习中的重难点和学习中出现的问题进行反馈;最后,教学者要把握谨慎修改,修改必须记录说明的原则,逐步修改和完善记忆法。

参考文献:

[1]普拉塔.C Primer Plus(第五版)中文版[M].人民邮电出版社,2005.

[2]斯马尔迪诺.教学技术与媒体[M].高等教育出版社,2008.

[3]教育部考试中心.全国计算机等级考试二级教程——C语言程序设计[M].2010年版.北京:高等教育出版社,2010.

篇5:《C语言程序设计》学习心得

通过这一阶段网络的学习,我总结出以下几点,在今后的教学过程中可以尝试加以注重:

(一)激励学生学习兴趣,充分调动学生学习积极性

学习兴趣就是学生在心理上对学习活动产生爱好、追求和向往的倾向,是推动学生积极主动学习的直接动力。爱因斯坦说过:“兴趣是最好的老师,真正有价值的东西,并非仅仅从责任感产生,而是从对客观事物的爱与热忱中产生”。我国古代教育家孔子也说:“知之者不如好之者,好之者不如乐之者。”只有“好之”、“乐之”方能有高涨的学习热情和富有创造性地去完成学习任务。明确学习目的,激发学习兴趣

只有学习思想端正,学习目的明确,学生才会有学习的动力,才会有学习的自觉性。有的学生认为C语言已经落伍了,没有什么用,我们要使每个学生明确即将学习的知识与社会的关系,告诉学生学习C语言是建立程序设计思想,学习程序设计的各种基本概念、方法、技巧,培养良好的程序设计风格。在讲C语言程序设计课程前,收集大量招聘C语言编程人员的就业信息及毕业生从事C语言编程工作的收入、工作条件、工作岗位等学生十分关注的重要信息。同时,也列举了大量用C语言完成商业性软件工程,以激发学生学习C语言的动机的热情。学生有了主动性,才会自觉地学习这门课。

(二)设计问题,开发智力,引导学生自己解决实际问题

在教学过程中,我们提倡学生在课堂上发现问题、提出问题,对于学生在练习中所遇到的问题,教师不能马上告诉答案,应当适当的启发和引导让学生自己找到答案,培养他们的思考能力。同时教师要精心设计一些富有启发性的问题,达到开发学生智力的目的。这样做有两方面的意义:一是为了引人入胜,激发学生的学习兴趣;二是对知识本身提出疑问,加深对问题的认识和讨论,这也是推动 C 语言课程教学艺术化的途径之一。

(三)强化课程设计,加强学生能力培养

课程设计是整个课程学习的总结与提高,通过必要的课程设计,切实加强学生的能力培养,通常课程设计贯串整个教学环节,设计内容以具体的软件系统的开发为基础,重点让学生掌握软件开发的基本思路与方法。课程设计必须以学生为主,教师的指导重点放在总体方案制定、设计进度上。教师在课程设计过程中应经常到学生中去答疑,检查学生设计进度与设计方案、设计结果的正确性,及时发现问题并辅助解决。课程设计尽量做到每个学生的设计有所差别,并要求学生独立完成设计环节。对学生的设计方案不追求最优,只要合理就支持学生坚持完成,最后在考评阶段进行重点点评。

课程设计结束时学生必须上交课程设计说明书,同时还要进行答辩。学生答辩结束教师给予正确引导,指出设计中存在的问题,并指导学生如何完善。答辩前学生要事先准备大量的知识点,答辩过程不但锻炼学生的表达能力,还能使学生认识到自己的设计的优缺点,也了解了别人的设计思想,开阔了视野。总结

篇6:C语言程序设计心得体会

在设计打字游戏的过程中,通过我们小组各成员之间的相互讨论和合作,我们完成了打字练习的程序设计。在这个学期中,我们已经学习了《C 语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。

C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。

在这次课程设计中,我们首先对系统的整体功能进行了构思,然后用结构化分析方法进行分析,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写代码。而且尽可能的将模块细分,最后在进行函数的调用。我们在函数的编写过程中,我们不仅用到了for循环、while循环和switch语句,还用到了函数之间的调用。由于我们是分工编写代码,最后需要将每个人的代码放到一起进行调试。因为我们每个人写的函数的思想不都一样,所以在调试的过程中也遇到了困难,但经过我们耐心的修改,终于功夫不负有心人,我们成功了!

篇7:C语言程序设计学习心得体会

通过一学期对C语言的学习,我感觉学习C语言是有一定难度却又是非常有趣的科目。也是很有帮助的,特别是对将要面对的计算机二级考试。

这段时间的学习我知道了C语言的基本特点有以下几点: 1. 语言简洁,使用灵活方便。2. 运算符丰富,表达能力强。3. 数计类型丰富。

4. 目标程序质量高,具有面向硬件系统的特点。5. 具有结构化的控制语句和模块化的程序结构。6. 具有编译预处理功能。

7. 程序设计自由度大,可移植性好。这段时间学习使我掌握了:

一、我学习了C语言的数据类型、常量与符号常量、变量、C语言的运算符和表达式、赋值运算符和赋值表达式、自增自减运算符以及逗号表达式等。

二、了解了结构化程序的三种基本结构、C语句概述、数据输出包括字符输出函数putchar()和格式输出函数printf()、数据输入包括字符输入函数getchar()和格式输入函数scanf(),还有一些简单的C语程序设计举列等。

前几天一直在看C++语法,所以对一些比较实际的例子总感到比较抽象,但是那也是一个必需阶段,可能大家和我的学习方式不一样,但从刚接触程序到现在来看,发现这样学习语言的方法挺不错的。经过第一阶段对语法的学习,我觉得实例阶段应该是一个过渡阶段吧,通过前一阶段对语法的学习之后,可能有很多概念我们都比较模糊,或者说很多东西太抽象了,这就为我们第二个阶段的学习做好了实例化的准备,可以这样说吧,第一个阶段就我们为我们的学习一样东西而构建的一个类,里面讲了我们应该在这里面要做什么?第二阶,也就是本阶段,我们就应该去把前一段的东西具体化(实例化先前创建的类),也就是去练习一些小例 子,从网上下载的电子书上有很多这方面的例子的,如果有自己去书店买书的话,里面也应该提供了不少,里面的例子,我是每次都打了一遍,也许有的人不会亲自去用手打一遍,什么copy等,当然这样也行,但我个人认为,对于初学者来说,最好还是自己动手打一遍比较好,毕竟这些东西对我们来说,都比较陌生,如果每个字都自己打完的话,有些代码你不想记住也难了,在这里,我们得弄懂练习的每一个例子,如果能把一些例子稍稍修改,弄懂里面精髓的东西,让自己知道为什么这样做,那么是最好不过的了,我平时练习时,这一步是少不了的,都习惯了,所以也就成了条件反射,想不这样都不行。最后,我们就应该汇一下总,把前面做过的例子里所用的技术理一下,再做一个比较大的例子,尽量把到目前为止所懂的知识全部应用到里面去,只是尽量,当然有些东西是不能集成到一起的,也是是代码之间的排斥性。

篇8:《 C语言程序设计》读书心得

关键词:语法,单词,程序,教学语言

随着科学技术的不断发展,计算机程序的应用也越来越广泛,“程序设计基础”课程教学涵盖了七项知识单元结构。在大部分情况下,各个知识点都是相互结合使用的,它们会共同出现在同一个问题当中。以下进行了相关的实验,实验步骤中包含了三个过程,第一个过程是采集数据,第二个过程是处理数据,第三个过程是统计数据。

1“程序设计基础”课程教学内容要点

“程序设计基础”课程教学涵盖了七项知识单元结构。在大部分情况下,各个知识点都是相互结合使用的,它们会共同出现在同一个问题当中,并且,在单个的知识点中,语法要素也会不止一个。在语法内容的选择上,应该将学习者的知识水平综合考虑。而最常用的算法主要有十多种,初学者掌握这些算法就足够了。

2 C/C++语法特点

站在语法的角度上分析,字符序列就是原程序的构造,将这些字符串联起来,就组成了各种各样的单词,单词在有规律的组合之后就形成了具有实际意义的语法单位,并且,将一些简单语法单位进行有规律地组合,还能够形成非常复杂的语法单位。那么,程序的完成就是通过最后一系列的语法单位的组合而形成的。

3 C/C++语言的主要语法单位

表达式的构造是由表达式运算符和运算对象组合而成的, 各种各样的数据类型的运算符都可以是表达式的构成要素,运算符的运算顺序是有一定规定的。由于变量有其数据类型,因此,在给变量下定义之前要先明确变量的数据类型,变量的类型决定了其占据的内存的空间大小。函数定义与调用:函数是独立的模块,它主要用来完成指定的任务,它以一种子程序的形式存在,由于语法是在单词有规律组合的情况下构成的,因此,本文主要是对基本语法要素构成的语法子集进行研究。

4实验设计

实验步骤中包含了三个过程,第一个过程是采集数据,第二个过程是处理数据,第三个过程是统计数据,下面将这三个过程进行展开讨论。

1)采集数据:教材中的数据是本实验中需要应用到的原始数据,该教材有国内教材,也有国外教材。并将这些国内外教材中的样例程序与课后习题的实现程序作为处理数据,由于课件和电子文本是以上这些教材主要包括的内容,所以,第一步就应该从自然语言的文本里面抽取一些程序样例,然后将其生成TXT文本。

2)数据处理:数据处理过程其实就是分词注标过程,主要是针对已经筛选的与条件相符的程序来进行,在分词注标的过程中,像空格、注解这一类辅助性的文本会被删除,标注的内容主要是将词语的属性进行标注,在以上工作结束之后都会生成单词表。

3)统计数据:数据统计中,主要统计的是单词的情况,将单词表中的单词出现的频率进行统计,并且将单词在所有文件中出现的比例进行统计。这样就能得出一个反映单词频率的表, 有了表的依据,就能够综合分析,并得出相关的结论。

5数据采集

在该论述中,我们选取一般高校通常习惯运用的“程序设计基础”教材作为研究目标,不过该教材的内容量相当大,若要全面研究,比较困难,因此,在此,我们选取的是部分权威机构出版的篇章内容。为了体现出数据采样的普遍性特征,使最终结果更加准确,更具代表性,所以,可通过以下两种方法来降低采样的主观性,第一是尽量多选一些教材,然后再在这些教材当中随机抽出三本教材,第二种办法是参考各种教材的发行数量以及参照学生对教材的反馈来挑选出三本教材。数据采集的主要方式有在网上书店里购买、直接与出版社联系通过出版社来获得、向图书馆借阅、向毕业学生征收等,教材的选择时间经历了两个月之久,在这两个月时间里,收集了大批的C或C++语言程序设计教材,不过,在我们挑选的文件当中,很少是能够直接应用的TXT格式资料,大部分都需要进行格式的转换。转换的过程有一定的难度,如果教材的格式是PDG格式,那么转化过程中需要应用到Pdg2Pic软件,并将内容转化成三种语言的TXT形式。经过三种语言的对比,可以发现,转化成英语格式的TXT格式时,准确率最高,最后一步是将错误进行修改,并且做一定的删除,只保留例题部分即可。如果教材的格式是PDF格式,PDF生成文件可以有两种形式,第一种是图像形式的文件,第二种是文档形式的文件。

6结束语

字符序列就是原程序的构造,将这些字符串联起来,就组成了各种各样的单词,单词在有规律的组合之后就形成了具有实际意义的语法单位,并且,将一些简单语法单位进行有规律地组合,还能够形成非常复杂的语法单位。由于变量有其数据类型,因此,在给变量下定义之前要先明确变量的数据类型,变量的类型决定了其占据的内存的空间大小。数据采集的第一步就应该从自然语言的文本里面抽取一些程序样例,然后将其生成TXT文本;数据统计中,主要统计的是单词的情况,将单词表中的单词出现的频率进行统计,并且将单词在所有文件中出现的比例进行统计;在我们挑选的文件当中,很少是能够直接应用的TXT格式资料,大部分都需要进行格式的转换。可以发现,PDG转化成英语格式的TXT格式时,准确率最高。

参考文献

[1]乔宪遐,杨乐.基于CDIO的C语言虚拟实验室建设研究[J].实验技术与管理,2015(10):122-124.

[2]阚双龙,黄志球,陈哲,等.使用事件自动机规约的C语言有界模型检测?[J].软件学报,2014(11):2452-2472.

篇9:浅探《C语言程序设计》教学

关键词:C语言;项目化教学;教学方法

中图分类号:TP312.1-4 文献标识码:A 文章编号:1674-7712 (2014) 18-0000-01

《C语言程序设计》作为计算机专业的基础课,在整个课程体系中占有重要地位。在C语言教学过程中,教师的教学方法和学生的理解接受能力的差异,对教学效果都会产生直接的影响。总结多年来的教学经验和教学体会,结合学生在学习程序设计类课程的思维规律和模式,把一些经验和方法总结出来,希望能对C语言教学有所帮助。

一、现行教学和学习中存在的问题

现行教学中理论课与实践课相对分离,不能相互促进。理论课中往往只注重对教材知识的分析和灌输,而在实践课程中,老师很难监控到每个学生,了解他们是否都在认真编写、调试程序。这就造成理论课没有起到为实践课打基础的作用,实践课也没有起到巩固、应用理论课的作用。《C语言程序设计》是一个逻辑性很强的课程。学生在面对具体的程序设计时遇到的问题与教材中的内容相距甚远,这使大多数同学感到无从下手。这其中的原因可以分成两类:一方面目前高校使用的大多数教材中,结构都基本相同。在每一章介绍完了概念之后,提供一些例题解释相关概念的使用方法,并在章节结束后针对本章中出现的内容提供一些练习题。考试也主要是测试学生对于教材内容的掌握程度,而与实际应用相距较大。这种考试实际上主要是测试学生对书本中的基本知识的掌握程度,而忽略了对学生解决实际问题的能力的培养。另一方面为了应付考试,学生更多注意的是教材中的典型例题与老师指定的重点内容,对于程序的系统概念没有真正理解,特别是没有程序整体设计的概念。这样做的结果就是学生在学习时一切围绕老师讲课的内容,特别是老师讲授的例题。学生在学习的过程中,没有注意如何综合运用相关内容来解决具体问题,导致学生在学完程序设计课程进入应用阶段时,面对具体的专业设计要求无从下手。

二、提高教学效果的方法和途径

(一)明确课程目标。本课程的目标主要是提高学生解决实际问题的能力,适应社会需求。对C语言程序设计课程的教学而言,强调实践性是在教学中特别重要的问题。老师的教学不应仅仅是传授知识,应该以培养学生的实际应用能力为主。C语言的内容繁多,在有限的课时内不可能也不必要面面俱到,所以必须突出重点,突出实用性,关键在于教会学生正确运用C语言编写程序,一些细节、具体规则和进一步的知识可以让学生在今后的应用中来不断学习和掌握。教师应始终坚持以应用为中心,以算法为基础,以培养学生的实践能力为核心,突出技术实用性和再学习能力的培养。

(二)进行教学改革。1.教学内容改革。高职学校学生的培养就是要直接面对社会需求,招之即能用。因此,程序设计课程要以社会对编程能力的需求和技术发展为依据,调整教学大纲和教学内容,以适应技术岗位能力要求,设计课程体系。在课程设置与建设中,要充分体现教学内容在训练和提高学生实践能力方面的要求,强化学生的实际开发和应用能力。总结本人多年的教学经验,结合其他老师成功的教学方法,采用项目化教学方法可以达到很好的效果。这个项目应具有以下几个特点:(1)实用性。本项目就是一个具体的实际需求,是解决现实性中一个实际问题而设计,这样也能提高学生的兴趣和热情;(2)完整性。本项目的程序设计是系统的、完整的,要能全面运用整个课程学习的知识,案例的设计贯穿整个课程的学习,随着课程的学习不断完善。

2.改变教学思想和方法。培养学生对C语言的兴趣及正确的思维模式。《C语言程序设计》注重由设计算法到书写程序并进行调试的整个过程,显得抽象、复杂,这也是大多数学生抱怨程序设计太难、太深奥、不好学的主要原因。在教学过程中,先介绍项目的整个程序设计框架,目的是使学生先对程序有个初步的印象,再结合教材,简单介绍该例子中用到的语句,让学生对该语言的学习有一个大概的了解,避免学生对学习语言望而生畏。整个教学过程中应该把“解题思路、方法和步骤”当作授课的重点,从而让学生明白如何分析、解决实际问题,逐渐培养学生进行程序设计的正确思维模式。计算机语言程序设计中算法是其灵魂,是教学重点,也是教学难点,而语言只是表示形式。没有正确的算法,计算机将解决不了任何问题。对于C语言所涉及到的算法,应进行部分精讲多练。通过案例分析,重点讲解程序设计的思想和方法,辅以語言知识的介绍,将课程内容分为若干个主题,以项目程序设计为贯穿各主题的主线。每个主题的教学过程由“要点讲解”、“练习/上机实践”和“疑难解答”三个阶段组成,然后提出项目中的问题,以学生独立完成为主,教师只提供必要的辅导,培养学生探索问题和解决问题的能力,更有利于创新能力的培养。整个课程教学围绕一个工程项目进行,通过逐步拓展的实训项目和设计,将每一阶段的学习进行小结性的贯穿与能力提高。将C的知识点都溶化到项目的程序编写中。

3.改革课程考核方式。(1)平时上机训练时给学生留一些编程习题,每次根据学生编写情况进行测评并占据期末总成绩30%;(2)期末前,要求学生完成本课程项目的整体设计,考核学生综合解决问题的能力,占据期末总成绩30%;(3)期末进行理论考试,占期末总成绩的40%。

(三)展示学生作品,激发学生的学习欲望。计算机软件课程具有多样性、复杂性和求异性特点,我们要针对每个学生任务完成的情况,让同学们展示自己的学生成果,及时肯定学生的成绩,这样会有利于激发学生的学习热情,保持学生的学习兴趣,对学生的后续学习将产生强大的动力和自信心。

(四)培养学生的自学能力和创造性。学生学习计算机语言的最终目的是编写满足实际需求的程序,所以在教学中教授的不仅仅是具体语言的语法知识,更重要的是通过这门语言学习,培养学生遇到实际问题自己分析问题、解决问题的能力。我们可以通过给学生布置作业的形式让同学们自学,老师既要要求学生独立思考、自主学习,又要鼓励学生间进行协作学习。教师可以分配一些比较复杂的问题,由几个学生组成一个小组合作解决,这样同学们可以互相探讨学习方法,协作解决一些遇到的问题。通过解决问题,锻炼学生综合应用知识的能力、培养其创造性和合作精神。

参考文献:

篇10:C语言程序课程设计心得体会

学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。那么,现在就来看看,以下两篇关于C语言程序课程设计心得体会的范文!C语言程序课程设计心得体会1 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。

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

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

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

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

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

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

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

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

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

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

3、学习上机调试程序

完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。通过这次为数不多的几天计算机实践学习,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。同时它让我知道,只要你努力,任何东西都不会太难。

c语言课程设计心得体会2 本学期我们开设了《模拟电路》与《数字电路》课,这两门学科都属于电子电路范畴,与我们的专业也都有联系,且都是理论方面的指示。正所谓“纸上谈兵终觉浅,觉知此事要躬行。”学习任何知识,仅从理论上去求知,而不去实践、探索是不够的,所以在本学期暨模电、数电刚学完之际,紧接着来一次电子电路课程设计是很及时、很必要的。这样不仅能加深我们对电子电路的任职,而且还及时、真正的做到了学以致用。

这两周的课程设计,先不说其他,就天气而言,确实很艰苦。受副热带高气压影响,江南大部这两周都被高温笼罩着。人在高温下的反应是很迟钝的,简言之,就是很难静坐下来动脑子做事。天气本身炎热,加之机房里又没有电扇、空调,故在上机仿真时,真是艰熬,坐下来才一会会,就全身湿透,但是炎炎烈日挡不住我们求知、探索的欲望。通过我们不懈的努力与切实追求,终于做完了课程设计。

篇11:c语言课程设计的心得体会

通过这次c语言的课程设计,我明白了很多也知道了很多,更收获了很多。在课程设计的过程中出现过困难,三周的课程设计已经结束了。回想学习c语言的过程中,既有快乐又有烦恼,回顾这次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论和知识是远远不够的,只有把所学的理论知识与实际相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考能力。在设计的过程中遇到的问题,这毕竟独立做的,难免会遇到各种各样的问题,同时在设计的过程中发现自己的不足之处,对以前所学的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识从新温故。这次课设终于顺利完成了,在设计中遇到了很多编程问题

做完这个课程设计,我们的自信一下子提高了,我们也会写程序了;尽管对于有些人这种程序会很简单,可对于我们c语言初学者来说,已经很不容易了。这次体验为以后的学习计算机的我们增强了信心。享受劳动成果的滋味实在美妙啊!

很感谢这次的课程设计,它使我更加地体会到多看专业书的重要性,只有掌握了一定量的专业知识才能得心应手地解决诸多问题;另外,在做任何事倒要有耐心,不要一遇到困难就退缩;在学习和工作中要时刻谨记“团结”二字,它好比通向成功的铺路石,不可或缺。

篇12:c语言读书笔记

——读《C程序设计》笔记

一学期对《c语言程序与设计》的学习与应用使我对c语言产生了浓厚的兴趣。C语言程序与设计是一门实践性很强的课程,不可能只靠听课和看书就掌握c语言程序与设计,因此必须十分重视动手编写程序和上机运行程序能力的培养。所以我自己在课后学习了《C程序设计》中的“结构体”部分,以下为在学习过程中所做的笔记。

一、结构体;

结构体概述:

结构是一种“构造”而成的数据类型,在说明和使用之前必须先定义它,也就是构造它。

定义一个结构的一般形式为:

struct 结构名

{成员表列};

成员表列由若干个成员组成,每个成员都是该结构的一个组成成分。对每个成员也必须进行类型说明,其形式为:

类型说明符 成员名;

结构名和成员名应该符合标识符的书写规定。

结构体变量的定义

1)先定义结构体,再说明结构变量。

2)在定义结构体类型的同时定义结构变量。

3)直接说明结构变量。

结构体变量的引用

定义结构体型变量的目的就是为了在后续程序中引用它。

注意:结构体型变量是一种聚合性变量,可引用的对象有两个:变量名代表变量的整体,成员名代表变量的各个成员,两者均可在程序中引用。但应遵守以下规则:

1)不能将一个结构体变量作为一个整体进行输入和输出。

2)如果成员本身又属于一个结构类型,则要用若干个成员运算符,一级一级地找到最低的一级的成员。只能对最低级的成员进行赋值或存取运算。

3)对成员可以像普通变量一样进行各种运算(根据其类型决定可以进行的运算)。结构体变量的初始化

像数组一样,能够以值列表的方式为结构体的各个分量数据进行初始化。初始化时,将所提供的数据按照各分量的顺序排列,如果结构分量仍是结构,则按最低层类型提供数据。另外,还可以通过分别赋值的方式为结构变量的各个分量赋值。

二、结构体数组

数组的元素也可以是结构体类型的,因此可以构成结构体数组。结构体数组的每一个元素都是具有相同结构体类型的下标结构体变量。在实际应用中,经常用结构体数组来表示具有相同数据结构体的一个群体。

方法和结构变量相似,只需说明它为数组类型。

三、结构体类型指针

 指向结构体变量的指针

结构指针变量说明的一般形式为:

Struct 结构名 *结构指针变量名

赋值是把结构变量的首地址赋予该指针变量,不能把结构名赋予该指针变量,而只能将结构体变量赋予该指针变量。

表示结构成员的三种等效形式:

1)结构变量.成员名

2)(*结构指针变量).成员名

3)结构指针变量->成员名

 指向结构体数组的指针

指针变量可以指向一个结构数组,这时结构指针变量的值是整个结构数组的首地址。结构指针变量也可以指向结构数组的一个元素,这时结构指针变量的值是该结构数组元素的首地址。

注意,一个结构指针变量虽然可以用来访问结构变量或结构数组元素的成员,但是,不能使它指向一个成员。也就是说,不允许取一个成员的地址来赋予它。

结构指针作为函数参数

用结构变量作为函数参数进行整体传送的最好的办法就是使用指针,这时,由实参传向形参的只是地址,从而减小了时间和空间的开销。

四、动态内存分配

 动态存储分配函数

为了处理动态数据结构,必须在程序的执行过程中动态的分配内存。

1)分配内存空间函数malloc

调用时的一般形式:

(类型说明符*)malloc(size)

2)分配内存空间函数calloc()

调用时的一般形式:

(类型说明符*)calloc(n,size)

说明:在内存动态存储区中分配n块长度为“size”字节的连续区域。函数的返回值为该区域的首地址,其中(类型说明符*)用于强制类型转换。

3)释放内存空间函数free()

调用时的一般形式:

Free(void *ptr);

说明:释放ptr所指向的一块内存空间,ptr是一个任意类型的指针变量,它指向被释放区域的首地址,被释放区应是由malloc()或calloc()函数所分配的区域。

五、注意问题:

① 结构体名和结构体变量时两个不同的概念,不能混淆。结构体名只能表示一个结构形式,编译系统并不对它分配内存空间。只有当某变量被说明为这种类型的结构时,才能对该变量分配存储空间。

② 结构指针变量能更方便的访问结构变量的各个成员,其访问一般形式为:

(*结构指针变量名).成员名或者为结构指针变量→成员名

③ 字节对齐的问题,一般为4,具体依编译器而定。

篇13:C语言程序设计教学探讨

《程序设计基础》课程是计算机科学与技术专业本科教育的必修课程,多数学校选择了C语言作为入门课程。其主要原因在于,C语言是当今最流行的程序设计语言之一,其功能强大,语言严谨,对编写需要硬件进行操作的场合优于其它高级语言,适用于各种操作系统,且数据类型丰富,表达方式灵活实用。作为一门计算机专业学生学习程序设计的入门语言,其入门门槛并不高,但在深入学习之后,其严谨的语法构成对于学习其他编程语言有良好的辅助作用。

我校是一所独立院校,目标是应用型本科人才的培养,学生整体程度比专科生略好,但和重点院校学生相比,还是有一定差距。他们的特点是,好奇心强,理解能力参差不齐,对于单纯的理论学习容易产生倦怠感。对于这种程度的学生,要注重教学方式的调整,才能达到较好的教学效果。由于C语言所涉及的概念比较复杂,规则繁多,使用时容易出错且初学者不易修改,C语言最终目的是教会学生如何编程,而不仅仅局限于语法的使用。不少学生在听课时觉得不得要领,或是对语法成分明确却不会应用,这就要求变一贯照本宣科的教学方式,培养学生具有基本的算法思想,才能达到最终的目的。

1 关于教学方法

俗话说得好,“兴趣是最好的老师”。一门课在刚开始的时候往往是充满神秘感的,第一堂课的成功关系到学生对这门课程的兴趣。作为大一的新生,好奇心还比较强,因此,展示编程的魅力所在,比单纯介绍语言发展史要有意义得多。[1]

建议此时可以展示一些编写得比较优秀、将课本内容应用得比较全面的程序,最好是前几届学生编写的,让学生知道,通过自身的努力学完这门课程之后,可以到达怎样一个境界。同时介绍关于编程有哪些赛事,学院参与了其中的哪些,曾经获得了怎样的名次。学生的目的性明确了,自然就对课程的兴趣有所增加。

平时的授课方式也应做调整,改变传统的教师一味地对着幻灯片进行语法讲解的授课方法,建议教师在介绍代码时打开软件,边讲解边编写和调试,这样学生在看代码的同时,能同时学习编程风格和思维习惯,比单纯看幻灯片的效果要好得很多。教师编程时还可故意错上一两步,让学生自行发现,这样学生的参与度高了,注意力自然比较集中,学习积极性也更高,知识点能掌握得更全面。此外,出错的部分调试时会出现errors提示,修改errors的过程也是一个经验逐步积累的过程,学生在此时可以了解部分errors的调试修改方法,在上机实践的时候践行方法,对能力的提高大有裨益。

2 关于教学内容

C语言的教材种类繁多,但内容上总体上都包括如下几个方面:开篇的C语言发展史、软件的介绍(TC和VC)、流程图,编程部分的基本输入输出语句、分支和循环语句、数组和函数、指针和链表、结构体等。此外,部分书本还有文件输入输出的详细介绍,位运算等。这些内容中的大部分都需要向学生进行详细的介绍,一方面是为了让他们更好地了解高级程序设计语言,另一方面也是为了和后续课程的良好衔接。但若是事无巨细一应介绍,作为初学者的学生会觉得非常枯燥,也很难记住如此多的内容。所以,详略得当就显得非常重要。

(一)开篇部分

对于开篇的C语言发展史、软件的介绍(TC和VC)、流程图部分内容,建议只要简要介绍点到即止即可,毋需让学生在这里耗费太多的精力。缩短学生从开始上课到正式学习编程(主要是基本输入输出)的时间,在他们还对内容充满好奇心的时候就将具体的内容抛出,这样有助于减少额外的干扰。软件使用和程序调试的内容可在之后的授课过程中进行渗透,比在学生一无所知时进行纯讲解效果要好得多。而且作为入门课程的C语言里,并没有用到太艰深的算法,因此流程图一开始只需看懂即可。详细的流程图的画法,包括N-S图等,建议等教学内容完成后再补充讲解,这样才不会喧宾夺主。伪代码的书写也不宜在开篇就做太深入的介绍,会影响到之后对编程语言的理解,干扰到语言的严谨性。

(二)编程部分

编程部分的基本输入输出语句、分支和循环语句、数组和函数、指针和链表、结构体等,是学好C语言的主要组成部分,在其他程序设计语言中,也包含了类似的内容。这部分的内容学生理解起来难度较大,需要详细介绍,所以,在介绍的时候就需要相当的技巧了。

比如基本输入输出语句,根据不同的课本,侧重点也有所不同。部分课本的内容极其详尽,除了包括各种不同的数据类型方面的内容外,还囊括了非常细节的内容,如浮点型和字符型输入和输出的位数、输入时包含的标点等。这些细节问题虽然在编程中因为要求的不同而有可能用到,但是因为有些枯燥,在作为入门课程的时候,会耗掉大量的精力而不得要领。其实这部分的内容大可以化繁为简,仅仅讲授各种不同数据类型的输入输出即可,当学生实际编程需要用到细节内容的时候,再让他们像查参考书一样,对这部分进行详究。往往这个时候学生就会觉得这部分的内容其实并不困难,对此也更加印象深刻。

其次就是循环语句,这对学生来说相对较难的一个知识点。比如在介绍for(表达式1;表达式2;表达式3)语句时,经常会花费教师大量的精力,对各个表达式的用法做详细的介绍,强调其各部分重要性,突出重点,说明语法的各种变形形式。这种介绍方式虽然条理清晰,但在实际教学过程中其实效果寥寥。C语言和外语一样,也是有语感的,在介绍语法的时候,最好的方法是将其融入到大量的例子中,有目的性地进行介绍,效果会事半功倍。建议可以举一些非常具体的例子,比如等求和的例子,以及1到1000之间完全平方数个数等计数的例子。“求和”和“计数”是基本循环语句中最常用的算法,在此时渗透这些算法,之后学生编写这一类内容时就事半功倍。再比如双重循环语句,即所谓的两个for语句的嵌套,常用在排序或是矩阵运算方面,学生入手经常感到非常的艰深。在这方面的经验是,可以先让他们学会输出“*”组成的各种图形,比如输出如下所示的三行三列的三角形:

之后改为由用户输入行列数n,输出n行n列,这样在循环的内容中又加入了交互。在这种基本方式讲解完之后,可以让学生思考如何输出其他不同图形,比如倒三角,等边三角,菱形等。这种图形的输出法即灵活有趣,可以吸引学生的注意力,对循环编写能力的提升又大有益处。

指针方面的介绍主要就是多举例子,这里不再赘述。链表部分建议在介绍代码前,将链表制作方法逐步在黑板上画出来,主要包括链表的建立、添加、修改、删除。这样比单纯用幻灯片进行讲解要好得多。只有理解了思路,才能看得懂代码,要知道程序设计艰深的,从来不是代码的语法本身,而是算法思路!

(三)其他

部分教材到了这里,还剩下文件输入输出、编译处理和位运算这些内容,可根据课时按照需要进行介绍。学生学习到此处,对C语言已经有了一个大致的认识。文件输入输出方式若是时间不够充裕,可捡重要部分稍加介绍,但不建议完全抛弃这部分内容,以避免之后学生遇到该部分内容时一无所知。

3上机课的重要性

实践环节是C语言学习极其重要的一个环节,实践环节没有及时跟上,那么前面的一切方法都是空谈。上机环节是教师发现问题的一个很好的渠道。学生在课堂上的听课效果在这里会得到很好的反馈。

许多学生在这里表现出动手能力的欠缺。建议针对书本各个知识点,有针对性地设计上机实验内容,这样学生才能吃透各个知识点,这也要求教师在这个过程中一定要非常的耐心。因为学生是初学者,对编译调试程序非常陌生,对语法也不熟悉,犯一些很低级的错误是非常正常的。在学生出现问题时,及时帮他们解决问题,他们在学会一些解决问题的方法后,如果能自己独立编写出一些代码,也会比较有成就感。这就从另一个方面加深了他们对课程的好感。多上机练习,练习的对象更广泛一些,题型更灵活一些,那么学生的知识面也会比较宽。虽然说大学强调的是“自学”的过程,但是作为大一的学生,很多人的思维习惯还没有改过来,而且我校学生的整体水平并不高,自我约束能力也比较弱,所以教师有目的性的引导就显得尤为重要。[2]

我们的目标是培养应用型人才,因此,如何使用C语言解决问题,比单纯地如何使用C语言要重要的多!以上是我在C语言教学过程中的一些心得体会,在以后的教学过程中,我也会不断地探索实践,改进方法,以学生为本,努力提高教学质量。

摘要:C语言程序设计是本科计算机专业教育中极其重要的一门课程,这门课程学习的程度好坏,直接影响到后续的一系列课程。通过对近几年该课程教学经验的总结,分析了在教学过程中普遍存在的问题,提出一些适用于我院学生水平下的操作方法,实践表明,这些方法对学生学习C语言有所助益。

关键词:C语言,教学,本科,代码编写

参考文献

[1]杨进,中职C语言程序设计教学探讨[J].科学咨询(科技·管理),2012年7月

篇14:关于C语言教学中的心得和体会

一、C语言与其他语言的教学比较

所有计算机高级语言课的教学,均包含两个主要目标:一是语言环境和语言手段;二是与一定数据结构相结合的典型算法。C语言也不例外。从算法设计的角度看,各种语言在解决同一问题时,其思路不会有太大的差别,因此,这一块内容在教学上差别不大,学过一种语言以后再去学别的语言,其难度会大大降低;但是,从算法实现的角度来看,不同的语言有着不同的设计背景和设计目的,其应用环境和应用手段有差别,有时差别还很大。

在学习C语言时更强调它的背景,即设计者的初衷是用它来编写UNIX操作系统,并部分取代汇编语言。由于操作系统是管理、调度计算机软硬件资源的一个大型软件,作为实现它的语言工具的C语言没法不接近硬件。要学好C语言也没法完全躲开包括硬件在内的一些深层知识,这就要求C语言的教学与其他语言相比要有一定的深度。

二、兴趣是最好的老师

心理学认为,学习兴趣是对学习活动产生的心理上的爱好和追求的倾向,这种倾向是和一定的情感联系的。它具有相对的稳定性和较强的延续性,对某个事情的“好奇”心理,不能称为兴趣。学生有兴趣表现在他们有主动了解、积极探索的愿望上,不惜时间,不怕困难,可以集中较长的注意力。因此,在教学的过程中,教师应注意培养学生的兴趣,把握学生的兴奋点,有效地调动学生的求知欲望。

三、C语言教学采取多种教学手段与方法

在讲授基本知识,如数据类型、运算符与表达式时,因信息量大,知识点比较零碎,采用多媒体的教学方法,可以达到很好的效果;而在讲顺序、选择、循环、函数的程序设计时,采用板书式教学方法可以建立好的沟通,教学效果良好。根据内容特点合理选择教学手段,会使教学效果明显不同。

在教学方法上,著名教育家赞可夫说过:“教学法,一旦触及学生的情绪和意志领域,触及学生的精神需求,这种教学法就能发挥高度有效的作用。”教师如何改进教学方法,兼顾不同水平学生的不同需求,解决课程知识点琐碎、枯燥的现象,让绝大多数学生在有限的时间内迅速掌握课程的基本概念、基本技能和应用,是需要解决的关键问题。先进、合理的教学方法,能使学生在短时间内迅速掌握课程内容,激发学生对本课程的兴趣和热爱。

1.比喻法

比喻法教学就是通过形象生动的比喻(生活贴切的例子),让学生更好理解和掌握新知识的一种教学方法,有易接受不易忘的特点。例如,讲解变量时,对于初学的学生,笔者经常把变量比喻成一个盒子,盒子里放进什么东西,这个盒子就是什么类型的变量。C语言中很多教学内容较抽象,不易被学生接受和理解,老师应有能力化繁为简,将深奥的理论讲得通俗易懂。这就需要老师多钻研教材教法。

2.采用“任务驱动,引导教学”的课堂教学方法

在课堂讲授新的知识时,大多采用实际的案例来演示说明,并在演示说明过程中逐步引出各个相关知识点和概念。生动形象的案例中,融合了多个概念和知识点,既易激发学生的学习兴趣,又有利于学生迅速掌握抽象的概念,并使学生形成和保持对计算机技能的强烈求知欲。探索和遵循各相关知识点之间的内在联系,使教与学在循序渐进,环环相扣,优化压缩,合理安排中进行。

3.激励式教学法是动力,适当引入考核机制

考核应从两个方面入手,即创新能力和应用能力。考核时,可采用“模块化”、“任务式”的办法。“模块化”就是每学完一个模块,进行一次考核。选择结构、循环结构、数组、指针都可以做为一个模块,但模块设置不宜过大。“任务式”就是根据学生所学相应的模块知识,让学生独立完成一项“任务”,如解决一个实际应用题、完成一个小动画等。

四、C语言教学要有一定的纵向性与深度

在C语言教学过程中,任何新知识的引入,都坚持做到由浅到深、循序渐进、自然流畅,使之顺理成章。这样,一步一步引导学生思路向纵深方向发展,避免由于概念知识点不清,而影响后续知识的学习与理解。以指针教学为例:

1.引入指针概念

在引入指针概念时,注意引入计算机内部存储单元的实际存储空间模式。在一般的C语言教材中都能找到这种图。这种图示能使学生建立起连续存储空间的概念,为后续指针变量与指针运算知识的学习打下基础。汽车,建立指针与计算机内存单元一一对应的关系。C语言中的指针是指计算机内部某存储单元其固定位置的顺序编号,称之为该存储单元的地址。所以,计算机每一个存储单元都对应一个唯一的内存地址。计算机内部对内存单元的编号采用二进制数字表示,而为了表达方便,书面多用十六进制数表示。其所使用二进制位数的多少,是由内存的大小决定的。

2.引入变量指针的概念

变量指针指的是:变量数据在内存单元中的首地址。在有了第一步内容的铺垫之后,在教学中,引入变量指针的概念时,就很自然地使用了连续存储空间的模式。

在此最适合深入揭示变量的实质以及变量的两个属性,即变量名和变量值之间本质上的区别与联系。变量名,即变量所对应的内存单元的首地址。变量值,即变量所对应的内存单元的地址中所存储的数据。

这样,深化学生对有关概念的理解,使学生对变量、变量名、变量名所对应的内存单元首地址以及对应内存单元中所存储数据等内容之间的相互关系,有更深刻的认识,从而能在它们之间建立起有机联系。

五、语言课教学的其他体会

计算机语言课,不管是哪个语种,其实践性都很强。对C语言来说,因学习难度大,更要强调学生从上机实践中学习,从程序调试和各种挫折失败中学习。在教学中,讲到实例时,笔者经常现场写代码,现场调程序。这样,一方面能使学生对问题的求解过程有深刻的体会,另一方面能使学生在程序调试和编程风格上有一个学习的榜样。

算法是语言课的主要教学目标和永恒主题,有些第一语言课因学时少或其他一些原因,教师在操作时压缩算法,将重心偏离到语法规则和语言手段上。这样,不利于实现语言课的两个主要目标,不利于学生掌握实际的语言应用能力。当然,在学生方面,也有不重视算法、缺少算法锻炼的情况。这种情况多数是因为考生的算法能力太差,一定程度上也反映出语言课中算法训练环节有待进一步加强。笔者认为,语言课应该保证用于算法的基本学时,教师操作上应保证和突出最起码的算法介绍,在讲解一个新算法时,教师不应上来就讲程序,而应先讲清思路,然后分配变量角色,最后才是具体的程序设计。

语言课总免不了要举例,在举例方面,对说明语法规则和语法现象的例子追求尽量简单,对说明算法的例子追求尽量典型。除了综合演练外,所有例子都不要太过复杂,不但要举正面的例子,也要注意举反例。

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【《 C语言程序设计》读书心得】相关文章:

C语言设计05-08

c语言程序设计论文05-13

c高级语言程序设计04-17

c语言程序设计基础04-18

c语言程序设计入门05-11

c语言程序设计简介05-12

浅谈C语言程序设计教学12-30

c语言程序设计论文提纲11-15

c语言程序设计试验八05-19

c语言设计基础05-19

上一篇:警察面试下一篇:四人合作开店协议