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

2025-02-16 版权声明 我要投稿

C语言程序设计学习心得体会(推荐11篇)

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

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

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

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

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

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

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

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

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

1 系统开发思想及相关技术

本系统在开发中采用了原型开发法。原型开发法就是在系统的开发初期通过调查用户需求进行系统原型的构建,原型系统构建完成后要给用户使用,在使用过程中根据用户的使用意见不断地对系统进行补充和完善,通过数据补充、结构调整、模型重建等工作形成新的原型,系统经过如此反复几次后能够逐渐满足用户的使用需求,最终形成明确的系统定义及用户界面要求。这种系统开发方法实施的关键是能够在最短时间内运用最经济的方法全面掌握用户的实际使用需求,并以此作为系统原型开发的依据。原型法流程:明确需求→开发原型系统→使用系统→不断完善系统→形成最终系统。

1.1 VC++

VC++是一种广泛运用于系统开发的工具,该软件开发工具由微软公司开发完成。VC++包含很多组建,这些组建沟通构成了系统的开发环境,同时也为用户提供了开发过程中所需编辑、编译、调试、联机等工具。VC++具有功能强大、集成度高等优点,对于提升系统开发效率有很大的帮助。

MFC是VC++的核心部分,其中包含了Windows软件开发工具包中的所有结构和功能,其作用是为用户提供应用程序框架,用户所要进行的很多编程工作都可以通过这一应用程序框架进行。MCF是微软公司提供的面向对象的Windows程序开发的最佳方法,具有高效、易于维护等优点,这就使得VC++被广泛运用于系统开发中。

1.2 Microsoft SQL Server2008数据库

在Microsoft SQL Server整个产品线中,Microsoft SQL Serv⁃er2008版本拥有比较重要的地位,因为它对之前版本的改进更加的更加彻底,很多的关键技术得以改进,增加了更多新的特性,其功能更加强大和全面,该版本是公认的Microsoft SQL Server产品中性能最强大和全面的一代。本文也将对这些新的特性、功能等进行介绍。

Microsoft SQL Server2088能够满足当今数据爆炸式发展的应用需求,在设计所运用的前瞻性技术使得该平台在未来使用中也能够满足需求。

Microsoft SQL Server 2008 有以下特点:可信任——该平拍的安全性和稳定性更好,同时也具有更好的可扩展性,企业可以利用这些特性进行关键应用程序的应用,能够保证系统整体的稳定性和安全性;高效——用户运用简单的数据基础设施花很短的时间就可以完成系统的开发实现数据管理;智能——实现了数据的自动化管理,会根据用户的需要进行观察信息的发送。

1.3 专家系统

专家系统的应用是本系统的关键,同时也是特色之一。

专家系统是由内容专家及程序员组成一个小组所完成的一种计算机程序,专家系统可以模拟专家对学生在学习过程中遇到的问题进行解决,因此专家系统是一个解决问题或者作出决策的过程。专家系统的原理是用户向系统提交所遇到的问题,其关键是要详细描述问题,系统会根据用户所提交的问题对知识库进行查找,并根据知识库中的相关内容给出解决方案。

专家系统不但能够解决学生学习中遇到的问题,更重要作用是不断完善系统知识库。本系统的知识主要包含两方面的内容:一是C语言程序设计相关的知识信息和数据资料;二是运用C语言进行编程所具备的知识以及相应的技能。

专家系统由知识库和推理机两个部分组成。知识库中的内容包括事实内容和规则内容,知识库中的事实和规则是系统开发人员在系统建设过程中采用程序的形式输入的;推理机属于逻辑单元,其实质是系统中的一种程序,推理机的主要作用是接受并分析使用者提交的问题、查找相关信息、推理、给出解决方案。通过界面就可以实现对专家系统的访问。

2 设计原则

2.1 实用性原则

以提升学生C语言程序设计学习效率作为系统的开发目标,将绩效管理运用于系统中,通过系统提升学生的编程能力以及程序调试能力,因此必须保证系统具有很强的实用性。

2.2 兼容性、稳定性原则

在系统开发过程中考虑到了软件的兼容问题,C语言的上机编程学习过程从设计开发的角度确保系统工作稳定。

2.3 可扩展性

用户在使用系统的过程中经常会上传信息,用户所上传的这些信息在经过一定的处理后会储存在系统中,随着信息量的不断增大,系统所面临的信息存储压力会逐渐增大,为了保证系统的正常运行,系统必须要具备良好的可扩展性。

3 功能设计

根据电子绩效支持系统理念及学生学习C语言学习的特点将本系统划分为学习支持模块和信息库管理模块。

3.1 学习支持模块

学习支持模块就是学生在进行程序调试过着编程过程中遇到无法解决的问题时可以利用这一模块解决难题。学习支持模块包括编译诊断和编程思路分析两个部分。

3.1.1 编译诊断

编译诊断功能是学生在编程练习中遇到无法解决问题的时候能够对学生提供帮助,帮助学生分析编程中的错误。编译诊断是由问题诊断和上传程序两个部分组成。

学生在运用C语言进行编程时出现错误时可以运用该功能进行分析。具体操作如下:启动系统→提交出错信息(根据需要输入参数)→回答系统根据数据库信息所进行的设问→系统给出判断。如果系统无法对用户提交的编译错误信息进行诊断就说明该系统的知识库不够全面,系统会提出没有找到相关信息,用户需要上传源程序,系统会将问题汇总由专家进行诊断,并由此对系统的知识库进行补充。

3.1.2 编程思路分析

学生在进行复杂程序编程练习时经常会会出现思路混乱的情况,当学习遇到编程思路混乱的时候可以登录C语言程序设计学习支持系统运用编程思路分析功能对程序进行分析以完成编程。学生通过系统的问题分析功能对编程过程中遇到的问题进行分析并得出解决方案,不但可以帮助学生锻炼程序分析的能力,同时也能够提升学生的编程能力。

同时该系统还提供了帮助功能,帮助功能主要是帮助学生掌握本系统的操作。

3.2 信息库管理模块

信息库管理模块由用户信息库管理、出错知识库管理、推理知识库管理、编程思路分析信息库管理几个部分组成。

3.2.1 用户信息库管理

该功能主要用于用户信息、密码、权限、上传程序等信息进行管理。用户登录系统后,系统要根据系统的相关信息进行权限的分配。用户信息库还要存放用户上传的程序编译错信息。

3.2.2 出错知识信息库管理

该管理工作由教师完成,教师可以运用出错信息库管理功能实现对各自出错信息的添加、修改、删除等操作,这一功能的主要作用是根据教学的需要来不断完善系统的出错信息库,保证系统能够准确进行编译出错诊断。

3.2.3 推理信息库管理

