c学习要点及总结

2024-04-08

c学习要点及总结(精选9篇)

篇1:c学习要点及总结

具有三种题型:程序填空、程序修改和程序设计,其中程序填空30分,程序修改30分,程序设计40分。[1]从以往的机试的情况来看,许多考生在程序设计题目上失分比较严重,而程序设计题占总分值的40%,一旦答错,如果程序填空和程序修改又不能取得满分的话,就不能通过上机考试。

2007年9月,教育部考试中心对现有的全国计算机等级考试大纲进行了改革,二级C语言上机考试时间由60分钟增加到了90分钟,编程环境由以前的TC2.0改为VC++6.0。[2]本文根据对近几年来二级C语言上机考试中的程序设计题进行归类总结,提出相应的策略,并对考生应对2007新大纲以后的C语言上机环境给出一些建议。2 对以往考试的分析

历年的全国计算机等级考试中二级C语言上机考试程序设计题目全部出自于由南开大学出版社编写南开100题,每次考试教育部考试中心会对题库做相应的改动,增加一些新的题型或题目,考试中,考生随机抽取一套进行测试。笔者对2005年4月至2007年9月2004版新大纲以后的6次考试中的程序设计题目进行了总结,将这些题目一共分成了6大类,对每种类型的题目进行了分析。2.1 对一维数组和字符串的操作

该类型的题目在以往的机试中所占比例最大,为40%,考生应对该知识点做全面的复习和掌握。一维数组可以分为数值型和字符型,其中数值型数组的数据类型为整型和实型,字符型数组的数据类型为字符型,我们通常会把字符型数组叫做字符串,但是应该注意字符型数组与字符串之间是存在区别的,也就是’’结束标志问题。在复习该部分的时候,考生应该掌握以下两个问题:(1)对一维数组的操作

对一维数组进行操作的时候,不可避免的要访问相关的数组元素,在C语言中访问数组元素一般采取单层循环的方法进行遍历,假设数组长度为n,数组下标是在0到(n-1)之间的,考生应该牢固掌握在一维数组中求最大值、最小值,移动元素,查找特定值,存储数组元素的方法。

(2)对字符串的操作

该类问题是每次考试的重点和难点,特别是将字符串同指针结合起来以后,难度就更大了。考生在解决此类问题是应特别注意字符串的结束标志’’,它不仅仅用来作为字符串的结束标志,而且在对字符串进行操作的时候,它也是循环的结束标志。考生在复习该部分的时候,应该注意这样的几个基本问题:大小字母转换、奇偶数判别、删除或添加指定的字符和字符的移动。此外,考生应该牢固掌握指针的特性及字符串操作函数的使用和实现方法,特别是字符串连接函数与求子串函数,在以往的考试中多次要求考生自己编写,考生应对该知识点做重点掌握。2.2 数值计算

该类型的题目在历年的机试中占22%,考查的机率也非常高。该类题目一般给定一个数列计算公式,然后要求考生编写一个函数类实现求数列的前n项的值、累加和或者积。在解决该类的问题,首先要找到给定数列的变化规律,然后根据其变化规律来编写一个单层或者双层的循环来求其相应的值。在编写程序的过程中,往往还会用到一些数学函数,如:sqrt()、fabs()、pow()等,考生应该牢固掌握math.h中的一些常用数学函数的功能和使用方法。另外,还应该注意数据类型之间的区别,特别是float和int类型,不同的数据类型产生的运算结果也是不一样的。2.3 对结构体的操作

该部分对非计算机专业的学生来说是一个难点,因为结构体在《数据结构》这门课程中应用最为广泛,但考生忽视对该知识点的复习,但在以往的机试中,有17%的题目是属于该类型。考生在复习这部分的时候,首先应注意结构体成员的两种不同的引用方法:结构体变量和指向结构体的指针,也就是结构体成员运算符’.’和指向运算符’->’,在编程的过程中,往往会涉及到结构体数组,其实这类数组除了数据类型是结构体以外,其它的特性和普通数组是一样的,结构体除了定义、赋值和初始化以外,它的其它操作和普通变量也是一样的,包括在结构体数组(记录)中进行查找、删除、求最大最小值等操作,我们应该用对待普通变量的方法来解决结构体的问题,这样的话,难度就可以大幅度的降低。2.4 对二维数组的操作

该类问题在历年的机试中占16%,考生应对二维数组的数组元素的遍历方法、存储方式、矩阵转换等问题做重点掌握。在C语言中,访问二维数组的数组元素一般采用双层循环的方法实现,因为二维数组具有两个下标:行下标与列下标;二维数组可以按行或者按列转化成一维数组进行存储;对二维数组进行行列转换的时候,要将行下标和列下标进行互换。考生还应该掌握上三角矩阵、下三角矩阵的特性,在考试中,该知识点也有所涉及。2.5 数制转换

该部分在以往的机试中占11%,包括两类问题:一是整数合并,二是类型转换。在复习该部分时,考生应该注意C语言中int型、long型、float型和double型数据所占的存储空间的大小和精度,注意’%’(模)运算和’/’(除法)运算的特点,特别应该灵活的使用模运算与除法运算求数据相应位数上的数值。掌握强制类型转换的方法以及按规定的位数保留小数的方法。2.6 素数

该部分在历年的机试中占6%,考生应该牢固掌握素数的基本概念和判断素数的方法。特别需要考生注意的是整数1不是素数,所以在判断素数的时候,应该从2开始,到(n-1)结束,能够除尽的不是素数,不能除尽的是素数。判断素数问题是C语言中的一个基本算法,不仅会在程序设计中会考到,而且往往在程序填空和程序改错中也会有所涉及,因此,考生应对该知识点认真复习。3 程序设计中应注意的问题 3.1 熟悉编程环境

根据2007年9月教育部考试中心颁布的新大纲,二级C语言的编程环境由TC2.0改为VC++6.0,考生应该熟练掌握VC++6.0的使用方法,虽然VC支持鼠标操作,但是考生还是应该掌握几个常用快捷方式来提高编程效率。特别要注意在对程序进行改动以后要保存,要进行编译连接生成可执行(.exe)文件。3.2 养成良好的程序设计风格

