网络作文之网络编程心得体会.docx
《网络作文之网络编程心得体会.docx》由会员分享,可在线阅读,更多相关《网络作文之网络编程心得体会.docx(22页珍藏版)》请在冰豆网上搜索。
网络作文之网络编程心得体会
网络编程心得体会
【篇一:
c++学习心得】
c++学习心得
在计算机课程中,c++程序设计是计算机专业的一门必修基础课,该语言以其高效而又实用的特性:
既可以进行过程化程序设计,又可进行面向对象的程序设计,是进行软件开发的直接工具。
学习语言是需要技巧的,无论是哪种语言,里面都是有规律的。
对于计算机语言来说,我认为应该先理解,然后上机去实现它,实践是检验真理的唯一标准。
c++语言课程是一门实践性很强的课程,一定要动手多写设计、编写程序才能有所进步。
在实践教学中必须做到循序渐进,对所学的每一部分内容都应该要求学生完成一定数量的实验内容。
每部分的上机习题必须精心挑选,既要有基本的、较简单的题目,又要有一些具有挑战性的新颖有趣的题目。
自己编写的程序一定要到机器上去实现,通过调试程序来修订语法错误,排除逻辑错误,进而提高编程能力,通过做一定量的习题,可以积累一定的经验,同时对程序设计的精髓会有所领悟,从而重视上机实验。
实践重要,老师的教学方法同样重要。
要强调学以致用,展示学生能够理解而且又容易提起兴趣的用c++语言设计的软件以及往届学生的设计成果,给学生布置了几个专题,比如:
设计班级成绩管理系统、简易的图书管理系统、简易的通讯录管理系统、小游戏等让学生利用课余时间去思考、收集资料,以教师为主导,以任务为主线,以学生为主体,过一段时间在课堂上组织学生发言和讨论一次,看看大家对这些问题的思考程度,提提建议,鼓励加引导,最后到完成。
这种教学法不仅可以让学生获得许多课外知识,同时也促进教学内容的改革,而且也有利于充分挖掘学生的学习潜力。
当然,仅靠一个学期的c++语言的学习是远远不够得,需要在后续课程中进行巩固提高。
c++兼容c语言,c语言是c++的子集,我们把c语言和c++融合为一门课程,第一学期授课以c语言为主,第二学期讲授以c++为主,所有程序都以vc++为调式环境。
经过这样的整合,知识内容显得很连贯,一气呵成,为第三学期的windows程序设计课程奠定了基础。
后继的数据结构、算法分析与设计、计算机网络原理等课程实践环节都利用c++语言进行开发,开展3年不间断的c++编程训练。
【篇二:
我关于编程及cc++初学心得体会】
我关于编程及c/c++初学心得体会
本文原为本人在论坛所发若干帖,意在集中解决新手学习c/c++语言时将遭遇到的各类问题,网友反馈情况良好,集合修订后作为个人作品贴于此处。
本贴主要分析概念原理和解决方案,不讨论具体程序语法,立足于让初学者能运行起第一个程序。
其他事宜如解释入门语法等本文基本不涉及。
本文依照创作公用约定(署名-非派生作品-非商业用途)发布。
作者(即本人)无更新计划,请勿与作者联系。
作者:
碧蓝右耳。
版本号:
3.0
完成日期:
2008-03-10
一、开始之前
faq那是什么
为何有这篇faq
编程为何物
如果这就是编程,那语言是怎么回事
我为啥要学编程
听说编程很难,是真的么,那我能学会吗?
我真的可以么
还一定要有台电脑么
好吧你说服我了,我打算开始,该怎么做
那么,下一步怎么干
我碰到问题了,谁能帮我
我能看懂别人的程序,但自己做就觉得无从下手,怎么会这样
我英语\xx不会,咋办
关于态度、情绪和其他
二、选择c/c++语言
c语言是什么
c++语言是什么
为何要选择纯c
c/c++语言和其他语言有什么关系
我为什么要学c/c++语言
python语言作者的另一推荐
三、一些重要的概念-----计算机原理
编程的对象是什么————计算机
程序到底是怎么回事————是操作而不是结果
为什么要编程————因为机器的特点
你们老是提到编译器,那是什么-----代码翻译机
给我解释下啥叫编程语言————各路江湖武功
语言之后要确定的事情------操作系统和平台
编程时什么东西最重要----源代码
我的程序和一般的程序不一样,什么原因————控制台和图形界面的差异好像不能建立一个单独的文件来编译————工程和项目的问题
难道一切都要从头干起————函数、api、类、控件、开发包与软件复用
关于图形库的补充说明--------可选择的图形库
四、教材、习题和示例
能推荐几本好书么
首先是纯c的教材
然后是c++的教材
接下来是windows编程
unix/linux/bsd系统
数据结构和算法
各种图形以及其它库
软件工程思想
找书的诀窍
光看书似乎不解决问题,难道要做题
oj是什么
哪里有可用的oj
哪里有代码示例可看
五、选择编译器
有哪些编译器可用
还有些可以配合编译器的开发环境
他们在哪里
怎么安装他们----特别解释mingw版gcc的安装
六、tc下常见的问题解决
用tc创建第一个程序
tc的库路径设置
tc下的图形编程设置
我的程序在tc下可以编译,在vc/gcc下为什么出错
七、其它编译器问题
用vc创建程序
用dev-cpp创建程序
用mingw创建程序
用lcc-win32创建程序
八、结束语
程序员成长的六个阶段
一、开始之前
faq那是什么
faq就是frequentlyaskedquestions,也就是常见问题解答。
这玩意儿通常是一些所谓
的高手或者前辈为了节省回答新手的大量简单重复问题所耗费的时间精力而采用的一种偷懒手法。
一旦完成,高手只要一努嘴,“看faq去”就万事大吉了。
实在是居家旅行杀人越货之必备良药,因此在各大论坛已经有大泛滥的趋势。
本篇faq为学习c语言、c++语言的大量新手编写,重点是如何运行起第一个程序,不涉及语法、数据结构和算法等内容。
如果你已经通过计算机二级或水平相似的考试,甚至你是职业选手或是大师级的人物,就不必再往下看了。
同时,本faq只讨论c/c++语言,其他语言如javavbpython等均不涉及,虽然阅读本文前四章节也会对学习这些语言有所帮助,但深入学习还是请阅读这些语言的专门教材。
为何有这篇faq
本文是为那些对编程新手所准备的,如果你自认已经不是新手,那么请离开把时间放到更有用的地方。
如果你是那种对编程一无所知,迫切想知道他是怎么回事,或者仅仅编写了几个小程序,却遇到一大堆问题,而在论坛或是其它地方又得不到帮助,但心中又有雄心壮志想要做绝世高手顶尖黑客或者想要以程序为生的入门级新人,那么你恰好是本文的服务对象,请详细阅读以下的文字,我想应该会对你有所帮助。
而且请你了解,本文的这部分内容所要介绍的是那些普遍性的概念,与具体任何一种语言都无关。
正如我们所知,市场上充斥着无数的编程教材,同时可以肯定的是,目前已经面世的教材(包括正式出版物和网络上的教程),穷一人一生之力是看不完的。
在这些书中,有大量的垃圾书,大量的平庸之作,还有少量的精品。
而即使是这少量的精品,也不可能看全。
既然书这么多,我为什么那么闲还要来写一篇呢,有这时间,我还能多画几张效果图挣俩钱花呢。
情况是这样的,市场上的书虽多,但其中几乎没有几本是面向初学者的。
我所指的初学者,是指从来没有编写过程序,甚至是连编程二字都没有听说过的人。
这样的书是如此之少,以至于要去购买或是阅读到他们都是很困难的事。
在我个人的学习生涯中我认识到很多编程教材有个糟糕的倾向。
他们要么是一下子告诉你所有的事,好像你能在千分之一秒中突然从菜鸟变成好手,要么就是认为有些事你早就应该知道,拿你当熟手看,导致你有一种赤身裸体被抛弃于猛兽横行的非洲旷野的感觉。
你还没有穿上衣服走出帐篷,连刀子都没有摸过,他们就试图告诉你草原上有多少可以捕获的猎物以及他们的位置,告诉你几百种武器和毒药的使用秘籍,告诉你两百条以上的陷阱安放要领。
你没有经过丝毫的练习,甚至还没有杀死过一只刚出壳的小鸡,他们就要你独自去捕猎数十头饥饿的狮子。
这种看似荒谬的情况从过去持续到今天,至今仍然存在。
这并不是说那些写教材的朋友都是傻瓜,这件事当然有它的原因,因为他们面向的读者是程序员。
程序员就象是猎人,他们更换语言就像猎人更换武器一样,不管他使用哪一种武器,捕猎的基本原理没有变化,变化的只是武器的使用方法。
对一个成熟的猎人而言,再强调基本原理就没有必要,所以教材们对人所共知的一些事也就避而不提。
一个成熟的猎人,她心中的捕猎知识是浑然一体的,武器的选择,野兽的习性,陷阱的安放,怎样做和为什么这样做都结合在一起,没有哪一部分可以独立出来,一部分一部分的教给别人是极度困难的的,要教就只能混杂在一起。
程序员的情况类似,知识体系是完整系统的,谈到一个问题总会牵扯到另一个,最后的结果就是别人总是希望并想当然的认为你可以一口吃成一个胖子。
这样的后果就是,一些很明显的事情,老手认为那是你应该知道的因而不予回答,而新人却发现没有任何地方可以找到解释,也不知道该到哪里去找答案。
(不懂得如何找答案也是新人的特点之一)。
有一个典型例子与这种情况很类似,鼠标,我们已经习以为常并且很熟练地使用着,但是很多第一次接触电脑的人那却是完全摸不着头脑的东西。
在各地的论坛
里,总有大量的新人提出诸如“学c++好还是vc,vc++好?
”“c++也可以编窗口程序吗?
”这样的毫无常识的问题。
我的faq就是为了来一次性解决这种问题的。
编程为何物
编程就是编制程序。
程序是让计算机发挥功能的命令的集合。
程序有两种形式,让计算机真正执行的是电脉冲形式,叫机器码,程序员编制的通常是文本形式,叫源代码。
使用一个称为编译器的工具,可以把源代码转变为机器码。
而编程就是产生那些源代码的工作。
这个工作类似于谱曲、编菜谱、写工作手册。
我们知道,谱曲并不是一蹴而就的,往往需要反复的修改,直到最后满意为止,编程也是一样,接近工作时间的30%是完成粗制成品,剩下的70%时间是在不断的修改,这是相当枯燥和乏味的。
有志于投身编程的朋友们,不要忘记这一点。
如果这就是编程,那语言是怎么回事
文本形式的源代码,其实有些规定的。
就像我们和老美用英语交流。
首先你得说英文单词,不能冒法语词汇日文假名出来,其次你得按语法讲话,不能一个个单词往外蹦。
程序也同样有词汇和语法上的一些规定,这些规定就构成一门语言。
显然任何一门编程语言都是人造语言。
人造的东西,因发明人的想法而不同,就形成了不同的语言。
我为啥要学编程
这个问题有两层意思。
首先是编程为啥要学,很简单,因为这玩意不是生来就会,就像木匠活一样属于一门手艺,自然要通过学习才能掌握。
你怎么也得花上几年来学英语不是。
第二层涵义才是重点,为啥我要学它。
答案因人而异。
有人为了上学有人为了考试,有人为了求职挣钱,还有人就是吃饱撑没事做自虐。
什么为了开发智力啊证明自己啊寻找成就感啊,那都属于自虐,在下便属于自虐一族。
没啥说的,确定你的目的,也许只是好奇想接触下啥是编程,也许是有课业的任务,也许是想以后靠他找工作,或者是羡慕那些黑客。
总之,想继续深入的,往下看,没信心的趁早走人,外面帅哥美女多的是,不要浪费大好时光青春年华在一台破机器上,ok?
听说编程很难,是真的么,那我能学会吗?
你觉得说中文难么?
你能流利的说普通话是不是。
但是你知道么,汉语是世界上最难学习掌握的语言。
稍后我会介绍计算机的特征,你就会明白知道基本上编程这件事的难度等价于指挥iq20的壮汉。
任何一种计算机语言的难度都不会超过英语,更比不上汉语。
那么你认为你能不能学会编程呢。
请记住学会和学好是两个层次,就像中学生作文和报刊出版物之间的差异。
达到学会那个程度,只要有小学三年级的知识基础就可以开始了,也就是识字就行。
而如果要学好,那需要初高中毕业的文化水准,也就是应该略懂英文和解析几何。
当然还有更高的技术层次,比如在相当于职业作家的水平上,你将被称为专业程序员。
而如果你被称为大师,那就是诺贝尔文学奖。
抵达那个程度需要付出艰苦的努力,至于怎么达到,不在本faq讨论之列。
我真的可以么
如果你已经看完前面的部分到达这里,显然你是确实想要学习编程的新手。
不论你是为了什么目的来学习,在看了我上面的话之后是不是很有信心呢,不过我要打击你一下,不是谁都学得好编程的。
人人学开车,但不是谁都能上赛道,舒马赫更是只有那么一个。
就像有些惊险刺激的游乐设施禁止高血压心脏病患者参与一样,编程作为一项耗费智力和体力的活动,对参与者也有一定的要求,先来看看吧,满足这些条件,你就可以放心大胆的开始。
先说体质要求。
太祖说:
身体是革命的本钱。
健康的身体对编程大有益处,但并不是说残疾人就不能参与。
就目前的技术水平,除了脑瘫和目盲这两项,其他的肢体残缺根本不妨碍。
霍金先生在这样严重的情况下还能持续研究的事实,还不够激励你么。
紧随其后的是足够的精力和时间。
dearfriend,只要你能静坐20分钟安静的看完这篇faq,你的体能就达标了。
如果你想告诉我,你能够一天在电脑前连续操作18小时以上,我要说的是,年轻人,虽然你很威猛,但请注意保养身体。
只要每天您能抽出30分钟来学习,那你的时间也合格了。
当然有更多时间确实会更好,不过也没必要每天12小时,编程并不是世界上最重要的事,我们还有别的事要做(这是对非职业选手说的)。
必须认识到,学习编程重要的是持之以恒,而不是依靠爆发力,每天半小时比一周一次6小时效果好的多。
第三个要求是你要略微懂一点计算机。
不错,只要略懂就可以了。
因为这正是本文的主要目的:
向略懂计算机的人介绍编程。
那么,怎么才算略懂呢。
如果你还不会上网,没事。
你会不会打字,不需要打得很快,也不需要会打中文,只要你能把键盘上的26个字母和十个数字挨个输入一遍我就认为你已经通过。
然后,对于windows用户,你能不能打开记事本程序,在里面打几个字并且存成一个文件。
如果你说能,ok,你合格了。
你还不会打字或是不会用记事本?
这样的话,你最好还是先学一学基本操作,否则本文对于你实在是毫无用处。
你找不到记事本程序,请让您边上的人指导一下,可能你还没有安装这个程序。
有可能您不是windows用户,联系给你装机的人或公司,或是你们的网管,让她给你可用的文本编辑器,通常会是vi或emacs,当然也可能是别的,只要你会编辑并存储一个文件,就可以了。
你连电脑都没见过?
?
@#$%^*!
!
!
!
这样的话,本教程对你根本没有用处,你还是看见过电脑以后再来阅读本教程吧。
最后一点,你需要有顽强的毅力。
编程并不象你想象的那样轻松,不是野餐和聚会。
尤其是对于职业程序员都应掌握的c++,她可以用两句话来形容:
三年不开张,开张吃三年。
千万记住,c++被称为是真正的程序员使用的语言不是没有理由的,她的复杂度和性能超出你的想象。
有无数的编程新手,在第一个月不到就放弃了,你最好确定你不是他们中的一员。
毅力没有尺子可以来度量,在这里我只能先祝愿各位读者都能坚持到最后。
还一定要有台电脑么
不幸的是,到目前为止,是的。
在老年时期,贝多芬可以凭空作曲而不依靠钢琴之类的
【篇三:
嵌入式心得体会】
篇一:
嵌入式心得体会
这学
期才接触嵌入式系统感觉还称不上入门,我通过学习知道了嵌入式的发展前景很大,各个领
域都用到了嵌入式,学好嵌入式不愁没饭吃。
广义上讲,凡是带
有微处理器的专用软硬件系统都是嵌入式系统。
如各类单片机和dsp系统。
从狭义上讲,那
些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定场合的
专用软硬件系统称为嵌入式系统。
嵌入式系统由嵌入式硬件与嵌入式软件组成;嵌入式硬件
以芯片、模板、组件、控制器形式埋藏于设备内部。
理解“嵌入”的概
念主要从三个方面上来理解。
1、从硬件上,将基
于cpu的处围器件,整合到cpu芯片内部,比如早期基于x86体系结构下的计算机,cpu只
是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部
的16c550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到cpu内部,还
有pc机有显卡,而多数嵌入式处理器都带有lcd控制器,但其种意义上就相当于显卡。
比较
高端的arm类intelxscale架构下的ixp网络处理器cpu内部集成pci控制器(可配成支持
4个pci从设备或配成自身为cpi从设备);还集成3个npe网络处理器引擎,其中两个对应
于两个mac地址,可用于网关交换用,而另外一个npe网络处理器引擎支持dsl,只要外面
再加个phy芯片即可以实现dsl上网功能。
ixp系列最高主频可以达到1.8g,支持2g内存,
统结构下由intel进行整合后成xscale内核的最高的处理器了。
2、从软件上前,就
是在定制操作系统内核里将应用一并选入,编译后将内核下载到rom中。
而在定制操作系统
内核时所选择的应用程序组件就是完成了软件的“嵌入”,比如wince在内核定制时,会有相
应选择,其中就是wordpad,pdf,mediaplay等等选择,如果我们选择了,在ce启动后,就可
以在界面中找到这些东西,如果是以前pc上将的windows操作系统,多半的东西都需要我们
得新再装。
3、把软件内核或应
用文件系统等东西烧到嵌入式系统硬件平台中的rom中就实现了一个真正的“嵌入”。
。
嵌入式系统分为4
层,硬件层、驱动层、操作系统层和应用层
1、硬件层,是整个
嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用c和汇编语言来编程的话,
从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师
是要能够看懂硬件的电路图和自行完成cpld的逻辑设计的,同时还要对操作系统内核及其调
度性相当的熟悉的。
但硬件平台是基础,增值还要靠软件。
硬件层比较适合于,电
子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单
片机原理及接口技术、微机原理及接口技术、c语言。
2、驱动层,这部分
比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的
驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系
统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,
很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调
用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的
程序,要不就是等上一会才能运行后来打开的程序。
想做个好的驱动人员没有三、四年功底,
操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。
驱动层比较适合于
电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,
除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分
精通了解。
3、操作系统层,对
于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操
作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。
操作系
统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。
据说,xp
操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己
的女娲hopen操作系统估计也得花遇几百人年才能搞定。
因此这部分工作相对来讲没有太大
意义。
4、应用层,相对来
讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和
开发环境有相应的变化而已。
如果涉及java方面的编程也是如此的。
嵌入式系统中涉及算法
的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。
但如果涉及嵌入式系统下面嵌
入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于sip、
h.323、astrisk)方面又较为复杂,并且有难度了。
通过网上查询我发
现目前国内外这方面的人都很稀缺。
一方面,是因为这一领域入门门槛较高,不仅要懂较底
层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件
设计的时间和空间效率要求较高),而且必须懂得硬件的工作原理,所以非专业it人员很难
切入这一领域;另一方面,是因为这一领域较新,目前发展太快,很多软硬件技术出现时间
不长或正在出现(如arm处理器、嵌入式操作系统等),掌握这些新技术的人当然很少。
嵌入
式人才稀缺,身价自然就高,越有经验价格就越高。
其实嵌入式人才稀少,根本原因可能是大
多数人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进行指导开发流
程。
我们软件系的人学习嵌入式,显然应偏重于嵌入式软件,特别是嵌入式操作系统方面。
对于搞嵌入式软件的人,最重要的技术显然是掌握主流嵌入式微处理器的结构与原理,必须
掌握一个嵌入式操作系统,必须熟悉嵌入式软件开发流程并至少做过一个嵌入式软件项目。
然而我们都没有做
过一个嵌入式软件项目,甚至连嵌入式的开发流程我也不清楚,我只了解了使用简单工具做
一个简单的实验。
只有去专研才能在嵌入式的领域站住脚,只有知道的比别人多才会更有竞
争力。
通过网上了解,我查询了嵌入式的入门和所需要的知识,其中c语言尤为重要,不管
是做嵌入式软件还是硬件开发的人员,对c语言的掌握这个是必需的,特别是对于以后致力
于嵌入式软件开发的人,现在绝大部分都是用c语言。
其次,应该对操作系统有所了解,这
对你对硬件和软件的理解,绝对有很大的帮助。
应该把系统的管理理解一下,比如进程、线
程,系统如何来分配资源的,系统如何来管理硬件的;知道了c语言和操作系统之后,再来
看看嵌入式系统,我们主要学的是arm,用的是arm7,深入理解arm不是件容易的事,只有
在知道arm相关知识之后才能称得上嵌入式已经入门了。
与嵌入式有关的知识我也学了不少
就是不能够综合在一起运用,组成原理,数据结构,操作系统,c++,这3门与嵌入式密切相
关的学科都系统的学了一遍,但由于长时间没用到都有点忘记了,从网上得知嵌入式的学习
与这些书有很大关系之后,我把嵌入式与以前学过的知识结合起来发现嵌入式的实验中很多
都是共通的,我对嵌入式有了初步的理解。
我以为学习嵌入式
应该分为2个部分:
软件和硬件。
关于硬件方面我接触到了数字电路教材和模拟电路方面的
知识,但由于没有嵌入式cpu很难亲自动手来实现嵌入式的相关理论;嵌入式入门则需要不
断地实验与分析,我只在实验课时做几个与所给的程序相关的小程序来实现一下;而软件方
面则学过c语言,里面通常的语法曾今熟悉过;我通过下列方法来适应c语言在嵌入式中应
用:
首先重新翻看了下c的教材,看了些常见的语法,接着在编译器的角度来看待c,编译
原理我刚学过,其中将高级语言与低级语言的翻译感觉在嵌入式中用到了很多;最后冲硬件
的角度来看待c。
嵌入式的核心包括嵌入式操作系统,嵌入式软件开发平台及工具以及嵌入
式应用软件。
这些决定怎样才能开发一个好的嵌入式系统。
下面谈谈我了解的嵌入式的
相关知识与应用:
首先,嵌入式系统
是以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应
用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
嵌入式有如下几
个突出的有点1.系统内核小,2专用性强,3系统精简4高实时性os5嵌入式系统的应用程
序可以没有操作系统直接在芯片上运行,6嵌入式系统需要开发工具和环境。
嵌