C语言教师可以通过这一功能对系统的推理路径进行修改和添加以保证系统进行编译诊断的准确性。进行推理路径添加操作时,教师C语言教师首先要选择相应的编译错误信息,这是编译错误信息添加的入口,找到入口后将专家所设计的推理路径以图形的形式添加,对应的数据ID信息被记录到推理路径信息库中。对于系统无法准确针对的编译错误信息,C语言教师也要对其进行分析并设计相应的推理路径,同时还将新的推理路径添加到推理信息库中。

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

C语言教师可以运用这一功能实现编程思路的添加、修改和删除等操作。

4 数据库设计

在系统开发过程中,出于对系统的使用需求和建设工作量的考虑,系统数据库包含6张数据表,包括用户信息表、出错知识表(编译错信息表、设问信息表、诊断信息表)、推理路径表和编程思路分析信息表。

用户信息表:该表内容包括用户基本信息和上传程序等;

出错知识表:包括编译错误表、设问信息表、诊断信息表,其内容包括信息和ID;

推理路径表:该表中的内容包括推理路径节点。节点类型有叶子节点、入口节点、出口节点、中间节点;

编程思路分析信息表:该表中的内容包括编程思路分析信息和相应的ID。

5 系统开发

5.1主页

系统登录界面,学生的学号就是其用户名,系统为学生设置了初一密码,学生登录系统后可以对密码进行更改,学生只有输入正确的学号和密码才能登录系统。

5.2学习支持模块

5.2.1 学习支持主界面

学习主页面,由图中可以看出,学习支持模块包括编译诊断、编程思路分析和帮助三个主要功能。编译诊断功能是学生在编程练习中遇到无法解决问题的时候能够对学生提供帮助,帮助学生分析编程中的错误;编程思路分析功能为学生进行编程问题分析提供支持和帮助并给出解决方案;帮助功能主要是帮助学生掌握本系统的操作。

5.2.2 编译诊断

编译诊断流程:启动系统→提交出错信息(根据需要输入参数)→回答系统根据数据库信息所进行的设问→系统给出判断。如果系统无法对用户提交的编译错误信息进行诊断就说明该系统的知识库不够全面,系统会提出没有找到相关信息,用户需要上传源程序。

5.2.3 编程思路分析

学生在进行复杂程序编程练习时经常会会出现思路混乱的情况,当学习遇到编程思路混乱的时候可以登录C语言程序设计学习支持系统运用编程思路分析功能对程序进行分析以完成编程。能够进行问题分析是本学习支持系统的重要功能,学生通过系统的问题分析功能对编程过程中遇到的问题进行分析并得出解决方案,不但可以帮助学生锻炼程序分析的能力,同时也能够提升学生的编程能力。图5是编程思路分析的主界面,这个界面包含多个标题,学生可以根据编程的题目进行选择。以“顺序结构程序设计”为例,学生在进行这类题目编程时可以点击“顺序结构程序设计”,页面会跳转至编程思路分析界面,该界面中包含“顺序结构程序设计”的所有题目,学生可以根据自己所编程序进行选择所要分析内容。

C语言广泛运用于工程技术软件开发中,其运用非常广泛。C语言是学习其他计算机技术的基础,如学生要进行工程数值计算、计算机图形技术等技能的学习都要学习C语言。C语言程序设计学习支持系统主要是用于上机编程练习中帮助学习进行问题诊断以及分析编程思路,帮助学生发现问题并技术解决问题,可以有效提升学生编程能力以及程序调试能力,对于学生的C语言程序设计学习效果和效率的提升有着非常大的帮助,在C语言程序设计教学以及学习中有着很高的推广价值。

摘要:C语言是一种广泛应用于高级程序设计中的语言,C语言凭借功能强、可移植性好、效率高、表达能力强等优点在程序设计中占有重要的地位,C语言也成为计算机从业者必须学习的设计语言之一。同时C语言还有概念众多、规则复杂、使用灵活等特点,这就增加学习C语言的难度。因此,进行C语言程序设计学习支持系统的研究就显得尤为重要。

关键词:C语言程序设计,学习,支持系统

参考文献

[1]朱晓江.C语言程序设计学习支持系统的设计与开发研究[J].电子技术与软件工程,2015(13):250-250.

[2]张健,高振栋.C语言智能学习系统的设计与开放[J].软件导刊,2014,5(5):119-120.

[3]陈江丽,舒清录.大学C语言学习系统的设计和开发[J].临沧师范高等专科学校学报,2012,3(3):117-120.

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

关键词:兴趣;激发;任务驱动;C语言

中图分类号: G4 文献标识码: A 文章编号: 1673-1069(2016)23-71-2

0 引言

《C语言程序设计》是计算机类专业学生必修的专业基础课,与其他专业课程起着链接的前导作用,在整个教学过程中的地位举足轻重。但由于这门课程理论性和抽象思维能力较强,内容概念繁杂,空间运动较多。不少初学者难以掌握,容易出错。技校学生大部分基础较差,对学习C语言更是信心不足,缺乏学习积极性和学习主动性,主要表现为:被动听课,甚至不听课,被迫完成作业,懒于思考,坐等现成答案。有的甚至上课睡觉,玩手机等。在《C语言程序设计》教学过程中,笔者深刻体会到要想改变这种现象,优化课堂教学,提高教学效率,关键得激发学生学习C语言的兴趣,提高学生的学习积极性和主动性。下面结合自身的教学实践,谈一谈在C语言教学中激发学生学习兴趣的策略。

1 化繁为简,激发兴趣

大部分《C语言程序设计》的教材内容繁多、概念复杂、语法规则多,如果教师照本宣科的根据教材章节顺序进行授课,很容易使学生感觉枯燥乏味,对学好C语言的信心更加不足,更甚会引起他们对课程的反感。结果往往是教师“一腔热血”,学生一头雾水,既费时又没效果。

因此,教师在备课时应适当对教材内容进行分析、增减,把握重、难点。将抽象的内容具体化、生动化,适当增加课堂教学活动的趣味性。如第1章C语言概述,可以将文字形象化,利用FLASH等软件制作动画教学课件,将C语言的出现和发展过程等制作成动漫的形象,以讲故事的形式进行授课,激发学生的兴趣;如选择结构、循环结构、函数指针等难点,教师应做出细致的规划,以重点内容为突破口, 采用引导式教学方法,通过课件演示、实例分析和上机练习,使学生掌握相关知识点,达到化难为易、化抽象为具体的目的,让学生感受到掌握C语言程序编程其实并不难,以减弱学生的心理压力,体会设计程序的乐趣,以此来激发学生的学习兴趣。

2 引导教学,点化智慧

传统的教学方法是“你教我练”,学生是被动地接受。C语言程序设计本是一门比较枯燥又难以接受的学科,加之技校的学生大部分基础较差,进入技校前也没有接触过编程类的课程。如果仍然采用传统的教学方法,不仅无法激发学生的学习兴趣,还会加深学生对这门课程的厌烦和畏惧心理。因此,想要调动学生的学习积极性,激发学生学习兴趣,教师则不能再是写了脚本自己演,而是要成为“点化学生智慧的导师”。