二级C语言机试中的程序设计题,一般来说程序都比较简短,源代码一般不超过5行,在题目指定的函数内编写程序。考生在答题的时候尽量采用易于理解而且比较简单的代码来解决问题,注意不要改动函数的参数,语句的界符“{}”也应该具有层次性的缩进,必要时,使用一定的注释来帮助自己理解程序。3.3 谨慎使用指针

指针是C语言的精华,也是机试考查的重点内容,指针的使用非常灵活,在使用的指针的时候一定要注意对其进行初始化,所谓初始化也就是给指针一个初值,没有初值的指针是很危险的,除了一定得不到正确答案外,如果指针越界,容易引起死机。如果死循环带来的死机是“假死”,大部分可以用“Ctrl+Break”来恢复,但指针越界引起的死机却是真死,请考生一定要牢记。[3] 3.4 熟练掌握循环结构

循环结构的程序是程序设计中涉及最多的知识点,根据以上的分析,我们可以看出几乎每一类题目都会涉及到使用循环来解决问题,因此考生应该掌握循环结构的特征和使用方法,以达到能够熟练使用的目标。应该引起注意的是,在编制循环结构程序的时候考生应该尽量使用“for”循环和“while”循环,避免使用“do……while”循环和“goto”语句,因为“for”循环和“while”编写出来的循环程序易于理解,不容易出错。3.5 沉着应战,认真细心

二级C语言上机考试时间有限,虽然从以前的60分钟改为了90分钟,但是相对于其它语种的上机考试来说,二级C语言的上机时间还是非常紧迫的。考生在答题的过程中应该保持一个良好的心态和平静的心情,遇到问题的时候不能慌乱,最好能够在机试时带一张草稿纸和一支笔,在编程之前先画出程序的流程图来明确解题思路。在遇到程序错误时一定要根据错误代码检查相应位置,检查的过程中应该认真仔细,确保能够解决问题。4 结束语

二级C语言上机考试是各语种级别中考生最多的,但每年的通过率都不高,主要的原因是考生的重视程度不够,上机操作的次数过少,很多应该掌握的却没有掌握,缺乏考试经验等。希望每位参加考试的考生能认真对待,积极备考。相信本文能够助参加二级C语言上机考试的考生一臂之力。

篇2:c学习要点及总结

请围绕下列知识点完成模总结。

1.逆序数的概念及计算。

2.行列式的性质及计算方法。

3.行列式按照一行(列)展开的性质。

4.矩阵的概念及运算,包括矩阵加法、数乘和乘法。

5.方阵行列式的计算及性质。

6.伴随矩阵的概念,伴随矩阵与矩阵的关系。

7.矩阵可逆的概念及判定,用初等变换法求逆矩阵。

8.矩阵方程AXB,XAB的求解(注意条件A可逆)。

9.向量组线性相关与无关的概念,如何判断一个向量组是线性相关还是线性无关?

10.求向量组的秩和极大无关组,用向量组线性表示一个向量。

11.齐次线性方程组有非零解的充要条件,非齐次线性方程组有唯一解、无穷解和无解的充要条件。(利用系数矩阵和增广矩阵的关系)

12.求齐次线性方程组的基础解系。

13.解非齐次线性方程组。

14.方阵特征值与特征向量的概念和具体的计算方法。

15.方阵特征值的性质。

16.求实对称矩阵的特征值和特征向量,判断实对称矩阵能否对角化的方法.17.矩阵相似的概念及性质。

18.利用正交变换,将实对称矩阵对角化的方法。

19.根据二次型写出对应的矩阵,求二次型的秩,求二次型的标准形。

20.正定二次型的概念及判定方法。

评分标准:1-10知识点每个3分,11-20每个知识点7分。

要求:用A4纸,手写完成,学委收齐。

篇3:c学习要点及总结

关键词:C语言;程序设计;编程能力

中图分类号:TP312.1-4 文献标识码:A文章编号:1007-9599 (2011) 15-0000-01

C Language Programming Learning Problem and Strategies

Feng Shenggang

(Shaanxi Changling Software Development Co.,Ltd.,Baoji721013,China)

Abstract:This paper analyzes the C programming language to learn some of the problems that exist for these problems,on how to improve the C programming language learning efficiency gives some opinions and suggestions.

Keywords:C language;Programming;Programming capabilities

一、前言

C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围极其广泛。

二、C语言程序设计学习中的问题

(一)在C语言程序设计学习中,很多开发者的基础薄弱,学习的目的性不强。一些人在学习C语言程序设计的过程中,由于之前从未接触过C语言程序设计的相关基础,导致他们在开始接触C语言学习的时候,对其感到及其陌生,所具备的基础知识也不扎实;同时,还有一些人对C语言程序设计的学习并没有引起足够的重视,他们认为C语言只是一个工具,可以在等到需要使用的时候再仔细学。通过调查发现,在对C语言程序的设计学习中,很想成为电脑高手,愿意专研C语言程序设计的人仅占11%,大部分人往往是抱着一种完成任务的心态来进行C语言的学习。可见,很多开发者在学习C语言的过程中还存在着目的性不强的问题。(二)在C语言程序设计的学习中,人们的学习兴趣不强,参与率不高。兴趣是学好一门学科的基础和重要条件。在C语言程序设计的学习过程中,由于这门学科学习难度大,理解性强,很多人对这门学科没有太大的兴趣,总是认为这门学科枯燥无味,在学习过程中,不能积极的思考问题,遇到困难就害怕退缩,必然影响了人们对这门学科的学习效率和效果。(三)在C语言程序设计的学习中,人们的编程能力差,动手能力也有待提高。尽管计算机已经普遍进入到人们的学习和生活当中,但是人们对计算机的使用更多的是用在娱乐和对信息的获取上,愿意把时间和精力放在C语言程序设计学习上的人则是少之又少,在对计算机的实际应用中,很多人忽视了对计算机程序设计技能的培养和提高,导致人们的编程能力和动手能力较差,影响了C语言程序设计学习效率的提高。(四)在C语言程序设计的学习过程中,人们缺乏后续学习的环境和途径。C语言程序设计的学习是一个长期的、不断丰富的过程,人们在学习该课程的过程中,由于基础较差,学习兴趣不高,动手能力不强,导致很多人在后续的学习过程中,面临着越来越多的困难,进而放弃了对该工具的进一步研究和学习;另外,有部分人在经过系统的学习之后,逐渐对C语言有所认识和了解,并产生了学习兴趣,但是目前很多人的后续学习和提高还缺乏一些有效的途径,缺少一个可以让该工具得到长期应用的环境,导致一些人在学完了C语言程序设计之后又长时间不用,逐渐对该工具陌生化,对顺利开展后续的学习带来了不利影响。

