
学习数据结构的心得体会
数据结构学习体会及教学建议时间过的很快,一转眼一学期的数据结构课程就已经快要告一段落了,在接触这么课以前,我觉得编程无非就是会写代码就好了。
然而事实上数据结构对于程序来说,有着非常重要的地位。
随着计算机应用领域的不断扩大,非数值计算的问题占据了当今计算机应用的绝大部分,简单的数据类型已经远远不能满足需要,个数据元素之间的复杂关系已经不是普通数学方程式能够表达的了,所以数据结构就扮演了十分重要的角色。
在学期初,我觉得数据结构还是比较简单的,但可能由于之前c语言学习对指针掌握的不够熟练,导致在数据结构中接触到与指针有关的问题,例如线性表,堆栈,队列,二叉树等问题的时候,都会显得有些吃力。
但是在不断学习数据结构的过程中我也不断加强了对指针的学习,现在我已经能够基本掌握指针的相关知识并且能够熟练运用了。
这一学期的学习下来我发现想要学好数据结构有以下几点经验{虽然可能我的数据结构学的并不是很好}1.初步了解算法思想、原理想要弄清楚一个算法的实现,首先要知道这个算法的大致原理,这是最简单的一步,也是最基础的一步,只有明白算法想要干什么,才能弄清楚相应的代码段是为什么2.钻研课本代码段对于书上的算法代码,我们一定要仔细钻研每一步的具体含义和目的,在此基础上深入的了解算法的实现过程,而不是一味的四级硬背,不仅无聊,而且效率低下。
3.查找各种算法资料例如排序算法,其实历史上有很多不同的排序算法,书上
信息与计算科学专业毕业后具体是从事什么工作的
软件开发 不过没有真功夫还是干不了 网络维护也可以 需要经验 信息与计算科学就业趋势,毕业生在毕业以后,可以在信息与计算科学、计算机信息处理、经济、金融等部门从事研究、教学、应用软件开发或者是管理部门从事一些实际应用、开发研究或者管理工作。
或者在信息与计算机信息专业去读研究生。
学生毕业后适合在企事业单位、高科技部门、高等院校、行政管理和经济管理部门,从事科研,教学和计算机应用软件的开发和管理工作,也可以继续攻读信息与计算科学及相关学科的硕士学位。
给你几个建议:1,专业课就是垃圾大家别学了,省下时间多考几个证。
比如计算机4级。
程序员等。
2,最好去考研,(这是我们专业唯一的优势)我们专业考研因为有数学的基础,还有计算机的训练。
所以很多方向都喜欢我们专业的人。
3。
如果你有关系。
那我不说了。
我们专业什么地方都可以去工作。
全才嘛
4。
你对这个专业的专业课特别感兴趣
那我们专业如果你彻底研究什么都会的话,相信会很有前途的。
不过这种人要好的老师指导。
不符合绝大多数人。
5找工作的时候,要本着 就业-择业的精神。
反正能找到个工作就不错了 。
什么都可以干。
在工作中积累经验吧。
从头开始。
一切都靠自己奋斗。
大家从大一就开始准备吧 选择一条自己适合的路
对《the Cprogramming language》一书的读后感
1.内存中指定单元的地址是指定的还是动态分配的
内存中的指定单元地址永远是固定的 这个是由于内存的物理属性决定的 和数据结构没有关系 应该是计算机组成原理或者计算机体系结构研究的问题 你可以去看看那些方面分书~~~~~~~~~~~~~~~~~~~~~~~~~感觉每个数据应该还有个存储地址的空间.很不幸 这个感觉是错的~~内存中只有存放数据的地方 没有存放地址的地方 内存的地址是由内存的物理结构确定好的 地址这个东西是直接由和内存相连的电子线路直接选通的 例如 我们现在有8条地址线那么我们最大的内存容量就说2的8次方 256 那么内存的地址就是从0x00 到0x77这么多现在我们要选中0x00这条线假设低电平是选中那么我们只要让8条地址线上的电平都为低电平就是了假如我们要选0x77 那么我们让8条地址线上的电平都为高电平就是了当然 现在计算机中的地址线要比这个多 但原理是一样的其实牵扯到底层问题的时候就不是数据结构可以解决的了 因为它总是一个抽象的软件方面的书如果你想多了解一些东西的话 你最好把硬件方面的东西也看看~~~~~~~~~~~~~~~~~~~~~~~~~~~2.关于你写的那个函数 void initsl(v,m,n) ET *v;int m,*n; { v=malloc(m*sizeof(ET)); *n=0; return; } 我觉得你是不是把变量定义写到函数里面去比较好~~而且你这个函数有什么功能也没介绍一下 可以说是无从看起呀~~汗~~~我只能一句一句说了~~ET *v;定义了一个指向ET变量的指针int m,*n; 定义了一个整型变量和一个指向整型变量的指针v=malloc(m*sizeof(ET));开辟了一点空间 大小为m个ET的大小 v指向这段空间的开始*n=0; 我只能说你这里很不对 虽然这样或许也可以通过编译 但是n所指向的目标还是未知的 你给一个未知的变量赋值 勇气可嘉呀 汗~~如果你打算让n指向空的话应该是这么写的 n=0;就对了。
~~~~~~~~~~~~~~~~~~~~~~~~~关于第三个问题 我建议你去看看计算机组成原理的书 我能说的都在上面说了 希望你可以有所收获~~~~~~~~~~~~~~~~~~~~~~~~~想详细聊的话加我QQ 65997404 一般晚上10点以后我都隐身在线~~~~
压缩文件*.rar和*.zip的区别
用哪个好
详细介绍谢谢
楼上的见解比较狭隘。
我来全面的解释一下。
一、目录表(TOC)与分卷(Volume)抛开压缩算法不谈,我认为zip、rar在文件格式上最大的差异就在目录表(Table of Contents,TOC):zip有TOC,而rar没有。
TOC这个词其实是从出版界借用过来的,指的就是每一本书正文前面的“目录”,它的作用地球人都知道:如果想快速找到书中某一内容,可以先查TOC,然后按照TOC指明的页码直接翻即可。
在纸质书里TOC是印刷出来的一张表,而在电子文件里则是由结构化数据构成的一张表,它的目的同样是为了快速定位:如果想找文件中的某一内容,可以先查TOC,知道感兴趣的内容在文件的什么位置,直接跳过去就行了。
最常见的运用就是avi、rm等多媒体文件:播放的时候经常有人在播放条上点来点去跳着看(即“随机访问”),如果没有TOC,在长达几百兆的文件里来回定位会慢死。
具体到zip文件里,TOC是放在文件尾部的一张表,里面列出了zip包中每一个文件的属性(文件名、长度等)和在zip包中的存放位置。
如果需要随机访问zip包中的某一个文件,只需在TOC里找到这个文件的存放位置,直接跳过去即可。
而RAR文件里则没有TOC,在文件头之后所有文件按顺序连续存放。
这种差异造成的结果就是:随机访问时zip比rar快,而顺序访问时rar比zip快。
所谓随机访问,就是前面说过的随机访问压缩包中某个指定的文件。
举一个简单的例子:一本反编译或下载到的网页电子书,有大量HTML、图像、css、js,然后打成压缩包。
现在要求在不解包的情况下访问其中的页面:可以想象,打开每个HTML页面的时候,它所附带的图像、css、js等文件可能随机分布在整个压缩包里,如果没有TOC,查找每个文件的时候都要从头开始找,将会有多慢。
所以各位可以理解为什么jar包就是标准zip包,而我也只用zip格式保存反编译出来的电子书、漫画、PDG书等一切可能需要随机访问的东西。
所谓顺序访问,就是将整个压缩包从头解到尾。
在这方面RAR具有天然的优势。
而且为了节省WinRAR列文件的时间,对于单个RAR我一般都直接通过右键菜单解压缩,很少双击压缩包打开再解压。
由于rar的原作者已经去世,造成这种差异的确切原因我相信已不可考,但我个人猜测可能与DOS时代的备份软件之争有关:在DOS时代,电脑硬盘不像现在这样奢侈,20MB就算很大了。
这样的容量用两盒软盘 即可备份,备份成本相对数据本身的价值来说非常低廉。
因此在DOS时代,很多公司和机构都制定有定期硬盘备份政策,以免因为人为或非人为的因素 (早期硬盘可没有如今可靠)而造成不可挽回的数据损失。
在备份软件方面,虽然微软已经随DOS提供了BackupRestore工具,但是他们基本不具备数据压缩能力,因此在压缩软件中提供备份功能,就成为DOS时代的一个时尚。
由于DOS时代的备份介质多为软盘,因此压缩 软件的备份功能其实就转化成如今很常见的一个功能:分卷压缩功能,即按照软盘容量进行分卷压缩,然后将分卷压缩文件备份(Backup)到软盘,需要的时候再解压,或恢复(Restore)到硬盘。
DOS时代最有名的zip工具是pkzip,出现得比DOS版的RAR早。
在分卷压缩时,pkzip按照zip文件规范,将TOC存放在最后,即存储在最后一卷,由此带来如下问题:1、恢复时,每解压一张盘,都要先将最后一张盘插进去一次,读一次TOC。
2、只要最后一张盘上的TOC坏了,就算其它盘都是好的,也不能正常解压。
这两个缺点,尤其是第一个缺点实在是太臭名昭著了,因此当时出现了非常强烈的改革呼声。
在这个关键时刻,DOS版的RAR出现了:不仅压缩率比pkzip高(这点在DOS时代非常重要,毕竟软盘又贵容量又小),而且由于吸取了当时对zip格式的批评,取消了TOC,因此:1、在恢复分卷压缩的备份文件时,不需要频繁插入带有TOC的分卷,按顺序换盘即可。
2、即使某个分卷损坏,也可以跳过,从完好的分卷再开始解压。
由于这些原因(当然还有其它原因),RAR推出后迅速取得了成功,pkzip在DOS时代就开始流失用户,到Windows时代基本消声匿迹。
在Windows时代推出的Winzip,则彻底放弃了分卷压缩功能(zip格式永远的痛
)。
而从我看到的源自WinRAR的UnRAR源代码来看,现在WinRAR的解压思路明显还是把文件按顺序从头解到尾,看来当年备份恢复工具之争的影响,还真是深远。
二、固实(solid)压缩方式在压缩算法方面,我觉得rar格式最特色的是固实(solid)压缩方式。
WinRAR v3.42的帮助文件中对固实压缩的说明如下:固实压缩文件是 RAR 的一种特殊压缩方式存储的压缩文件,它把压缩文件中的全部文件都当成一个连续数据流来看待。
这段说明其实揭示了固实压缩格式能够提高压缩比的奥秘:数据压缩的基础是“重复”,例如aaaabbb这个字符串,里面就有重复,如果表示为a4b3,看起来是不是变短了
这就是“数据压缩”。
“重复”是一个具有相对意义的概念,在某一范围内看起来没有重复,或重复不多的数据,把范围扩大,说不定就能找到更多重复的数据了,这就是固实压缩的奥秘。
举一个简单的例子:用zip和普通rar压缩一堆jpg文件,很难压下去,但是用固实压缩方式的rar就可以,其原因就在于:jpg文件本身已经是压缩格式了,单个jpg文件里很难再 找到可利用的重复数据,因此不论是用zip还是普通的rar都很难再压缩,因为他们都将需要压缩的文件分隔开来一个一个处理。
但是对于固实rar来说,是将 所有需要压缩的jpg文件当作一个整体来压缩,这些jpg之间就存在重复的数据,如他们都有相同的文件头(其中包括各种数据表)等,这就出现了可压缩的空间。
从我看到的资料来看,Flash文件也采用了类似的技术对jpg进行压缩:如果在Flash文件中使用了多个jpg文件,它们可以共用一个文件头。
当然天下不会有白吃的午餐,固实压缩方式在提高压缩比的同时,也有一些限制,在WinRAR v3.42帮助文件中的说法是:固实压缩可增加压缩性能,特别是在添加大量的小文件的时候,但它也有一些重要的不利因素对已存在的固实压缩文件更新时较慢; 要从固实的压缩文件解压单个文件时,它之前的文件都需先经过分析。
这造成当从固实的压缩文件内取出文件时会比一般压缩文件取出文件慢一些。
但是,当从固实的压缩文件解压全部的文件时,解压速度并没有影响。
如果在固实压缩文件中的任何文件损坏了,要从损坏的范围中解压全部的文件是不可能的。
因此,如果固实压缩文件是保存在例如软盘等媒介时,推荐你在制作时使用“恢复记录”。
固实压缩的适用场合为压缩文件很少更新的时候; 不需要经常从压缩文件中解压一个文件或是部分文件的时候; 压缩效率比压缩速度更为重要的时候。
与前面说的“随机访问”对应,固实压缩的RAR文件可能是世界上最不适合随机访问的:如果需要访问固实RAR包中的某个文件,就要从文件头开始解压,一直解到这个文件。
三、安全性这里的安全性包含几个方面的含义:文件系统安全性、密码保护安全性和文件数据安全性。
由于制订zip格式规范的时候操作系统本身的文件安全性还没有引起足够的重视,因此zip格式只记录最基本的文件属性,包括只读属性等,没有其它附加的安全属性。
rar格式刚推出的时候,文件系统的安全性只能参照DOS,和zip差不多。
但是rar毕竟是一种封闭的格式,想怎么改作者一个人说了就算,因此当Windows中出现NTFS,并且引入扩展的文件系统安全属性时,rar也积极跟进,所以现在应该说rar格式在这方面比zip强 。
在zip和rar格式中均提供了密码保护功能,但是密码保护的安全强度不同。
zip由于格式开放、代码开源,因此zip密码破解软件出现得比较早,也比较多。
初期以暴力破解为主,威胁不大,真正对zip密码安全的致命一击是known plain text(已知明文)攻击法:如果知道加密zip文件中某段内容(密文,ciphertext)解密后的真正内容(明文,plain text),就可以反推出zip加密口令。
在这种攻击方法的威胁,及某些国家的法律对密码技术的限制下, 著名开源组织zlib宣布永久放弃对加密zip的支持,详见zlib网站上的相关说明(不过在zlib发行的源代码里仔细找找,还是能找到原来的加解密相关代码)。
记得rar刚推出的时候也和zip一样,虽然不能列出加密文件中的文件内容,但可以列出加密文件中的文件名。
后来大概也是被known plain text攻击法吓到了,增加了一个“加密文件名”选项,干脆连加密rar文件里有哪些文件都看不见,让攻击者想猜明文都无从猜起。
rar格式比zip晚推出,在安全方面吸取了足够的教训,因此采用的是美国国家标准与技术局(National Institute of Standard and Technology, NIST)推荐的、目前公认安全程度比较高的AES对称加密算法 ,密钥长度128位。
在ASE被攻破以前(NIST认为30年内无法攻破),大家都只能在暴力法上兜圈子,所以密码安全性应该说比zip高。
对此WinRAR 3.42的帮助文件是这样描述的:ZIP 格式使用私有加密算法。
RAR 压缩文件使用更强大的 AES-128 标准加密。
如果你需要加密重要的信息,选择 RAR 压缩文件格式会比较好一些。
为了确实的安全性,密码长度请最少要 8 个字符。
不要使用任何语言的单词作为密码,最好是任意的随机组合字符和数字,并且要注意密码的大小写。
请记住,如果你遗失你的密码,你将无法取出加密的文件,就算是 WinRAR 的作者本身也无法解压加密过的文件。
在数据安全性方面,RAR格式本身支持一种特殊的附加信息类型,叫做“恢复记录”。
如果RAR文件有恢复记录,在介质物理损坏或其它原因造成数据丢失时,WinRAR可以按照“恢复记录”尝试对数据进行修复。
而zip格式无恢复记录,因此在数据安全性方面应该说比RAR弱。
虽然RAR文件本身支持恢复记录,但是在WinRAR里此选项缺省是关闭的,而打开后会导致压缩出来的RAR文件体积增加(增加的百分比与设置有关),可能会令某些人感到不习惯(我就亲眼见到有人在论坛上抱怨为什么压出来的RAR文件会如此庞大),所以这个功能基本上形同虚设。
四、开放性开放性的对比很明显:zip格式不仅文件格式完全公开,而且有专门的开源组织提供操作源代码,跨平台使用也没有多大限制;rar格式完全保密,作者只提供解压所需源代码,不提供压缩所需源代码 ,跨平台使用有点麻烦。
zip开源组织中,最出名的是zlib和InfoZip,二者各有侧重:zlib偏重对内存缓冲区的压缩,因此被png等开源组织用做内部压缩算法,连java的jar程序内核都来自zlib,打出来的jar包自然也是一个标准的zip文件;InfoZip偏重对文件的操作 (包括口令保护),应用似乎不如zlib广泛,但我个人觉得其实它还是满好用的,前提是需要对它的源代码进行一些必要的修改。
在png组织的网页中有说到png格式的来历,我觉得也很有意思:做png的一班人,其实原来都是做gif格式的,但是由于Unisys公司开始对gif格式的核心——LZW压缩算法征收专利费,这帮人怒了,干脆提出png格式:大结构方面还是采用分段结构,但是核心压缩算法采用开源的zlib,压缩 效果在多数情况下比gif的LZW更强。
由于没有版权限制,在静态图形领域png得到广泛应用,如果不是及时提出动画支持并因此在web上大行其道,我估计gif早就死掉了。
RAR的解压源代码在其官方网站上提供,通常比WinRAR的正式版本晚一点,不过据说是直接从WinRAR的源代码中抠出来的,所以兼容性应该没有什么问题。
五、结论以下观点纯属个人观点,仅供参考,不具有如何指导意义:如果经常需要对压缩包进行随机访问,应该选zip而不是rar。
虽然将下载到的rar重新压缩成zip会麻烦一次,但是以后会减少无数的麻烦。
如果需要分卷压缩(如某些网站对上传文件大小有限制),则只能用rar。
事实上,这也是我唯一会使用rar格式的场合,其它时候一律zip没商量。
计算机程序设计(手机游戏开发方向),这个行业怎么样呢
工作很难找吗
首先说一说进入计算机专业的目的,我个人是因为十分喜欢IT业,很喜欢折腾电脑,所以在填报志愿是毫不犹豫的在报了的所有的学校都填写的计算机专业,梦想着进入计算机专业后能遇见很多高手,能交到几个知己,谁之进来后却大失所望。
计算机专业的学生有很多以前对计算机不怎么了解,而且还有部分人进大学前连计算机摸都没摸过,对计算机很熟悉的很少,高手更是凤毛麟角,大多数人是服从了父母之命,显而易见,目前社会最热的行业是IT业,工资最高的也是IT业,抱着这个因素,大多数考生的父母都让自己的孩子进入了计算机专业,而大多数学生也天真的认为从计算机专业毕业后就能够像电视里演的大多数白领一样每天只用坐在办公室里和同事们聊聊天,和老板吃吃饭,每天签几个字然后就有高工资等着你去拿。
进校后他们发现其实他们在专业课方面什么都听不懂,自己也一点兴趣都没有,没有兴趣那就没有学习的动力,而且这个专业是要靠悟性的,而兴趣是培养悟性的第一步,然后他们会发现越往后学专业课越难,也越听不懂,好一点的就会狠下心来,硬着头皮苦学一通,有可能也就能走出一片路来,而不好的就会就此放弃,只需要混着考试通过,混毕业,找个单位安心上班。
有些人上了几年学连自己上哪些课都不知道;拿个程序他分不清是用C语言写的还是用PASCAL写的;不小心进了DOS不知道怎么再回到WINDOWS。
但说起游戏来头头是道,好像每个都是职业玩家一样,有的每天只知道泡在网吧。
这就是中国计算机人才下一代的悲哀
再说现在计算机专业大学生的学习和生活。
大多数计算机专业的学生对本专业的发展及前景一无所知,每天都是看小说、玩游戏、看电影、打牌、喝酒、睡觉等等很有前途的事情。
偶尔看见一两个同学看看与计算机专业有关的书,跑去拿来一看,全是什么游戏攻略、黑客秘技等此类书籍。
还有的人连C语言和C++谁是谁都还没搞清楚,就拿本VC的书刻苦钻研,真不知他们看懂了没有。
好多学生都买了电脑,但用处都是游戏机+碟机+音响,每天都在用电脑玩着各种流行的游戏、看着最新的大片、听着时尚的音乐,就是不用电脑学习。
有的学生甚至问我电脑除了玩游戏还能干什么,我问他你为什么这么问,他告诉我他觉得电脑只能用来玩游戏,不知道还能不能干干别的什么。
据我了解,近几年在国内好几所高校的计算机专业的毕业生的毕业设计竟然是做网页,在大学了四年,学完了《数据结构》、《软件工程》、《C语言》等专业课后,竟然交了一个没有学过计算机的人自学一两天就能做好的东西
这就是大多数计算机专业的学生,在我在大学玩了两年之后,我突然明白该为自己的未来打算打算了,但还有许多人仍然还什么都不明白,所以就有了这篇文章。
如果你是以上我说的那种受父母之命来学计算机的学生,如果你看了《计算机应用文摘》第15期《写给想当程序员的朋友》一文后,发现自己没有当程序员的欲望,那么我这里有几条路给你选择: 1、**页制作,将来去网站工作
2、学习3D MAX等软件,去作动画
3、学习美术设计
4、网络,将来考个CCNA,去专业组网
5、在保证能顺利毕业的前提下,去疯狂玩游戏,做个职业玩家或做一个或几个网络游戏的GM。
(我身边就有这样的人) 6、以上五条都与计算机有关,要有一定的专业知识,但比起你的专业课简单多了。
如果你看到这里还不觉得有适合你干的,那这条最适合你:在你们学校去修双学位,修一个自己感兴趣的专业,计算机真的不适合你
如果以上几条有适合你的,那么你就努力去做适合你的那一片天地,去看杂志的下一篇文章,下面的文字你看了只会浪费你的时间。
如果你是计算机专业的在校大学生,而且想当软件设计师,那么请往下看: 1、大学生活丰富多彩,会令你一生都难忘,但难忘有很多种,你可以学了很多东西而难忘,也会因为什么都没学到而难忘
2、计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力学,也会发现其中的乐趣的。
3、记住:万丈高楼平地起
基础很重要,尤其是专业基础课,只有打好基础才能学得更深。
4、C语言是基础,很重要,如果你不学好C语言,那么什么高级语言你都学不好。
5、C语言与C++语言是两回事。
就象大熊猫和小熊猫一样,只是名字很像
6、请先学习专业课《数据结构》、《计算机组成原理》,不要刚开始就拿着一本VC在看,你连面向对象都搞不清楚,看VC没有任何用处。
7、对编程有一定的认识后,就可以学习C++了。
(是C++而不是VC,这两个也是两码事!C++是一门语言,而VC教程则是讲解如何使用MFC类库,学习VC应建立在充分了解C++的基础之上。
看VC的书,是学不了C++语言的。
) 8、学习编程的秘诀是:编程,编程,再编程; 9、认真学习每一门专业课,那是你的吃饭碗。
10、在学校的实验室就算你做错一万次程序都不会有人骂你,如果你在公司你试试看
所以多去实验室上机,现在错的多了,毕业后就错的少了。
11、从现在开始,在写程序时就要养成良好的习惯。
12、不要漏掉书中任何一个练习题--请全部做完并记录下解题思路。
13、你会买好多参考书,那么请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码。
14、VC、C#、.NET这些东西都会过时,不会过时的是数据结构和优秀的算法
15、记住:书到用时方恨少。
不要让这种事发生在你身上,在学校你有充足的时间和条件读书,多读书,如果有条件多读原版书,你要知道,当一个翻译者翻译一本书时,他会不知不觉把他的理念写进书中,那本书就会变得像鸡肋
16、我还是强调认真听专业课,因为有些课像《数据结构》、《编译原理》、《操作系统》等等,这种课老师讲一分钟能让你明白的内容,你自己看要看好几个月,有的甚至看了好几年都看不明白。
17、抓住在学校里的各种实践的机会,要为自己积累经验,就业时经验比什么都有用。
18、多去图书馆,每个学校的图书馆都有很多好书等你去看
19、编程不是技术活,而是体力活。
20、如果你决定了要当一个好的软件设计师,那么请你放弃游戏,除非你是那种每天只要玩游戏就能写出好程序的天才
21、你要有足够的韧性和毅力
有个高手出了一道题测试你的韧性和毅力:找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。
22、找到只属于你自己的学习方法
不要盲目的追随别人的方法,适合自己的才是最好的
23、请热爱软件设计这项工作
以上的话有些是我的经验,有些是我从高手那里直接COPY来的,但他们都很有用,记住他们,并遵守他们,那你们一定会成功
对于大多数初学者来说,好多人有这种问题存在:我到底先学什么
学C\\\/C++
还是学VC
还是学Borland C++ Builder呢
还是 Delphi
哪一个更好呢
学习程序设计和学习程序设计语言究竟是怎么一个关系
初学者究竟应该如何取舍呢
就这些问题,我从一个高手那里看了一下的这段话,可以帮助在这方面有问题的人:学习程序设计就好比学习射击,而程序设计语言就对应射击中的气枪、手枪、步枪等各种枪械。
学习射击必须要选择一种枪械,不可能没有枪还能学好射击的,也不可能同时学会使用所有的枪械。
但是,如果掌握一种枪械的射击,再学别的也就触类旁通了。
因为在熟悉一种枪械的同时,也学习了射击技术本身。
再学其他的,自然事半功倍。
学习程序设计也是一样,必然要从学习一门程序设计语言开始入手。
在学会系统的编程理念之后,用什么工具都一样
之所以写这篇文章呢是因为自己眼看身边那么多的同学一个个都不务正业,荒废了学业,心急如焚,自己也荒废了好几年,眼看微软的Windows从3.X到现在的2003 Server,而中国的软件业还是在原地踏步,难道我们真要每年等微软给他的操作系统换一次名字,我们给他交一次钱吗
这么大的利润为什么不留给我们自己,为什么不让别的国家给我们交钱呢
这是广大中国软件工程师的一个共同的梦,要实现这个梦的人是现在还在大学里的软件设计师们,他们是中国软件明天的希望
希望广大计算机业的大学生看到这篇文章后,睡觉的能醒来,玩游戏的能停下来,在网吧的能出来,一起拿起课本,坐在电脑前,用程序写出中国软件业明天的辉煌。
自学计算机编程应该看些什么书
一:阶段C语言-------《C语言设计》 作者:谭浩大多数人都推荐谭这本书浩强的C语言程序设计,我觉得更适合当教科书,主要是篇幅没有那么大,书本的内容不是很全,由老师带入门是最好的。
《C Primer Plus》第五版 作者:Stephen Prata这本书比较厚,内容也比较基础,扩展的也比较广,自学容易上手,唯一的缺陷在于它是外国人编写,而国内的翻译往往让人难以满意,如果你有较好的英语水平,最好阅读英文版的。
《C语言入门经典》第四版 作者:Ivor Horton二:第二阶段这一阶段看个人主攻的方向了,安卓一般就JAVA,PC游戏、软件C++,也有推荐C#,这些都是主流语言,其他语言要看个人爱好与发展。
面向对象的语言,一般懂一门,之后要转其他语言也很容易的,其实思想都差不多,主要的不同在于语法。
C#容易上手,一个月入门,一年精通,而C++却有点难,一年入门,二十年也未必敢说自己精通。
如果有时间,可以了解一下汇编语言。
C++ Primer, 4rd Edition(入门类:C++ Primer, 4rd EditionThinking in C++, 2nd EditionThe C++ Standard Library: A Tutorial and Reference进阶类:The C++ Programming Language, Special EditionThe Design and Evolution of C++Inside C++ Object ModelC++ Templates: The Complete GuideSTL 源码剖析Generic Programming and the STLModern C++ Design: Generic Programming and Design Patterns Applied应用技巧类:Effective C++, 2nd EditonMore Effective C++Exceptional C++More Exceptional C++Effective STLRuminations on C++)三:第三阶段API\\\/SDK------------- 《windows程序设计》(Jeff Prosise)这书主要是开发Windows软件要深入研读的,毕竟是WindowsAPI。
如果是主攻C++,那么这本书你可以大概略读一遍,不用过多的深入追究,QT才是C++主要深入思虑的关键。
四:第四阶段MFC----《VC++技术内幕》、《深入浅出MFC》及视频教程孙鑫 VC++6.0如果是C++,QT是要重点学习的对象。
五:第五阶段COM\\\/DCOM\\\/ATL\\\/COM+---------《COM技术内幕》未知阶段:《数据结构》,《算法导论》这些基本是编程的核心了,编程的很大情况都依赖于算法的实现,这个两门基本要深入研究,这是决定编程能力的核心标准。
如果不弄底层的话,《操作系统原理》可以简单地了解。