C语言的教学过程应充分发挥其解决实用问题的导向作用,有机地将理论与实践紧密结合,通过设计巧妙的教学内容,充分调动学生的积极性;在教学过程中关键要突出学生的主体作用,体现教师的主导作用。教师可采用引导式教学,培养学生的逻辑思维和创新能力,调动学生的求知欲望,让学生能主动地参与到教学过程中,与教师相互交流,发现问题、提出问题进而解决问题。例如,在讲解程序设计时,教师不能一开始就直奔写程序,而是应先分析问题,引导学生找出解决问题的方法,然后画出流程图,最后才编写程序。在这一过程中,每一步都应该采取与学生共同探讨的方式,不断地启发和引导学生,逐步、清晰地完成程序的编写。这样,不仅能提高教学效果,而且能够激发学生的学习兴趣和潜能。

3 上机实践,任务驱动

C语言程序设计是一门实践性很强的课程,通过上机操作,才能让学生真正理解、消化C语言相关语法及理论基础知识,同时提高编程能力;在理论课堂上存在的疑难点,也可通过上机调试得到更明确直观的解答。但是,想让学生自己上机编写程序又是一项难事,大部分学生去到机房最大的兴趣就是上网玩游戏,再加上教材中的例题、习题基本以算法设计为主,内容枯燥不易编写,学生上机积极性自然不高。因此我们应该投其所好,抓住学生喜欢玩游戏的特点,将程序编程加入游戏的元素。学生为什么对网络游戏非常着迷,为什么网络游戏会对他们产生这么大的吸引力呢?一个重要的原因是它运用了“目标驱动”的原理,目标设计有层次、阶梯式,能不断刺激人们的好奇心和征服欲望,而且游戏里面的奖励机制、升级机制等也是让学生入迷的原因,因为游戏里面就是让玩家通过做任务等获取利益,让玩家产生一定的优越感。我们可以借鉴游戏规则,将任务驱动应用到教学实践中,采用循序渐进的思路,将每次上机课的主要内容、知识点分解成若干个不同难度、不同分值的小任务,让学生分组完成任务。每完成一个任务就有相应分数奖励,想要获得更多的分数和奖励,就得继续挑战下一个任务。

刚学习C语言,学生还没办法独立、完整地编写程序时,可以先通过程序改错题让学生对C程序有一个初步的了解。将程序改错题设计为 “大家来找茬”的游戏任务:教师事先编写好简单的“问题”程序,并提供正确的程序参照图,让各小组上机调试,在规定时间内找出“问题”程序的错误之处并改正,同时做好记录为挑战下一关任务做好准备。学生完成任务后便可以得到相应的奖励;任务进阶,当学生有了一定的基础后,便可尝试让学生填补不完整的程序,通过补全程序逐步锻炼学生编写程序的能力,此时可以将程序设计题命名为类似“寻找失落的它”等游戏名称,学生看到这名字自然会联想到玩游戏,也就大大降低了对编程的畏惧心理,而且有了前面修改程序的基础,对于挑战本关任务的信心也会加强;学生在完成各个不同阶段的任务中慢慢提高了编写能力,到最后则可以锻炼学生完整地编写、设计程序,也就是进阶到终极任务,如编写五子棋游戏程序——“与它对弈”。

学生每次做作业感觉像在玩游戏,自然就会对它产生好奇心,在完成不同阶段任务的过程中,大家都会想最快、最好地完成任务,同学之间就会有竞争,遇到问题则会想办法去征服它。在这一过程中,学生掌握所学的知识之余还提高了他们分析、解决问题的能力。各小组在完成任务期间遇到不懂的知识时,会互相讨论、主动翻书、上网查资料或问老师,这样不仅能充分调动学生的学习主动性、积极性和创造性,还能加强学生之间的沟通。实践证明,运用这种教学方式,学生能从不断完成任务的过程中获取成就感与优越感,从而激发学生的学习热情,增加学习的内驱力。

4 提取精华,制作“微课”

一节课的精华总是围绕某个知识点、教学点展开,精彩的、高潮的环节都是短暂的。学生视觉驻留时间普遍较短,若时间太长,注意力得不到缓解,很难达到较理想的教学效果。教师如果能将每节课的重点、难点、疑点等精华部分录制成微视频提供给学生,学生课前可先观看视频,来到课堂上,教师进行讲授时更能引起学生的共鸣。学生课后也可观看视频以巩固知识。当学生上机完成任务遇到问题,忘记某些知识点时,比起翻看课本,通过观看相应的微视频能更快更直观地找到解决问题的方法。这样,学生的学习主动性和积极性就更大了。

5 结束语

俗话说:“兴趣是最好的老师”,兴趣来源于好奇,好奇心是人类与生俱来的。一个人只有对某件事情或物品产生了好奇心,感兴趣了,才会启动思维,苦思冥想;只有对一个问题感兴趣了,才会主动去寻找解决它的办法。兴趣是激发学生学习积极性的动力,兴趣是激发创造力的必要条件。因此,在教学过程中,教师的重要任务之一就是激发学生的学习兴趣。只有激发学生的学习兴趣,才能充分发挥学生学习的主动性和积极性。任何教学模式都有优缺点,也都有适合的范围。《C语言程序设计》是一门专业基础课,需要我们不断探索新的教学方法和教学模式,激发学生学习该课程的兴趣,使学生不但能掌握本课程的知识,而且能为后续学习其他专业课程打下扎实的基础,更重要的是能学以致用,解决学习上、工作中的实际问题。

参 考 文 献

[1] 谭浩强.C语言程序设计(第2版)[M].清华大学出版,2008.11.

[2] 霍顿(Ivor Horton)著,杨浩 译.C语言入门经典(第4版)[M].清华大学出版,2008.4.

[3] 唐涛,杨本胜.C语言程序设计任务驱动教程[M].中国海洋大学出版社,2011.9.

[4] 苏华.中职课堂计算机教学中如何激发学生的学习兴趣[J].当代教研论丛,2015(04).

C语言学习心得 篇4

在科技高度发展的今天,计算机在人们生活、学习和工作中的作用越来越突出。我们都知道C语言是一种计算机语言,而作为计算机专业的我们学习它,就更有助于我们更好的了解计算机,与计算机进行交流,因此,C语言的学习对我们尤其重要。

说实话这个学期刚开始学C语言的时候,很感觉迷茫,对里面的好多东西很陌生,在操作运用的时候感到很棘手,毕竟,万事开头难嘛。在此之前从没有接触过C语言,有点摸不着头脑。可是在上机过后,我觉得编程是很有趣的一件事,哪怕你编出的只是一个很简单的程序都会让你很有成就感。我知道要学好C语言不容易,可是我决定完成这件不容易的事。