三、C语言程序设计学习的策略分析

(一)努力激发人们的学习兴趣。兴趣是最好的老师。浓厚的学习兴趣对人们学习C语言程序设计尤为重要。激发人们的学习兴趣,人们可通过各种不同的方法和策略,激发对该课程的好奇,从而提高他们的学习兴趣。比如,在C语言学习的初期阶段,可以采用炫耀的方式,即学习者通过趣味性的话语,编制一些小程序,让学习者获得一种成就感,引起学习兴趣;到了学习的中间阶段,人们对C语言有了一些初步的认识,但同时,人们在学习过程中面临的困难也越来越多,此时,就必须坚持,并克服害怕退缩的情緒。除此之外,还需要进行一些实战型的实例分析,例如,可以进行一些较为复杂的软件中的部分工作,通过亲手参与和动手,增强了学习者的主观能动性,帮助他们树立学习的自信心。(二)加大对基础性知识的学习,为C语言程序设计的学习培养坚实的基础。良好的基础是学好C语言程序设计的前提和保证。人们在开始学习C语言程序设计的过程中,首先要打好基础,必须严格的要求自己,针对初期对C语言的基本语法理解所出现的难题,必须认真负责的解决问题,打开学习思路的大门;同时,要有良好的编程习惯,严格按照标准格式进行程序代码的编写和注释。(三)避免学习误区,把握学习方法。首先,人们在学习的过程中,必须认识到容易陷入的误区,很多人在拿到编程题目之后,就开始进行编程,对于一些简单的编程,没有多大的问题,但是对于一些较为复杂的编程,在拿到题目之后就必须进行深入的分析。其次,在C语言的学习中,必须重视算法的重要性,把握算法的表示和步骤。例如,给出一个编程题目:输入三个数,然后输出其中最大的数。第一、我们定义三个变量A、B、C,并将三个数依次输入到A、B、C中;然后,准备一个MAX装最大数。我们先进行A和B的比较,选出大的一个,然后把MAX和C比较,进而求出最大的数。其具体算法示如下:

输入A,B,C;

若A>B,则MAX←A;

否则MAX←B;

若C>MAX,则MAX←C;

输出MAX,MAX即为最大数

通过对算法的正确把握,编程的最终结果就出来了。在进行编程的算法时,必须按照这种算法,树立良好的习惯,从而提高学习的质量好效率。

四、结束语

总的来说,C语言程序设计的学习不仅需要人们具备较高的学习兴趣,还要求人们正确把握C语言程序学习的方法,掌握编程的算法,找对适合自己的学习套路,注重C语言程序设计的实践型,把理论和实践结合起来,实现学习质量的提高。

参考文献:

[1]李丽娟,马淑萍.C语言程序设计(第二版)[M].北京:清华大学出版社,2009

[2]张帆,周法国,王振武,李佳静.C语言程序设计学习中的问题与对策[J].计算机教育,2010,20:83-84

篇4:c学习要点及总结

2011年工作要点

2010年,在县政协常委会、主席会及分管副主席的领导下,在州政协对口专委会的指导和县政协办公室、各专委会的支持配合下,我委坚持以邓小平理论、“三个代表”重要思想和科学发展观为指导,认真学习贯彻落实党的十七届四中、五中全会和省、州、县党代会精神,学习《政协章程》及文史工作业务知识,不断提高政策理论水平和文史工作业务能力,紧紧围绕县委、政府工作大局,按照政协常委会工作要点安排,结合学习文史委工作实际,充分发挥主观能动性和文史委工作职能作用,采取多种有效措施,积极主动开展工作,尽职尽责抓好落实,较好地完 1 成了各项工作任务。现将一年来的工作情况总结如下:

一、2010年工作情况

(一)积极参与做好政协十届三次会议宣传工作 在县政协十届三次会议筹备领导小组的领导下,为了做好会议的宣传工作,2010年1月,县政协成立了十届三次会议宣传工作小组,由我委和经济人口环境资源委主任、教科文卫体委主任、县委宣传部副部长、县广电局局长等7人组成会议宣传工作组。宣传组成立后,在会前专门召集宣传组的全体人员召开会议,研究制定宣传工作方案,安排布置宣传工作任务,把宣传工作任务细化分解落实到有关单位和人员,安排有关单位制作会议宣传布标8条,分别在行政中心大门、三楼报告厅、河口宾馆、河源鑫大酒店等地悬挂。在会议期间,一是制作3条宣传标语,在河口电视台轮流播放;二是安排宣传部、广电局4名记者列会做好会议新闻采编和音像录制工作,及时宣传报道会议情况;三是安排人员编写、打印和分发会议简报,做到了全方位、多渠道及时宣传报道会议情况。

(二)积极做好《提案及复文选编》第一辑和《河口文史资料》第六辑的编辑出版工作。

根据县政协常委会2010年工作要点安排和学习文史委工作计划,年内必须编辑出版《提案及复文选编》第一辑和《河口文史资料》第六辑。为了做好这两本文史资料的编辑出版工作,今年3月份,经过认真分析研究后,我委及时安排并开展编辑等有关工作。(1)在人员少、时间紧、任务重的情况下,我委邀请了县志办原主任白志强同志作为编辑指导,同时邀请县政协提案委协助工作。(2)根据编辑出版工作的需要,经研究并报经县政协分管副主席同意后,成立了《河口瑶族自治县政协提案选编》第一辑编撰委员会和《河口文史资料》第六辑编辑委员会。(3)领导机构成立后,及时组织开展资料收集整理工作。在县政协提案委的支持帮助下,经过编辑人员近两个月的工作,完成了对历届县政协提案及答复文件(文稿)和部分文史资料的收集、筛选、复印、编辑工作。(4)安排打印并对稿件进行修改、校对。初稿打印出来后,按照人数将两本书的稿件各分成3份,由3个编辑分别对稿件进行审阅、修改、校对。同时,一方面按照提案时间先后和提案编号顺序进行整理、编排《提案及复文选编》目录;另一方面根据收集的文史资料稿件的时间、事件和内容来分类编排 3 《河口文史资料》第六辑的篇目。(5)抓时间、集中精力修改、校对稿件。即在第一稿修改、校对的基础上,为了提高出书质量,尽量减少错漏、重复和句子不通顺等问题,编辑人员于6月至8月期间,对两本书稿进行二稿、三稿、四稿的修改、校对,到第五稿校对红字后,于2010年10月13日定稿,并交付印刷厂申办印刷出版手续。预计到今年11月底即可出版发行(内部发行)

