学C心得,新手,求高人指点 贵人相助,我新手刚学到数组,看书的

java新手之学习心得,分享与你~~~~~~~-中国教育在线
java新手之学习心得,分享与你~~~~~~~
  软件开发之路是充满荆棘与挑战之路,也是充满希望之路。JAVA学习也是如此,没有捷径可走。梦想像《天龙八部》中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的。每天仰天大叫&天神啊,请赐给我一本葵花宝典吧&,殊不知即使你获得了葵花宝典,除了受自宫其身之苦外,你也不一定成得了&东方不败&,倒是成&西方失败&的几率高一点。  &不走弯路,就是捷径&,佛经说的不无道理。  1.如何学习程序设计?  JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用。有编程高手认为,JAVA也好C也好没什么分别,拿来就用。为什么他们能达到如此境界?我想是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通。如何学习程序设计理所当然也有许多共通的地方。  1.1 培养兴趣  兴趣是能够让你坚持下去的动力。如果只是把写程序作为谋生的手段的话,你会活的很累,也太对不起自己了。多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,但人要是没有了梦想,你觉得有味道吗?可能像许多深圳本地农民一样,打打麻将,喝喝功夫茶,拜拜财神爷;每个月就有几万十几万甚至更多的进帐,凭空多出个&食利阶层&.你认为,这样有味道吗?有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。  1.2 慎选程序设计语言  男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要谨慎对待。软件开发不仅仅是掌握一门编程语言了事,它还需要其他很多方面的背景知识。软件开发也不仅仅局限于某几个领域,而是已经渗透到了各行各业几乎每一个角落。  如果你对硬件比较感兴趣,你可以学习C语言/汇编语言,进入硬件开发领域。如果你对电信的行业知识及网络比较熟悉,你可以在C/C++等之上多花时间,以期进入电信软件开发领域。如果你对操作系统比较熟悉,你可以学习C/Linux等等,为Linux内核开发/驱动程序开发/嵌入式开发打基础。如果你想介入到应用范围*广泛的应用软件开发(包括电子商务电子政务系统)的话,你可以选择J2EE或。NET,甚至LAMP组合。每个领域要求的背景知识不一样。做应用软件需要对数据库等很熟悉。总之,你需要根据自己的特点来选择合适你的编程语言。  1.3 要脚踏实地,快餐式的学习不可取  先分享一个故事。  有一个小朋友,他很喜欢研究生物学,很想知道那些蝴蝶如何从蛹壳里出来,变成蝴蝶便会飞。 有一次,他走到草原上面看见一个蛹,便取了回家,然后看着,过了几天以后,这个蛹出了一条裂痕,看见里面的蝴蝶开始挣扎,想抓破蛹壳飞出来。 这个过程达数小时之久,蝴蝶在蛹里面很辛苦地拼命挣扎,怎么也没法子走出来。这个小孩看着看着不忍心,就想不如让我帮帮它吧,便随手拿起剪刀在蛹上剪开,使蝴蝶破蛹而出。 但蝴蝶出来以后,因为翅膀不够力,变得很臃肿,飞不起来。  这个故事给我们的启示是:欲速则不达。  浮躁是现代人*普遍的心态,能怪谁?也许是贫穷落后了这么多年的缘故,就像当年的大跃进一样,都想大步跨入共产主义社会。现在的软件公司、客户、政府、学校、培训机构等等到处弥漫着浮躁之气。就拿笔者比较熟悉的深圳IT培训行业来说吧,居然有的打广告宣称&参加培训,**就业&,居然报名的学生不少,简直是藐视天下程序员。社会环境如是,我们不能改变,只能改变自己,闹市中的安宁,弥足珍贵。许多初学者C++/JAVA没开始学,立马使用VC/JBuilder,会使用VC/JBuilder开发一个Hello World程序,就忙不迭的向世界宣告,&我会软件开发了&,简历上也大言不惭地写上&精通VC/JAVA&.结果到软件公司面试时要么被三两下打发走了,要么被驳的体无完肤,无地自容。到处碰壁之后才知道捧起《C++编程思想》《JAVA编程思想》仔细钻研,早知如此何必当初呀。  &你现在讲究简单方便,你以后的路就长了&,好象也是佛经中的劝戒。  1.4 多实践,快实践  彭端淑的《为学一首示子侄》中有穷和尚与富和尚的故事。  从前,四川边境有两个和尚,一个贫穷,一个有钱。一天,穷和尚对富和尚说:&我打算去南海朝圣,你看怎么样?&富和尚说:&这里离南海有几千里远,你靠什么去呢?&穷和尚说:&我只要一个水钵,一个饭碗就够了。&富和尚为难地说:&几年前我就打算买条船去南海,可至今没去成,你还是别去吧!& 一年以后,富和尚还在为租赁船只筹钱,穷和尚却已经从南海朝圣回来了。  这个故事可解读为:任何事情,一旦考虑好了,就要马上上路,不要等到准备周全之后,再去干事情。假如事情准备考虑周全了再上路的话,别人恐怕捷足先登了。软件开发是一门工程学科,注重的就是实践,&君子动口不动手&对软件开发人员来讲根本就是错误的,他们提倡&动手至上&,但别害怕,他们大多温文尔雅,没有暴力倾向,虽然有时候蓬头垢面的一副&比尔盖茨&样。有前辈高人认为,学习编程的秘诀是:编程、编程、再编程,笔者深表赞同。不仅要多实践,而且要快实践。我们在看书的时候,不要等到你完全理解了才动手敲代码,而是应该在看书的同时敲代码,程序运行的各种情况可以让你更快更牢固的掌握知识点。  1.5 多参考程序代码  程序代码是软件开发*重要的成果之一,其中渗透了程序员的思想与灵魂。许多人被《仙剑奇侠传》中凄美的爱情故事感动,悲剧的结局更有一种缺憾美。为什么要以悲剧结尾?据说是因为写《仙剑奇侠传》的程序员失恋而安排了这样的结局,他把自己的感觉融入到游戏中,却让众多的仙剑迷扼腕叹息。  多多参考代码例子,对JAVA而言有参考文献[4.3],有API类的源代码(JDK安装目录下的src.zip文件),也可以研究一些开源的软件或框架。&& 1.6 加强英文阅读能力  对学习编程来说,不要求英语, 但不能一点不会,.*起码像JAVA API文档(参考文献[4.4])这些东西还是要能看懂的,连猜带懵都可以;旁边再开启一个&金山词霸&.看多了就会越来越熟练。在学JAVA的同时学习英文,一箭双雕多好。另外好多软件需要到英文网站下载,你要能够找到它们,这些是*基本的要求。英语好对你学习有很大的帮助。口语好的话更有机会进入管理层,进而可以成为剥削程序员的&周扒皮&.  1.7 万不得已才请教别人  笔者在ChinaITLab网校的在线辅导系统中解决学生问题时发现,大部分的问题学生稍做思考就可以解决。请教别人之前,你应该先回答如下几个问题。  你是否在google中搜索了问题的解决办法?  你是否查看了JAVA API文档?  你是否查找过相关书籍?  你是否写代码测试过?  如果回答都是&是&的话,而且还没有找到解决办法,再问别人不迟。要知道独立思考的能力对你很重要。要知道程序员的时间是很宝贵的。  1.8 多读好书  书中自有颜如玉。比尔?盖茨是一个饱读群书的人。虽然没有读完大学,但九岁的时候比尔?盖茨就已经读完了所有的百科全书,所以他精通天文、历史、地理等等各类学科,可以说比尔?盖茨不仅是当今世界上金钱的首富,而且也可以称得上是知识的巨富。  笔者在给学生上课的时候经常会给他们推荐书籍,到后来学生实在忍无可忍开始抱怨,&天呐,这么多书到什么时候才能看完了&,&学软件开发,感觉上了贼船&.这时候,我的回答一般是,&别着急,什么时候带你们去看看我的书房,到现在每月花在技术书籍上的钱400元,这在软件开发人员之中还只能够算是中等的&,学生当场晕倒。(注:这一部分学生是刚学软件开发的)  1.9 使用合适的工具  工欲善其事必先利其器。软件开发包含各种各样的活动,需求收集分析、建立用例模型、建立分析设计模型、编程实现、调试程序、自动化测试、持续集成等等,没有工具帮忙可以说是寸步难行。工具可以提高开发效率,使软件的质量更高BUG更少。组合称手的武器。到飞花摘叶皆可伤人的境界就很高了,无招胜有招,手中无剑心中有剑这样的境界几乎不可企及。  2.软件开发学习路线  两千多年的儒家思想孔孟之道,中庸的思想透入骨髓,既不冒进也不保守并非中庸之道,而是找寻学习软件开发的正确路线与规律。  从软件开发人员的生涯规划来讲,我们可以大致分为三个阶段,软件工程师→软件设计师→架构设计师或项目管理师。不想当元帅的士兵不是好士兵,不想当架构设计师或项目管理师的程序员也不是好的程序员。我们应该努力往上走。让我们先整理一下开发应用软件需要学习的主要技术。  A.基础理论知识,如操作系统、编译原理、数据结构与算法、计算机原理等,它们并非不重要。如不想成为计算机科学家的话,可以采取&用到的时候再来学&的原则。  B.一门编程语言,现在基本上都是面向对象的语言,JAVA/C++/C#等等。如果做WEB开发的话还要学习HTML/JavaScript等等。  C.一种方法学或者说思想,现在基本都是面向对象思想(OOA/OOD/设计模式)。由此而衍生的基于组件开发CBD/面向方面编程AOP等等。  D.一种关系型数据库,ORACLE/SqlServer/DB2/MySQL等等  E.一种提高生产率的IDE集成开发环境JBuilder/Eclipse/VS.NET等。  F.一种UML建模工具,用ROSE/VISIO/钢笔进行建模。  G.一种软件过程,RUP/XP/CMM等等,通过软件过程来组织软件开发的众多活动,使开发流程专业化规范化。当然还有其他的一些软件工程知识。  H.项目管理、体系结构、框架知识。  正确的路线应该是:B→C→E→F→G→H.  还需要补充几点:  1)。对于A与C要补充的是,我们应该在实践中逐步领悟编程理论与编程思想。新技术虽然不断涌现,更新速度令人眼花燎乱雾里看花;但万变不离其宗,编程理论与编程思想的变化却很慢。掌握了编程理论与编程思想你就会有拨云见日之感。面向对象的思想在目前来讲是相当关键的,是强势技术之一,在上面需要多投入时间,给你的回报也会让你惊喜。  2)。对于数据库来说是独立学习的,这个时机就由你来决定吧。  3)。编程语言作为学习软件开发的主线,而其余的作为辅线。  4)。软件工程师着重于B、C、E、 D;软件设计师着重于B、C、E、 D、F;架构设计师着重于C、F、H.  3.如何学习JAVA?  3.1 JAVA学习路线  3.1.1 基础语法及JAVA原理  基础语法和JAVA原理是地基,地基不牢靠,犹如沙地上建摩天大厦,是相当危险的。学习JAVA也是如此,必须要有扎实的基础,你才能在J2EE、J2ME领域游刃有余。参加SCJP(SUN公司认证的JAVA程序员)考试不失为一个好方法,原因之一是为了对得起你交的1200大洋考试费,你会更努力学习,原因之二是SCJP考试能够让你把基础打得很牢靠,它要求你跟JDK一样熟悉JAVA基础知识;但是你千万不要认为考过了SCJP就有多了不起,就能够获得软件公司的青睐,就能够获取高薪,这样的想法也是很危险的。获得&真正&的SCJP只能证明你的基础还过得去,但离实际开发还有很长的一段路要走。  3.1.2 OO思想的领悟  掌握了基础语法和JAVA程序运行原理后,我们就可以用JAVA语言实现面向对象的思想了。面向对象,是一种方法学;是独立于语言之外的编程思想;是CBD基于组件开发的基础;属于强势技术之一。当以后因工作需要转到别的面向对象语言的时候,你会感到特别的熟悉亲切,学起来像喝凉水这么简单。  使用面向对象的思想进行开发的基本过程是:  ●调查收集需求。  ●建立用例模型。  ●从用例模型中识别分析类及类与类之间的静态动态关系,从而建立分析模型。  ●细化分析模型到设计模型。  ●用具体的技术去实现。  ●测试、部署、总结。 3.1.3 基本API的学习  进行软件开发的时候,并不是什么功能都需要我们去实现,也就是经典名言所说的&不需要重新发明轮子&.我们可以利用现成的类、组件、框架来搭建我们的应用,如SUN公司编写好了众多类实现一些底层功能,以及我们下载过来的JAR文件中包含的类,我们可以调用类中的方法来完成某些功能或继承它。那么这些类中究竟提供了哪些方法给我们使用?方法的参数个数及类型是?类的构造器需不需要参数?总不可能SUN公司的工程师打国际长途甚至飘洋过海来告诉你他编写的类该如何使用吧。他们只能提供文档给我们查看,JAVA DOC文档就是这样的文档,它可以说是程序员与程序员交流的文档。  基本API指的是实现了一些底层功能的类,通用性较强的API,如字符串处理/输入输出等等。我们又把它成为类库。熟悉API的方法一是多查JAVA DOC文档,二是使用JBuilder/Eclipse等IDE的代码提示功能。  3.1.4 特定API的学习  JAVA介入的领域很广泛,不同的领域有不同的API,没有人熟悉所有的API,对一般人而言只是熟悉工作中要用到的API.如果你做界面开发,那么你需要学习Swing/AWT/SWT等API;如果你进行网络游戏开发,你需要深入了解网络API/多媒体API/2D3D等;如果你做WEB开发,就需要熟悉Servlet等API啦。总之,需要根据工作的需要或你的兴趣发展方向去选择学习特定的API.  3.1.5 开发工具的用法  在学习基础语法与基本的面向对象概念时,从锻炼语言熟练程度的角度考虑,我们推荐使用的工具是Editplus/JCreator+JDK,这时候不要急于上手JBuilder/Eclipse等集成开发环境,以免过于关注IDE的强大功能而分散对JAVA技术本身的注意力。过了这一阶段你就可以开始熟悉IDE了。  程序员日常工作包括很多活动,编辑、编译及构建、调试、单元测试、版本控制、维持模型与代码同步、文档的更新等等,几乎每一项活动都有专门的工具,如果独立使用这些工具的话,你将会很痛苦,你需要在堆满工具的任务栏上不断的切换,效率很低下,也很容易出错。在JBuilder、Eclipse等IDE中已经自动集成编辑器、编译器、调试器、单元测试工具JUnit、自动构建工具ANT、版本控制工具CVS、DOC文档生成与更新等等,甚至可以把UML建模工具也集成进去,又提供了丰富的向导帮助生成框架代码,让我们的开发变得更轻松。应该说IDE发展的趋势就是集成软件开发中要用到的几乎所有工具。  从开发效率的角度考虑,使用IDE是必经之路,也是从一个学生到一个职业程序员转变的里程碑。  JAVA开发使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等几种;而Eclipse、JBuilder占有的市场份额是*大的。JBuilder在近几年来一直是JAVA集成开发环境中的霸主,它是由备受程序员尊敬的Borland公司开发,在硝烟弥漫的JAVA IDE大战中,以其快速的版本更新击败IBM的Visual Age for JAVA等而成就一番伟业。IBM在Visual Age for JAVA上已经无利可图之下,干脆将之贡献给开源社区,成为Eclipse的前身,真所谓&柳暗花明又一村&.浴火重生的Eclipse以其开放式的插件扩展机制、免费开源获得广大程序员(包括几乎所有的骨灰级程序员)的青睐,极具发展潜力。  3.1.6 学习软件工程  对小型项目而言,你可能认为软件工程没太大的必要。随着项目的复杂性越来越高,软件工程的必要性才会体现出来。参见&软件开发学习路线&小节。  3.2学习要点  确立的学习路线之后,我们还需要总结一下JAVA的学习要点,这些要点在前文多多少少提到过,只是笔者觉得这些地方特别要注意才对它们进行汇总,不要嫌我婆婆妈妈啊。  3.2.1勤查API文档  当程序员编写好某些类,觉得很有成就感,想把它贡献给各位苦难的同行。这时候你要使用&javadoc&工具(包含在JDK中)生成标准的JAVA DOC文档,供同行使用。J2SE/J2EE/J2ME的DOC文档是程序员与程序员交流的工具,几乎人手一份,除了菜鸟之外。  对待DOC文档要像毛主席语录,早上起床念一遍,吃饭睡觉前念一遍。  当需要某项功能的时候,你应该先查相应的DOC文档看看有没有现成的实现,有的话就不必劳神费心了直接用就可以了,找不到的时候才考虑自己实现。使用步骤一般如下:  ●找特定的包,包一般根据功能组织。  ●找需要使用类,类命名规范的话我们由类的名字可猜出一二。  ●选择构造器,大多数使用类的方式是创建对象。  ●选择你需要的方法。  3.2.2 查书/google-&写代码测试-&查看源代码-&请教别人  当我们遇到问题的时候该如何解决?  这时候不要急着问别人,太简单的问题,没经过思考的问题,别人会因此而瞧不起你。可以先找找书,到google中搜一下看看,绝大部分问题基本就解决了。而像&某些类/方法如何使用的问题&,DOC文档就是答案。对某些知识点有疑惑是,写代码测试一下,会给你留下深刻的印象。而有的问题,你可能需要直接看API的源代码验证你的想法。万不得已才去请教别人。  3.2.3学习开源软件的设计思想  JAVA领域有许多源代码开放的工具、组件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive论坛、PetStore宠物店等等多如牛毛。这些可是前辈给我们留下的瑰宝呀。入宝山而空手归,你心甘吗?对这些工具、框架进行分析,领会其中的设计思想,有朝一日说不定你也能写一个XXX框架什么的,风光一把。分析开源软件其实是你提高技术、提高实战能力的便捷方法。  3.2.4 规范的重要性  没有规矩,不成方圆。这里的规范有两层含义。**层含义是技术规范,多读规范,这是***准确*新的教材。第二层含义是编程规范,如果你使用了大量的独特算法,富有个性的变量及方法的命名方式;同时,没给程序作注释,以显示你的编程功底是多么的深厚。这样的代码别人看起来像天书,要理解谈何容易,更不用说维护了,必然会被无情地扫入垃圾堆。  3.2.5 不局限于JAVA  很不幸,很幸运,要学习的东西还有很多。不幸的是因为要学的东西太多且多变,没时间陪老婆家人或女朋友,导致身心疲惫,严重者甚至导致抑郁症。幸运的是别人要抢你饭碗绝非易事,他们或她们需要付出很多才能达成心愿。  JAVA不要孤立地去学习,需要综合学习数据结构、OOP、软件工程、UML、网络编程、数据库技术等知识,用横向纵向的比较联想的方式去学习会更有效。如学习JAVA集合的时候找数据结构的书看看;学JDBC的时候复习数据库技术;采取的依然是&需要的时候再学&的原则。  4.结束语  需要强调的是,学习软件开发确实有一定的难度,也很辛苦,需要付出很多努力,但千万不要半途而废。本文如果能对一直徘徊在JAVA神殿之外的朋友有所帮助的话,笔者也欣慰了。