在课堂上老师从最基本的跟我们讲起,要学好C语言就必须要先懂得最基本的语法知识,看课本是必需的。我觉得看不懂也没关系,尽力去理解就好了,在对知识有了一个大致的了解过后,就要上机实践。学习C语言一定要动手,只看不做,眼高手低是不行的。

最开始我们打书上的例题,熟悉程序,慢慢的开始试着编程。老师说过在编程时要理清自己的思路,然后再转换成C语言中的语言,这个时候就更要动手了,只有通过上机操作才能验证自己程序的正确性。执行程序,不要害怕错误,其实,我觉得错误是好的,知道了自己所学知识的不足,并根据提示改正程序中发生的错误,一种成就感油然而生,觉得自己的付出都是值得的。

我觉得良好的编程习惯是学好C语言的重要因素,只有勤动手,多动脑才能学好C语言,光说不练是不行的。在学习的时候,不会的一定要问明白,可以求助于老师,同学,不要自己一个人钻牛角尖,既浪费时间又学不到东西。

上课的时候也一定要认真听,老师讲的肯定是最重要的,错过了就是一大笔损失,认真听讲才可以提高学习效率嘛。另外我觉得在编程之前,要把自己的想法写在纸上,如果是简单一点的程序不需要这样,如果程序比较复杂,就写下来,这样可以让思路更加清晰。输入程序时一定要认真,不要把“,”与“;”混淆,用scanf的时候不要忘记“&”,用“switch”要记得“break”,用if,while的时候注意不要加“;”,“{}”“()”一定要配对,不要多也不要少一半,“=”与“==”的区别要清楚,要勤查优先级,要记住一些基本的,例如两个值之间的调换怎么写等等。

c语言程序设计怎么学习 篇5

二、用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识。例如,如果你不知道长方形的面积公式,即使C语言学得再好你也编不出求长方形的面积的程序来。

三、C语言程序设计是一门实践性很强的课程,“纸上谈兵”式的光学不练是学不好C语言的。例如,大家都看过精彩自行车杂技表演,假如,你从来没有骑过自行车,光听教练讲解相关的知识、规则、技巧,不要说上台表演、就是上路你恐怕都不行。

学习c语言程序设计困惑的解决方法

第一步、验证性练习

在这一步要求按照教材上的程序实例进行原样输入,运行一下程序是否正确。在这一步基本掌握C语言编程软件的使用方法(包括新建、打开、保存、关闭C程序,熟练地输入、编辑C程序;初步记忆新学章节的知识点、养成良好的C语言编程风格)。 单击此处查看【C语言的编程风格】

使用《Turbo C/C++ for Windows 集成实验与学习环境》软件可以很方便地看着软件集成的《C语言入门教程》输入练习其中的程序例题。具体使用方法参见软件帮助部分。

初学者最容易犯的错误是:

1、没有区分开教材上的数字1和字母l,字母o和数字0的区别,造成变量未定义的错误。另一个易错点是将英文状态下的逗号,分号;括号双引号“”输入出入成中文状态下的逗号,分号;括号(),双引号“”造成非法字符错误。

2、C语言初学者易犯语法错误:使用未定义的变量、标示符(变量、常量、数组、函数等)不区分大小写、漏掉“;”、“{”与“}”、“(”与“)”不匹配、控制语句(选择、分支、循环)的格式不正确、调用库函数却没有包含相应的头文件、调用未声明的自定义函数、调用函数时实参与形参不匹配、数组的边界超界等。

3、修改C语言语法错误时要注意以下两点:

(1)、由于C语言语法比较自由、灵活,因此错误信息定位不是特别精确。例如,当提示第10行发生错误时,如果在第10行没有发现错误,从第10行开始往前查找错误并修改之。

(2)、一条语句错误可能会产生若干条错误信息只要修改了这条错误,其他错误会随之消失。特别提示:一般情况下,第一条错误信息最能反映错误的位置和类型,所以调试程序时务必根据第一条错误信息进行修改,修改后,立即运行程序,如果还有很多错误,要一个一个地修改,即,每修改一处错误要运行一次程序。

第二步、照葫芦画瓢

在第一步输入的C程序的基础上进行试验性的修改,运行一下程序看一看程序结果发生了什么变化,分析结果变化的原因,加深新学知识点的理解。事实上这和第一步时同步进行的,实现“输入”加深知识的记忆,“修改”加深对知识的理解。记忆和理解是相辅相成的,相互促进。

第三步、不看教材看是否能将前两步的程序进行正确地输入并运行。

在这一步要求不看教材,即使程序不能运行,看能否将其改正,使其能正确运行。目的是对前两步的记忆、理解进一步强化。

第四步、增强程序的调试能力

在《Turbo C/C++ for Windows 集成实验与学习环境》集成的教材中每章都有C语言初学者易犯的错误,按照易出错的类型,将教材中的正确的程序改成错误的程序,运行一下程序,看出现的错误信息提示,并记下错误信息,再将程序改成正确的,运行一下程序。这样反复修改,就能够学习C语言程序发生错误的原因和修改错误的能力。

注意:每次只改错一个地方,目的是显示发生该错误的真正原因,避免一次改动多个地方,搞清发生错误的真正原因,切记!

注意:上机调试程序时要带一个记录本,记下英文错误提示信息和解决该错误问题的方法,积累程序调试经验,避免在编程犯同样的错误,切记!

第五步、研究典型的C语言程序,提高程序设计能力

经过上述过程的学习,我们已经学会了C语言各种语句的流程(即计算机是如何执行这些语句的过程),然后就可以研读别人编写C语言经典程序,看懂别人是如何解决问题的,学习解决问题的方法和程序设计技巧,提高自己的程序设计能力。

在软件中有50多个典型的源程序,研究它的实现方法,提高自己的程序设计能力。

第六步、研究课程设计源成序,提高C语言程序设计的能力。

学习c语言的体会(杨中科) 篇6

【聊天实录】学c没什么用?看书都会、编程全错?

发表于 2008-12-23 10:35 | 只看该作者打印字体大小: 倒序看帖跳转到.1 楼 如鹏网网友 20:50:56 刚刚群里聊天看了吗?他们说学c没什么用 杨中科 20:51:28 别人说的就一定对吗? 杨中科 20:51:37 什么语言都早晚会被淘汰的 如鹏网网友 20:51:56 c也会啊

杨中科 20:52:18 对,所以不存在什么语言有用没用的问题 如鹏网网友 20:52:47 老师让我们学好c,说这个比较经典 杨中科 20:53:06 学编程,语言是次要的,程序化的思维方式才是主要的,相信论坛上我的帖子都已经看了吧。比如《一切语言都是纸老

虎》http:// 如鹏网网友 20:53:33 恩,我们学的很粗糙啊,老师也不讲精,全是点到为止 20:55:19 注册登录

分栏模式如鹏QQ群如鹏网店站内搜索购买鹏币站内资源* 杨中科 不要总是想着老师讲多少。自己练手才是王道 如鹏网网友 20:56:43 老师让我们不要死扣细节啊 杨中科 20:56:46 学游泳不是靠游泳老师教出来的,也不是学游泳理论学出来的,是靠自己下水练出来。细节没必要在看书的时候强攻,细节