两本书共有24万多字,其中《提案及复文选编》第一辑共收录了三届至七届政协委员提案及复文257件,有410页约15万多字;《河口文史资料》第六辑共收录了15篇文史稿件,有186页约9万多字。

(三)、积极参加学习考察活动,不断提高文史委干部素质

一年来,尽管编辑出版文史资料工作比较繁忙,但是我委始终坚持参加学习、考察等有关活动。一是参加县政协年初举办的全县政协委员培训学习活动,学习了统战工作知识和政协提案工作知识;二是参加县上举办的科级领导干部教育培训学习活动,听取有关知识讲座和报告;三是参加县委理论中心组学习活动,听取和学习理论中心组 4 有关领导的发言和讲话;四是参加2010年9月份县政协组织的部分政协委员赴滇西、滇中考察学习活动,学习借鉴省内发达地区县(市)旅游、招商引资、非公经济等方面的经验和做法。

通过参加以上学习和考察活动,使我委干部的政治思想、政策理论水平、业务知识和文史工作能力得到了不同程度的提高,同时开拓了视野,增长了见识,学到了许多新的知识,为做好文史工作打下了良好的基础。

在即将过去的一年里,我委通过深入学习实践科学发展观,积极努力工作,付出了许多辛劳和汗水,取得了一定的工作成绩,但是离党和人民的要求及县政协常委会和主席会的要求还有一定差距,工作上还存在一些问题和不足之处,主要表现在:一是忙于编辑出版文史资料工作,没有时间组织本专委会委员开展活动;二是深入基层开展调查研究、视察不够;三是没有时间对库存文史资料进行清理登记。对这些问题,我们将在今后的工作中认真加以改进。

二、2011年工作要点

在新的一年里,在县政协常委会、主席会和分管副主 5 席的领导下,学习文史委将坚持以邓小平理论、“三个代表”重要思想和科学发展观为指导,高举爱国主义旗帜,继续深入学习和实践科学发展观,认真学习和贯彻落实党的十十七届四中、五中全会精神,学习政协有关工作业务知识,不断提高政策理论水平和文史工作能力,认真履行文史工作职能,积极探索新时期政协文史工作的新思路、新方法,努力做好文史资料的收集、整理、编辑工作,充分发挥文史资料为经济社会建设服务的功能,以史鉴今,更好地为地方文化建设和推动河口新发展服务。

一、聘请部分文史员,继续做好文史资料的收集、整理、编辑工作,确保文史资料征集工作的连续性,争取在2011年编辑出版《政协调研视察报告选编》第一辑。

二、按照委员学习制度的要求,认真抓好本专委会委员的学习活动,组织专委会委员学习党的十七届四中、五中全会精神和《政协章程》的有关内容,提高委员参政议政能力。

三、认真做好库存文史资料的整理、登记、保管工作,并积极探索如何推进文史工作逐步实现“三个转变”的问题,发挥文史资料工作为地方文化建设服务的作用。

四、积极配合上级政协和县政协专委会做好调研、视察工作,为参政议政、建言献策和提出提案打好基础。

五、积极做好政协常委会、主席会和分管副主席交办的各项工作任务。

政协河口县学习文史委员会2010年10月26日

主题词:政协 学习文史委 工作总结 要点 抄报:州政协学习文史委、本会主席、副主席

抄送:县党史办、县志办、县政协办公室、各专委会

发:本委委员 政协河口县委员会办公室 2010年10月26日

篇5:c语言学习总结

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

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

原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

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

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

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

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

3。学习上机调试程序

完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。

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

篇6:C语言学习总结

一、学习名称:

09国土班入校第一周“C语言学习”

二、学习背景

鉴于以前的电脑知识了解少和以后学习C++打下基 础,老师组织一次C语言学习。

三、学习的目的1、增加学生对计算机语言的了解。

2、培养学生的语言素质。

3、为以后学习C++打下基础,更好的学好专业课。

四、学习流程

1、开学第一周每天晚上7:00在系机房学习2、主要有李军利老师讲课

3、讲课内容主要与C语言的入门、语法、语句等方面学习。4、学们自己课上向老师问答,课下学生自己联系总结。

五、学习细则

1、主办方:国土系09级国土班

2、学习对象:国土系09级国土班

3、学习地点:系机房

4、时间:晚上19:00-21:00

六、学习总结

通过这次C语言学习,大家对计算机语言有一定的了

解;知道了什么是C语言和它的一些发展历史、应用范围、功能等方面的知识;我们懂得了什么数组,整形、字符等很多知识,对以后的语言学习起到引导作用。

篇7:三角函数线学习要点及应用举例

运用三角函数线来解决数学问题,必须正确找出各个三角函数线,并能正确用符号表示这些三角函数线的数量.第一,规范特殊点的书写符号,如点(1,0)是单位圆与x轴正向的交点,就用A来表示;终边与单位圆的交点固定用P来表示,过P作x轴的垂线的交点记为M,则MP就是正弦线,OM就是余弦线.第二,由于三角函数线是有向线段,因而在用字母表示这些线段时,要注意它们的方向,分清起点和终点,书写顺序不能颠倒.凡含原点的有向线段,均以原点为起点;不含原点的有向线段,均以坐标轴上的点为起点.符号表示的规范化和程式化,便于解题过程中正确使用.

一、 三角函数线在三角函数学习中的应用

1. 解释三角函数定义

设α是一个任意角,它的终边与单位圆交于点P(x,y),则OM=x,MP=y与sin α=y,cosα=x相对照.用单位圆上三角函数线来解释三角函数,可以使正弦函数、余弦函数从自变量(角的弧度数)到函数值(单位圆上点的横、纵坐标)之间的对应关系更清楚、简单,突出了三角函数的本质,也使三角函数反映的数形关系更直接明了,为后面讨论其它问题奠定基础.

2. 方便记忆三角函数在各个象限内的符号

