2023年c语言作业实验心得在科技高度发展的今天,计算机在人们之中的作用越来越突出而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了我主要存在以下的这些缺点:1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了而在最后输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解题了3、4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够深刻5、6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。
英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在一点问题为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好实验中我深刻意识到完成程序的编写,决不意味着万事大吉认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更多由此可看出上机实践的重要性通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过""但随着练习的增多,我对C语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。
当然,我还得感谢老师的指导与帮助,如果没有老师和其他同学的指点,我可能对C语言还是一筹莫展,在实验中遇到的大大少少的问题与所犯过的错误将是我以后的要加以注意的地方与认真审查的部分,为我奠定坚固的基石伴随着学习的深入,我发现高深的东西还有很多很多,不懂不熟的知识还有很多,所以我不能停步,对C语言,我以后会更加努力学习的2023年c语言作业实验心得指针是c语言的精华,也是c语言的难点,它就像一把双刃剑,锋利无比但运用的不好也会给自己带来危害,后果比较严重,所以重点来说说指针很多初学者弄不清指针和数组到底有什么样的关系,为避免混淆不清,下面总结一下指针和数组的特性指针是保存数据的地址,任何存入指针变量的数据都会被当作地址来处理,指针变量本身的地址由编译器另外存储,存储在哪里,我们并不知道,间接访问数据,首先取得指针变量的内容,把它作为地址,然后从这个地址读或写入数据指针可以用间接访问操作符(×)访问,也可以用以下标的形式访问,指针一般用于动态数据结构数组是用来保存数据的,数组名代表的是数组首元素的地址而不是数组的首地址,所以数组p与&p是有区别的,虽然内容相同,但意义却不同,&p才是整个数组的首地址,数组名是整个数组的名字,数组内每个元素并没有名字,不能把数组当一个整体来进行读写操作。
当然数组在初始化时也有例外,如intp[]=“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语言的方法就是编程编程再编程,理论学习与上机操作同时进行,另外在编程序的过程中要养成良好的编程习惯2023年c语言作业实验心得试验目的1、掌握一维数组和二维数组的定义、赋值和输入输出的方法;2、掌握字符数组和字符串函数的使用;3、掌握与数组有关的算法特别是排序算法二、实验内容教材习题P1527.2三、算法流程图四、程序清单includevoidmain{inti,j,min,s,a[11];printf“请输入数组“;fori1;i10;i{printf“a[d]“,i;scanf“d“,}printf““;printf“原数据为“;fori1;i10;iprintf“5d“,a[i];printf““;fori1;i9;i{mini;forji1;ja[j]minj;sa[i];a[i]a[min];a[min]s;}printf“排好序的数组为“;fori1;i10;iprintf“5d“,a[i];printf““;}五、运行结果六、实验总结(调试分析和体会)这个星期我对使用数组进行程序设计的学习,在之前的基础上,我更加努力,课前先预习,上课认真听,经过我的努力我进步了很多,虽然有了很大的进步,但在学习上还是存在很多问题。
但这次的作业比上周的条件结构程序好多了经过自己的努力,我已经掌握一维数组和二维数组的定义、赋值和输入输出的方法;掌握字符数组和字符串函数的使用;掌握与数组有关的算法特别是排序算法这一单元数组跟以前的选择结构程序设计和循环控制相比,内容要繁琐得多,程序语句没有以前那么明了,要经过认真的思考,在经过自己思考后,即使是自己懂得算法的原理后,要来调程序又困难重重,一个程序要经过认真思考和反复的调试程序,才能完成在多次的练习下,我基本上能结合程序掌握一些算法通过多次的实验操作,我的操作能力有了很大的进步,但在学习的过程中并非一帆风顺,特别是在对程序的语句上,问题特别多但我经过耐心地操作和虚心地请教终于掌握了正确的操作方法8。