在练手工程中自然而然就掌握了。不要总是“学”,要“练”。整天看书没啥意思,很多同学都有这样的想法“不把书上的

东西弄明白,写程序的时候心里没底呀”,所以总是抱着书本看了一遍又一遍,就是不敢动手敲程序。编程是一门实践性的 学科,多写程序。如鹏网网友 20:57:25 我现在搞不清了,钻研和死扣有什么区别啊 杨中科 20:58:03 对于大部分学生来说钻研就是死扣 如鹏网网友 20:58:35 那就是编程序是吧?在编程中找不懂的 杨中科 20:59:10 我这次周末去培训班讲课,那些培训班的学生也是整天看这本书、那本书,找个视频那个视频,就是不肯动手。我带着他们 写了四天的程序,就几十行的程序让他们练了一遍又一遍,四天之后他们动手能力明显提高,对编程的理解也不是那些零散 的语法和函数了,而是能够站在计算机的角度思考算法的实现了。如鹏网网友 21:00:05 貌似有点懂了,谢谢啦 杨中科 21:00:14 好多东西看书时怎么看也看不懂,到时候一些程序什么都明白了 如鹏网网友 21:00:43 我是看书有点懂,编程就全错啊 杨中科 21:00:53 那就是写得少,先模仿着正确的写,慢慢自己再创造 如鹏网网友 21:01:16 以后我会多写的。谢谢你了,杨老师,今天收获不少啊!机房要关门了,得走了 收藏分享

.net培训,微软师资,学费只要5800 超级版主

kider 发表于 2008-12-23 11:35 | 只看该作者2 楼

也许,我可以这样理解,学习的本质,不是为了学通一门语言,而是懂得如何学习的方法,理解语言 的本质!

史上最牛免费.Net视频教程 TOP cand_tyliang 发表于 2008-12-23 12:46 | 只看该作者3 楼 超级版主

聊天中的问题,不止是那位同学一个人的问题,而是我们大部分同学初学时的问题 史上最牛免费.Net视频教程

我不是一个聪明的人,往往要花别人两倍的时间去看懂一些内容,信念告诉我要坚持.cand_tyliang,加油!TOP 金牌会员

s900324 发表于 2008-12-23 14:17 | 只看该作者4 楼 语言不是问题,但是必须有语言才能更好的理解程序啊。C语言也能写图形的俄罗斯方块?!念念·相思·相念·相思 TOP jjfjjf000123 发表于 2009-1-15 13:40 | 只看该作者5 楼 谢谢你了!!!中级会员

史上最牛免费.Net视频教程 TOP cjj81123 发表于 2009-1-24 21:57 | 只看该作者6 楼 新手上路

土匪强烈支持老大

土匪强烈支持老大的观点。史上最牛免费.Net视频教程 TOP 注册会员

剑冰虹发表于 2009-7-2 11:26 | 只看该作者7 楼 动手是好,不过我一个程序错了个把两个月都没解决,C语言学完以后学什么? TOP 新手上路

metzger 发表于 2009-7-7 22:32 | 只看该作者8 楼 百变不离其宗。

C语言学完以后学什么? TOP 9 中级会员

dizzy 发表于 2009-8-3 22:02 | 只看该作者楼

c才是我真正喜欢的语言,而且需要我大量的实践去提高。史上最牛免费.Net视频教程 TOP 注册会员

自由像空气发表于 2009-8-5 17:44 | 只看该作者10 楼

说着容易,做起来难啊,关键在于自己是否真的下了狠绝心。史上最牛免费.Net视频教程 TOP 新手上路

xzc 发表于 2009-11-15 09:27 | 只看该作者11 楼

在动手练习的基础上与志同道合的互相竞争,互相交流着学习,效率会更高!史上最牛免费.Net视频教程 TOP 高级会员

kenlinye 发表于 2009-12-7 05:57 | 只看该作者12 楼 大家加油!!

史上最牛免费.Net视频教程 TOP optimisticgo 发表于 2009-12-27 20:01 | 只看该作者 新手上路 13 楼

支持,不错

C语言也能写图形的俄罗斯方块?!TOP 注册会员

qnbs1 发表于 2010-1-4 17:52 | 只看该作者14 楼 语言也是用来用的。当然 以实践为主 C语言也能写图形的俄罗斯方块?!TOP 注册会员

kafeizhu 发表于 2010-1-23 21:58 | 只看该作者15 楼 C是很牛逼的语言,众多强大的后台系统都是用C写的 史上最牛免费.Net视频教程 TOP 金牌会员

wnfzy 发表于 2010-2-6 00:55 | 只看该作者16 楼

汇编和C语言都是令人神往的,因为我无法想象他的高深与莫测,神奇与灵通。它们让人欢喜让人愁。欢喜的是它们在计算

机科学里可谓无所不能。愁的是那么多的语法、指令和函数,记住多难啊。c是比汇编友好一些,也是并不容易的。还好如

鹏的出现,让人眼前一亮。让我等对语言的恐惧消退了,对算法和数据结构有产生了某种莫名的担心。真是才下眉头,却上 心头。

C语言学完以后学什么? TOP 中级会员

langfa0408 发表于 2010-2-23 22:18 | 只看该作者17 楼 看来自己要多动手了,不能老是看,老是学 中级会员

C语言也能写图形的俄罗斯方块?!TOP 注册会员

cbob 发表于 2010-3-2 08:33 | 只看该作者18 楼 看来自己要多动手了

C语言也能写图形的俄罗斯方块?!TOP 中级会员

毡帽子发表于 2010-3-27 09:31 | 只看该作者19 楼 实践出真知了!

C语言学完以后学什么? TOP YiZai 发表于 2010-4-12 12:48 | 只看该作者20 楼 16楼的同学说得真好。呵呵 C语言学完以后学什么? 注册会员 TOP meishenm 发表于 2010-4-12 14:42 | 只看该作者21 楼

懂了C之后在去学其他的语言,也就是无非多花点时间熟悉下编译的环境,和语法规则!C语言也能写图形的俄罗斯方块?!中级会员 C语言也能写图形的俄罗斯方块?!TOP 注册会员

magooso 发表于 2010-4-26 20:16 | 只看该作者22 楼 明白!!!!!!!!C语言学完以后学什么? TOP 中级会员

houyajun 发表于 2010-5-6 07:06 | 只看该作者23 楼 学习中....C语言学完以后学什么? TOP 新手上路

我爱南江发表于 2010-5-19 13:26 | 只看该作者24 楼 在编程中,语言是基础,最重要的是 算法,逻辑算法 史上最牛免费.Net视频教程 TOP 王小海发表于 2010-5-21 10:10 | 只看该作者25 楼 新手上路