由三角函数线的作法和三角函数的定义可知,某一个三角函数在同一个象限内的符号是一样的.如正弦的符号取决于P点的纵坐标y的符号,余弦的符号取决于横坐标x的符号,若P点在第二象限,x<0,y>0.事实上,当P点在第二象限时,正弦线MP的方向是向上的,数量为正,余弦线OM的方向是向左,数量为负,因此第二象限的正弦为正,余弦为负;同样可得正切是负的.其余各象限内的三角函数的符号也可一一确定.

3. 明晰三角函数的定义域

对任意角α,正弦线和余弦线总是存在,只是其数量和方向会发生变化,因此它们的定义域是R.但当P点落在y轴上时,终边OP所在的直线就是y轴,与单位圆过A(1,0)的切线AT没有交点,从而正切线(有向线段)就不存在,因此当终边落在y轴上时,正切没有意义,也即y=tanx的定义域为{x|x≠kπ+π2,k∈Z}.

4. 加深对三角函数性质的理解

当点P从A(1,0)开始,按照逆时针方向旋转时,终边OP对应的角按照0→π2→π→3π2 → 2π→ …→4π→…的规律周而复始地变化着,正弦线MP的数量按照 0→ 1→ 0→-1→ 0 → …的规律周而复始地变化着,余弦线OM按照1→0→-1→0→1→…的规律周而复始地变化着,正切线AT按照 0→+∞→0→-∞→0→ …的规律周而复始变化着.当点P沿着单位圆按逆时针方向运动时,它的各个三角函数线的数量则显现出周期性的变化.特别的,正切线是由终边所在的射线或是它的反向延长线与单位圆的切线AT的相交得到的有向线段,它在P点沿着圆周运动一周时,正切线AT的数量重复变化了两次,从而正切函数的周期是正弦和余弦的周期的一半.

同样,当角α从-π2→-π4→0→π4→π2变化时,其正弦线的数量从-1→-22→0→22→ 1逐渐增大(长度变化:长→短→长,方向变化:负→正),即随着角α值的增大,正弦值相应增大,从而正弦函数在-π2,π2上是单调递增的.正弦函数在其他区间上的单调性、其他函数的单调性也都可以从它们相应的三角函数线的变化过程中得到验证.

5. 辨别同角三角函数的基本关系

由单位圆中构造出以任意角α的正弦线MP、余弦线OP为直角边的Rt△OMP和以OA、正切线AT为直角边的Rt△OAT.

在Rt△OMP中,MP2+OM2=1,得出同角三角函数的基本关系之一:sin2α+cos2α=1;

由Rt△OMP∽Rt△OAT,MPOM=ATOA,得出同角三角函数的基本关系之二:sinαcosα=tanαα≠kπ+π2,k∈Z.

6. 推导三角函数的诱导公式

由于单位圆具有很好的对称性,因此可以通过对单位圆上对称点对应的角的三角函数线来推导诱导公式.下面我们以诱导公式(二):f(π+α)=±f(α)为例来进行探究.

图1

如图1,设角α的终边OP与单位圆的交点为P,则P点关于原点O的对称点P′也在单位圆上,且终边OP′对应的角是π+α.观察角α和π+α的各三角函数线,正弦线分别是MP和MP′,余弦线分别是OM和OM′,正切线都是AT,且MP =-MP′,OM =-OM′,AT=AT,即有:sin(π+α)=-sinα,cos(π+α)=-cosα,tan(π+α)= tanα.

除了上面的一些应用外,三角函数线还有很多用处.比如,用三角函数线作三角函数的图象,并由此讨论三角函数和各项性质;用三角函数线推导三角公式等等,本文不再一一例举.

二、 三角函数线在解决数学问题中的应用

1. 求三角函数的值

例1已知cosα=-35,求sinα,tanα的值.

图2

解由cosα=-35,即余弦线OM=-35,如图2,作直线x=-35,与单位圆有两个交点P-35,45和P′-35,-45,可得到α是第二或第三象限的角,则由几何关系得正弦线MP=45,MP′=-45,AT=-43,AT′=43.即当α在第二象限时,sinα=45,tanα=-43;当α在第三象限时,sinα=-45,tanα=43.

2. 比较三角函数值的大小

例2设0<α<π2,试比较sinα与cosα的大小关系.

图3

解如图3,在单位圆中,sinα=MP,cosα=OM.

因为0<α<π2 ,所以sinα>0,cosα>0,即MP>0,OM>0,所以sinα=|MP|,cosα=|OM|.

当0<α<π4时,π4<∠OPM<π2,所以∠OPM>α,所以|OM|>|MP|,所以cosα>sinα;

当π4<α<π2时,0<∠OPM<π4,所以α>∠OPM,所以|MP|> |OM|,所以sinα>cosα;

当α=π4时,α=∠OPM,所以|OM|>|MP|,所以sinα=cosα.

综上,当α∈0,π4时,cosα>sinα;α∈π4,π2时,sinα>cosα;当α=π4时,sinα=cosα.

3. 求三角函数的定义域

例3求函数y=sinx+cosx-12的定义域.

图4

解由sinx≥0,cosx-12≥0,得sinx≥0,cosx≥12,

如图4,图中阴影部分(1)(x轴上方的半圆部分)和阴影部分(2)(扇形OPP′)的公共部分对应的角即为不等式组的解.

所以函数的定义域为x |2kπ≤x≤2kπ+π3,k∈Z.

4. 证明等式和不等式

例4证明:cosx1-sinx=1+sinxcosx.

图5

证明将正弦和余弦值分别用正弦线和余弦线的数值代入,由图5知,本题即证OM1-MP=1+MPOM.作PR⊥y轴于R,即证RPRB=B′RRP.

而此式是Rt△PBB′中的射影定理,故所证命题成立.

例5已知α∈0,π2,求证:sinα<α< tanα.

图6

证如图6,因为0<α<π2,所以 sinα=MP>0,cosα= OM>0,tanα=AT>0.

因为S△OAP<S扇形OAP<S△OAT,所以12OA·MP<12·α·|OA|2<12OA·AT,

即MP<α<AT,所以sinα<α< tan α.

5. 解决三角综合问题

例6求证:cos (α+β)=cosαcosβ-sinαsinβ.

图7

证明如图7,∠AOB =α,∠BOP =β,作PQ⊥OB于Q,PM⊥OA于M,QN⊥OA于N,QG⊥MP于G,则GQ∥OA,所以∠AOB=∠OQG =α.

