今天小编就给大家整理了浅谈程序设计的心得,本文共10篇,希望对大家的工作和学习有所帮助,欢迎阅读!本文原稿由网友“天目崖”提供。
篇1:VB程序设计心得
VB程序设计心得
在课程设计过程中,虽然我对程序设计不是很熟悉,但是通过老师详细的讲解,我按照步骤去做,遇到问题的时候先自己想办法解决,解决不了的就去问同学,问老师,通过这种学习,收获很大,学会了自己解决棘手问题,知道了团结的力量。刚开始做程序的时候,就是完全按照老师的要求,老师的步骤去做的,结果却发现,怎么运行不了?明明是按照老师的步骤去做的,明明是按照老师的要求去做的,但是就是会遇到一些问题使程序运行不了。开始也没有管那么多,仍然是按照课本上的去做。
第一次,在上机课的时候,我根据老师讲的,在机房里做了一次,但没有做完。于是把东西存在了自己的MP3里面,以便以后上机的时候再来做。但真的没有想到,我的MP3,在一次上电子阅览室的时候,忘了拔了。于是乎,我辛辛苦苦做了一大节课的程序就这样没了。心里真的.很不舒服,但是,不舒服归不舒服,这个程序,还是得继续做下去,这么以点点小小的失误不算什么,然后跑到学校机房,继续我的VB程序设计。但由于时间问题,做的还是有点粗糙,还是不免存在一定的问题,比如说开始的时候打开不了文件,总是出现错误,自己总也找不出来,后来请教了一下同学,结果发现时代码的编写出现了错误,把代码改过来之后,程序终于可以打开运行了。然后,检查的时候,又发现“查找”运行错误,又是代码那里出现的黄色的字样,结果发现,是代码拼写错误,于是,拿着同学的代码对比一下,发现了错误所在之地,然后更正了过来。
经过一番努力,程序终于做完了。
您现在阅览的是工作总结网-心得体会wWw.GzzONGjie.Cn/xdth/谢谢您的支持和鼓励!
后来,室友看了我的程序,她说运行不了的,就是出现了错误,出现了错误,就应该改过啊,这时的我才恍然大悟。“是错误,那么就要改正的!”于是当天,我就去了学校机房,再一次运行我的程序,仍然出现错误情况,需要调试,我回忆起上课的时候,老师是怎么跟我们讲的,哪里出现了错误,需要怎么样改正。于是,我就耐着性子,一个一个,一个一个得改正,编辑代码,一个一个得检查,终于完成了。完成之后,我在运行一下,一切正常,心里终于舒了一口气。经过这次的VB程序设计,让我知道了更多学习的方法。具体如下:(1)保持良好的学习心态,第一,要有自信,自强,积极主动学习.第二,克服畏难情绪,树立学好程序设计的信心(2)要了解概念:VB程序设计本身并不复杂,变量,函数,条件语句,循环语句等概念较多.要真正能进行程序设计,就要深入理解这些概念.应该重视概念的学习.
(3)自己动手编写程序,亲自动手进行程序设计是培养逻辑思维的好方法.因此我们得多动手编写程序,逐渐提高写程序的能力.自己动手,编写一些程序,才会有成就感,进而对课程产生兴趣,做起来才比较从容.等你在编写大量程序之后(4)上机调试程序应注意多问问同学,多问问老师、,把不懂的地方标出来。(5)养成良好的编程习惯,第一,程序构思要有说明;第二,学会如何调试程序;第三,对运行结果要做正确与否的分析。
但是,如果以前上课的时候不认真的听讲的话,做这个程序设计就会有点点困难,所以,同时也在提醒我们,学习,任何时候都要认真!
总之,在此次的VB程序设计中,如果没有足够的耐心,就不可能完成的很好。所以此次VB程序设计,让我做事情更加有耐心,更加细心,学习更加认真仔细。 相关专题:尚无数据
篇2:浅谈程序设计的心得
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程序设计有了一定的了解后在对其各部分下功夫(这下可不是照顾全局了,要静下心来细心的咀嚼,要不然你会咽到的。)这样才不会走火入魔(嘿嘿)就写到这吧,以后等我水平高些了再写(还早着呢,嘿嘿),希望我没白费功夫,也希望对你有用。
篇3:vb程序设计实验心得
数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇文章,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉。
首先,让我的记忆追溯到大二暑假,在老大的指引下 ,我接触到Microsoft 公司的.NET产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var 看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称“.网络是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sql serverXX,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。
通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。
来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,just do it!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseUML建模工具。在此之前,我脑袋里面没有软件建模的思想,什么UML建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。
开发的时候我想过用什么架构,c/s模式?模式有很多,怎么选择?我就上网搜索现在最流行的架构是什么。结果搜到了MVC架构,就是你啦。我决定用这个架构,不会,没关系,咱学。Just do it!前期工作准备好后,那么我就得把我暑假学的.网络加以实践。这个时候我更加深入的了解了利用ado.Net操纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概2个多星期的奋斗,我完成了我的数据库课程设计--基于.网络数据集的图书馆管理系统。并最后非常荣幸的获得了大赛的一等奖以及以及新技术应用奖。
与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年.NET的核心技术就是XML[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,just do it!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!
我很庆幸我参加了这次数据库大赛,让我确实打开了眼界。
(最后,很感激学校给了我们这次动手实践的机会,让我们学生有了一个共同学习,增长见识,开拓视野的机会。也感谢老师们对我们无私忘我的指导,我会以这次课程设计大赛作为对自己的激励,继续学习。毕竟学习就是一个just do it的过程!)我直接从报告上面复制过来的.....所以这段也不删去了.............呵呵。
题目大概是用可视化编程实现一个简单的数据库管理系统我用的是BCB 题目虽然是简单 但也明白了很多以前以为懂的问题代码到没什么 这种题目用BCB的话已经不用几行代码了关键是了解了这些名词Paradox,ADO,BDE,ODBC 一开始拖控件,写几行代码 很快就完成了编译也通过了 但传到同学机器上就是显示不出数据来折腾了我1天 又是发帖子 又是问群里的达人后来明白了我用的Paradox数据库是用BDE引擎的发布软件的时候要把BDE打包于是又学着打包BDE 却发现不到1m的软件如果打包BDE的话就10+m了而且BCB6自带的那个打包软件用的我头晕目眩于是又想不用BDE 所以又折腾了我半天答案是要使用ADO控件( 以前我用的是BDE控件 )而且要用Access数据库了解了这些之后 作业也就完成了总的看来还是很有收获的 幸亏我下了决心这个作业要自己做没有去网上下载 呵呵
篇4:vb程序设计实验心得
课程是计算机科学与技术本科专业的专业骨干课。本课程主要通过论述了面向对象程序设计和组建编程的机理,涉及到控制台界面程序、Windows窗体程序、图形界面编程、数据库、网络应用系统等多方面的内容。内容量大,程序设计复杂、同时程序调试是在环境下进行,在编程过程中环境会自动为用户生成一些必要代码,以降低编程难度,降低学生的编程负担,但这也带来了一些问题,如:学生对VB.ENT的程序结构把握和了解不全面,对编程机理了解不透彻,学生容易盲目照搬书上代码,不求甚解,似是而非。为了解决这个问题,我们采取了课程设计的方法来加深学生对知识的理解,将书本知识迁移到新的问题解决中,提高学生分析问题和解决问题的能力。
要求学生在学习该课程中,应用每个相对独立的、完整的单元知识解决一个实际项目,设计编写一个小作品;学完整个课程后,完成一个综合性比较强的编程项目,使学生对整个课程内容进行全面的总结、梳理,以项目完成为手段,全面锻炼学生分析问题和解决问题的能力。
vb程序设计实验心得4篇vb程序设计实验心得4篇
一.目的
1.为使学生掌握编程、面向对象程序设计思想和组建编程的知识实际技能,除了系统地讲授必要的知识,上机练习,做作业外,还应该对学生作较全面的编程技能和分析问题解决问题的能力训练,即作课程设计,以达到如下目的:具体应用和巩固本课程及有关先修课的基础理论和专业知识,了解面向对象程序设计思想,掌握应用编程和组建编程程序设计方法,培养学生初步的项目设计能力。
2.独立地根据一定的项目要求,查阅资料,写出项目开发目标,分析开发过程中所用到的课程知识,提出解决方案,编码并上机调试完成系统,培养学生分析问题和解决问题的能力。课程设计是教学过程中的一个重要环节,必须认真对待。
二.要求
在课程设计中要求学生注意培养认真负责,踏实细致的工作作风和保质保量,按时完成任务的习惯。在设计过程中必须做到:
1.在某个教学单元结束后,完成一个教师布置的、或学生自己拟定的、知识覆盖整个章节的,有一定综合性和难度的项目,要求学生描述出要达到的目标、围绕目标,收集资料和素材,复习所需的课程知识,描述问题解决方案、编写程序上机调试,直到项目的完成。最后的成果要有完成的作品和相应的文档。
2.在课程结束后,完成一个大的编程项目,其要求与课程单元的项目差不多,只是综合性更强、难度更大、知识覆盖面更广,工作量更大,以全面促进学生复习和梳理学科教学内容,提升学生分析问题、解决问题和文档的书写和编制。
三、采取的措施
为了保证课程设计能够按照预定的目标和计划进行,我们还采取了以下措施来加强对学生监督和管理。
1.首先讲清楚课程设计的意义,让学生能够自觉积极主动地进行课程设计,发挥学生的主观能动性;
2.在课程设计过程中,教师随时巡视和监督,了解把握和控制课程设计的进展;
3.将学生的作品集中展示、评价、打分,可以让学生在展示的过程中获得成就感、自豪感,学生之间可以相互学习、取长补短,同时在此过程中可以明确标准,自觉地按照标准来调整自己地学习;
4.将课程设计作为学期成绩的一部分记载,大约占10%,必须完成课程设计后才能参加考试,课程设计不过关,即使考得再好,也不能过。
四、取得的效果
通过以上措施,学生全部都完成了自己的项目、将所有的作品通过超链接网页的方式集成在一个作品集中,所有的学生都完成了4~6个小作品,每个作品都反映了学生应用课程的某部分知识解决某个问题的结果,通过完成这些作品,学生巩固、加深了对相关知识的理解,加强了知识之间的联系,促进了知识的迁移和应用。同时学生看到凝聚着自己的心血、汗水、思维和创新的作品,就像一个母亲看到自己呱呱坠地孩子那样充满了喜悦,激发了学生的创造欲望。通过同学之间作品的对比,提供了一个相互学习交流的平台,激发了学生的竞争意识。总之通过课程设计受到了良好的多方面的效果,从考试成绩来看,级本科全部都及格了。
篇5:高级语言程序设计考试心得
高级语言程序设计考试心得
由于自学考试的社会性,为了体现公正和公平,试题不能像本科院校中常见的那样重复使用。自学考试的试卷内容有广泛且分散的特点,这要求考生必须全面地复习教材的内容。
1.单项选择题
试题中的单项选择题中的多数试题涉及整本教材介绍的概念和知识点。为解答这类试题,要求考生要熟练地掌握和熟记大纲中指出的“识记”和“领会”的内容。考生应摘出教材中有关C语言的重要概念、定义、有关语言成分性质的叙述,对它们深入的理解和熟记,并对语言的一些基本规定能作简单的应用。清考生注意,理解、熟记和大段地背诵的区别。由于考题表现形式的多样性,理解是最重要的,仅对关键性的概念才有准确熟记的必要,多数的概念因是理解,并要求能熟练应用。试题通常要求对某个概念、术语或计算结果作出判断,或对一些规定作简单的应用等。由于计算机科学是一门新兴学科,许多概念还没有唯一性的定义,不同书籍由于出发点或论述领域不同,同一概念会有不同的说法,为此考生在复习迎考时,不要脱离指定自学考试教材,而从其它教材出发进行复习。
「例1」设有以下代码定义字符数组c和字符指针变量pc:
char c[10]=“abed”,*pc=c;
问*(pc+4)的值。供选择的答案有:
①“abcd‘ ②'\\0' ③ ' d' ④不能确定
上述代码使字符数组c的前5个元素依次为:c[0]=‘a’c[1]=‘b’, c[2]=‘c’, c[3]= ‘d',c[4]=’\0‘。初始化pc=c使字符指针变量pc指向c数组的首元素c[0].而表达式pc+4的值是c[4]的指针。因此,表达式*(pc+4)就是引用c[4].所以问题的解答为②。
「例2」指出下列说法中错误的叙述。
①构成数组的所有元素的数据类型必须是相同的
②用指针法引用数组元素允许数组元素的下标越界
③一维数组元素的下标为1,2,3,……
④定义数组时的长度可以是整型常量表达式
由数组的概念知,数组的全部元素有相同的数据类型,另在定义数组时,需指出数组的元素个数,指定数组元素个数的表达式必须在编译时可计算的,即只允许是常量表达式,不可以含有变量。所以①和④是正确的叙述,不是问题要求的解答。在C语言中,当指针指向数组的某元素(不一定是数组的首元素)时,可利用该指针加减一个整表达式,构成指针表达式指向数组的某元素,然后用取内容运算符。间接引用指针表达式所指的数组元素。如有代码:
int a[100],* P;
表达式p=&a「20]使p指向a[20],,通过p引用数组a[l],可用表达式*(p-19)。由C语言的约定,当指针指向数组某元素时,用指针表达式引用它所指的数组的某元素也可写成等价的下标引用形式,如表达式*(p-9)可以等价地写成p[-19].这里-19是一个负整数,所以叙述②也是一个正确叙述。这种表示方法是借用下标表示法,与指针加减的整表达式引用数组元素,其中加减的整数实际不是数组元素的下标。还需要指出一点,指针与整表达式和的新指针不应该指向数组之外的别的地址。如前述的例子中指针变量p指向a[20],表达式*(p+n)中的 n要求不能小于 20,也不能大于 79.最后,C语言规定数组元素的下标从0开始顺序编号,所以选择③才是错误的叙述。
2.填充题
填充题要考核的内容与选择题的考核内容基本相同,但考核的形式不同。填充题的试题多数是从基本概念儿语言关于数据类型、程序对象、程序结构等的规定、C程序设计基本技巧等引伸的具体应用。如C语言规定每个字符占一个字节,每个字符串除存储它所包含的字符外,在字符串最后一个字符之后还存有一个字符串结束符。对于这样两个基本概念和规定,填充题可能是问具体的一个字符和一个字符串各占多少个字节等。因填充题是概念或规定的具体应用,解答的难度也就比选择题的要大,不可能有猜得分的机会。
「例3」下列函数的功能是统计并返回形参指针S所指向的字符串所含字符‘A’的个数。试完成程序,写出应填写在程序空框中的代码。
int counts(char *s)
{ int n;
for( n=0;。 ; s++)
if(*s==‘A’)n++;
return n;
}
为统计字符指针s所指字符串包含的某字符的出现次数,必须用一个循环顺序考察整个字符串。由从指针s所指字符串的首字符开始,每考察一个字符后,指针s后移一个字符位置,考察循环直至字符率结束终止。所以填写在空框中的正确代码可写成* S! =‘\ 0’。由于字符串束符‘\ 0’的代码为 8位全0,其值为 0,正确解答也可写成* S!= 0,或更简洁地写成*s.
「例4」在内存中存储‘A’要占用____字节,存储“A”又要占用____字节。
由于C语言规定字符只占1个字节,一个具体的字符当然也只占1个字节。字符串“A”要有1个字节用于存储字符‘A’,另需要1个字节存储字符串的结束符,所以它要占用连续的2个字节。
「例5」设整型变量a、b的值均为3,执行语句:
b= a++, b++, ++a;
后,a的值为____,b的值为____.
该试题的表达式书写形式一般不会直接出现在实际应用程序中,但作为考核考生对有关表达式的计算规则,也不失为是一个很有意义的试题。赋值表达式自右至左计算,而逗号运算符的优先级最低,并且逗号表达式自左至右逐一计算,并以最后子表达式的值为逗号表达式的结果。上述表达式的计算顺序可用以下3个表达式语句等价表示:
b=a++;b++;++a;
由以上一系列表达式知,变量b的最终值与其原来值无关,表达式b= a+十是先计算a++。表达式a+十的值是变量a的原先值3,但又让变量a增1后变为4.然后表达式b++又使变量b增1,变成4.而计算++a的值,是让a增1,使a的值变为5.所以上述表达式使变量a的值变为5,b的值变为4.
如上述表达式改写为:
b+=(a++,b++,++a);
请读者回答执行该表达式后,变量a和b的值又分别为多少。
3.程序分析题
程序分析题要求考生阅读程序,回答程序的输出结果,或指出程序的功能。回答这类问题,要求考生将自己当作一台假想的计算机,模拟执行序。
对于这类试题常有两种可用的方法。一是从程序的初值、循环结构、条件等发现程序的规律厂是完全从模拟执行出发读程序,求出程序的输出结果。如采用后一种方法,由于程序执行的动态性,程序中的有关变量,随着程序的执行,变量的值就会不断变化。一般来说,随时记住全部变量的当前值是非常困难的。一个行之有效的方法是用一个变量表,将程序中的全部变量罗列在该表中,某个变量值的变化记录在该变量当前值的栏中,这样就能方便地列出各个变量的动态变化过程。在这里,考生要当心函数形参及函数的局部变量与实参变量及程序的外部全局变量同名的情况。为了区别它们,对于函数形参和局部变量可以标上它所属的函数名,以与同名的实参变量及外部全局变量相区别。由于试题程序总是完成某种有一定意义的计算工作。一般来说,程序的执行过程舍有某种规律存在。如能找出程序的规律,就不需要逐句阅读程序的语句,能直接导出程序的结果。程序的规律从以下几个方面着手:有关变量的初值,特别是数组的初值;程序的循环控制结构,特别是遍历数组的循环,它的循环控制变量将控制数组元素下标的变化;循环体中的语句的条件,一般条件有两种形式,一种是由数组元素值的大小描述,另一种是由元素的下标值描述,前者用于对其值满足某种条件的元素进行指定的计算,后者用于对满足条件的某些位置上的元素进行指定的计算。
最容易出题,变化也最多的是数组(包括字符串)处理程序,正确解答这类试题要熟练掌握两点:一是引用数组元素的两个等价方法,即用数组首元素指针(数组名)和下标引用数组元素,及通过指向数组元素的指针间接引用数组的元素;二是一些常用的简单算法,如数组或字符串遍历、插入元素或删除元素,以及常用的排序方法等。对于文件处理程序,要注意文件当前的读/写位置,即对于读文件,注意当前读人的数据及前读头位置;对于写文件,要注意当前写入的数据。另外要特别指出的是,通过读程序,能发现程序执行的规律是非常有用的技术。但这个技术的掌握是建立在熟读大量的程序和自己编写过大量程序的基础上的。如一个程序是对数组的前n个元素执行某种操作。考生在阅读这种程序时,不妨假定输入的n值为4或5,将n等于4或5的结果类推到任意的n.
「例6」阅读下列程序,写出程序运行后的输出结果。
# include
main
{int a[][3]={1,2,3,4,5,6,7,8,9};
int i,j,s1= 0,s2= 0;
for(i= 0;i<3, i++)
for(j=0;j<3;j++){
if(i==j)sl+=a[i][j];
if(i+j==2) s2+=a[i][j];
}
printf(“sl=%ds2=%d\\n”, sl,sZ);
}
首先将二维数组a的初值写成每行3个元素,由于程序只提供9个初值,a只有3行:
1 2 3
4 5 6
7 8 9
程序用a[i][j]引用a的元素,所以外循环i是控制行的循环,内循环j是控制列的循环,这两重循环控制遍历整个数组 a的全部元素。条件 i==j表示当行下标与列下标相等时,即是 a的主对角钱上的元素时,将它们累计到变量s1,所以s1的值为15.条件i+j==2用于控制行下标与列下标之和为行列下标之和为某个常数的元素是同在某条右高左低斜线上的元素。对于3行3列的二维数组来说,就是副对角线上的元素。将这些元素累计于变量s2,所以s2的值也是15.
「例7」阅读下列程序,简述程序的主要功能。
main()
{ int i,s[10],*p=&s[9];
for(i=0;i<10;i++) scanf(“%d”,&s[i]);
for(;p>=s;p――) print(“%d”,*p);
printf(“\\n );
}
程序中定义的'变量i用于循环控制,数组S用于存储读人的整数,指针变量p的初值指向数组S的末元素。程序的第一个循环用于顺序输入数组S的10个元素的情。从程序的第二个循环代码知,每循环一次,指针p减1,即指向数组的前一个元素,循环条件直至循环处理了数组的首元素后结束,循环体只是简单地输出指针当前所指的数组元素。所以该循环实现从数组的末元素开始逆序遍历数组输出。这样程序的功能可简述如下:
“顺序输入10个整数,并逆序输出它们的值。”
4.程序设计题
程序设计题是给出问题,要求考生自己独立编写程序。考生平时认真参加上机实习,自己编写程序,是能解答这类试题的基本条件。多数考生学了程序设计以后,能基本了解教材的内容,能解答大部分前述三种类型的试题,平时还能指出别人程序的错误,但由于很少自己动手,或不知道从何着手编写程序等原因,自己还一直不会编程序。简单程序的设计通常要包含两个步骤:首先是设想计算方法,即用什么方法来解决给定的计算问题;其次是将求解方法告诉计算机,命令计算机怎么做。第一步工作人们采用常人的思维习惯,而第二步工作必须采用计算机的思维习惯。对于程序设计的初学者来说,最困难的可能还是很难适应计算机程序的思维习惯,人们几乎无法承受程序必须将要计算机完成的计算过程描述得几乎绝对的精细和精确。但对计算机来说,这又是非常必要的。编写程序就是在向计算机讲话,非常精确地告诉计算机怎么做。
「例8」编一个程序,从名为“text.txt”的文本文件中读取一个字符显示在屏幕上。
本例题要求实现最简单的文件处理。如考生知道文件处理程序的编写要点,就能方便地写出程序。
文件处理程序有以下几个要点:
(l)在程序的开始处,用包含预处理命令,包含标准文件Stdio.h.定义文件指针变量和存储文件名的字符数组。如以下代码所示:
# include
file *fp /* 定义文件指针变量 fp*/
char fname「40」=“某文件名”;
(2)如文件名在程序执行时输入,可用以下代码:
prinif(“请输入文件名(包括文件的目录路径、文件的扩展名)\\n);
scanf(“%s%*c”,fname);/*输入文件名及其随后的回车符。/
(3)使用文件前,必须先打开文件,常用的有两种打开方式:
老文件打开为了让程序从正文文件输入数据,用读方式打开,则用以下代码:
if((fp=fopen(fname,“r‘’))== NULL) {/* 为读打开*/
printf(“%s文件不能打开,结束程序的执行\\n”,fname);
return;
}
若文件打开为了让程序向正文文件输出数据,则用以下代码:
fp=fopen(fname,“w”);/*为写打开*/
读打开时,要求被打开文件已存在。写打开时,若被打开文件不存在,则建立一个以fname内容命名的新文件;若被打开文件已存在,则该文件上的数据被删除。
(4)文件使用结束后,要及时关闭,如以下代码所示:
fclose(fp);/* 以后中又可用于打开文件。/
(5)调用有关文件输入输出库函数。最经常使用的有:
调用函数 fgetC()从文件输入下一个字符,如:
Ch= fgetC(fp);/*将输入字符存于变量 Ch*/
调用函数fscanf()从文件按指定格式输入数据,如:
fscanf(fp,“%d%d”,&k,&j);/*从文件输入两个整数分别存于k和j*/除在第一位置增加一个文件指针变量实参外,其余与函数Scanf()的用法全相同。
调用函数fputc()向文件输出一个字符,如:
fputC(Ch,fp);/*将变量ch中的字符输出到文件。/
调用函数fprintf()向文件按指定格式输出数据,如:
fprintf(fp,“%d%d\\n”,k,j);
该函数调用是按格式要求将k和j的值输出到文件。除在第一位置增加一个文件指针变量实参外,其余与函数prinif()的用法全相同。
(6)从正文文件逐一输入字符,作某种处理的程序结构为:
int c;/*若要用EOF测试文件结束,则不能为char类型*/
FILE *fp;
……/*说明有关变量和设置初值等*/
if((fp=fopen文件名,“r”))==NULL){/*以输入方式打开*/
printf(“不能打开文件%s./n”,“文件名字符列”);
return;
}
while((c=fgetc(fp))!= EOF){
……/* 这里对刚读人的字符信息C作某种处理*/
}
fclose(fp);
……/* 输出处理结果*/
(7)字符逐一生成输出,形成新文件程序的一般结构形式有:
int c;/*也可以是 char类型*/
对于本例题,只要包含上述(1)、(3)、(5)和(4)即可,写成完整程序如下:
# include
FILE*FP;/*定义文件指针变量 fp*/
char fname[40]=“text.txt”;
main()
{char c;/*或 int c*/
if((fp= fopen(fname,“r”))== NULL){ /*为读打开*/
printf(“%s文件不能打开,结束程序的执行\\n”,fname);
return;
}
c=fgetc(fp);/*将从文件输入的字符存于变量c*/
printf(“%c\\n”, c);
fclose(fp);/*中所指文件关闭*/
}
「例9」编写函数f,该函数没有浮点型数组形参float[]和整型形参n,函数的功能是计算并返回p[]中前n个元素的平均值。由于函数返回已知数组的平均值,函数的头有以下形式:
float f( float p[], int n)
函数为了计算平均值,需要两个计算步骤,首先是求出数组元素之和,然后将求得的和除以元素个数。严格地说,函数还因防止形参n小于等于0的情况,假定当n小等于0时,函数返回0值。为求数组元素和,需要一个存储和的变量(例如说S)。求和通过遗历数组实现,有两种实现方法:
一是引入一个循环控制变量(例如说i),并让 i作为弓佣数组元素的下标(如 p[i])。所以有以下代码:
float f(float p, int n)
{ int i; float s;
if(n<=0)return 0.0;
for( s=0.0, i=0; i return s/n; } 二是由于函数的数组形参实际是一个指针变量,遍历数组直接可用指针形参p实现。循环次数可让变量 j控制, j的初值为 n,每次循环后让 j减 1,循环直至 j为 0结束。写成 C代码如下: float f( float p[], int n) { floa S; int j=n; if( n<=0) return 0.0; for( s=0.0; j>0; j――) s+=*p++; return s/n; } 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程序设计有了一定的了解后在对其各部分下功夫(这下可不是照顾全局了,要静下心来细心的咀嚼,要不然你会咽到的。)这样才不会走火入魔(嘿嘿)就写到这吧,以后等我水平高些了再写(还早着呢,嘿嘿),希望我没白费功夫,也希望对你有用。 自从记事以来就听过了电脑这个高科技,现在终于实现了自己的一个小小愿望成为了计算机系的一名学生,这学期我们学的c语言,以前就听过这个名字,打开书一看简直一窍不通,学好这门科简直就是一个挑战,课前课后都要把书啃一遍,要不然上课就跟不上,终于学期快结束了,我们有一个课程设计,在两个星期内,完成一个复杂的程序,我们的题目是做一个计算器,计算器从小就见过但让我自己设计一个出来就有点困难了。 第一天,我们都按照老师教的画图函数画计算器的外貌,但发现一个一个画实在是太烦琐,后来在老师的点拨下,我们采取了for语句,果然很快地画出来了,接下来的事就是计算了,用什么函数?怎么用?那个上午就坐那发呆,没有什么新突破,自性心严重受到打击,下午立马找了份材料到图书馆去研究,还专门找了位高手教我,研究了一个下午终于有眉目了,第三天我们成功地把计算功能搞定了,但还有闪烁的功能没有搞,这确实是一个问题,这时团结的力量得到了充分的体现,大家齐心协力,有的找资料,有的帮忙改错,有的俗话说:三个臭皮匠顶个诸葛亮。在大家的共同努力下,我们胜利了。 感谢刘金平老师的淳淳教诲,感谢同学的积极帮忙,我的程序终于顺利完成了,接下来的就是写报告收尾了,看着自己的劳动成果写起报告来特有劲,特有灵感。 很感谢这次的课程设计,它使我更加深刻地体会到多看专业书的重要性,只有掌握了一定量的专业知识才能得心应手地解决诸多问题;另外,做任何事都要有耐心,不要一遇到困难就退缩;在学习和工作中要时刻谨记团结二字,它好比通向成功的铺路石,不可或缺。 人生的道路是曲折的,但正是因为曲折人生才光彩夺目,在人生的路上,总遇到重重困难,但正是因为困难我们才变的更坚强。今后的路还很长,面对困难,让我们用行动去俘虏它吧! 通过两个星期的折腾,总算把课程设计给完成了,这是一个坚苦而又漫长的过程。是啊,读了那么多年的书,课程设计可是第一次。看着劳动成果,很欣慰!虽然这不是我一个人做的,是大家的共同努力得来的。 也许完成不了!两个星期前我们这样说,完成他没问题!一个星期前我们这样说,现在我们可以说:哈哈,完成啦! 刚开始,可以说是没有头绪,于是就去图书馆找资料,找到了一些关于画图方面的,可是这点小进展远远不够,这只是一个小小的开始。下一步是上网查,找到了些与我们题目相似的,那时我们每个人都很高兴,可是那还不是我们要的,于是又上网查到了些有关的函数等等,终于在我们大家的努力下,完成了这个程序。 虽然对着电脑做程序,有点累有点热,可是当看到劳动成果时,真是别有一番滋味在心头啊!世上无难事,只怕有心人,的确如此。做完这个程序最大的收获就是感受到了集体的力量,当然个人的智慧也是很重要的哦! 做完这个课程设计,我们的`自信一下子提高了,我们也会写程序了;尽管对于有些人这种程序会很简单,可对我们c语言初学者来说,已经很不容易了。这次体验为以后的学习计算机的我们增强了信心。享受劳动成果的滋味实在很美妙啊! 终于挨到了写收获和体会的时候了,也就意味着这个课程设计接近了尾声,的确令人兴奋,看着自己的劳动成果,应该是大家,全班同学的共同努力,才有现在的这个程序。 一个星期前的现在,当听到老师布置给我们的这个题目时,我们都蒙了,这么难的题目我们怎么会啊,我们都表示不满,抗议,可是一切都是徒劳,我们只能尽我们自己最大的努力把程序给写出来,虽然知道这一路肯定是异常的艰苦,但豁出去了。 上网查资料是我们迈开的第一步,有类似的题目,可是不一样,我们失望而回,然后再是去图书馆查,肯定没有现成的,我们只能查相关的函数,经过两三天的努力,我们把框架弄出来了,可是还有计算和闪烁这两大难题摆在我们面前,真的是个难题,自从把框架弄好了以后就没有进展了,眼看一个星期快过去了,我们那个急啊,可是急也没有用。29个人总归可以搞定,这是我们可以坚持到现在的信念,终于工夫不负有心人,我们参照类似程序,改改和添添,终于大功告成,我们欢呼我们雀跃,终于相信我们自己是足够的伟大。 这一个多星期以来,我们坐在电脑旁,又累又热,可是当程序做出来了之后,那点累那点苦又算得了什么呢。 当现在敲打这些字的时候,满足感油然而生,如果有人问我物质和精神哪个更让人满足,那答案一定是精神,那种感觉只有自己体会了才能懂。 这可不是大话,原来一直认为这样一个程序我们是不能完成的,可是现在我会很自信的说:没有什么可以难倒我们。程序设计提升了我们的自信心,真的是受益匪浅啊。 这当然得感谢刘金平老师和全班同学的帮助。 我们不仅仅是尽力,更是竭尽全力。 这就是年少轻狂的我们——什么都敢做,什么都不怕,就算跌倒了,再爬起来,没有什么大不了。 c语言课程设计和现代计算机技术的实际应用相结合,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验,从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。使我们体会到自身知识和能力能在实际中的应用和发挥。不但可以激发创新意识,还可以开发创造能力、培养沟通能力。这次实习时间虽然仅有一个星期,但确实使我受益非浅。通过实习我丰富了计算机操作经验,更加深了对c语言的了解,熟悉了其环境,更增强了对turbo c的使用技巧。 另外,实习中老师对我们进行了细心、耐心的指导,鼓励我们对程序进行合理改进,培养了我们的创新意识和创新能力。原来是我认为可怕的课程设计,就在种种辅助条件下完成了,心里有说不出的高兴。 虽说捧着自己的成果很高兴,但成果背后总是付出很大的努力。 一个多礼拜中,我们有过山穷水尽的困惑;有过柳暗花明的惊喜;有过唇枪舌剑的辩论;有过相互鼓励的安慰。一个多礼拜的时间我们经历了很多,也收获了很多。与其说它是体力与脑力的作业,不如说它是合作精神和毅力的考验。经过这次课程设计,我不仅学到了很多知识和技能,更重要的是我们学会了如何运用所学知识去解决实际问题。 一个多礼拜的挣扎,绞尽脑汁终于带着麻木的手指和大脑脱出那堆“泥潭”。现在的心情是如鱼得水,干涩的眼睛前方是万里晴空。终于,所有的努力即将化成了一个个铅字,打印机“滋滋”的声音仿佛已经宛如天籁般悦耳地在耳畔响起。此时此刻,真想把一切抛上天空。高呼:“出来了!我的成果即将出来了!”,心里也在默默的感慨着:“有志者,事竟成,破釜沉舟,百二秦关终归楚。苦心人,天不负,卧薪尝胆,三千越甲可吞吴。”篇6:程序设计心得体会
篇7:程序设计心得体会
篇8:程序设计心得体会
篇9:程序设计心得体会
篇10:程序设计心得体会
- 《程序设计》课程教学方法的研究论文2022-12-12
- 如何才能有效的学习程序设计2025-11-06
- 浅谈VB语言程序设计课程教学策略2022-12-11
- 公共程序设计课教学质量提高探索2024-01-14
- 嵌入式Linux系统CGI程序设计技术2025-03-17
- C语言程序设计教学分析与探索论文2024-10-25
- 计算机二级C语言程序设计考点解析:运算2024-09-25
- 计算机二级考试Java语言程序设计考点:关键字2025-05-04
- 浅析成人教育计算机专业程序设计课程实践教学思考论文2022-12-11
- 环保的心得2024-02-22