数据结构,windows程序设计,c++,这些要先学哪样?

小弟目前学完了C语言,请问一下接下来要学什么比较合适呢,C语言版数据结构,C语言版windows程序设计,c++,这三样要先学哪样呢?请有经验的人建议一下学习顺序阿,该如何学习更合适更有效呢?有经验的人传授一下,小弟感激不尽!

C++->数据结构-》windows程序设计追问

为什么呢?很多人都建议先数据结构后c++阿 能不能分析一下为什么阿 感激不尽啊

追答

数据结构跟用什么语言没太大关系
他是一种抽象数据类型,那就是自由发挥,而一般书本上的数据结构是人家经过多年的实践而推荐的

但是数据结构要依靠编程语言
事实上学数据结构使用C语言来学习,理解是最好的
而你希望学习C++,而C++与C有莫大的渊源,所以先学C++在学数据结构
window程序设计可选,看你在那种平台发展

追问

哪种平台是什么意思?分析一下啊 谢谢了

追答

具体是开发环境
像windows就是VC CB
如果linux/unix就是gcc等
还有一些是嵌入式的 我也不太熟悉
基本上你这样学习就是选择windows上的VC平台开发了

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-27
先学数据结构,如果精力充沛的话同时学c++,最后学windows程序设计
第2个回答  2011-04-27
C学会了,基本C++就不成问题了,自己看看就会,那还得看你以后往哪个方向发展了,说实话你学会一样的话其他都可以自学了,编程主要是培养人的逻辑思维至于真正的代码说难听点还是体力活
数据结构到是非常重要的,可以先学着
第3个回答  2011-04-27
老实说,俺觉得这三者彼此间没什么关系:数据结构是程序设计的指导思想、Windows程序设计是程序设计环境的指导,C++是一种语言;而这三者又是相辅相成的,谁离开谁都做不成事。打个比方:给你一个任务,在山坡上用起重机盖一所房子。那么房子如何盖如何设计就好比是数据结构的实现目标,而在山坡这种特殊的环境下如何开展工作就是Windows程序设计干的事,而教会你起重机如何使用就是C++语言学习的目的。当然,你可以不在山坡上盖,可以在平地、河边……这就好比在Linux、Android等环境下写程序;你也可以不用起重机,改用推土机什么的,这就好比用其他的语言,比如Java、Delphi什么的……
第4个回答  2011-05-04
从我进入CSDN VC/MFC的那一刻起,总能在这个版块看到这样那样的讨论VC、C++语言是不是要淘汰,被C#彻底取代诸如此类,这就是传说中的“月经贴”。一些新手可能就会因为看到这些帖子感到迷茫,比如他们正在开始学VC,要是突然发现被淘汰了,岂不是白学了?对此我认真看了每次的“月经贴”,论坛中的一些老大们的言语我也都看在眼里,他们对此是看得很清楚的。接下来我将会用中肯的语言说说我的见解,各位有什么意见可以跟帖讨论。

先说语言,C++作为数据结构入门的最佳语言的说法不少,其实有人认为Java更加适合做数据结构入门的语言,我感觉其实要看个人的喜好。但是C#肯定不会用来做数据结构入门的语言,C++我认为是一个比较好的理解远离的语言,是一切之本。Java中所说的引用,其实也就是C++中的地址传递的一种形式罢了,C++灵活的强制转换,我觉得有得天独厚的优势,拿到一个地址,就能让它成为指向一个数据结构的指针,这是其他语言所无法比拟的。

没有什么语言能比C++更加贴近Windows本身了,这一点也是不可否认的。如果哪一天C#也能写驱动的时候,那么C++就真的会淘汰了(这天可能不会太远又或者很遥远)。

C#能做的,C++不一定都能做,C++能做的,C#也不一定都好做,所以经常看到有人拿这2个语言对比,我觉得确实没什么必要。

