第一篇:编程心得liquan
通讯录系统设计心得体会
计算机学院 数字媒体1102
李权201107120218
在这一次课程设计中,我们所选择的是设计一个校友通讯录,这对我们来说是一次尝试与创新的过程,也可以说是一个挑战的过程,毕竟以前没有作过,缺少经验。现在利用自己学到的知识设计并制作一个校友通讯录的系统,这本身就是一个知识转化为生产力的过程,所以大家都很兴奋,不同程度的投入了很高的热情与努力。虽然有的同学没能帮上忙,但也在默默的给我们加油。
在具体的设计与实施中,很确实的说,我刚开始的时候真是有点不知所措,不知该从何处下手,但接下来的几天,我通过查询资料和查看别人的程序,对这个设计渐渐的有了一点感觉,慢慢的投入其中,思考并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,并使自己对编程有了新一步的认识,而且使自己感受深刻。
在设计中我们基本能按照规范的方法和步骤进行,首先对现有的系统进行调查,并查阅有关资料,最后确定设计方案,然后设计并制作,实施过程中我们深刻的认识到认真执行管理系统软件标准的重要性,我们由于对管理系统软件相关的标准和规范不太了解,缺少行为操作准则,所以在设计中手法比较生硬,主与次也没能很好把握住,这些方面通过这次我们都要加强了解。
在这次课程设计中,我们被分配以小组为单位去完成校友通讯录系统的设计与制作,所以小组内的分工和相互协调很重要,大家可以在分工中扬长避短,个及所长,这样可以很好的提高大家的积极性,和合作意识,并有效的缩短开发时间,但我们在这方面做的还不够,缺乏人员管理与沟通,导致人力资源浪费,可以说是不足之处,且迫切的需要思考和改进,这一点必须指明。这在以后的工作与学习中将会非常重要。
在设计的过程中我先对程序进行了简单的分析,该程序主要实现的功能有输入校友通讯信息,实现信息的浏览,查询,修改功能,并将数据保存至文本文件。
首先经过分析后我将该程序分为六个小部分进行实施,对于多数人信息的储
存与浏览系统,我们先建立一个结构体数组对这些信息进行储存,其他的分为五个子函数和一个main函数,使用主函数对其他函数进行调用,在输入的设计中我们使用的是for进行循环,在for内部进行信息的输入,并在语句中插入if判断语句,加入break,进行循环跳出。浏览功能中我们只是简单的运用了for语句对储存信息进行整体输出,结束为判断年龄是否为0,查询的设计中,我们运用了字符串的比较函数strcmp(),进行信息的匹配与查询,再修改设计的过程中,我的设计是先调用上面的查讯函数,进行判断,是否为真,再进行对个人信息的编辑修改,再保存的设计过程中先定义文件指针,使用fopen 打开文件,再使用fprintf将输入的信息保存到磁盘中存储到.txt文档中,最后使用fclose关闭文件。最后是用main函数进行对子函数的调用,并进行了界面的设计使界面美观和舒适。
通过这次的设计,我学到了很多,同时也学会了细心与耐心的培养。我想这在将来的工作或者社会“旅程”中都将起到很大的帮助。更多的是团队的合作不仅是一个能够更好的完成任务的前提,同时也使我明白了如何与他人配合,如何与他人相处。本人在多方面都有所提高。综合运用C语言课程的理论和生产实际知识进行一次通讯录设计工作的实际训练从而培养和提高学生独立工作能力,巩固与扩充了程序设计等课程所学的内容,掌握程序设计的方法和步骤,掌握程序设计的基本的编程技能懂得了怎样分析程序的工艺性,怎样确定工艺方案,了解了程序的基本结构,提高了编程能力,熟悉了规范和标准,独立思考的能力也有了提高.
第二篇:编程心得
1. 对于液晶点阵,做任何图形的子函数,一定要注意,必须为整数,即像素必须为整数,否则将出现错误,比如划三角形,必须让三角形的斜率为直线,不然不能得到预期的结果。
2. 对于变量的定义,如果在条件语句里面必须放在语句最前面,如果在整个函数的里面,必须放在整个函数的最前面。
3. GDB来调试已经生成的可执行程序hello.命令如下:Gdbhello ,参数-d指示源代码所
在的目录去搜寻。一旦出现GDB的命令提示符(gdb),就表明GDB已经准备好接收来自用户的各种调试命令了。如果想在调试环境下运行这个程序,可以使用GDB提供的“run”命令,而程序在正常运行时所需的各种参数可以作为“run”命令的参数传入,或者使用单独的“set args”命令进行设置。如果在执行“run”命令时没有给出任何参数,GDB将使用上一次“run”或“set args”命令指定的参数。如果想取消上次设置的参数,可以执行不带任何参数的“set args”命令。
GDB是一个源代码级的调试器,使用“list”命令可以查看当前调试对象的源代码。该命令的通用格式为“list [m,n]”,表示显示从m行开始到n行结束的代码段,而不带任何参数的“list”命令将显示最近10行源代码。
要根据行号设置断点,可以使用“ break linenum”命令。要根据函数名设置断点,则应该使用“break funcname”命令。
条件断点允许当一定条件满足时暂时停止程序的执行。它对于调试来讲非常有用。设置条件断点的正确语法如下:
break linenum if expr
break funcname if expr
使用“continue”命令继续执行程序,直到遇到下一个断点。如果在调试时设置了很多断点,可以随时使用“info breakpoints”命令来查看设置的断点。此外,开发人员还可以使用“delete”命令删除断点,或者使用“disable”命令来使设置的断点暂时无效。被设置为无效的断点在需要的时候可以用“enable”命令使其重新生效。
为了单步跟踪代码,可以使用单步跟踪命令“step”,它每次执行源代码中的一行。
4、程序调试过程中,如果出现segment,一般来说是指针没有赋值,找不到原型。比如线程里面如果要调用screen_mm,那么必须传递参数screen_mm,而且需要在线程里面定义参数。
5、如果线程里面用到串口的操作,则最好把串口初始化程序放到线程里面进行。也可以把初始化作成模块,这样不会影响串口的收发数据。如果将串口初始化放到主程序里面,则最后将初始化程序放在线程的属性定义和建立线程之前,否则其他地方可能导致串口收发数据产生问题。还有对于串口操作的定义最好放在所有变量定义的最前面。
6、对于段错误这种问题。可以分析以下原因:
(1):指针非法,比如使用没有初始化的指针(没有为此指针指向的对象分配空间),或着Free掉之后再次使用。
(2):数组访问越界,访问的元素下标超过数组围长
(3):缓存溢出,对于这种while(1){do}的程序,这个问题最容易发生,多此sprintf或着strcat有可能将某个
buff填满,溢出,所以每次使用前,最好memset一下,不过要是一开始就是段错误,而不是运行了一会儿出现的,(3)的可能性就比较小。
第三篇:编程培训心得
编程培训心得3篇
篇一:软件编程学_心得
软件编程学_心得
随着计算机技术的发展和工作的需要,为了能够更好的维护公司生产管理系统;公司安排我们到北大青鸟APTECH进修。我们选择了时下最流行、发展速度较快的语言C#。C#学_共分三个阶段,目前我只学_了第一个阶段;现将我在北大青鸟学_第一阶段为期两个月的学_心得总结如下:
C#是一种新的面向对象的编程语言,专门用于.NET运行时。C#编译器只能生成受管制的代码,也可以使用.NET基类。C#语言自C/C++演变而来。但是,它具有简单、现代、完全面向对象和类型安全等诸多特性。下面就简单说说简单和现代其中两种特性。
1、简单
C#具有C++所没有的一个优势就是学_简单。该语言首要的目标就是简单。很多功能(还不如说是缺少了C++的一些功能)有助于C#全方位的简单。
在C#中,没有C++中流行的指针。默认地,您工作在受管理的代码中,在那里不允许如直接存取内存等不安全的操作。我想没有C++程序员可以声称,从没有使用指针访问过不属于他们的内存。
C#弃用其它操作符,名字空间、成员和引用仅使用单个操作符
.。现在一个程序员所需要理解的就是嵌套名字的注解了。
C#使用统一的类型系统。这种系统充许您把各种类型作为一个对象查看,它是一个原始类型还是一个full-blown
类。和其它编程语言相比,由于加框(boxing)和消框(unboxing)的机制,把简单类型当作对象处理并不能获得性能的改善。稍后将详细解释加框和消框,但基本上仅当需要时才使用对象访问简单类型这种技术。
2、现代
投入学_C#的努力是一笔大投资,因为C#是为编写NGWS
应用程序的主要语言而。很多用C++可以实现或者很费力实现的功能,在C#中不过是一部分基本的功能而已。根据应用程序的特殊需求,可以很容易地创建出新的一种数据类型。
指针不再是编程武器的一部分。运行时NGWS提供了一个垃圾收集器,负责C#程序中的内存管理。因内存和应用程序都受到管理,所以很必要增强类型安全,以确保应用的稳定性。
异常处理是C#的主要功能。C#的异常处理与C++的不同点在于它是交叉语言的(运行时的另一个功能)。在没有C#之前,您必须处理怪异的HRESULTs,但现在由于使用了基于异常的健壮的出错处理,这一切都结束了。
对于现代的应用程序,安全是首要的,C#也不会例外。它提供了元数据语法,用于声明下述NGWS安全模式的能力和许可。元数据是NGWS运行时的一个关键的概念。
通两个多月学_,我能够很好的掌握C#语言的基本语句、语法以及老师补充的一些要点;能够编写简单的应用程序,例如电子邮件的收发等,为接下来的第二、第三阶段学_打下了良好的基础。
篇二:编程心得体会
篇一:java编程心得体会
java编程心得
计算机3班
窦金霞
4773
最近几周一直在弄程序,说实话真的很累,但累中也有成功的快乐。我觉得学到了很多东西,这是只看课本知识所不能学到的。
说实话,以前我一直没学过java虽然我也知道java的重要性,可是即使上课听了,不实践还是掌握不了。因为种种原因,今年我没有买笔记本。没有机器,仅仅靠每周一次的上机练_是绝对不够的。所以我就插空调程序,在舍友们不用的时候自己再接她们的电脑调。
调上一个web版的通讯录程序时我已经感觉到学的很吃力,好多东西都不懂。这次做的这个学生成绩管理系统更复杂了,所以一开始调的时候感觉特别吃力.所以我告诉自己不能放弃,慢慢来,就这样我从最基本的sql语句session对象开始学起,我觉得我还有太多不懂得所以要比别人付出更多的努力。就这样我一点一点的学着??
说心里话,在做上一个web版的通讯录时,我就感觉到成功的喜悦。好多地方我都是一点一点的问的,在问的过程中,我也学会了很多,像:servlet和jsp之间跳不过去时有两种解决办法,一是关闭底层类中的db.close;二是将servlet中的throws
exception改成try
catch以捕捉异常;我还学到了集中查找错误的方法,可以加上两个双斜杠“//”将具体的方法屏蔽掉,一检查是方法错误还是servlet错误,还有就是写上system.out.println()将获得的数据输出,用来检查数据传输过程有没有错误等等。
虽然在别人看来,这些方法可能都很常规,但是确实我自己学会的,我觉得很有成就感。我已经做好了,暑假的时候去买本本用自己的本本练_一下java,虽然下学期不学java了,但是我对java的热情不会因为这个而削减的!
做完这个学生成绩管理系统后,我觉得我对java的看法已经改变了。一前总以为java很繁琐很难,听同学说java不好学,开始又有一些听不懂,所以一直很畏惧java。但真正做了这个系统以后我才感觉到其实任何事都没有难与不难之分,只要你肯努力的去做,世上无难事只怕有心人!
我现在对java学_充满了热情,我知道我还有很多的不足还有很多需要努力的地方,所以我的java之旅将继续进行??篇二:程序设计体会
程序设计
【收获及体会】
通过两个星期的折腾,总算把课程设计给完成了,这是一个坚苦而又漫长的过程。是啊,读了那么多年的书,课程设计可是第一次。看着劳动成果,很欣慰!虽然这不是我一个人做的,是大家的共同努力得来的。
刚开始,可以说是没有头绪,于是就去图书馆找资料,找到了一些关于画图方面的,可是这点小进展远远不够,这只是一个小小的开始。下一步是上网查,找到了些与我们题目相似的,那时我们每个人都很高兴,可是那还不是我们要的,于是又上网查到了些有关的函数等等,终于在我们大家的努力下,完成了这个程序。
虽然对着电脑做程序,有点累有点热,可是当看到劳动成果时,真是别有一番滋味在心头啊!世上无难事,只怕有心人,的确如此。做完这个程序最大的收获就是感受到了集体的力量,当然个人的智慧也是很重要的哦!
做完这个课程设计,我们的自信一下子提高了,我们也会写程序了;尽管对于有些人这种程序会很简单,可对我们c语言初学者来说,已经很不容易了。这次体验为以后的学_计算机的我们增强了信心。享受劳动成果的滋味实在很美妙啊!
——姜*
【收获及体会】
忙碌了一个多星期,在大家的共同努力下,我们总算将此程序设计出来。尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个大型程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计
第四篇:PLC编程心得
即使是同一个项目,同一个人,要他重新写一次,也会与原来的不同,我只是看别人的一种思路,是怎样把程序去组织好,如何规范合理分配好元件,我看简单也不一定好,我的编程习惯是要求流程要清晰,即使多花点步数也好。所以我现在一般都不用一个梯形图完成,而是用SFC去编排组织梯形图的执行顺序,这样就不用担心什么互锁连锁的问题,我现在在编写的程序我估计在18000步左右,若是用单一的梯形图来编,我估计对以后的维护和修改会做成很大的困难。
现在工控制软件大部份是可以破解,但如果不想别看懂的程序的话,把里面最好不放常数,全部是数据寄存器,多用一些功能指令,拿出点技术来,要把哭程序写少而精,不要多而杂。我不鼓欢太乱的程序。如果你把技巧都定上去啦,相信不是一般的高手都没办法看懂,那样别人是服了你的技术,而不是服你的乱!我一向都不怕别人看程序,我也不喜欢看别人程序,这就是这的风格!单一!宁可少而精,不可多而杂
上是高手啊,我公司有一台设备的PLC程序真的不放常数,全部是数据寄存器,下载下来的程序在另外一台PLC就不能使用!
我们公司有几台设备都是意大利进口的,都是几千万的设备,老外的程序都没见有常数,应用了好多数据块,一般的工程师都看不懂的
第五篇:C++编程心得
紧张忙碌的一周过去了,在这个星期里我们小组胜利地将我们选定的课题研究出来,我为我的小组骄傲,也为自己骄傲。
我们的题目是银行定期存款管理系统,在编程过程中,我预订的任务是学习并掌握MFC,并将其运用到我们的程序中。学习MFC的过程是我认为非常痛苦的事,因为完全都是自学,并且因为图书馆中的相关书籍全部被借阅出去,所以没有太多的自学资料,因此虽然费了很大的精力,但仍是无果。经过了很多的小组讨论和自己的心理斗争后最终决定放弃MFC而将自己能力以内的程序尽可能地优化,就这样,我开始在半路阶段加入了程序优化的工作,一遍遍的调试程序,遇到某个攻坚问题,几个人一起在网上查询,一起想解决的办法,就这样,我们团结地将我们现在认为将近完美的程序呈现给老师和同学。
一开始学习MFC时,我总是不能很好的转换思维,不能将自己以前的编程思想和以前的一些不良编程习惯甩掉,因此很多的程序都联系不起来,反而是自己学会了好多的零碎的片面却无法将程序大楼竖起来。在困惑很久后,我选择了询问老师,老师耐心地将MFC的思维方式讲给了我听,这让我受益匪浅,虽然我最后没能将MFC成功的做出来,但我认为我从MFC中才直接地感受到了C++中面向对象编程的封装性。以前用C++编程时总是将类中的变量随便规定属性,甚至在编程的过程中突然需要加一个变量,为了省事直接将其放于public中,在学习了解MFC后,深刻地感受到自己以前的编程习惯是多么的不科学,而那些习惯又是多么的重要。
我们这一次是以团队的形式来做这个项目,并且作为这个小组的组长,我感觉自己的压力很大,因为团队合作不仅讲求整体的团结而且为了团队工作的高效又要有明确的分工。在我们的小组工作中每个人都一刻不放松自己手里的工作,而一些时候我们又配合地很密切,尤其是当我们遇到程序的瓶颈时,我们都是在宿舍里你一句我一句地出谋划策,在遇到一个提取时间的程序时,大家纷纷查询各种辅导书,上网查各种资料,在遇到定期存款支取问题时甚至打电话给家长,寻求“场外支持”,种种的配合都给我们这个部门协调的运作提供了动力。我感谢我的团队,他们让我有一种很舒服的做事情的感觉。
最终决定放弃MFC,我承认自己有一种如释重负的感觉,但是也有一丝惭愧,无论老师要求与否,既然自己决定了就应该走下去,但是我最后退却了,感觉很遗憾也很羞愧,因为我认为对自己降低要求就是放纵自己堕落。
短学期实习,我着实收获了很多,不仅仅是知识上,而且是思考事情方法,我感激这次的实习,也感谢给予我们很多帮助的老师,更感谢我团结的团队。