深入学习c语言
⑴ 深入学习c语言的具体步骤
①、对于你能写这么长的问题描述,说明你很认真。
②、你的目的性较强,但是你也想有更加明确的目标,我可以给你讲一下怎么自己去寻找目标和路线以及怎样学习。
③、计算机专业领域一共有几个大方向,十几个分支方向,而每个分支方向又有几十个小方向,每一个方向的深入学习与熟练到一定火候都不是一朝一夕,互相之间也不是完全没联系的,但是你现在就应该选择一个大方向并在其中的一个小方向内深入(为什么要这么早就选择具体的分支方向?后面说)。
④、这里列出计算机的几个大方向(非编程开发类的我就不说了):
基本方向:
1、单片机、嵌入式方向
2、网络编程:涉及到服务器程序、客户端开发、脚本设计等。
3、系统编程:基础API开发、桌面开发、系统程序开发、服务程序
4、图形学:3D、2D、图像识别、人脸识别
5、音频:语音识别、音频解码、音频软件
6、编译原理:编译器设计、脚本解释器、虚拟机、非自然语言翻译系统
7、应用层开发:利用高层语言去开发表层应用
8、安全:反工程、病毒、反病毒、木马、反木马、软件破解、软件加壳
附加方向:
8、人工智能:遗传算法、神经网络、灰色系统等等
9、游戏设计:各种游戏引擎设计以及业务逻辑设计等
⑤、基本方向是你一定要选的,附加方向只是基于基本方向的一些锦上添花,但是不管你怎么选,最开始某些东西一定要深入而不是只是懂就够(当然你对自己要求似乎不会很低),我把这个列出来:
数据结构:下面其他理论的基础。
操作系统原理:理解操作系统的架构和细节,你才能对以后关于多线程、文件管理、内存管理、指令优先级等有一个正确理解和运用。
编译原理:能够升华你对计算机编程语言的理解,对以后出现的各种编译、解释、兼容、移植、优化、并发与并行算法等有一个深入理解。
数据库系统原理:这个是进入公司都要会的,也是大型软件开发的基础。
软件工程:这个是你能够在经验不足还能保证大项目正常完成的理论基础。
网络技术:这个是必须学的,因为目前几乎没有一款装几率很高的软件或者平台跟网络无关。
数学的话,主要是:离散数学、线性代数、高等数学、计算机图形学、概率论
以上几个基础就是你成为一个融汇各个主要分支牛人必须学的(当然不是指理论,而是理论+实践编码能力)
⑥以上都是大的基础,要一一攻破并深入学习,虽然网络时代计算机专业知识爆炸式的增长,但是以上几个基础掌握后,会发现,以后的什么新的理论和技术都是基于这些大基础,你就很容易理解了。
⑦我为什么开头不讲你要具体学什么怎么顺序学呢?因为那些技术你要掌握的话,根本可以自己解决,但是如果你由于兴趣,沉迷于一些自己可见的小范围技术的话,那么毕业后虽然也能找到不错的工作,薪水也可能高,但是不能成为一个大牛。
现在才开始讲学习顺序,虽然你说不要推荐书,不过我还是要用书来做顺序。
C语言是可以写很多核心和高级的东西,而不只是小东西,但是从你代码来看,居然用到了 goto,我不是说你那些程序用到GOTO有什么不好,而是一定要避免用GOTO,goto是错误之源,如果你有什么内容非要用到goto才能写到,说明你的编码技巧还有不少提高空间。
你的学习顺序应该是:
C:做一个超级马里奥出来,并能够读取文本脚本来更新关卡。
C++:写一个2D图形引擎,封装掉细节,实现面向对象设计和可复用设计,并且用到《设计模式》中提到的一些设计模式,这样才能算对C++有一个很好的掌握。
MFC:MFC技术虽然近期已经冷下来了,但是你能熟练掌握它,才能证明你的C++OO技术够纯熟,严格证明你掌握了MFC很简单,你只要用MFC做出一个杀毒引擎就差不多了。推荐的书有《深入浅出MFC》。
《Windows程序设计》:和MFC不同的是,用的是windows核心SDK,也就是API,这本书学完后,你才能从操作系统层面上算掌握了win32 平台下的机理(其实win64和win32大部分机理类似)。
C#:C#里集合了当代和前沿计算机科学里最先进的一些语法(虽然执行效率一直被人质疑),但是你学完C#并深入后,至少能够算是对计算机语言有一个更加深刻的理解了。如何证明你C#学的不错了?也很简单,再次写一个随便什么游戏,比如俄罗斯方块。如果更加证明自己呢?用它写一个P2P网络对战游戏。
(如果你注意的话,会发现我说的学习顺序都是沿着语言和某些技术的,为什么呢?因为这些语言和技术涉及到特定的领域技术和计算机理论思想,比如【真正】学完了C#的话,就不单指学完了C#,而是把多种语言范式都学习了一遍,以及现代的程序开发思维(因为里面用到了很多让你一劳永逸的技术))
以上5个步骤都是基础大步骤,要解决的话要没1-2年应该不够。
与此同时,要尽快选出文中你感兴趣的方向作为3-5年的长期方向,不要担心过早选择分支方向会有什么损失,因为计算机很多分支是相通的,只有你把分支方向深入进去,才能真正理解很多理论的实践意义。并且一旦你在某个分支领域形成了较强的优势(比如,到公司里只有你这方面最强),那么你就是稀缺人才。
关于大方向的步骤就不说了,你主要就是要把我说的这几个基础步骤先解决,同时平时要注重大方向理论结合实际去编码和开发。
⑵ 深入学习C语言
学习WINODWS SDK编程吧,你已经有一年的C语言基础了,应该没什么问题。。
主要就是理解WINDOWS程序的原理而已。
⑶ 如何深入学习C语言
多看书:自谭浩强《C程序设计》、RITCHIE(C创造者)的《C程序设计语言》、《C陷阱与缺陷》、《C专家编程》(经典)、《C程序员成长攻略》、《算法导论》、《数据结构》等等;
多读代码;
多抄袭代码;
多动手;
选择方向,一般C是底层、后台的。基本这样了。
本人切身体会。
⑷ 深入学习c语言
练习题不是看一遍就行的,得多做几遍,多看用C语言写的程序,再学学C++,专多读多用
要想对一些简属单的算数程序.对C语言的图象处理/以及库函数的运用有深一些的了解,就得看看C++以及有它的具体操作的书集了
很多时候函数库不用背,用的时候查查就行
要是沉不下心看,就多做题,
也可多看看用C编写的数据结构
真要想学个差不多至少要深入学习半年
COPY人家的 呵呵
⑸ 怎么深入学习c语言
可以学习 严蔚敏的数据结构 c语言版 是数据结构中的经典 非常好至于你想学api mfc 却不想学 c++ 是不内可能的容 因为mfc是微软建立在c++下的基础类库框架 mfc很难 比时下流行的c# Java都难 但如果学好了 前途无量啊 如果你想深入学习 建议接触c++ 理解面向对象 等孙鑫老师的vc教程是偏向mfc的 如果你感觉c基础很好了 又想转向mfc 就去看看吧 祝你成功!!
⑹ 深入学习C语言,哪本书好
楼主,深入学习不是哪本书就解决得了的。楼上的建议说看C语言之父Kernighan的<The C Programming Language>,没回错。个人认为答学C言需要三步走,第一步是入门,这个时候应该有一本深入浅出的入门教材,比如说<C Primer Plus>,第二步拜读<The C Programming Language>这本C Bible,同时参考<C: A Reference Manual>,第三步多读多写。一二步只是打基础,第三步多读多写才是深入学习。多读多写才是深入学习的关键。
⑺ 如何深入学习C语言
怎样才能学好C语言
第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。
第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的indows, Unix, Linux, Mac, os/2,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。
第三:很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl...哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。
那么究竟怎样学习C语言呢?
1:工欲善其事,必先利其器
这里介绍几个学习C语言必备的东东:
一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。
一本学习教程,现在C语言教材多如牛毛,但推荐大家使用《C语言程序设计》谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,并且内容也很精到。
除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件多如牛毛,不象我们当初学习,只有读书做题这么老套。我向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。
2:葵花宝典
学习计算机语言最好的方法是什么?答曰:读程序。
没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。
3:登峰造极
写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。
是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。最后给大家推荐严尉敏的《数据结构》清华大学出版社,希望每一个想成为程序设计高手的人研读此书。
⑻ 如何深入学习C语言
其实吧,学习C语言是以后从事软件设计的一个基础。
任何领域都需要长时间的投入才有结果,你现在学习了C语言,再学习其他语言的时候就比较上手了。
在软件设计中:
学习一门语言仅仅是第一阶段:如果你基本掌握了一门语言,那么再想深入学习的话就需要把所有C语言的相关的库函数弄懂,并熟练掌握一个开发平台(如最基础的TC)。这是第二阶段
下一阶段你就需要继续学习不同的操作系统所提供的API(应用程序接口):因为所有的程序都是建立的操作系统之上的,我们平时变成用到的库函数啊等等最终都是要调用操作系统底层的API来完成的。达到这一阶段理论上你就基本上啥软件都能做了。
你想深入学习C语言,建议你:
1. 买本C语言实例的书,记住,是比较大型的高水平程序的书。相信学习C语言的同学大部分都不会利用纯C语言编写一个俄罗斯方块游戏吧?我曾经就见过一本书里面只讲了几个实例,其中就有关于编写小游戏的实例。(那个时候我学习C语言一段时间后就觉得C语言没啥学的了,好像都会了,其实这是很严重的错误。C语言很多很多的库函数我们还不了解,如果大体掌握了那你也很厉害)
2. 学习下C语言的高级编程,选一个操作系统作为参考(我选的是Windows下的C语言高级编程,有本书的名字就叫Windows 下的C/C++高级编程)这里面不仅要求你用C语言的语法来实现算法,还可以学习到经典的Windows编程的思想。
记得当时我刚开始接触的时候有些不适应,因为里面有很多涉及到Windows的原理,比如Windows如何管理一个窗口,如何管理网络等等。如果你C语言语法熟练,又经历上第二阶段的洗礼(掌握了C语言的主要库函数),并且还想继续学习C语言的话,那么,强烈建议进行第三阶段的学习。
最后,祝你在C语言的道路上越学越深入。
PS:这里说的掌握C语言的库函数,并不是让你把所有的库函数都记住了,只要你知道C语言中库函数分多少类,每个类别里面大概都有多少库函数,哪些我可以直接调用库函数而不用再编写一个函数来实现什么样的功能了。(比如常用的数学库函数,里面有求三角函数的值,求圆的面积等等这些都不用自己再编写的了)
还有,C语言的另一个方向是嵌入式编程,如果你感兴趣的话可以尝试学习下,特别是单片机的编程,用C语言的很多。
⑼ 怎样深入学习c语言
实话复说C语言现在不是主流 只是基础制 但是在深圳还有用C做嵌入式开发的 不多
接下来你就要选择Java或是C# 这两个是现在的主流编程语言了 像PHP也不是很多 就是选Java或是C#了 有人说C#上手容易,错了,其实是挺难的,我是Java 我同学是c# 他说他被那些说c#容易的人给骗了 呵呵
Java上手难,但是你学一段时间,有了思想以后再往上走是很快的
c#上手方面比Java的确是简单 微软做的东西向来是很方便的 但是学一段时间以后再像更高级的方向发展,你就会方向一点都不简单,还是很难啊
说白了就是Java前期难后期简单 c#相反
书的方面就看你选哪个方向了 网上有很多 玩程序要多动手练啊
另外,团IDC网上有许多产品团购,便宜有口碑