又因为PQ⊥OB,所以∠QPM= α,由三角函数线定义,有

cos (α+β) =OM=ON-MN=ON-GQ=OQcosα-QPsinα=cosαcosβ-sinαsinβ.

三角函数线是通过有向线段直观地表示出角的各种三角函数值的一种几何表示方法,它是数形结合思想在三角函数中的充分体现,熟练掌握三角函数线的概念及应用,对于开阔思路、提高解决问题的能力,很有益处.

巩 固 练 习

1. (1) 函数y=sinx|sinx|+|cosx|cosx+tanx|tanx|的值域为.

(2) sin1,cos1,tan1的大小关系是.

(3) 满足|cosα| >|sinα|的α的取值范围.

(4) 设MP和OM分别是角11π18的正弦线和余弦线,则给出以下不等式:① OM<0<MP;② MP>OM> 0;③ OM+MP>0;④ MP+OM >1.

其中正确的是.

2. 求函数y=lg(2sinx-1)+1-2cosx的定义域.

3. 证明:若α为锐角,则sinα+cosα>1.

4. 证明:1+tan2α=1cos2α.

5. 若sin2x>cos2x,求x的范围.

篇8:c语言学习总结

c语言学习总结篇一:

怎么才能学好c语言呢?

1,要学习c语言的基本语言及程序结构,这时谭浩强的那本书就比较经典了。c语言学习心得。当然你不能只看书,要动手动写代码,去上机测试。因为很多时候写程序就是一个测试,你就是再牛的程序员也不能可写出没有bug的程序,所以学会找出程序中的错误很重要。这也是你以后分析他人的程序的先决条件,不可偷懒只看书,这样你是不可能学好一门计算机语言的。

2,分析他人写的程序,网上有很多实例代码,下载下来自己先看一下他们的实例是解决什么问题的,有时候很多经典的模块可以为已所用的。不过,网上下的代码中会存在很多问题,环境问题啊,编程习惯问题了,不过也好,在解决问题的过程中你会学到很多东西的,像我在分析网上下的代码时就遇到了我平时没有遇到的dos函数,masm与c语言的接合等方面的问题,学到了不少东西呢。

3,要是你再想学的深一点儿,那还得学习,及,再深就要去分析linux内核或是驱动程序了,这因人而异。但不管怎么学,一定要有个方向,有计划,这样才会事半功倍。c语言学习心得。如果你能找到你想学习方面的高手指导,或是几个人一起学的话那就更好了。

4,分析c语言函数的实现方法。这对你很好地使用函数会很有帮助的,再者很多大公司的笔试题就是让你实现c语言的数,比如:中兴的strcpy,阿里巴巴的strcmp,上海贝尔公司宣讲会上一个技术总监说,要是谁能说出printf的实现方法及返回值,当场录用。再者,c语言经过这么多年的考验,仍然很热门,可见其开发是多么经典啊,学习一下c函数实现,比学习任何书都要好。要是再有兴趣的话就分析一下c的头文件,这也是个不错的学习方面。c语言学习总结篇二:

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

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

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

原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

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

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

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

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

3。学习上机调试程序

完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。

篇9:C语言学习心得及报告

学校:西安航空学院

系别:电气系

班级:过控1409

姓名:兰敏

学号:1***3

前言

两个原因促使我写下这篇文章,第一就是作为过来人根据我自己的经验我知道编程的初学者 一般都很兴 奋也都有种困惑,一方面对运行在计算机(注:不特别指明都指个人微型计算机)的五花八门如精彩的游戏程序,多姿多彩的网站等等漂亮的视窗程序所着迷,另一方面大部分的初学者(如计算机专业的低年级学生)都是从简单命令行程序“Hello world!”开始入手而且很长一段时间都无法接触到日常经常使用的视窗程序,由此好奇者有之,迷惑者有之等等,更遗憾的是也有少部分人因为困惑对编程逐渐失去兴趣。第二就是今天妹妹看C程序设计语言的人读碰到一个例题没有看懂,而作为计算机专业毕业的老哥自然义不容辞地承担起了讲解的任务,在噼里啪啦的大说之后,老妹终于弄懂了例题程序的意思,但仍然不过瘾,竟然问起我如何学好C语言,弄得我心一惊,这里我还是有点自知之明的,因为我知道我并不是什么大师,甚至自己对计算机世界也经常是一片茫然,不过看着她那“崇拜”的眼神,不说点什么似乎有点不大好,只好硬着头皮把自己以前的一些理解讲了一番。所以既然知道有这个需要,尽管自己见识浅薄,也抱着“区区陋见假如能够对后学者能够有所帮助那是再好不过了,即使有所偏颇当当笑话看看能有助于大家饭后生活也是美德一件”的心 情就写下了这篇文章。

简介

我是很乐意将计算机(程序设计)语言跟人类语言做类比的,在我看来学习程序设计语言就想学习外语一样,通过计算机语言与计算机交流就如同在使用外语与老外交流一样。通常学习语言比如英语有单词,语法,语义三个部分组成,单词是构成语言的最基本的要素,语法告诉我们单词如何构成语句,语义则告诉我们单词构成的语句的意思,类似的程序设计语言中也是有[1] “单词”,“语法”,“语义”三部分组成,其中跟人类语言一样,“单词”“语法”是基础,而为达到交流的目的“语义”是整个程序设计语言的重点。当然相对人类语言(以英语为例)而言程序设计语言(以C语言为例)显然要有简单得多的组成,所以这里我们要首先确立自己对学好程序设计语言的信心。下面试加以说明,其中可能有些类比不太适当,不过好像也差不多吧,你自己也可以试着举出更好的例子以使自己更容易明白,我这里就抛砖引玉吧。

先从“单词”谈起,在英语中就是由26个英文字母以及26个英文字母构成的单词组成,学习语言我们首先应该记忆的就是“单词”,26个英文字母A,B,C,„„然后就是令人头痛的英文单词,记忆的过程是痛苦的至少我学英语时最恼火的地方就是反复记忆老是忘记的单词,类似的在C语言中我们可以作这样的类比,C语言的单词是由26个英文字母、数字(0,1,2„„9)、运算符以及其他特殊符号组成,所以相比而言学习C语言是多么的幸福。

