1. c语言程序设计心得
C语言程序设计课程是高等院校计算机专业基础课程之一,其教学效果直接影响学生在计算机方面的应用。C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。那么要如何写关于c语言程序设计心得呢?本文是c语言程序设计的心得,仅供参考。
c语言程序设计心得一
在这为期半个月的时间内,通过我们小组各成员之间的相互讨论和合作,我们完成了学生信息管理系统的程序设计,更值得高兴的是我们的程序得到了大家的喜爱,在每次的简报中都得到了较好的成绩。
虽然在上个学期中,我们已经学习了《C 语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的课程设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。
C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。
在我们小组有解决不了的问题时,我们会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。为了增大信息的安全性,需要用文件来存储信息,由于我们在上课时不注重对文件的运用,所以在这方面有较大的困难。我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我们小组的程序有了突破,成功地实现了用文件来保存并查看学生的信息。
这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。开始的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自己的想法画出图来,后来画多了,就更加了解它的功能,十分得心应手,能够比较快而准确的画出来。
在这次课程设计中,我们首先对系统的整体功能进行了构思,然后用结构化分析 方法 进行分析,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写代码。而且尽可能的将模块细分,最后在进行函数的调用。我们在函数的编写过程中,我们不仅用到了for循环、while循环和switch语句,还用到了函数之间的调用(包括递归调用)。由于我们是分工编写代码,最后需要将每个人的代码放到一起进行调试。因为我们每个人写的函数的思想不都一样,所以在调试的过程中也遇到了困难,但经过我们耐心的修改,终于功夫不负有心人,我们成功了!
在参考书上,我们不仅参考了曾经学过的高敬阳主编的《c语言程序设计》,还找到了由谭浩强主编的第三版《c语言》进行参考。
当然,我们的程序还有一些不完善的地方,比如说,当输入的数据不符合我们定义的数据的格式的时候,程序会出现一些错误,有时会出现主菜单的死循环;在一次程序运行中,只能行使一种权限,要想再行使另一种权限,就只能退出程序,然后再运行程序。
三周的小学期即将结束,时间虽短,但是我收获了很多。最后,谢谢老师和同学们的指导,更要感谢我们小组成员之间的合作与交流。
c语言程序设计心得二通过本次教师发展在线的C语程培训中,我受益匪浅,几位教授的精彩演讲,让我找到了自己的不足和日后教学中的改革方向和内容。同时,也让我感觉到了,有今天各位教授的良好教学效果,这其中包含了他们的艰辛、背后的大量付出和无私奉献。
我是一直从事C类语言的教学工作,对C语言的教学已有5年教龄,在这几年的教学过程中,我们也一直在寻找好的 教学方法 和新的教学理念。通过本次学习,我 总结 要教好《C语言程序设计》这门课,最基本要把握好以下几个方面:
(一)要重视实践环节,上机调试成绩非常重要。
学习一门语言,就是要按照它的语法来编程。要编程,当然就要上机操作来验证你程序的正确性。所以上机非常重要,通过执行你所写的程序,完成你所写程序的目标,最终达到你的目的。而且通过执行程序,你会发现程序中的错误,从而使你了解你所学知识中的不足,同时,要学会根据编译时提示的错误来改正程序中发生的错误,以便下次不会再犯同样的错误。
(二)基本语法学习虽然枯草乏味,但是它相当于高楼大厦的一砖一瓦,一定要下硬功夫让学生掌握熟练。
C语言的语法部分。这部分内容是学好C语言的基础,只有学好了这些语法,才会写程序,看程序。所以对一个初学者来说,这部分内容是非常重要的,所以要扎实地熟悉每一个语法,并能根据这些语法来编程。
(三)学习要抓住重点,难点部分要多讲、多学、多练。
通过这次学习使得我对C语言的重点,难点,以及易出错的地方把握的更精准了。当然,这只是针对我个人而言。在C语言学习过程,重点就是数组,指针,以及结构体了。难点也是它们了,不过数组和结构体还是挺简单,所以在此主要就指针方面谈谈自己的看法。
下面谈谈通过这次学习,结合我们学校的教学情况,打算对该课程的教学进行如下几个方面的改革:
(一)理论教学内容的组织
C语言的重点知识包括:结构化程序设计方法、流程图的组织、三种程序设计结构、三种基本数据类型和三种自定义数据类型;难点包括:结构程序设计方法、算法的分析、流程图的组织与设计、函数、指针等。
根据知识内容和每年的新学时安排,我们将理论教学内容分为授课内容和自学内容两 大模块。
(1)授课内容
C语言的授课内容分为两阶段:①基础准备阶段 这部分内容确保学生“实用、够用”,主要包括三种基本数据类型(只要求掌握常用的int,float,char);三种常用运算符及其表达式(赋值、算术、逻辑(包括关系));三种程序设计结构(顺序、选择、循环)。②实训项目驱动阶段 这部分内容主要是“实训实战”,主要包括数组、函数、指针和结构体。通过第一阶段的学习,学生已经具备了一些程序设计的基础知识,在这一阶段将通过一个实训项目的完成来熟悉主要内容,同时巩固第一阶段的成果。
(2)自学内容
课本中的内容上课没重点介绍或者说就是没提到的,划为自学内容。但这些内容,我们并不是在课堂要求学生回去自学:要求过高,规矩过多,这样效果不佳。而是让学生在实验中发现问题后,带着问题去学习,去找答案。
例:整型 我们只介绍int基本类型,当学生想计算n!时,学生测试5!=120时,他可能会去测试20!、50!,这时,存放阶乘的变量Factorial再定义为int,结果就是0了,这时问题就来了,他就会去寻找正确的处理方法(long int)。
(二)实验教学的安排与设计
教学改革方案确定后,我们对本课程实验教学上从多方面进行了教学更新。我们考虑到学生处于了解计算机语言及编程的初级阶段,有许多最基础的内容有待掌握,所以本课程的实验教学不太适合完全以项目开发的形式进行,注重的是加强模块化实训。
(1)上好第一节实验课
我们常说“上好第一节课”,那么第一节实验节的重要性也不言而喻。这节课对培养学生的学习兴趣、增强学生的学习信心、锻炼学生的自主学习等多方面影响很大。
第一次实验项目是—熟悉Turbo C的运行环境,主要是掌握一些在TC中的一些键盘操作方式。一般是教师给学生提供程序代码(三个),但我们在学生不知情的情况下,给学生两个有语法错误的和一个正确的程序。这样,当学生运行正确的程序时,知道计算机可以帮我们处理问题,原来程序就是这样写的;当学生运行错误的程序,首先他会诧异(老师给的程序原来是错的),于是要求他们自己修改,尤其是有时一个致命错误导致的10多个errors,被学生修改后,没有了errors或所剩无几,这时学生表现的很兴奋、很有成就感,从而加强了本课程的学习兴趣和信心。
(2)分两阶段进行
实验内容与理论教学内容相互应,在基础准备阶段,这方面教学方法上主要是加强操练。通过各种大小程序、多重训练和一个问题的多种解法来加强语法知识点的掌握和训练,开阔学生编程的思路,掌握编程基础。同时,在这过程中我们严格把关,让学生课后认真准备,每次进实验室时,应有写好的完整代码,上机调试,发现问题同时解决问题,要求认真完成实验内容,并在课后书写实验 报告 。鼓励学生多写程序,要加强实践环节,首先要从量上有个划分。在实训项目驱动阶段。本阶段实训项目的设计非常重要,原则是既要使学生有切入点能够动手又要使各章的内容之间有联系点。
(三)案例教学法
C语言的教学,教师一般受传统应试 教育 的影响,狠抓理论考试,忽略了程序设计能力的培养,把授课重点放在程序设计语言的基本语法的讲授和掌握上,所选的编程实例大多用于语法规则的验证和说明,仅从程序设计语言的使用这个单一的角度进行教学,而使得大多数学生在学完本课程后,“吃不透、用不活”,表现为学生在程序调试时,对程序中出现的逻辑错误经常不知所措,在开发较大的应用程序时,不知道如何入手。
采用案例教学法,以程序设计为主线,以编程应用为驱动,通过案例和问题引出教材内容,重点讲解程序设计的思想和方法,穿插讲解相关的语言知识。使教学效果既有深度又有广度,学生实际动手能力大为增强。
以上是我个人结合我院C语言程序设计的教学情况,自己总结了几点看法和一些改革 措施 ,拿出来和大家一起分享,请大家多提宝贵意见。通过这次学习,我将会灵活运用几位教授的教学 经验 ,根据我院的教学对象,调整一些上课方法和措施,望能更好的提高教学质量。
通过此次C语言程序设计实践,本人实在是获益不浅!C语言是上个学期开的课程,所以这个学期并没怎么看过,当要开始设计的时候,还真不知从哪下手!结果,第一次的上机,我傻坐着不知道该做什么,后来就写了几个预处理命令。回去以后,我想,这样不行,这样下去还得了!我就重新复习了一遍我们上个学期学习的内容,发觉自已有许多都遗忘了!特别是有文件的操作,几乎是一遍空白!温习过后,开始做题!
一开始做题,也是有点模糊,在指导老师的指导下,我们慢慢的进入状态,我们做的是一个通讯录,内容包括很多。运用的函数也是非常的复杂,我们一组有七个人,我分工合作,首先我一起完成了结构题,然后我们一人各负责一个函数程序的设计,经过几星期的努力,我们完成了大半个程序,但是总是有很多错误出现,有好多是些小问题,这都是我们粗心大意造成的,所以设计程序一定要仔细,不容一点的马虎。当然也有大问题,关于文件的操作,是我们最大的问题,不过,我们做好后,经过老师的讲解和改错,我们也懂得设计和运用了。同时,也让我知道了,合作的力量,如果是孤军奋战的话,我也不能在规定时间内完成,当然,也多亏老师的指导。
这次设计,让我重新掌握了C语言,而且还得到了用C语言解决实际问题的宝贵经验!
↓↓↓点击下一页还有更多精彩的C语言编程 学习心得 ↓↓↓
2. excel vba 程序设计的学习总结
Sub re()
i = 0
'先统计有多少人参与排名
For n = 1 To 10000
If Cells(n, 1) = 1 Then
i = i + 1
Else
Exit For
End If
Next
'再做成一个字符串的区域名
Dim str As String
str = "C$1:C$" & i
For hang = 1 To i
Cells(hang, 4) = "=rank(C" & hang & "," & str & ")"
Next
'以上完成了一班的排名
'先统计二班有多少人参与排名
j=hang
For n = hang To 10000
If Cells(n, 1) = 2 Then '是不是二班的
i = i + 1
Else
Exit For
End If
Next
'再做成一个字卜顷符串的区域名
str = "C$" & hang & ":C$" & i
For hang = j To i
Cells(hang, 4) = "=rank(C" & hang & "桐脊," & str & ")"
Next
End Sub
我的测试:
1 A1 98 4
1 A2 99 3
1 A3 100 2
1 A4 101 1
2 A5 102 7
2 A6 103 6
2 A7 104 5
2 A8 105 4
2 A9 106 3
2 A10 107 2
2 A11 108 1
测试成功!!!!!
========================================
您的问题==我的课题 奉献知识==辉局弊渗煌生命
黑龙江省 张志晨
========================================
3. vb程序设计实训总结
在这如火如荼,百花齐放的六月,大二生活即将结束,不知道我们收获了多少?也许或多或少有所提高吧
!老师,朋友,同学我们一起走过了大学的第一段路程,很感谢你们这学期来对我的帮助,支持,鼓励和
关怀,在这里我给你们说声谢谢。在这一学期拼搏的岁月里,如果没有你们的帮助,我不知道我会怎样度
过我的大一生活。遇到挫折,有时我很无助,遇到困难,不知道如何去解决,遇到伤心事,有时甚至无法
摆脱......你们的关怀和帮助给我感觉就像家里一样亲切,谢谢你们。
这学期,我觉得我真收获挺多的,以前愚昧无知,现在感觉是豁然开朗,VisualC#程序设计、C语言、数
据库和java都是我们的专业课程,现就VisualC#而言,刚开始不知道是干啥用的,第一天,李老师上课,
我觉得很新鲜,于是乎很认真的听讲,我发现这门课程很有趣,老师幽默而却讲课生动,很吸引人,就这
样,喜欢上VisualC#了,感觉挺有用的,刚开始就想着还可以自己编软件,多好啊!其实拿那么容易啊,
要学好VisualC#也是一件不容易的事,首先,自己的多看有关的课外书,上课必须跟上老师步骤走,认真
听讲,积极配合老师。其次,下来要自己或者跟同学解决书上的例题和课后上机实训,不懂就问老师和同
学,接下来,要做的就是自己在网上找一些编程题做做,看看及自己的实力如何,究竟哪些地方有问题,
这样很快就会发现问题,最后,要帮助同学解决他们的问题,同时自己可以获得更多的知识,充实自己,
真正掌握VisualC#这门课程,总而言之,最重要的是多做例题多实践多锻炼多操作。
4. 程序设计总结
充实自己!其实拿那么容易啊,喜欢上visualc#了,多好啊,很感谢你们这学期来对我的帮助,刚开始就想着还可以自己编软件,于是乎很认真的听讲,我发现这门课程很有趣在这如火如荼,遇到困难.、c语言,
要学好visualc#也是一件不容易的事、数
据库和java都是我们的专业课程,有时甚至无法
摆脱,朋友,认真
听讲,
这样很快就会发现问题,有时我很无助,李老师上课,自己的多看有关的课外书,不懂就问老师和同
学.你们的关怀和帮助给我感觉就像家里一样亲切,老师幽默而却讲课生动,我不知道我会怎样度
过我的大一生活,最重要的是多做例题多实践多锻炼多操作,就这
样.,总而言之,同学我们一起走过了大学的第一段路程,接下来,上课必须跟上老师步骤走,积极配合老师。
这学期,下来要自己或者跟同学解决书上的例题和课后上机实训,要做的就是自己在网上找一些编程题做做,现在感觉是豁然开朗,大二生活即将结束,以前愚昧无知,要帮助同学解决他们的问题,谢谢你们,
真正掌握visualc#这门课程,百花齐放的六月,现就visualc#而言,究竟哪些地方有问题,刚开始不知道是干啥用的,支持.?也许或多或少有所提高吧
..,遇到伤心事,很吸引人。遇到挫折,如果没有你们的帮助。其次,在这里我给你们说声谢谢,鼓励和
关怀,不知道如何去解决,不知道我们收获了多少,我觉得我真收获挺多的,最后!老师,
我觉得很新鲜,感觉挺有用的,visualc#程序设计,同时自己可以获得更多的知识,看看及自己的实力如何,第一天,首先。在这一学期拼搏的岁月里
5. 《java程序设计》课程总结怎么写(java程序设计总结体会)
1、课程收获与不足
自己的收获
经过一个学期的JAVA课程学习,现在虽说算不上什么专业的JAVA程序员,但我还是很有收获。了解了这门语言,探索了这门语言,认知了这门语言。我从一个什么都不懂的菜鸟,到现在能够自己编一个简单的程序并使其跑起来,在本学期末还与小组成员成功编译运行了一个JAVA游戏,感觉十分有成就感呢!回首之前的学习历程,要想真正有所学,有所得,必须持之以恒,踏踏实实的跟着娄老师的“方针政策”走,不要有排斥心理。刚开始学习JAVA的时候的确不习惯,觉得很累,每周的java学习与博客总结都会占用周末业余时间。不过心态一定要好,反正要做,还不如把它做好,不要敷衍自己。万事开头难,习惯成自然!哈哈哈,虽然已经学了一学期JAVA了,但其实还有好多好多东西是需要自己去探索的。学习JAVA应该是循环渐进,按部就班,脚踏实地的。对了,JAVA课程是我第一次接触翻转课堂,翻转课堂讲究的是自己主动学习,主动探索,然后把问题反馈给老师,老师在课堂上解答。不过由于c语言学的不是很好,所以刚开始看到JAVA的时候,看着源代码,都不知道是什么意思,看书的时候一看到源代码就头疼,因为根本看不懂,那段时间挺挫败的。不过幸好每周都要考试!所以这也是驱动我学习的一个主要原因,想要拿高分,就得花时间看,把不懂的想尽办法弄懂。于是最开始最艰难的那段时间,我大部分课下时间都花在JAVA上,不懂的问高其和周正一,再加上翻书,网上查阅资料。三周下来,效果也挺明显的晌简,并且我觉得JAVA这门语言虽然很高级但并不复杂,很多功能都是可以直接调用的,不需要自己亲手去编。世上无难事,只怕有心人。对于任何新生事物,我们首先不要排斥,如果可以,带着兴趣去探索,必定其乐无穷!受益匪浅!这学期也是我第一次接触到博客园。我感觉博客园真的是一个集思广益的地方,大家可以把自己的学习心得体会都通过博客的形式发表出来,然后其他人就可以去阅读、去参考别人成功的方法,有什么问题也可以建立一个小帆谨羡组,然后博主会和大家互动,共同探讨,解决问题。一学期的博客园生涯让我逐渐喜欢上了这里。记住,学JAVA,一定要做到课前预习与课后复习,书上的概念要理解透彻,代码一定要过手;多和同学沟通,互相学习,取长补短。娄老师说过,知识是学不完的,重要的是要找到一种适合自己的高效的学习方法,这将受益终生。
2、自己需要改进的地方
我觉得应该多看别人的博客,多与别人进行交流,但是本学期学习压力较大,这方面做得不够好,所以这是我的一大遗憾!其次,对JAVA的不同库的掌握需要增进,一旦对JAVA各种库的引用融会贯通,对较大程序的编写就能事半功倍,效率远超C语言,这也是JAVA最吸引我的一个地方。还有就是学JAVA千万不要浮躁,不要赶进度。说到浮躁,这也是一个很值得我深思的问题,我觉得我刚开始还没完全接受JAVA的时候,就比较浮躁。做事停留在表面,敷衍。经过后来逐渐调整,才慢慢改变。真正学习的时候,浮躁会使你失去很多。
如果有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考意见
在实验三和实验五阶段都有结对的部分。通过结对,我深刻地明白了团队合作的重要性。团队精神能推动团队运作和发展。在团队精神的作用下,团队成员产生了互相关心、互相帮助的交互行为,显示出关心团队的责任感,并努力自觉地维护团队的集体荣誉。我觉得结对编程这一环节很好,不仅让大家能够明确分工,合作的编写出程序,而且能培养大家的默契,让我们能够在实际操作过程中更好的编写代码。要想成功编写程序,这一过程是很复杂的,而团队方式可以使其简单许多,遇到问题的时候可以大家一起想,集思广益,而且团队操作在很大程度上还可以实现优势的互补(比如git代码,然后共享)。
3、给学弟学妹们的意见
如果重新学习这门课,怎么做才可以学得更好?
如果可以重新学习这门课的话,我想我会做的更好。首先我会找一本好的书本教材,然后辅助看教学视频。因为翻转课堂更强调的是自己主动学习,主动探索,主动发现问题。一本好的教材,可以让你更快更好的进入Java的世界,然后看视频是一种比较直观的辅助学习方式。建议先看课本,发现不懂的地方,再结合视频,这样效果更好,如果视频上没有讲到的,就通过其他方式解决。老师之前会发视频链接,那里面讲的内容(毕态拍向东老师主讲)都很不错。书上概念与代码搞懂了后,自己一定要主动动手敲代码!因为看懂和学懂完全是两回事,一定要学好基本语法,弄清Java语言的特点。刚开始学习时,有些知识可能有些难懂,自己也不会敲代码。不过这没关系,这很正常。多看多问,多实践,慢慢的你就入门了。千万不要投机取巧!主动敲代码真的是学JAVA的精髓!JAVA和其他的编程语言一样,在学懂理论后,一定要实践。只有多动手编程,哪怕是简单的小程序,重复实现书上简单的例子,也是在积累和提高。
4、问卷调查
你觉得这门课老师应该继续做哪一件事情?
老师应该继续要求扇贝打卡与五笔打字练习,然后期末加分。这种方法很值得提倡,希望能够继续做下去。这不仅可以调动大家学习的积极性,而且还让我们的英语水平提高了很多,对于四六级以及以后在工作中打字速度等其他的方面都有很大的帮助。在博客园里发表博客也是很好的一种总结心得体会的方法,值得提倡。博客园是一个集思广益的地方,大家把自己的学习心得体会都通过博客的形式发表出来,然后大家可以交流意见,有什么不懂的也可以直接在问题小组里提出来,共同探讨,共同解决问题。这种感觉很棒。对了,每周一考我也觉得这必不可少,可以敦促学生的学习进度。
你觉得这门课老师应该停止做哪一件事情?
感觉每周的学习任务还是偏重了,几乎要占据半个周末的时间来搞JAVA。老师应根据每周学习内容的难易程度,合理调配学习任务量。
你觉得这门课老师应该开始做什么新的事情?
希望老师在课上多讲一点关于教材知识的内容(包括实验),让我们能够更高效更有针对性的去学习JAVA。因为教材的内容太多,盲目的去看就会浪费很多时间。如果因为赶进度,只是囫囵吞枣的看一遍教材的话,我们就不能很好的去理解java的相关知识。
6. windows程序设计心得体会
windows程序设计也就是基于微软的windows操作系统而进行的程序设计。
(这是一句废话,但不要小看废话阿!真理往往就在其中)你有没有想过,为
什么是基于windows操作系统呢?下面就来解答:windows应用程序需要利用
由windows操作系统开放出来公用用程序使用的应用程序接口“API”(说道
重点了)windows提供了上千种API函数供应用程序使用。
上面说了,windows程序其实就是在非逻辑的使用这些API函数,我这里
提到了“非逻辑”三个字(这是本人的看法),这正是windows程序的精髓,这
是一切windows程序运行的方式(可能严重了点)。非逻辑也就是指程序不是
按照事先安排好的顺序来进行的,是根据用户的不同操作或者是其他某些原因
一步一步进行的。这种运行方式就叫做“消息驱动”
简单一点来解释一下何谓消息驱动,就是指应用程序始终在等待(等待
一词也许不他恰当,但可能好理解),它绝对不是在等待谁会给它爱(本人
爱开玩笑请别见怪!)它是在等待用户或者是系统的消息(也就是命令),
当接到消息后呢,它会把消息通过DispatchMessage(&msg)传递给窗口函数
(窗口函数就是一个应用程序的核心)窗口函数就会对照事先由程序编写好
的消息对照表调用对应的方法来处理消息。这样就完成一个消息的处理,接
下来准备处理下一个消息。
你也许会问那不是无休止的运行下去了吗?当然不会,下面我用程序
本身来说明这个问题:
//消息循环,通过此处来不断的取得消息。
while(GetMessage(&msg,NULL,0,0))
{
//消息进行一些转换
TranslateMessage(&msg);
//把消息传向窗口函数
DispatchMessage(&msg);
}
return msg.wParam;
就是这样了:当我们点击窗口右上角的小叉或者点击退出按钮时,
windows就会自动在我们的消息队列中加入一条消息“WM_DESTROY”,这
时呢窗口程序有这么一部分:
switch(message)
{
//其它代码
.........
//
case WM_DESTROY:
PostQuitMessage(0);
return 0;
相信一般的朋友都会明白吧,它的作用的就是在接收到WM_DESTROY时呢,
通过调用PostQuitMessage(0)让windows在消息列表中呢在加入另一条消
息“WM_QUIT".
当GetMessage函数抓取到WM_QUIT时返回0,其余返回非0值,懂了吧,
这下可以退出消息循环了。
这就是windows程序设计最基础的部分了,可以说是核心。
该说一些心得了,我认为学习windows程序设计不要基于某一部分,
而要把握住其大局,要有整体观,有了整体观对windows程序设计有了
一定的了解后在对其各部分下功夫(这下可不是照顾全局了,要静下
心来细心的咀嚼,要不然你会咽到的。)这样才不会走火入魔(嘿嘿)
就写到这吧,以后等我水平高些了再写(还早着呢,嘿嘿),希望
我没白费功夫,也希望对你有用,88。
7. 要C语言程序设计试验报告的小结,谁有
通过对这一课题的设计和实现,我对Micosoft Visual C++环境进行了深一步的了解,并逐渐开始熟练Micosoft Visual C++环境的工作界面,以及对每一个快捷键的熟悉。并认识到,熟悉这些快捷键,极为便捷编写程序,但是还要更加熟悉。 编程时要养成良好的风格,注意相同内容的缩进和对齐。这样做,可以使程序代码出错的情况下,可以快速并且便捷的查找到错误的行,利于很好的修改。 通过这次编程我们深深的感受到对代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同人员之间的协作。 这个程序设计主要涉及到了C语言中的结构体、指针及文件操作等内容,只有充分掌握了C语言中的结构体、指针及文件操作等内容,才有可能组织好这些代码,使之符合运算逻辑,得到理想的结果。 善于总结,也是学习能力的一种体现,每次完成一个编程任务,完成一段代码,都应当有目的的跟踪该程序的应用状况,随时总结,找到自己的不足,这样所编写的程序才能逐步提高,生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。通过实际动手做,我们才真正领略到“艰苦奋斗”这一词的真正含义,我们想说,编程确实有些辛苦,但苦中也有乐,在这个团队的任务中,一起的工作可以让我们有说有笑,相互帮助,配合默契。对我们而言,知识上的收获重要,精神上的丰收是可喜的。挫折是一份财富,经历是一份拥有。这次实际操作必将成为我们人生旅途上一个非常美好的回忆! 回顾起此次课程设计,至今仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整半个月的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体,指针……通过这次课程设计之后,我把前面所学过的知识又重新温故了一遍。 同时,在*老师的身上我学得到很多实用的知识,在此表示感谢!同时,对给过我帮助的所有同学和指导老师再次表示忠心的感谢!
8. Qt程序设计中遇到的一些问题总结-dbus篇
这段时间完成了一个Qt程序,并且已经发布,在这里记录下自己在整个设计中遇到的一些坑。关于qtbbus我这里主要写一些systembus方面的一些问题。通过AddBus一个简单的类来描述整个实现过程。在qt中访问dbus,需要在*.pro文件中添加<code>CONFIG += qdbus</code>
服务端非常简单,它只有一个函数实现返回两个参数之和的功能。
<code>#include <QObject>
class AddBus : public QObject
{
Q_OBJECT
public:
explicit AddBus(QObject *parent = 0);
~AddBus();
public Q_SLOTS:
int add(int a, int b);
};</code>
实现完成整个基本功能之后需源差要在qdbuscpp2xml这个软件的帮助下把接口导出称为xml文件。
<code>qdbuscpp2xml addbus.h -o addbus.xml</code>
一般来说生成的xml中关于<code><interface name="local.qdbuscpp2xml.AddBus"></code>这一项的定义都不是非常符合我们的吵裂模要求,需要重新填写。这里我修改为<code><interface name="com.example.addbus.manager"></code>
然后通过qdbusxml2cpp命令生成适配器类
<code>qdbusxml2cpp addbus.xml -a addbus_adaptor</code>
把生成的addbus_adaptor类导入pro中。编辑main.cpp文件
<code>#include "addbus.h"
#include "addbus_adaptor.h"
#include <QApplication>
#include <QCoreApplication>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
AddBus *add = new AddBus();
new ManagerAdaptor(add);
QDBusConnection conn = QDBusConnection::systemBus();
if (!conn.registerService("com.example.addbus"))
{
qDebug() << conn.lastError().message();
}
conn.registerObject("/", add);
return app.exec();
}</code>
完成main文件之后,我们就可以编译运行整个程序了,但是我们第一次运行这个程序时,会有一些问题
<code>
sudo ./bus-daemon
"Connection ":1.181" is not allowed to own the service "com.example.addbus" e to security policies in the configuration file" </code>这是说我们刚才注册的com.example.addbus没有在dbus的配置文件中,所以运行不了。这就要涉及到/etc/dbus-1/system.d/目录了,这个目录下面存放了所有systembus的配置文件,我们可以使用其中的文件作为参考来配升缓置我们的配置文件。
<code>
vim com.example.addbus.conf
<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"" http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd ">
<busconfig>
<policy user="root">
<allow own="com.example.addbus"/>
</policy>
<policy context="default">
<allow send_destination="com.example.addbus"
send_interface="com.example.addbus.manager"/>
<allow send_destination="com.example.addbus"
send_interface="org.freedesktop.DBus.Introspectable"/>
</policy>
</busconfig>
</code>
拷贝com.example.addbus.conf文件至/etc/dbus-1/system.d/目录下面。通过上面的命令就可以运行dbus-damon程序了,然后使用d-feet工具尝试访问com.example.add总线,并尝试执行add操作。
客户端简单描述如何初始化一个systembus和调用server端提供的接口
<code>
m_interface = new ("com.example.addbus", "/",
QDBusConnection::systemBus(), this);
if (!m_interface->isValid())
{
qDebug() << m_interface->lastError().message();
}
m_sum = m_interface->add(m_a, m_b);
</code>
一般来说dbus提供了自动拉起server的功能,这时候需要我们配置一个service服务。这个配置文件需要放在/usr/share/dbus-1/system-services/目录下面。<code>
vim com.example.addbus.service
[D-BUS Service]
Name=com.example.addbus
Exec=/home/crystal/workspace/build-systembus-Desktop-Debug/bus-daemon/bus-daemon
User=root</code>
这时候我们还是拉不起服务,如果我们手动启动后台服务,则整个程序还是可以正常运转的。
这是因为我们的后台服务采用了QApplication启动的,如果我们换成QCoreApplication则可以正常拉启后台服务。
9. 如何编写程序
编写程序是一项系统而繁琐的工作,它不仅需要程序设计人员具有一定的功底,更需要有良好的编程习惯和风格。良好的编程习惯和风格不仅可以使程序代码更易于读懂和修改,更重要的是,它可以使程序的结构更加合理,有助于提高程序的执行效率。下面是我在程序设计中总结的一些经验,供大家参考。
设计顺序
在我们刚开始学习程序设计的时候,要编写一个程序,总是先进行一番构思,然后就一边写代码一边调试。这种方法一般只适用于非常小的程序,根据软件工程的特点,如果对所有程序都还按这种方法进行设计,是不合理的。
其实,设计程序就像我们盖高楼大厦,首先要设计图纸,然后动工。所以,对于个人编写程序来说,应遵循以下步骤:
1、问题分析:对我们要使用程序设计手段去解决的问题进行系统地分析,了解程序是做什么的,要达到一种什么样的效果等。
2、结构设计:也就是对程序的整体框架进行设计,设计出我们需要使用的模块等等,并画出流程图。
3、用户界面设计:在此,我们要设计出用于与用户交互的输入输出界面。
4、代码设计:在这个步骤中,我们要进行代码的编写。
5、调试:对程序中正在发生或可能发生的各种错误进行处理。
6、维护:通俗地说,维护就是对程序进行升级,对原有错误进行修改。
对于以上几个步骤,我想大多数人会认为代码设计最为重要,但如果程序的结构尚未清楚,我们在编写代码的时候就会发生混乱,一个程序性能的好坏,主要还是取决于它的结构是否合理。因此,在程序设计中,我们要尽可能注意这一点,这样才能使我们的程序更加完善。
设计环境
一个良好的编程环境可以使我们在编写程序时,不至于造成各种资源的紊乱,还可以避免资源的丢失。建议大家要在放源程序的目录下建立“programs”文件夹;然后再以你要编写的程序名和版本为名建立一个文件夹,用于存放整个源程序以及各种资源;最后,分别建立几个文件夹,“documents”:用于存放程序文档,包括流程图等;“resource”:用于存放图片,声音,影片等资源;“debug”:用于存放调试的程序。“release”:用于存放最终释放的程序。
例如:我们要制作一个英语学习软件,名为“english”,版本为1.0,那么我们的编程环境中应存在以下文件夹:
[drive]:\\…\\programs\\english1\\debug\\
[drive]:\\…\\programs\\english1\\documents\\
[drive]:\\…\\programs\\english1\\resource\\
[drive]:\\…\\programs\\english1\\release\\
另外,最好再建立一个专门的文件夹,用于存放各种模块,以便能实现代码的重用,这样,我们就不用在每次写程序时,都重写所有的模块,编程速度会有很大的提高。
设计技巧
代码如果写得很乱,程序便不易被阅读与修改,所以,在编写代码时要注意以下几点:
(1)注释:写注释虽然要占用一定的时间,但在阅读和修改代码时却会节省很多的时间。所以,建议大家在定义一个函数时,在函数的第一行写出函数的作用,再用一行解释函数的参数,并在每个变量的定义语句后注释出其作用。
(2)变量和函数的命名:每个程序都会使用很多的变量和函数,如果随意命名变量与函数,每次使用时还得在变量或函数的定义语句处查出它的数据类型及名称,而且随意命名还会造成变量与函数重复定义。
建议大家使用匈牙利命名法,方法是:每个变量或函数的开头都以其数据类型的缩写命名,然后再加上代表这个变量或函数的作用的英文单词简写共同组成变量或函数的名称。例如:要定义用于计数的整型变量count,其定义语句为c\\c++:int icount; basic:dim icount as integer。以这种方法定义,不仅可以有效地避免变量与函数的混乱与重复定义,还可以保证数据类型的匹配。
(3)控件命名:如果在windows下编程,你有可能会大量地使用控件,如果不对控件名严加管理,会造成很大程度的混乱,因此,建议在给控件命名时,以控件类型缩写再加上代表这个控件作用的英文单词的简写共同组成此控件的名称。例如:你要命名一个按钮控件,作用是进行删除操作,那么控件名可以命名为cmddel。
并不是每个人都能成为顶级程序员,但我们都在程序员之路上不断进步,追求更完美、更专业化的程序。不妨好好改造一下你的程序,你会从中感受到很多好处。