学习的主要目的是让我们去培养一种思考问题的思维能力@@~~~ C语言学完以后学什么? TOP 注册会员

youdeng 发表于 2010-6-3 15:35 | 只看该作者26 楼 确实自己一遍一遍的敲代码对程序的理解要好得多 史上最牛免费.Net视频教程 TOP 新手上路

aa286088998 发表于 2010-6-21 15:42 | 只看该作者27 楼 看来还是得多练手·

史上最牛免费.Net视频教程 TOP 28 新手上路

gxb2003cool 发表于 2010-6-27 14:24 | 只看该作者楼 动手实践才是硬道理呀 C语言学完以后学什么? TOP 新手上路

王二少爷发表于 2010-7-3 12:20 | 只看该作者29 楼 谢谢老师!

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

1 C语言程序设计学习支持系统的设计思想

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

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

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

2.1 开发前分析

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

2.2 开发前设计

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

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

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

2.4 系统的开发

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

2.5 试用与修改

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

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

3.1 学习支持模块

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

3.1.1 编译诊断

使用者在使用计算机的过程中, 正确的程序无法得到有效的调试的情况下, 编译诊断就能够充分发挥自身作用, 为使用者给予及时的帮助, 使其了解发生错误的根本原因。它包括了上传程序和诊断问题两大部分。

该系统是在使用者无法进行正确的编译C语言源程序时启用。使用者在启用该系统是首先要将参数输入进去, 此时数据库就能够通过系统的查找提供错误的起因及解决方法, 系统会逐步为使用者进行提示, 再通过使用者输入的问题作出判断并给出解决方案。此时问题如果没有得到解决, 则说明不完善的数据库存在于该系统中。

3.1.2 编程思路分析

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

3.2 信息库管理模块

3.2.1 用户信息库管理

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

3.2.2 出错知识信息库管理

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

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

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

4 结论

学习和使用计算机者在上机过程中会遇到上机编程任务中的种种问题, 此时C语言程序设计学习支持系统就能够通过种种手段有效帮助使用者解决这些问题, 它不仅能够帮助使用者搜索到发生问题的主要原因, 还能够使程序的编程思路更加清晰, 使该系统的编程能力和调适能力有所提高, 从而使学习者和使用者的学习效率得到提高。

摘要:作为一种设计语言, C语言是专门针对高级程序的。C语言具有多种优点, 使得计算机学习者对其十分热爱, 无论是初学者还是成熟的计算机使用者都要能够熟练掌握C语言, 才能够对计算机研究不断深入。然而C语言本身是非常复杂的, 导致学生在学习过程中很难对其进行完全的掌握。因此, C语言程序设计学习支持系统的设计与开发研究显得尤为重要。

关键词:C语言程序设计,学习支持系统,设计与开发

参考文献

[1]戈崇胤.C语言程序设计学习支持系统的设计和开发[D].华东师范大学, 2006.

[2]冯丽丹."C语言程序设计"电子绩效支持系统的设计与开发[D].广西师范大学, 2008.

[3]宫业芹.C语言程序设计网上教学系统的设计与实现[D].山东大学, 2012.

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

关键词:记忆法;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.

初步学习单片机C语言学习心得1 篇9

感觉自己在c语言方面的知识很不熟悉,知识自己初步懂得c语言而已,今后的学习自己要多看c语言,这对以后的学习很重要,没有基础谈何学习以后更加难懂的知识,就已今天的一个程序而言,一个流水灯的程序,被2个for循环搞的晕头转向,#include

Void delay(int)

void delay(int t){int a,b;for(a=0;a

for(b=0;b<1100;b++);} void main(){

P1=0xfe;

delay(100);

P1=0xfd;

delay(100);

P1=0xfb;

delay(100);

P1=0Xf7;

delay(100);

P1=0xef;

delay(100);

P1=0xdf;

delay(100);

P1=0xbf;

delay(100);

P1=0X7f;

delay(100);

} 自己始终把t*1100当成时间,其实不是,而是t*1100还要乘以一个T,T是执行一个分号所用的时间,另外以下的表格对于自己而言也很重要!!#include sbit D1=P1^0;unsigned a;void main(){ while(1){

a=60000;

D1=0;

while(a--);

a=60000;

D1=1;

while(a--);} }

灯光闪烁程序 #include #define uint unsigned int #define uchar unsigned char sbit D1=P1^0;void delay();void main(){ while(1){

D1=0;

delay();

D1=1;

delay();

} } void delay(){ uint x,y;for(x=100;x>0;x--)

for(y=600;y>0;y--);} 利用调用子程序设计闪灯。#include #include #define uint unsigned int #define uchar unsigned char uchar temp;void delay(uint);void main(){

temp=0xfe;

P1=temp;while(1){

temp=_crol_(temp,1);

delay(2000);

P1=temp;

} } void delay(uint z){ uint x;uchar y;for(x=z;x>0;x--)

for(y=20;y>0;y--);} 利用intrins函数以及延时子程序编写流水灯

编写一个流水灯,在灯亮的时候蜂鸣器响,灯灭的时候蜂鸣器不响,亮灭灯时间间隔为0.5s #include #include #define uint unsigned int #define uchar unsigned char uchar temp;sbit gu=P2^3;void delay(uint);void main(){

temp=0xfe;

P1=temp;// gu=0;while(1){

gu=0;

temp=_crol_(temp,1);

delay(1920);

P1=temp;

gu=1;

delay(1920);}

} void delay(uint z){ uint x;uchar y;for(x=z;x>0;x--)

for(y=20;y>0;y--);}

中断优先级

#include #define uint unsigned int #define uchar unsigned char sbit wede=P2^6;sbit dude=P2^7;uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71};uchar num,tt;void main(){ num=0;tt=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;wede=1;P0=0xe3;wede=0;dude=1;P0=0x3f;dude=0;

while(1)