所属类别:
IT培训JAVA认证培训
您可能还想看
| 京ICP备号 |
CERNET Corporation君,已阅读到文档的结尾了呢~~
c语言学习心得报告
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
c语言学习心得报告
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口《从新手到高手C++全方位学习》 随书DVD
资料录入:温柔一骡
更新时间: 17:34:00
文件大小:3.7 GB
语言要求:中文
资料类型:视频资料
下载方式:电驴(eMule)下载
《从新手到高手C++全方位学习》总结了十几本C++图书及教材的优点,摈弃了它们语言拖沓、层次结构混乱等缺陷,从零开始、由浅入深、层层递进、细致而又详尽地讲解C++这门大型编程语言。《从新手到高手C++全方位学习》知识系统全面,拥有字典般的容量,可随用随查,涵盖指针、面向对象、操作符重载、流、命名空问、模板、异常处理、宏等主流C++开发技术。为了使读者能够活学活用,《从新手到高手C++全方位学习》针对重要的概念精心设计了438个实用范例,囊括大量经验和技巧,即使已从事C++工作多年的朋友,也能从中汲取新的养料。《从新手到高手C++全方位学习》适合于从未学习过任何编程语言的新手,以及学习C++多年,仍旧不能融会贯通的读者,对于正在使用C++进行开发的程序员也有很好的参考价值。
这里,我将原始光盘中的&视频教程&和&源代码&分开发布,以方便各位按需下载。
光盘提供的视频教程,包含了第1章到第17章的内容,网上有18、19章的教程,这个光盘没有包括。
视频教程目录的截图:
源代码目录的截图
第1章 初识C++
1.1 C++简介
1.2 C++与C的区别
1.3 学习C++之前需要先学C吗
1.4 C++与其他语言的区别
1.5 C++的版本以及安装问题
第2章 做一个最简短的C++程序
2.1 简单的屏幕输出小程序
2.2 输出语句的使用
2.3 std::介绍
2.4 iostream与iostream.h的区别
2.5 重名问题
第3章 初步了解函数
3.1 一个简单的函数
3.2 函数的传参
3.3 函数的返回值. 参数与变量
3.4 函数的声明与定义
3.5 局部变量
3.6 全局变量
第4章 C++数据类型
4.1 变量的定义
4.2 将变量及数据存储在内存中
4.3 布尔型变量
4.4 字符型变量
4.5 wchar_t双字节型变量
4.6 整型概述
4.7 整型变量的定义
4.8 浮点型变量
4.10 枚举型常量
第5章 if语句与逻辑运算符
5.1 语句的定义
5.2 块的定义
5.3 表达式的定义
5.4 运算符的定义
5.4.1 赋值运算符的定义
5.4.2 数学运算符的定义
5.4.3 赋值运算符与数学运算符的联合
5.5 自加与自减
5.5.1 前置
5.5.2 后置
5.6 表达式的优先级
5.7 关系运算符
5.8 if语句
5.8.1 else语句
5.8.2 else if语句
5.8.3 if语句的嵌套
5.9 逻辑运算符及其使用
5.9.1 逻辑&与&
5.9.2 逻辑&或&
5.9.3 逻辑&非&
5.9.4 逻辑运算符的优先级
5.9.5 运算式的真假关系
5.10 三目运算符
5.10.1 三目运算符的优先问题
5.10.2 三目运算符的使用问题
5.10.3 三目运算符的型别问题
5.10.4 三目运算符在字符型变量中的使用
5.11 复杂嵌套的if语句
第6章 面向对象
6.1 面向对象程序语言的主要特征
6.2 类. 对象和成员
6.3 类. 对象和成员的使用方法及区别
6.3.1 声明一个类
6.3.2 命名习惯
6.3.3 定义一个对象
6.3.4 类与对象的区别
6.3.5 对象与成员的关系
6.3.6 不要给类赋值
6.3.7 对象只能调用类中存在的成员
6.6 成员函数的声明和定义
6.7 为什么将成员函数的声明和定义分开
6.7.1 普通内联函数
6.7.2 成员内联函数
6.8 将类声明和定义部分保存在头文件中
6.9 const成员函数
6.10 构造函数
6.11 默认构造函数
6.12 析构函数
6.13 析构对象数组
第7章 循环语句
7.1 循环语句的前身&&goto语句
7.2 慎用goto语句
7.3 while语句
7.3.1 带运算符的while语句
7.3.2 以字符为条件的while语句
7.3.3 限定while循环的次数
7.3.4 continue语句
7.3.5 break语句
7.3.6 永不休止的while循环
7.4 do& while循环
7.5 for循环
7.5.1 灵活的for循环
7.5.2 条件为空的for循环
7.5.3 执行为空的for循环
7.5.4 嵌套的for循环
7.6 switch语句
7.6.1 switch语句常见错误
7.6.2 switch的菜单功能
第8章 指针
8.1 什么是地址
8.2 用指针来保存地址
8.2.1 空指针
8.2.2 指针与变量类型
8.2.3 用指针来访问值
8.2.4 指针地址. 指针保存的地址和该地址的值
8.2.5 指针对数值的操作
8.2.6 更换指针保存的地址
8.3 为什么使用指针
8.3.1 栈和堆
8.3.2 用指针创建堆中空间
8.3.3 用指针删除堆中空间
8.4 动态内存
8.4.1 内存泄漏
8.4.2 在堆中创建对象
8.4.3 在堆中删除对象
8.4.4 访问堆中的数据成员
8.4.5 在构造函数中开辟内存空间
8.4.6 对象在栈与堆中的不同
8.5 this指针
8.6 指针的常见错误
8.7 指针运算
8.7.1 指针的加减运算
8.7.2 指针的赋值运算
8.7.3 指针的相减运算
8.7.4 指针的比较运算
8.8.1 常量指针
8.8.2 指向常量的指针
8.8.3 指向常量的常指针
第9章 引用
9.1 什么是引用
9.1.1 引用的地址
9.1.2 引用就是别名常量
9.1.3 引用对象
9.1.4 空引用
9.2 函数的参数传递
9.2.1 通过值来传递函数参数
9.2.2 通过指针来传递函数参数
9.2.3 通过引用来传递函数参数
9.2.4 让函数返回多个值
9.3 传递对象
9.3.1 用值来传递对象
9.3.2 使用指针来传递对象
9.3.3 使用const指针来传递对象
9.3.4 使用引用来传递对象
9.3.5 到底是使用引用还是指针
9.3.6 引用和指针可以一块用
9.4 引用应注意的问题
9.4.1 引用容易犯的错误
9.4.2 引用一个按值返回的堆中对象
9.4.3 引用一个按别名返回的堆中对象
9.4.4 在哪里创建,就在哪里释放
第10章 深入函数
10.1 函数重载
10.1.1 普通函数的重载
10.1.2 成员函数的重载
10.2 函数的默认参数
10.3 重载构造函数
10.3.1 成员变量的初始化
10.3.2 成员变量的初始化与构造函数
10.3.3 复制构造函数
10.3.4 构造函数和new运算符
10.3.5 再谈默认构造函数
10.4 析构函数和delete运算符
10.4.1 默认析构函数
10.4.2 调用构造函数进行类型转换
10.5 浅层复制构造函数
10.6 深层复制构造函数
第11章 运算符重载
11.1 运算符重载
11.2 在成员函数中实现自加
11.3 重载前置自加运算符
11.4 创建临时对象
11.5 创建无名临时对象
11.6 取消创建临时对象
11.7 重载后置自加运算符
11.8 重载加法运算函数operator+
11.9 重载赋值运算函数operator=
11.10 转换类型运算符
11.10.1 温习调用构造函数实现的类型转换
11.10.2 通过构造函数将变量转换为一个对象的成员变量
11.10.3 通过operator关键字进行转换
11.11 什么可以被重载,什么不可以
第12章 继承
12.1 什么是继承和派生
12.1.1 复杂的继承和派生
12.1.2 继承和派生如何在C++中实现
12.1.3 继承的种类及语法
12.1.4 单一继承
12.2 公有型. 保护型和私有型
12.3 访问权限
12.4 多重继承
12.5 继承的构造与析构
12.6 向基类构造函数传递参数
12.7 继承和重载的两义性问题
12.7.1 多重继承容易产生两义性
12.7.2 两义性在重载时的一些问题
12.7.3 两义性的归属问题
12.7.4 减少两义性产生的混淆问题
12.7.5 虚基类不会产生两义性
第13章 虚函数
13.1 指向对象的指针
13.2 虚函数
13.3 拳击游戏
13.4 继承是否可以实现多态性
13.5 在编译时的静态联编
13.6 在运行时的静态联编
13.7 在编译时的动态联编
13.8 在运行时的动态联编
13.9 调用虚函数
13.9.1 在虚函数中调用成员函数
13.9.2 三种调用虚函数的方式比较
13.10 被继承的虚函数仍然是虚函数
13.11 系统是如何调用虚函数的
13.12 在虚函数中使用成员名限定
13.13 虚析构函数
第14章 数组
14.1 数组的基本用法
14.1.1 什么是数组
14.1.2 数组元素
14.1.3 数组下标越界
14.1.4 倒序输出
14.1.5 将数组的下标定义为常量
14.1.6 手动操作数组元素
14.1.7 数组的初始化
14.2 数组的用途
14.2.1 求平均考试成绩
14.2.2 兔子繁殖问题
14.2.3 数字排序问题
14.3 数组在内存中的分布
14.4 输出数组名
14.5 数组名与函数
14.6 传递与接收
14.7 数组与函数
14.7.1 函数传参实例一&&求数组所有元素的和
14.7.2 函数传参实例二&&用递增法查找数据
14.7.3 函数传参实例三&&用二分法查找数据
14.7.4 函数传参实例四&&判断数组是否按照顺序排列
14.7.5 函数传参实例五&&判断数组排列方式后执行不同的函数
14.8 数组在对象中的传参
14.9 数组对象
14.10 在数组对象中初始化成员变量
14.11 指针数组
14.12 枚举常量与数组..
14.13 多维数组
14.14 多维数组的初始化
14.15 字符数组
14.16 重载数组下标操作符
第15章 链表
15.1 声明链表结构
15.2 简单的图书链表
15.2.1 图书链表
15.2.2 类的链表
15.3 动态链表
15.3.1 动态链表的建立
15.3.2 解决输入字符造成死循环的问题
15.3.3 动态链表的显示
15.3.4 动态链表的删除
15.3.5 动态链表的插入
15.3.6 链表统计
15.3.7 使用链表
15.4 完整的动态链表清单
15.5 链表使用案例&&走迷宫
15.5.1 创建Windows应用程序项目
15.5.2 创建窗口
15.5.3 加载图片
15.5.4 句柄是什么
15.5.5 显示图片
15.5.6 动画
15.5.7 键盘控制人物移动
15.5.8 迷宫墙壁
15.5.9 走迷宫
15.5.10 用链表记录行走路线
第16章 多态性
16.1 为什么要使用多重继承
16.2 在派生类中增加函数
16.3 使用多重继承
16.4 多重继承中初始化构造函数的参数
16.5 多个子基类共享一个父基类
16.6 虚基类
16.7 慎用多重继承
16.8 空的虚函数
16.9 抽象类和纯虚函数
16.10 纯虚函数
16.11 复杂的抽象结构
第17章 类的特殊成员
17.1 静态成员变量
17.2 私有静态成员变量
17.3 静态成员函数
17.4 静态成员的使用
17.5 函数指针
17.6 函数指针数组
17.7 函数指针也可以作为函数的参数
17.8 使用typedef简化函数指针的声明及定义
17.9 类的函数指针
17.10 成员函数指针数组
第18章 字符串
18.1 char型字符串
18.2 string型字符串
18.2.1 string型字符串的赋值
18.2.2 string型字符串的合并
18.2.3 string型字符串的部分合并
18.2.4 string型字符串的替换
18.2.5 string型字符串的复制
18.2.6 string型字符串的插入
18.2.7 string型字符串的删除
18.2.8 string型字符串的查找
18.2.9 string型字符串的比较
18.2.10 判断string型字符串是否为空
18.3 字符串的使用
18.3.1 swap() 交换两个字符串的内容
18.3.2 将string型字符串转为char型字符串
18.3.3 char型字符串与函数
18.3.4 函数如何返回字符串
18.4 结构体
18.4.1 结构体的赋值
18.4.2 结构体与函数
18.4.3 结构体与string
18.5 string数组与函数
18.6 流的使用
18.6.1 重载输出运算符&&
18.6.2 友元的方式重载输出运算符
18.6.3 重载自加运算符的执行次序
18.6.4 重载输入运算符&&
18.7 编写一个String类
18.7.1 创建String类
18.7.2 创建可自动调节大小的String类字符串对象
18.7.3 限制数组越界
18.7.4 用复制构造函数实现字符串的赋值功能
18.7.5 用重载赋值运算符函数实现真正的字符串赋值功能
18.7.6 用重载输出运算符operator&&()函数实现字符串的输出
18.7.7 用重载输入运算符operator&&()函数实现字符串的输入
18.7.8 用重载比较运算符实现字符串的比较
18.7.9 为String类添加字符串的相加功能
18.7.10 为String类添加字符串的+=功能
18.7.11 完成后的String类
第19章 代码重用
19.2 将String类作为包含类
19.3 为book类重载执行相加运算的成员函数
19.4 包含对系统造成的消耗
19.5 按别名传递book对象
19.6 包含指向另一个类的指针
19.6.1 数据类Date
19.6.2 链表类Node
19.6.3 标签类linkelist
19.6.4 头节点类HeadNode
19.6.5 尾节点TailNode类
19.6.6 中间节点InterNode类
19.6.7 InterNode类的构造函数
19.6.8 InterNode类的插入函数
19.6.9 全部程序
19.7 将头节点. 中间节点和尾节点合并为一个节点
19.7.1 数据类Date
19.7.2 由Date类派生的图书类Book
19.7.3 由Date类派生的药品类medica
19.7.4 创建一个节点类Node
19.7.5 用来操作节点类Node的list类
19.7.6 list类的getfirst()方法
19.7.7 list类的operator[]方法
19.7.8 list类的repeat()方法
19.7.9 list类的insert()方法
19.7.10 list类的find()方法
19.7.11 重写的药品管理全部程序
19.8 利用类的包含来实现代码重用
19.9 私有继承
19.10 什么时候使用私有继承,什么时候使用包含
19.11 保护继承
第20章 友元类与嵌套类
20.1 友元类
20.2 嵌套类
21.1 流的操作
21.1.1 缓冲
21.1.2 流和缓冲区
21.1.3 标准输入输出对象
21.1.4 重定向
21.1.5 对象代表流
21.2 用cout输出
21.2.1 重载运算符operator&&
21.2.2 清理缓冲区
21.2.3 有关输出的相关函数
21.2.4 设置输出的字段宽度
21.2.5 设置填充字段
21.2.6 设置浮点数的显示精度
21.2.7 输出末尾的0
21.2.8 设置标志
21.2.9 setf()函数原型
21.2.10 所有15个标志以及3个指示标志
21.2.11 unset()函数
21.2.12 标准控制符
21.2.13 iomanip头文件与标准控制符
21.3 用cin输入
21.3.1 字符串的输入
21.3.2 字符串的输入问题
21.3.3 get()函数
21.3.4 带字符引用参数的get()函数
21.3.5 带2个参数的get()函数
21.3.6 带3个参数的get()函数
21.3.7 getline()函数
21.3.8 read()函数
21.3.9 gcount()函数
21.3.10 peek()函数
21.3.11 putback()函数
21.4 文件的输入和输出
21.4.1 输出数据到文件
21.4.2 读取文件中的数据
21.4.3 读取空格及空格后面的字符
21.5 多种打开文件的方式
21.6 检查文件是否打开
21.7 二进制文件和文本文件
21.7.1 以文本形式输出到文件
21.7.2 以二进制形式输出到文件
21.8 打开多个文件
21.9 命令行处理文件
21.10 使用命令行处理文件例程
21.11 指定读取文件中的数据
21.12 输出数据到文件指定位置处
21.13 seekp()和seekg()函数的结合使用
21.14 临时文件
21.15 sstream字符串输入输出流类
第22章 命名空间
22.1 什么是命名空间
22.2 创建命名空间
22.2.1 扩充命名空间的内容
22.2.2 尽量在命名空间之外定义函数
22.2.3 命名空间中的成员都是公有的
22.3 使用命名空间
22.4 使用关键字using
22.5 为你的命名空间取个别名
22.6 未命名的命名空间
22.6.1 未命名命名空间与全局变量的区别
22.6.2 未命名命名空间与static的区别
22.6.3 未命名命名空间. static与extern的区别
22.7 标准命名空间std
第23章 模板
23.1 什么是模板
23.2 重载模板
23.3 具体化函数模板
23.3.1 函数模板不能重载
23.3.2 具体化函数模板解决重载问题
23.3.3 具体化函数模板与实例化模板函数
23.4 普通函数. 函数模板与具体化函数模板的优先级
23.4.1 普通函数和函数模板的执行次序
23.4.2 函数模板与具体化函数模板的执行次序
23.4.3 具体化函数模板与普通函数的优先级
23.5 函数模板的匹配
23.6 类模板的定义
23.7 复杂类模板
23.8 数组模板
23.9 对象数组模板
23.10 具有多个参数的模板
23.11 为模板参数提供默认值
23.12 约束模板
23.13 模板成员
23.14 将模板用作参数
23.15 模板和友元
23.15.1 非模板友元类和友元函数
23.15.2 通用模板友元类和友元函数
23.15.3 特定类型模板友元函数
23.16 多余的临时对象
23.17 静态成员和模板
23.18 标准模板库
23.18.1 容器
23.18.2 顺序容器
23.18.3 关联容器
23.18.4 算法类
23.18.5 总结
第24章 异常和错误处理
24.2 设置多条catch语句
24.3 异常的派生
24.4 创建异常类的成员函数
24.5 异常类的虚函数
24.6 异常类与模板的关系
第25章 补充内容
25.1 预处理过程
25.1.1 预处理指令
25.1.2 #include指令
25.1.3 #define指令
25.1.4 用#define指令替换常量
25.1.5 用#define定义一个特定字符串并对其进行测试
25.1.6 #ifdef. #define和#endif的用途
25.1.7 带参数的#define
25.1.8 宏与内联函数
25.1.9 #运算符
25.1.10 ##运算符
25.1.11 #undef指令
25.1.12 #if指令
25.1.13 #endif指令
25.1.14 #if defined指令
25.1.15 #ifdef和#ifndef指令
25.1.16 #elif指令
25.1.17 #error指令
25.1.18 #line指令
25.1.19 #pragma 指令
25.2 预定义的宏
25.3 assert()宏
25.4 尝试编写一个简单的assert()宏
25.5 不能为0的变量
25.6 用宏函数来输出表达式的值
25.7 调试的级别
25.8 C++类型转换及运行时类型信息(RTII)
25.8.1 动态类型转换符
25.8.2 静态类型转换
25.8.3 重新解释类型转换
25.8.4 常类型转换
25.8.5 运行时类型信息
25.9 关键字volatile
25.10 关键字const
25.11 关键字mutable
25.12 联合数据类型union
25.13 联合数据类型的内存占用
25.14 匿名联合体
25.15 再谈指针
25.15.1 指针与数组
25.15.2 指针操作多维数组
25.15.3 指向多维数组的指针作为函数参数
25.15.4 字符串的指针
25.15.5 接受字符串指针的函数
25.15.6 指向字符串的指针变量与字符数组的区别
25.15.7 指向函数的指针
25.15.8 指向函数的指针的用途
25.15.9 指针数组
25.15.10 指向指针的指针
25.16 位运算
25.16.1 按位与&&&运算符
25.16.2 按位或&|&运算符
25.16.3 异或&^&运算符
25.16.4 取反&~&运算符
25.16.5 左移&&&&运算符
25.16.6 右移&&&&运算符
25.16.7 复合位运算符
25.16.8 不同长度数字的位运算
25.16.9 位运算的实例
25.17 位字段
25.18 区域差异
25.18.1 locale类
25.18.2 默认区域表示或全局区域表示
25.18.3 时间与地理设置
25.18.4 locale与time.h中时间函数的搭配使用
25.18.5 区域表示locale与流的搭配使用
25.18.6 区域表示locale与模板的搭配使用
附录A ASCII码对照表
附录B C++的关键字
附录C C++常用头文件列表
本站提供的资源均可免费下载! 下载前请先确认你已经安装了电驴(eMule)下载软件.如果你在点击下面的链接后看到语法错误提示信息,请参看.
eMule下载链接[]
2.06 GB全选3.7 GB
本类最近热门下载:
[] [] [] []

我要回帖

更多关于 php 数组 的文章

 

随机推荐