C#繁杂的调用Win32 API的方式,确实让人很不舒服,C++这一点做得比它好。但是,C#强大的网络操作,代码量大大地低于C++,我们抛弃不用Socket,改用WinInet或是MFC中的封装好的网络类,比如CHttpFile,还是没C#简单。C#的傻瓜式的类库操作和面向对象编程的完美特性,确实让其成为了Windows平台上最受欢迎的语言。也许,是微软想将Win32 API渐渐地全部封装到C#的类库中去,我感觉微软有这个意图,也许将来C#就不需要调用那些繁杂的Win32 API了,类库中均有提供也说不定。

我们为什么学VC?这点我曾经也问过自己。圣经上说:你必须知道真相,真相会使你自由。我们学VC是为了自由,不受微软的框制。微软通过种种的FrameWork让你陷于其中,你觉得,哇,原来编程是这么容易啊,几句话就能搞定。你想知道微软在内部干了些什么呢?你不知道,当然,你如果认为你没必要知道,这个我完全赞同,我后面会说。就说杀进程吧,C#中不通过Win32 API就那么一种方式,通过System.Diagnostics.Process找到进程,然后Kill之(如果我说的不对,使用C#的朋友请指正),而C++中,我们完全有无数种选择,就说不邪恶的,TerminateProcess,邪恶点的呢?不计其数。进程内存填0,卸载模块,消息洪水,句柄强制关闭,强制释放它的堆,太多太多了,甚至我注入进去,内部Raise一个异常,它也就挂掉了。保护进程, 不管内核下还是应用层,C#肯定是做不了的,C++有自己高端的地方,其他语言无法涉足。你见过C#做的杀毒软件吗?

C#,极其简易的界面操作,令人看着很舒服的编码,他有太多的地方,C++根本无法涉足。拿C++做Web Services除非是大脑进水,用C++做网络蜘蛛,也根本是无聊之举,要么就C#,要么就拿Python来干(个人漏见),超级大量的数据,拿垃圾回收基本上为0的C++去做,简直就是自找麻烦。C#的WebForm,和Jsp占据着Web的大片江山,C++能吗?不能。C#是一门博大精深的语言,类库强大到变态,基本上可以这么讲,所以用C++的朋友也不能随便贬低C#程序员,C#的程序员的层次分得比C++多很多,高层的也是象牙塔级别的。C#的架构师,那种恐怖的实力,C++中级程序员是无法想象的。C#更加注重于软件工程的应用,各种设计模式的使用,C++则注重于实现功能。

C#的前景是不错的,我个人很看好它,MSDN 杂志每期的文章可能有8成是C#,C++不算很多,微软的重心可能在C#上,希望C#逐渐能取代C++。但是C++会这么容易被取代?不可能。就像一个搞管理的,你让他接管搞开发的人,让他从干一样到同时兼干这二样,会有这么简单么?c++的生命力至少还要7-8年,之后才会渐渐的淡出,但是只要追求自由的人存在,C++就不会消失;只要操作系统一天是用C++写的,C++就不会消失。

下面说说语言的选择问题,这2种语言各自的优劣,我在上面都做了简要的比较。我在月经贴中总看到争辩,讨论这2种语言哪个更好,甚至会出现不和谐的字眼。我觉得这是何必呢?各自有各自的天地,请你也不要再说什么C++会没落的的话,那是你自己不用,就说C++没落?就像MSDN英文你看不懂,你就说API垃圾?你自己心里认为它不行,怎么贬低,这个随便你自己心里高兴,别拿出来充专家,更别用自己幼稚的思想左右别人。微软4年前就放言,C#将要取代C++,今年都2009了,每年还不是一样有人跳出来叫嚣?

选什么语言,随自己高兴,需要哪个用哪个,这是不矛盾的。开发数据库,我倾向于用C#,做Windows底层,我肯定是C++,都掌握下没有坏处。VS2010中C++的新特性各位同胞可以关注下,不知道会加入什么,VC2008的特性我探索了这么久,还没有探索结束。C#是越来越好用了,Linq to Sql让不懂数据库的人都能去操做数据库了,辅助一些第三方类库,能发挥强大的威力。完全取代C++,等操作系统是C#写的,C#能开发系统中的一切组件的时候再说吧,至少现在C#还不能开发IsAPI,驱动吧?嘻嘻
另外,团IDC网上有许多产品团购,便宜有口碑
相似回答