{

if(tt=20)

{

tt=0;

num++;

if(num=16)

num=0;

dude=1;

P0=table[num];

dude=0;

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

一周没有写东西了,今天上校内的时候有个好友分享了这篇帖子,深有感触,以后坚决不用TC了,去下个VC++来学习C,哈哈~~还说我们用的教材太LJ了,这个我倒不怎么清楚,因为没学懂啊。。

看文章结尾的链接就知道是CSDN上的了,以下是原文:

=================T5K5的学习分割线=================

学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着你需要经历艰苦的过程。

一、要读就读好书,否则不如不读

所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。

大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的。这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格相当地不好,会让你养成乱写代码的恶习;错误太多,曾经有人指出过这本书的上百个错误,其中不乏关键的概念性错误。好了,这本书我也不想说太多了,有兴趣大家可以百度一下:)

Kernighan和Ritchie的《The C Programming Language》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《C Reference Manual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《Pointers on C》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C语言便不再神秘。

如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《C Traps and Pitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后你可以挑战一下《Expert C Programming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦你仔细读完并能透彻理解,你便可以放心大胆地在简历上写“精通C语言”了。

切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果你看不懂,那你一定是缺失了某些必需基础知识。此时,你要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。

二、Unix/Linux还是Windows,这是个很大的问题

不同的编程环境会造就出不同思维的程序员。Windows的程序员大多依赖集成开发环境,比如Visual Studio,而Unix程序员更加钟爱Makefile与控制台。显而易见,集成开发环境更容易上手,在Windows上学习C语言,只需要会按几个基本的Visutal C++工具栏按钮就可以开始写Hello, World!了,而在Unix下,你需要一些控制台操作的基本知识。有人也许认为Unix的环境更简洁,但习惯的力量是很大的,大家都很熟悉Windows的基本操作,而为了学习C语言去专门装一个Unix系统,似乎有点不划算。

对于一个只懂得Windows基本操作、连DOS是什么都不知道的新手而言,尽快做一些有趣而有意义的事情才是最重要的。用C语言写一个小程序远比学习ls、cat等命令有趣,况且我们要专注于C语言本身,就不得不暂时忽略一些东西,比如编译链接的过程、Makefile的写法等等等等。

所以我建议初学者应该以Visual C++ 6.0(不是VisualC++.NET)或者Dev C++作为主要的学习环境,而且千万不要在IDE的使用技巧上过多纠缠,因为今后你一定要转向Unix环境的。Visual C++ 6.0使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而Dev C++使用gcc编译器,对C99的标准都支持良好。使用顺带提一下,很多大学的C语言课程还在使用Turbo C 2.0作为实验环境,这是相当不可取的,原因其一是TC 2.0对C标准几乎没有支持,其二是TC 2.0编译得到的程序是16位的,这对今后理解32位的程序会造成极大的困扰(当然,用djgpp之类的东西可以使TC 2.0编译出32位程序,不过那过于复杂了)。

等你学完一本C语言的教材,你一定要转向Unix平台继续学习,几乎所有的C语言高级教程都是基于Unix平台的(比如《C专家编程》)。转变的过程是痛苦的,你需要面对的是各种纷繁复杂的命令,完全不同于Windows平台的思考方式,但是这种痛苦是值得的。Unix与C是共生的,Unix的思考方式和习惯更加符合C语言的思考方式和习惯。在Unix下,你可以找到无数优秀的源代码供你尽情阅读,你可以方便地查看某个库函数的联机手册,还可以看到最优秀的代码风格(说到代码风格,我会专门写一篇文章详细叙述)。

归结起来就是一句话:初学C语言,建议使用Windows系统和集成开发环境,在准备向“高手”方向努力时,请先转向Unix平台。

三、万事俱备,你就是东风

书已选定,环境配置完成,正所谓万事俱备,只欠你自己的努力了。请从书的前言开始,仔细地阅读手头的教材,很多人看书喜欢直接从第一章开始看,这是错误的做法。前言是作者对整本书的大体介绍,作者一般会告诉你需要什么基础才能够顺利阅读本书,这可以帮助你检验自己的基础知识是否已经具备。看完前言,还要浏览一下目录,了解一下书的整体结构,顺便给自己安排一下学习计划。

学习C语言,必需注意每一个细节,书上的例子代码一定要自己亲自敲一遍,编译执行输出都跟书上说的一致才能算是学完了一个例子,如果不一致,就要仔细找原因。出了书本上有的例子,自己还要“创造”一些例子,比如学习运算符优先级的时候,可以写几个相同的表达式,在不同的位置加上括号,看看有哪些不同的行为,比如*p++和(*p)++,又比如a = b == c、(a = b)== c和a =(b == c)等等。自己抄的书上的例子以及改造之后的例子,还有自己“创造”的例子,都应该仔细地归类保存,并且要在源代码中写上简短的注释,阐述这个例子的意图。

例子之后就是习题了,我建议初学者把所有的习题都独立做一遍,然后对照答案的代码,看看自己的代码有那些不足,再试着修改自己的代码。很多人不重视习题,这是极大的错误,因为作者通常会在习题中说明一些重要的道理,而不是单纯地检验前面的知识。

也许你认为这样学习太慢,其实不然。学得细致就不用走回头路,等你学到后面才发现自己前面没搞清楚,那才是真的得不偿失。一般说来,整本书读完,你应该完成数千行乃至上万行的代码,无论是原封不动照抄书上的,还是自己心血来潮写就的,都是今后继续学习的一笔财富。以我自己举例,阅读《Windows核心编程》时(我只阅读了3/4的内容),除了抄书上的代码,还自己写了很多例子,一共有5574行(用unix下的wc工具统计),时隔多日,我早已记不清Windows的系统编程了,但只要花几分钟翻出以前的代码看看,便会重新了然于胸。所谓好记性不如烂笔头,就是这个道理。

仔细读书、认真抄写源代码、独立完成习题外加更进一步的实验,最后将所有的代码留下,成为自己的经验和财富,绝对的辛苦,也绝对的事半功倍。当然,这种方式只适合学习需要精通的技术,如果不是学习C语言,你还要具体情况具体分析。

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

关键词:C++;程序设计;教学方法;教学改革

0引言

C++语言运用范围非常广,在软件设计、网络通讯、游戏娱乐等等领域都能涉及到,也是当前世界上使用最广的编程语言。但是行业的发展受到多方面局限,人才的缺失是行业发展最大的阻碍,许多高校都意识到这个问题,相继的开始《C++语言程序设计》课程,主要就是让计算机专业的人才能够多涉及这方面课程,提高学生的自主学习与独立思考能力,增加就业的几率。传统教学方式,存在教学目标不清晰以及教学方式古板的问题,很多学生对这门学科的重要程度认知不足,教学方式与内容的乏味让学生对此课程并无多大兴趣。本文是根据多年来的经验总结以及市场调查,从教学目标与内容多方面进行研究,以此追求有效的教学改革。

1教学中存在的普遍问题

1.1学生学习目标不明确

教学的主要目的是为了培养学生的兴趣以及软件编程能力,提高学生的独立思考、分析与解决问题的能力,提高就业的几率。以往的课程都是由不同教师来传授,每一个教师都只关注自己本科教学,并没有从全局效果分析,学生对自己的学习目标不明确,导致学习兴趣降低。没有目标的学生犹如行驶中迷失了方向的帆船,不知所措。当学生对自己的学习有了清晰的规划,就会不断朝着目标的方向努力前进。

C++涉及的概念都是较为复杂的,在学习过程中灵活多变,出错可能性非常大,可以说想要学好此课程是相对较难,所以很多学生都产生退却念头;同时C++不仅是纯对象语言,当中还涉及到程序设计语言,面对对象并不是单一的。这种特性导致了C++语言与C语言能够兼容存在。两种语言之间有时不需修改就能够使用,所以在刚开始学习时,学生觉得相对简单。[1]。然而,这两种语言也必然存在不能共通之处,学生要真正掌握两种不同的语言,就必须对其进行对比,找到其相同之处和不同点。

1.2教学重点偏向语法,课后延伸匮乏

在语言教学中侧重与语法[2]。在传统的教学当中,不管是老师教授还是教材讲解,都是先把概念推从出去,再理解规则,最后用案例讲解。概念知识相对来说不仅枯燥,要想记住也是较难的,在教学过程中,要引起学生兴趣非常难。虽然传统教学中有案例分析,但是案例分析都是各自孤立的,只是针对某一部分的知识,学生无法从中感受到实际运用价值。枯燥无味的文字不仅不能引起学生的学习兴趣,反而会让他们觉得反感。被动地接受理论知识只会让学生很快就忘记了教学内容,只有生动的教学方式才能激发起学生的兴趣。

教材课程中有课时限制,所以教学过程基本上都是从语法、规则、案例等等形式来落实。每一堂课讲解的时间都有限,再加上教师的课前准备不足,那么这堂课的实际效用就非常低。如果在课后没有进行延伸与巩固,那么学生要掌握更深层次的知识是不可能的。在这种情况下,学生掌握的知识只是皮毛,甚至可以说有些接收能力比较差的学习是掌握不了课堂知识。如果没有进行课后巩固,基本上这堂课的知识就是一闪而过了。对于老师传授的知识,学生不可能过目不忘,因此,只有不断对知识进行巩固和复习,才能让学生牢牢记住知识。

1.3教学方式无结合企业实际需要

学生在C++语言的学习中,通常都是局限在一部分知识中,并没有顾全大局的理念。传统的教学都是采用循序渐进的形式,每一节课都给学生灌输新概念、新规则,学生没办法从所有学习的知识中进行融合使用。[3]。就算是在教学中加入了大量的实验课程,也只是围绕某一个章节某一个知识进行实验安排。这种实践课程也只是一时兴趣,学生在学习一段时间后就会产生厌倦,学到的知识进而就无法使用到企业公中。单调的教学模式显然已经让学生失去了兴趣,这对于提升学生的思考能力和动手能力毫无帮助。每一个学生在毕业后都会步入社会,因此,了解社会环境和企业对于人才的要求对于学生来说尤为重要。如果教师一味地向学生传授课本知识,即便学生能够牢牢记住这些理论知识,也不知道如何将其应用到实际操作中。因此,在教学过程中,教师应该注重理论与实际的相互结合,把学生培养成为综合型的人才。

2教学改革策略

针对上述对C++语言教学存在问题的概述,本文从以下几个方面进行策略研究,在实际使用中也取得了不错的反馈。

2.1明确学习与教学目的

学习的动机是学生能够持续进行的基础,完成整个学习与巩固过程都需要学习动机来维持。现在大学生在学习过程中会考虑到今后就业方向,如果在课堂当中能够开展与今后就业相关的内容,那么学生会非常重视这次学习,效果自然就非常明显。对于不同的教学内容,学生往往会表现出不一样的兴趣程度,因此,老师首先要了解学生在学习过程中最为关注的问题,并且针对这些问题设计和安排教学内容。学生对于感兴趣的教学内容往往会表现出更强的积极性和主动学习性,学习效果也会有所提高。结束校园学习后的学生都会走向社会,他们对于未来的就业环境和企业的人才需求表现出更强的兴趣,因此,老师在教学过程中可以适当插入这部分的内容。

2.2教学内容要结合整体与具体两个方面

教材的编排几乎都是从概念、规则、举例这样的形式,但是知识的分散导致每一个章节的内容都联系不上,学生感受不到整体的编程效果。所以,在教学当中,应该注重整体到具体的方式,让学生能够先了解整个C++编程过程,然后再在每一个程序中融入教学内容,把教学具体到每一个知识点中,巩固学生的知识能力,学生在学习完所有知识后就已经完成整个设计。这种教学思路对程序类型的课程学习有极大作用。教学首先必须具备清晰的规划,才不会显得杂乱无章。教师应当确定一个大致的教学方向,然后再对教学内容展开详细的安排,在规划教学内容时,必须充分考虑不同学生对于教学任务的完成程度,从而对教学内容的难度进行适当的调整,尽可能地让更多的学生掌握教学内容。

2.3教学方法注重同中求异、异中求同

教学当中注重同中求异,异种求同的话,能够让学生抓住事物的本质,对事物的理解加深,有利于思维拓展。为了能够让学生的学习更加深入,可以用对比学习的方式,这样的教学效果会更加好。比如说,把c++语言与C语言进行对比教学,这样学生不仅能够学习到新内容,还能够巩固旧知识,得到双收益效果。其实两种语言在设计思路上有较大差异,一种是面对程序语言,把数据与数据捆绑起来,另一种是面对整个过程的语言设计,用分块的模式教学。教学内容的不同并不是意味着教学方法也截然不同,把相似的内容集中起来教学,有利于学生更好地把握知识,采用不同的方法对相同的内容进行教学,有助于老师找到教学中的平衡点,发现更合适的教学方法。

2.4校园学习与企业联合,为就业作准备

很多计算机相关专业的学生为了能够快速就业,在校园里就会选择去外面机构培训。当然培训并不意味就是能提高就业率,主要还是看学生的态度以及掌握情况。如果在高校的C++语言学习中,可以用校园与企业合作的方式来教学,在教学当中可以加入机构培训的方式;在每一次学完知识后就加入实践活动,对于今后的就业帮助极大。同时,提高学生的学习能力以及适应能力方面也有很大帮助。学校更加注重的是理论知识的传授,而企业更加注重的是实际的操作,企业提出人才要求,学校能够更加有针对性地为学生制定学习任务,从而让学生更好地掌握相关的专业技能,让自己离开校园后尽快适应到社会的工作中。

3结语

本文提出了《C++语言程序设计》课程的教学改革思路,通过教学方法、模式的改变,来激发学生的学习兴趣与能力培养,用校企联合的方式来为今后就业奠定基础,累积学生经验的同时还能提前模拟就业。有教学实验证明,这些教学改革方式是能够在一定程度上提高教学效果,并且对编程类型的课程来说都有极大的借鉴作用。传统的教学方式显然已经不能满足人们日益增长的需求,社会环境是不断进步的,竞争是越来越激烈的,为了使学生具备更强的社会竞争力,学校必须转变教学方法,一方面要让学生掌握基础的理论知识,另一方面需要注重学生的操作能力培养。总体来说,就是要理论知识与实践操作相互结合,培养全能型的学生,对他们的知识掌握以及今后的就业都有极大帮助。

参考文献:

[1]杨庚.面向对象程序设计与C++语言[M].北京:人民邮电出版社,2012.

[2]杨杰,陈雪兆.《C++程序设计》教学中存在的问题及改进建议[J].湖南科技学院学报,2013,11(26):190191.

上一篇:冬雨作文600字下一篇:电子商务网站设计与管理题库