“语法”,在英语中是如常见构词法、时态、常用句型、特殊用法、固定用法等等(呵呵,不是语言专家如有兴趣可以参考英语语法书籍),仅拿构词法来说动词后面加er就变成名词(work-worker),名词后面加y就变成形容词(wind-windy)等十多种变换还要记忆些特殊变换,复杂且繁琐,假如算上时态、句型等那就更复杂了。在C语言中也同样也存在有语法,比如标识符、常量、表达式、数据定义、函数定义、变量初始化、语句构成、预处理命令等大致8种语法,如标识符[2]可由字母、数字以及下划线组成,且必须以字母或下划线开头,区分大小写,另外在不同的编译器中字符数目有不同的规定,一般为7个字符。不过这里有些可能会被忽略的就是书写格式,在C语言中书写格式也是需要被注意的,因为格式也可以当作C语言的语法项目,如语句是以分号‘;’作为结束的标志的而不是以换行作为结束标志,其实英语也有要求比如什么时候该使用句号什么时候该使用逗号等等只不过我们日常要求并不注意,而且也可以看的懂所以不太较真。

总结

综上所述我们要学好一门程序设计语言首先就要像学习英语一样先熟记至少要熟悉这门语言的“单词”和“语法”然后才能谈得上使用,俗话说“万丈高楼平地起”,学好C语言的必要前提就是先打下坚实的C语言基础,所以潭先生的书作为一本很好的教材,我建议是不能丢的,而且还要反复看,至少刚开始我学习的时候上机机会不多,就是反复看懂看明白这本书,有些东西该记的还是要记尤其是一些重要的语法比如标识符、数据类型、语句的特点、函数的占式结构,指针的意义等等。

最后始终记住这点在没有实践之前,先打下坚实的理论基础吧,毕竟理论是实践的先行,理论可以更好的指导实践。即使再低点的要求至少要先熟悉理论吧,毕竟“摸着石头过河”感觉还是盲目以及痛苦的

“语义”即语句的意思、含义。同人类语言一样,程序设计语言最重要的目的还是“交流”,所以写一段没有任何作用的代码就如同说一句没有任何意思的话是没有意义的,在这一点上两者是共同的,至于在其他某些方面两者也有惊人的相似之处,试举一例吧,比如说可以有不同的表达表示同一个意思,如微型计算机同个人计算机就是同一个意思,在C语言中比如要让变量i自增1,可以有i=i+1或者i+=1等等。不过与人类语言相比,程序设计语言毕竟是与计算机交流,交流对象计算机与人类的不同也决定了程序设计语言与人类语言还是有所区别,甚至可以说是存在巨大的“鸿沟”,这也就是学习程序设计语言的重点。

与人类相区别,计算机最大的不同之处在于没有“自己”的“思维”,没有像人类那样丰富的感情,所以在交流过程中对于人类的跳跃性的思维,对于人类的“幽默”无法理解也没有丝毫的兴趣。比如说对与同样一句话“Do it”,在不同的场景不同的说话语气,对10个人来说就会有10种不同的回答,有的人可能会认为这是合理的要求,有的人可能会认为这可能是个玩笑而不与理睬,有的人则可能认为语气要求有些过分而感到非常愤怒„„,但对所有的计算机来说则是严格执行。不过也正是由于计算机“机械”“笨着”的可爱而深得人们的喜爱并被广泛使用,因为对我们来说,计算机就像一个忠实的士兵一样在执行我们的命令并且作为指挥者,当然我们希望计算机在合适的时间干切当的事情。而要达到这个目的,很凑巧有点类似于社会的“权利与义务”法则一样,我们也有自己的义务那就是下达明确而又正确的“命令”。

首先明确,即我们要在与计算机交流时“语义”必须明确,否则计算机将无所适从,因此作为交流工具的程序设计语言的“语义”也必须是能够明确无二义的。当然程序设计语言的设计者已经注意到这一点,在设计时就回避了这个问题,所以我们——程序设计语言的使用者——程序员也就无须过多关注这点,也就是说使用何种程序设计语言(C,Basic,Pascal等)并不是我们要关注的重点。其次正确,包括正确的输入以及正确的逻辑。由于计算机 “忠实”得有点“盲目”以至于对事情的对错毫无判断力,就像一把枪一样,在警察手里它就是正义的化身,而在土匪手里就成了恶魔的代言人,因此要时刻记住计算机是没有错的,“错误”掌握在我们自己手里,这也就决定了我们在编程时是不是应该投入更多的精力来纠正我们自己所犯下的错误上面来?除此之外,我们智慧的结晶——程序,在我们的上帝——顾客,在程序的使用者看来就像个黑匣子,他们只管输入哪怕是错误的输入却同样期待能得到正确的结果,而对于上帝我们除了祈祷和期望之外还能有什么选择?因此对于输入的不可预期的程序源数据,我们是不是也应该花更多的时间进行处理呢?

先小结下,由于我们在编程时需要对于输入的不可预期的程序源数据以及提高我们自己的逻辑正确性花费更多的时间,因此这也就是我们编程训练所应该关注的重点,而不是关注于何种实际的程序设计语言。

为了加深印象,下面我们举个实际的例子来说明这点。先看题目要求“输入一行字符串(全字母或空格),统计其中的单词数量,单词之间用空格分开”,应该说这是个简单的题目,有些人可能一看到这个题目很快就给出了自己的答案。如有些人会想单词是以空格分开的,我们统计其中空格的数量再加上最后一个单词不就是单词的个数吗,因此便很快给出如下答案。

/*Program1*/ #include main(){

char string[81];

int i,num = 0;

char c;

gets(string);

for(i = 0;(c=string[i])!=';i++)

if(c == )

num++;

printf(“There are %d words in the line.n”,num+1);}

编译运行,然后输入“I am a student”,得出正确答案“There are 4 words in the line.”在输入几个类似的测试用例,都得出正确答案,最后确信无误便自信满满的交出自己的答卷。应该说正确的输入情况下,这个程序毫无疑问是能够正确运行的,但这种正确性是非常脆弱的,你不能指望用户和你一样聪明并且不犯错误,何况即使是神仙那也有打盹的时候。假如用户输入“ I am a student”,“ I

am a student”,“

I am a

student ”„„这种情况下,你是不是应该重新修正你的思路呢?现在我这样考虑一个单词应该是字母后面紧接着一个空格或者结束符号,所以重新写下如下程序。

