- 相关推荐
c语言实验初学心得体会
在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
看了一段时间的《C和指针》,这样看的效果不是很好,看着书本当时是懂了,有点恍然大悟的感觉,但是发现并不能真正的把理解的内容加入到自己程序当中,不能很好的去运用它,所以对于C语言我认为理论加实践,是学习C语言的最好方法,看书并不能完全理解书中的内容,也较容易遗忘,学习效率比较低,所以现在学习《数据结构》,在看书的同时,会在Microsoft Visual C++ 6.0软件上实践,严蔚敏写的《数据结构》这本书,比较经典但是这本书是伪算法,并不能直接在计算机上运行,对于初学者上机实践比较困难,另外说一下,我认为学习应该是在模仿中理解,在模仿中创新,所以我选择结合高一凡写的书《数据结构算法实现及解析》,这本书严蔚敏写的伪算法全部用程序实现了,给我上机实践提供了很大的帮助,貌似说到数据结构了,呵呵,回到正题,下面继续说说C语言。
指针是C语言的精华,也是C语言的难点,它就像一把双刃剑,锋利无比但运用的不好也会给自己带来危害,后果比较严重,所以重点来说说指针。
很多初学者弄不清指针和数组到底有什么样的关系,为避免混淆不清,下面总结一下指针和数组的特性。
指针是保存数据的地址,任何存入指针变量的数据都会被当作地址来处理,指针变量本身的地址由编译器另外存储,存储在哪里,我们并不知道,间接访问数据,首先取得指针变量的内容,把它作为地址,然后从这个地址读或写入数据。
指针可以用间接访问操作符(*)访问,也可以用以下标的形式访问,指针一般用于动态数据结构。
数组是用来保存数据的,数组名代表的是数组首元素的地址而不是数组的首地址,所以数组p与&p是有区别的,虽然内容相同,但意义却不同,&p才是整个数组的首地址,数组名是整个数组的名字,数组内每个元素并没有名字,不能把数组当一个整体来进行读写操作。
当然数组在初始化时也有例外,如int p[]=“12345”是合法的。
数组可以以指针的形式访问如*(p+i);也可以以下标的形式访问p[i],但其本质都是p所代表的数组首元素的地址加上i*sizeof(类型)个字节作为数据的真正地址来进行访问的。
数组通常用于存储固定数目且数据类型相同的元素。
刚开始的时候我
有点分不清指针数组和数组指针,现在也总结一下,指针数组,首先它是一个数组,数组的每个元素都是指针,可以理解为“存储指针的数组”的简称,数组指针,首先它是一个指针,它指向一个数组,在32位系统下永远只占4个字节,至于它指向的数组有多少个字节,并不知道,可以理解为“指向数组的指针”。
举个例子,int *p1[10]与int (*p2) [10], 要理解这个问题,首先要清楚操作符的优先级,“[]” 的优先级比“*” 的优先级高,所以首先p1与“[10]”结合构成一个数组p1[10],int *为修饰数组的内容,所以数组元素是指向int类型的指针,所以这个是指针数组,“()” 的优先级比“[]” 的优先级高,“*”与p2结合构成一个指针变量,int修饰数组的内容,即数组的每个元素,数组这里并没有名字,是个匿名数组,现在清楚了p2是一个指针,它指向一个包含10个int类型数据的数组,即为数组指针。
下面再说说内存管理,内存分为三个部分:静态区、堆、栈。
其实堆栈就是栈,而不是堆。
静态区是保存自动全局变量和static变量。
静态区的内容在整个程序的生命周期内都存在,由编译器在编译的时候分配。
堆是由malloc系统函数分配内存的。
其生命周期由free和delete决定。
栈保存局部变量。
栈上的内容只在函数范围内存在,当函数运行结束,这些内容也会自动被销毁。
再说说有关内存需要注意的地方,定义了指针变量,在使用之前一定要初始化使它指向一块合法的内存,不管什么时候,我们在使用指针之前一定要确保指针是有效的。
使用malloc系列函数分配内存,使用完之后应及时释放内存,以防止内存泄露。
最后总结的说一下学习C语言的方法就是编程编程再编程,理论学习与上机操作同时进行,另外在编程序的过程中要养成良好的编程习惯。
C语言是一门低级计算机编程语言,设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言也很适合搭配汇编语言来使用(往往可以通过内联汇编语言或与汇编语言目标文件一起连接。
对于任何一种操作系统环境,C函数的ABI与汇编语言的子过程
刚开始学C语言的时候,很迷茫,在此之前从没有接触过C语言,有点摸不着头脑。
可是在上机过后,我觉得编程是很有趣的一件事。
我知道要学好C语言不容易,可是我决定完成这件不容易的事。
要学好C语言就要先懂得最基本的语法知识,看课本是必需的。
我觉得看不懂也没关系,尽力去理解就好了,在对知识有了一个大致的了解过后,就要上机实践。
学习C语言一定要动手,只看不做,眼高手低是不行的。
最开始可以打书上的例题,熟悉程序,慢慢的开始试着编程。
在编程时要理清自己的思路,然后再转换成C语言中的语言,这个时候就更要动手了,只有通过上机操作才能验证自己程序的正确性。
执行程序,不要害怕错误,其实,我觉得错误是好的,知道了自己所学知识的不足,并根据提示改正程序中发生的错误,一种成就感油然而生,觉得自己的付出都是值得的。
良好的编程习惯是学好C语言的重要因素,只有勤动手,多动脑才能学好C语言,光说不练是不行的。
经过第一阶段对语法的学习,我觉得实例阶段应该是一个过渡阶段吧,通过前一阶段对语法的学习之后,可能有很多概念我们都比较模糊,或者说很多东西太抽象了,这就为我们第二个阶段的学习做好了实例化的准备,可以这样说吧,第一个阶段就我们为我们的学习一样东西而构建的一个类,里面讲了我们应该在这里面要做什么?第二阶,也就是本阶段,我们就应该去把前一段的东西具体化,那怎么个具体化呢,练习一些小例子,从网上下载的电子书上有很多这方面的例子的,如果有自己去书店买书的话,里面也应该提供了不少,里面的例子,我是每次都打了一遍,也许有的人不会亲自去用手打一遍,什么copy等,当然这样也行,但我个人认为,对于初学者来说,最好还是自己动力打一遍比较好,毕竟这些东西对我们来说,都比较陌生,如果每个字都自己打完的话,有些代码你不想记住也难了,在这里,我们得弄懂练习的每一个例子,如果能把一些例子稍稍修改,弄懂里面精髓的东西,让自己知道为什么这样做,那么是最好不过的了,我平时练习时,这一步是少不了的,都习惯了,所以也就成了条件反射,想不这样都不行。
最后,我们就应该汇一下总,把前面做过的例子里所用的技术理一下,再做一个比较大的例子,尽量把到目前为止所懂的知识全部应用到里面去,只是尽量,当然有些东西是不能集成到一起的,也是是代码之间的排斥性。
学习C语言需要的是坚持下去的毅力,认真对待每次错误的耐心,还有孜孜不倦的努力。
拥有一个良好的心态,相信自己,你就会发现学好C语言不再困难!
说到我学习C语言时,真是用千言万语呀!记得刚开始学的时候,我的C语言学的并不是很好,学期都过了快一半了,对C语言还是一知半解的,我是第四小组的组长,组长的职位给我了很大的压力,我一直认为做学问都要做到这一点,要么做到最好,要么就不去做它,本着这样一个心太,我下了一个决心就是要学好C语言,开始我用了最笨的方法,就是一个厚厚的本子,一支笔,一本C语言书,天天有事没事抄程序,不管什么程序,我都不放过,一个一个的抄,抄了有好几个本,回到宿舍就在机子上调程序,一个月过去了,老师让做C语言项目,是一个学生成绩管理系统,在当时这样一个项目对我们来说真是难度不小,可是我本着一个试一试的心太去做了,一个打死我都不敢相信的奇迹出现了,这个程序我写出来了,而且几乎是一气合成,而且只用了一个晚上的时间,写了足足有六页的代码,看着写在本子上的代码我有点不相信,这怎么可能呢,当晚我没有睡着觉,高兴啊,谁能睡的着。
做这个项目让我明白了一些道理,再大的程序也是有不同的小程序组成的,因为我天天抄程序,抄的全是小程序,做这个大点的程序的时候我发现全是一个一个的小程序,抄了一个月的程序,当然能很顺利的就写出来了。
后来我明白了,抄程序是最笨的方法但我认为它是进步最快的方法,抄程序是积累经验的时候,而做项目才是真正把所学为所用的时候,可以说只有你做一个大点的项目出来才能真正是说明你学到了东西,你会用所学的东西,要不然就算你学的再多,不会用也没用啊,我还发现有很多同学,在学飞C语言的时候比我学的要好,可是他们却做不出来项目,就是说学会了但是不会用,那我说还不如不学呢。
有点浪费时间。
做学问特别是计算机一定要做的精准,比如说一个语句一个关键字,你一定要把它几乎所有的用方法都能清楚明白,比如说print语句,对于它你一定要明白什么时候用“‘,这些你都要非常的清楚明白,要不然说不定那一天你用会碰上麻烦事,一句话要学精了,语法掌握住了,接下来就是写程序了,其实抄程序并不是说一直没有目的去抄,你会发现当你抄一段时间以后就不用再抄了,因为大部分都是一样的你一看就知道怎么写了,当你一看到程序就知道它什么功能,那里有错的时候,那你的成绩可是进步不小啊,这并不需要太多的时间,只要你用心一个月足够了。
跟大家说几点经验1.在学习的时候一定要注意这几点,不会的一定要问明白,不管谁能让他教会你知识就是你的了,要学会让知识为我所用。
在看书的时候一定要做好标记,特别是不懂的地方一定要标明是什么意思。
2.在学习语言的时候一定要记住动手,不要只说不做,这样会行成眼高手低,不管什么样的程序都要亲手做过才能说会了,不要整天说我不会学不会,其实是你不想学,只是你下决心抄一个月程序,我保证我能有大的进步,其实当你抄到一周到两周的时候你就会特想抄,因为你会发现程序你能看懂了,能帮别人调程序了,有一种成就感呀!它会让你更加努力的去学习。
3.再一点是我建议大家在上课的时候少看课本,课本要在下课的时候看特别是上课前一定要先看看课本,上课的时候呢就不要看了,不要老师讲到那个问题了你马上在书上找,这样不好,会影响你的注意力,其实还真不如注意听老师讲呢?因为你要是一边听一边看课本,你是看到了书上的答案但是老师的思路你没有听到,而要是你不看的话,你听明白了思路,一定是想迫切的看到结果,这个时候看课本才是记的最死的时候,学习要的是就是个效率吗?
4.提醒大家学习要讲效率,我发现有很多同学天天学习,每天最早到教室,走的又最晚,别人玩他在学,别人学他也学,可是别的一天30%的学习时间却比他们一天50%以上的学习时间的效率要高上不仅仅是几倍的问题,所以我要说的是不要对别人说你天天在学习,要说你天天在进步,学习不是要你学习了多久是,是要你学了多少东西的,你学一小时还没有别人学一分钟的效率高,难道自己不是浪费时间吗?不想学的时候就不要学,出去玩一会儿再来学说不定会有更好的效果。
希望这些经验能跟大家分享一下,最后还是要跟大家强调一点,抄程序是学好C语言的最好最快的方法。
【c语言实验初学心得体会】相关文章:
初学者学习c语言的方法09-30
c语言实验心得体会11-14
c语言实验总结怎么写10-18
研究C语言计算机编程实验10-01
c语言心得体会03-29
学习c语言心得体会05-02
c语言简历10-08
c语言的学习心得体会04-20
C语言实习的心得体会04-26