/* Program 2*/ #include main(){

char string[81];

int i,num = 0;

char c;

gets(string);

for(i = 0;(c = string[i])!=';i++)

if(c!= &&(string[i+1] ==|| string[i+1]== '))

num++;

printf(“There are %d words in the line.n”,num);}

运行一遍,发现结果是正确的,单词之间不管你是有几个空格,不管是两个也好,三个也好都能够正确运行,但是回过头来我们看下这个程序是不是还有些可以改进的地方呢?我们再看如下一个程序 /* Program 3[3]*/ #include main(){ char string[81];int i,num = 0,word = 0;/*word标志位*/ char c;gets(string);for(i = 0;(c = string[i])!=';i++)

if(c == )word = 0;

else if(word == 0)

{

word = 1;

num++;

} printf(“There are %d words in the line.n”,num);}

输入测试用例也能够完全正确,看看源程序,其中增加了一个标志位便把所有的情况给考虑进去了,相比前一个程序,程序2就是直白的描述了解题的思路,而程序3看起来好像不好理解但似乎更能满足我们作为“天才程序员”的欲望,这也就是编程时使用的一些小技巧。

总体比较三个程序,可以说类似程序1的错误——逻辑错误是我们程序员比较容易犯的,也是在编程调试过程中最费时间的,至于语法错误编译器可以很快的给我们找出错误的地方程序2逻辑正确但相比程序1思路要更难想到,程序3思路不但正确而且还在编程的过程中使用了一些编程技巧,所有这些开阔的逻辑思路(解决问题),快速的调试方法及过程(发现错误),累积的编程技巧(让程序让“好看”)都需要我们在编程实践中去获得,这是宝贵的经验也我们作为程序员最珍贵的地方,而且最重要的这些经验是属于我们自己的,独一无二的。

综合上面的叙述,我们把编程看成程序设计语言的“单词”“语法”“明确的语义”“正确的语义”四个部分,可以看出前面三个部分是几乎所有的程序设计语言自身所具有的,“单词”“语法”不同的程序设计语言有所不同,但如果你仔细观察所有的程序设计语言,可以分成几类,而且有很多地方也有相通的地方,有点像一通百通的味道,这也就是为什么很多有经验的程序员可以在很短的时间就能熟悉其他语言的原因。至于“明确的语义”这是所有的程序设计语言都应该具备的,只是表述的方法由于程序设计的“单词”“语法”不同表述不同而已,但让计算机明白该做什么这点是相同的。最后“正确的语义”包括开阔的,正确的逻辑思路以及发现并纠正错误的能力则是属于我们自己的,这也是我们区别于其他人的地方,这些都需要在经常性的编程实践中去积累去开阔,所以是我们所应该关注的重中之重。

跟许多前辈一样,我是建议初学编程者先熟练掌握一门语言的,至于怎么学习,我想书本是纲领,我们首先要熟悉一门语言的粗枝大叶,在编程的过程中不至于老是去翻书查找一门语言的基本语法,比如说函数的传递方式,函数调用的一些特点,这样不仅非常浪费时间而且一直困扰于语法中使得自己有种身缘“庐山”中的那种非常迷茫的感觉。就向施工一样,建造一个茅屋可能没有图纸,抱着边建边看的态度兴许能完成(事实上你自己脑海里至少也有个大致的样子),但要建造一座大厦,没有图纸,困难可想而知。当然光有图纸还是不够的,我们可能在施工的过程中发现一些问题,这样我们在慢慢修改原来的方案或者原先有些地方描述不清楚通过具体施工确认我们的想法。因此编程实践同样不可少,编程实践不仅可以“让语义正确”即开阔编程思路,发现错误(调试),累计编程技巧,而且可以在编程过程中熟悉这门语言,熟悉这门语言的细节部分,但也请记住这些细节虽然重要,但也仅仅是细节。当然光看书,光有理论那也是不行的,有“纲领”而没有“章程”,有“纲领”而没有实施那同样也是没用的,毕竟实践是检验真理的唯一标准,实践过程中给理论修枝剪叶。

总得来说熟悉一门程序设计语言的语法是编程实践的先行,而编程实践是可以更好促进对程序设计语言基本语法知识的理解和熟悉,而积累的宝贵的编程经验则我们自己最珍贵的地方,最独一无二的地方,是所有程序设计语言所没有的。写到这里,我想现在应该是回答第一个问题的时候了,有人说我学了

这么长时间的C语言还是没编过一个漂亮花哨的程序,编出来的都是丑陋的而且看起来没什么价值的程序,一点自豪感都没有便丧失了对编程的兴趣,为什么前面我一直强调一门语言丰富的编程经验是你最珍贵的地方呢?原因就在于编程不仅仅是把我们的想法把我们的思路用程序设计语言写下来就够了,要得到实际运用还需要与计算机的其他知识如网络,低层硬件,图形图像,开发环境等,甚至还有其他学科知识比如自动控制,通讯等相结合,而这些知识需要我们在以后的学习过程中学习,比如一些后续课程,数据结构与算法,操作系统,数据库,计算机网络,软件工程等等,如果有兴趣你也可以在以后的课程中专门学习视窗程序的编程,或者也可以学习自己做个网站,那会就真的是有自豪感并且货真价实的了。当然那会可能你会有另外的想法比如说做嵌入式程序员,网络程序员,甚至去搞算法研究等等了。不管你选择做什么,书本知识都是大家所共有的,是全人类的财富,而自身的知识,尤其是经验却实实在在是你自己的,最后我还想强调一遍,这是我们最珍贵的地方。

所以在此之前,我知道打基础是痛苦而且没有多少成就感的过程,但是在化蛹成蝶之前,我们还是要继续我们做而且认真的做我们的毛毛虫,因为我们知道我们会有变成美丽蝴蝶的那一天。

我的心得体会

通过一学期对C语言的学习,我感觉学习C语言是有一定难度却又是非常有趣的科目。也是很有帮助的,特别是对将要面对的计算机二级考试。这段时间的学习我知道了C语言的基本特点有以下几点: 1.语言简洁,使用灵活方便。2.运算符丰富,表达能力强。3.数计类型丰富。

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

7.程序设计自由度大,可移植性好。

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

上一篇:甲虫童话故事下一篇:新班长上任发言