c语言入门该学些什么?要看些什么书?
帮我总结下学习的方法和步骤如何才能少走弯路?如果想考软件工程师的证的话还得学些什么?大恩不言谢高分送给解答全面的朋友...
帮我总结下学习的方法和步骤 如何才能少走弯路? 如果想考软件工程师的证的话 还得学些什么? 大恩不言谢 高分送给解答全面的朋友
展开
6个回答
展开全部
究竟怎样学习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数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。最后给大家推荐严尉敏的《数据结构》清华大学出版社,希望每一个想成为程序设计高手的人研读此书。
二,语言学习方法
谈谈偶的学习方法,抛砖引玉!
学习不论讲不讲方法,最终都能学会。但是别人1个月学会了,而你却100年才学会,这不就晚了么?:)所以说,学习还是要讲究方法的。学习方法正确,事半功倍;学习方法不正确,事倍而功半。
什么才是学习C语言的捷径?我的答案是看书。书中所写,是前人数十年经验所写,看十本书,就相当于汲取了前人数十年的功力,那么你的内功也会迅速上升1甲子。:)书当然要看好书,只有好书才营养丰富。假如你花了1天时间看了一本破书,而该书介绍的知识虽然对于你来说是全新的知识,但是由于书中组织不当、或者深度不够,使你获取的营养很少,还不如自己研究一天来的快,这种书就不值当看了。学习C语言要看那些好书?我认为首先要把基础书给看扎实了,比如《C语言之四书五经》中介绍的4本。(虽然这些书很多已经绝版了,但我相信电子版也是很有益处。况且,如果你真的想看,我相信你一定有办法搞的到。)这些书你会在很短的时间内看完(比如一两个月),这取决于你的基础和悟性。之后要看那些书呢?我不妨再列几本。Bjarne Stroustrup的《C++程序设计语言》(The C++ Programming Language)一定要看,这本书里面对于C的一些基础概念的定义,比我见过的其他任何C语言书都要全,都要仔细;Bjarne Stroustrup的《C++语言的设计与演化》(The Design and Evolution of C++)和David R.Hanson 的《C语言接口与实现 创建可重用软件的技术》(C Interfaces and Implaementations Techniques for Creating Reusable Software)一定要看,这两本书讲述了如何用C来实现异常处理、实现类型的封装和扩展等一些大的项目中经常用到的高级技术。其他的书,操作系统的要看,编译原理的要看,算法的要看,模式的也要看。读书破万卷,coding如有神。总而言之,就如《传》中云:“生而知之者,上也;学而知之者,次也;困而学之又其次也。”我们不能总是因困而学之,而要做到兵马未动,粮草先行。
看书是学习的导向,书中能一一介绍清楚概念,但书却不能把应用的细节一一介绍给你,因为应用总是招数繁复,变化多端。因此我们要想熟悉招数,懂得书中所讲怎么使用,还要多读源码。Linus给别人解答问题的时候,常说Read the ****ing source code;候捷也在其文中提到“源码之前,了无秘密。”这就是大师的箴言呀。源码就像是动画、就像是幻灯片,把书中的招式一一演练给你看。可以说高手的经验大都是源自代码。源码和书一样,也是要看好的,不要看差的。在此,我推荐看Linux kernel source code 和 Linux tcp/ip source code。这两套代码都是开源的,垂手可得。此外,还可以配合着Andrew S.Tanenbaum的《操作系统的设计与实现》(Operating Systems:Design and Implementation)、毛德操 胡希明的《Linux内核 源代码情景分析》、Jonathan Corbet,Alessandro Rubini,Greg Kroah-Hartman合著的《Linux设备驱动程序》(Linux Device Driver,3e)、W.Richard Stevens《TCP/IP详解(3部)》 (TCP/IP Illustracted )、W.Richard Stevens《UNIX环境高级编程》(Advanced Programming in the UNIX Environment,新版增加了Linux kernel的内容)等书来看,方便的很当然程序不是看出来的,是写出来的。我高中的时候每天坚持写6个小时程序,《数据结构》和排列组合、图论方面的习题反复做了N遍。到现在虽然已经时隔五六年,很多内容早已淡忘掉,但却培养了我很强的编码能力和调试能力,直到现在还对我的工作有很大的帮助。
学习忌贪多、忌浮躁、忌急功近利、忌目中无人。把学习计划放的长一些,培养一个好的学习方法,一步一步慢慢走,终能成为高手。
考软件工程师
(1)熟悉计算机基础知识;
(2)熟悉操作系统、数据库、中间件、程序设计语言基础知识;
(3)熟悉计算机网络基础知识;
(4)熟悉软件工程知识,理解软件开发方法及过程;
(5)熟悉软件质量及软件质量管理基础知识;
(6)熟悉软件测试标准;
(7)掌握软件测试技术及方法;
(8)掌握软件测试项目管理知识;
(9)掌握C语言以及C++或Java语言程序设计技术;
(10)了解信息化及信息安全基础知识;
(11)熟悉知识产权相关法律、法规;
(12)正确阅读并理解相关领域的英文资料。
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数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。最后给大家推荐严尉敏的《数据结构》清华大学出版社,希望每一个想成为程序设计高手的人研读此书。
二,语言学习方法
谈谈偶的学习方法,抛砖引玉!
学习不论讲不讲方法,最终都能学会。但是别人1个月学会了,而你却100年才学会,这不就晚了么?:)所以说,学习还是要讲究方法的。学习方法正确,事半功倍;学习方法不正确,事倍而功半。
什么才是学习C语言的捷径?我的答案是看书。书中所写,是前人数十年经验所写,看十本书,就相当于汲取了前人数十年的功力,那么你的内功也会迅速上升1甲子。:)书当然要看好书,只有好书才营养丰富。假如你花了1天时间看了一本破书,而该书介绍的知识虽然对于你来说是全新的知识,但是由于书中组织不当、或者深度不够,使你获取的营养很少,还不如自己研究一天来的快,这种书就不值当看了。学习C语言要看那些好书?我认为首先要把基础书给看扎实了,比如《C语言之四书五经》中介绍的4本。(虽然这些书很多已经绝版了,但我相信电子版也是很有益处。况且,如果你真的想看,我相信你一定有办法搞的到。)这些书你会在很短的时间内看完(比如一两个月),这取决于你的基础和悟性。之后要看那些书呢?我不妨再列几本。Bjarne Stroustrup的《C++程序设计语言》(The C++ Programming Language)一定要看,这本书里面对于C的一些基础概念的定义,比我见过的其他任何C语言书都要全,都要仔细;Bjarne Stroustrup的《C++语言的设计与演化》(The Design and Evolution of C++)和David R.Hanson 的《C语言接口与实现 创建可重用软件的技术》(C Interfaces and Implaementations Techniques for Creating Reusable Software)一定要看,这两本书讲述了如何用C来实现异常处理、实现类型的封装和扩展等一些大的项目中经常用到的高级技术。其他的书,操作系统的要看,编译原理的要看,算法的要看,模式的也要看。读书破万卷,coding如有神。总而言之,就如《传》中云:“生而知之者,上也;学而知之者,次也;困而学之又其次也。”我们不能总是因困而学之,而要做到兵马未动,粮草先行。
看书是学习的导向,书中能一一介绍清楚概念,但书却不能把应用的细节一一介绍给你,因为应用总是招数繁复,变化多端。因此我们要想熟悉招数,懂得书中所讲怎么使用,还要多读源码。Linus给别人解答问题的时候,常说Read the ****ing source code;候捷也在其文中提到“源码之前,了无秘密。”这就是大师的箴言呀。源码就像是动画、就像是幻灯片,把书中的招式一一演练给你看。可以说高手的经验大都是源自代码。源码和书一样,也是要看好的,不要看差的。在此,我推荐看Linux kernel source code 和 Linux tcp/ip source code。这两套代码都是开源的,垂手可得。此外,还可以配合着Andrew S.Tanenbaum的《操作系统的设计与实现》(Operating Systems:Design and Implementation)、毛德操 胡希明的《Linux内核 源代码情景分析》、Jonathan Corbet,Alessandro Rubini,Greg Kroah-Hartman合著的《Linux设备驱动程序》(Linux Device Driver,3e)、W.Richard Stevens《TCP/IP详解(3部)》 (TCP/IP Illustracted )、W.Richard Stevens《UNIX环境高级编程》(Advanced Programming in the UNIX Environment,新版增加了Linux kernel的内容)等书来看,方便的很当然程序不是看出来的,是写出来的。我高中的时候每天坚持写6个小时程序,《数据结构》和排列组合、图论方面的习题反复做了N遍。到现在虽然已经时隔五六年,很多内容早已淡忘掉,但却培养了我很强的编码能力和调试能力,直到现在还对我的工作有很大的帮助。
学习忌贪多、忌浮躁、忌急功近利、忌目中无人。把学习计划放的长一些,培养一个好的学习方法,一步一步慢慢走,终能成为高手。
考软件工程师
(1)熟悉计算机基础知识;
(2)熟悉操作系统、数据库、中间件、程序设计语言基础知识;
(3)熟悉计算机网络基础知识;
(4)熟悉软件工程知识,理解软件开发方法及过程;
(5)熟悉软件质量及软件质量管理基础知识;
(6)熟悉软件测试标准;
(7)掌握软件测试技术及方法;
(8)掌握软件测试项目管理知识;
(9)掌握C语言以及C++或Java语言程序设计技术;
(10)了解信息化及信息安全基础知识;
(11)熟悉知识产权相关法律、法规;
(12)正确阅读并理解相关领域的英文资料。
展开全部
看来楼上那牛人
都晕了来这
我也是刚学的
不知到你是否满意
如果你觉得你能学的比较快的话
建议看老外的书
比如 c primer plus 第五版 中文版
如果英文好的
最好是看E文版的
学的不是很快的
看谭浩强 的
C程序设计教程
看完再看点进阶的教程
书封面上有介绍还有那些可以看的书
看完后学习一下 数据结构
如果你打算早点进入图形界面
也可以先不看
但之后必须看 他决定了
一个程序员的编程水平高低
在进入图行界面不要直接就看VC或者MFC之类的书
先看看 老外的那本
Windows程序设计第五版
本文作者讲的通俗易懂
同上 还是E文版好
现在你可以写点大WINDOWS结构框架的程序了吧
虽然有点丑陋 不果你的C 也是算上入门了
现在可以找点MFC 的书来看
比如 MFC升入浅出
之后,就别找书了
网上的源码就是最好的教材
多看,学习别人的编程方法
自己以后遇到了就可以用他的方法解决
学楼上的
相当于汲取了前人数十年的功力,那么你的内功也会迅速上升1甲子。:)
等C语言进阶后
可以学学操作系统,编译原理之类的
数据结构是必须的
学语言重要的是方法
要精通一门语言也是要方法
看源码 = 学方法
(但要会自己分辨,不要好坏统揽)
在次引用楼上的
学习忌贪多、忌浮躁、忌急功近利、忌目中无人。把学习计划放的长一些,培养一个好的学习方法,一步一步慢慢走,终能成为高手。
都晕了来这
我也是刚学的
不知到你是否满意
如果你觉得你能学的比较快的话
建议看老外的书
比如 c primer plus 第五版 中文版
如果英文好的
最好是看E文版的
学的不是很快的
看谭浩强 的
C程序设计教程
看完再看点进阶的教程
书封面上有介绍还有那些可以看的书
看完后学习一下 数据结构
如果你打算早点进入图形界面
也可以先不看
但之后必须看 他决定了
一个程序员的编程水平高低
在进入图行界面不要直接就看VC或者MFC之类的书
先看看 老外的那本
Windows程序设计第五版
本文作者讲的通俗易懂
同上 还是E文版好
现在你可以写点大WINDOWS结构框架的程序了吧
虽然有点丑陋 不果你的C 也是算上入门了
现在可以找点MFC 的书来看
比如 MFC升入浅出
之后,就别找书了
网上的源码就是最好的教材
多看,学习别人的编程方法
自己以后遇到了就可以用他的方法解决
学楼上的
相当于汲取了前人数十年的功力,那么你的内功也会迅速上升1甲子。:)
等C语言进阶后
可以学学操作系统,编译原理之类的
数据结构是必须的
学语言重要的是方法
要精通一门语言也是要方法
看源码 = 学方法
(但要会自己分辨,不要好坏统揽)
在次引用楼上的
学习忌贪多、忌浮躁、忌急功近利、忌目中无人。把学习计划放的长一些,培养一个好的学习方法,一步一步慢慢走,终能成为高手。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的方法和步骤:
while(1)
{
读;
写;
想;
}
别无它法。
学C没捷径,走弯路是不可避免的,走弯路有时候你会收获更多。选书是看自己水平了,不是对谁都适用的。仅仅是想应付考试的话,谭浩强的书不错。
考软件设计师(也就是你说的软件工程师)分为上下午卷。
上午卷考得面较广,都是选择题,最后还有10道左右英文题,从硬件到软件以及网络都要考的。
下午卷是主观题,一般每年会有1-2道UML题,所以UML得学一下。语言类,除了C之外,需要C++/Java/VB任意会一门,最后一题是三选一(每个语言一道题),听说这几年又加出VC了,不大清楚,我那时候没有。另外数据结构就不用说了,肯定得学,建议考的时候买本大纲看。
while(1)
{
读;
写;
想;
}
别无它法。
学C没捷径,走弯路是不可避免的,走弯路有时候你会收获更多。选书是看自己水平了,不是对谁都适用的。仅仅是想应付考试的话,谭浩强的书不错。
考软件设计师(也就是你说的软件工程师)分为上下午卷。
上午卷考得面较广,都是选择题,最后还有10道左右英文题,从硬件到软件以及网络都要考的。
下午卷是主观题,一般每年会有1-2道UML题,所以UML得学一下。语言类,除了C之外,需要C++/Java/VB任意会一门,最后一题是三选一(每个语言一道题),听说这几年又加出VC了,不大清楚,我那时候没有。另外数据结构就不用说了,肯定得学,建议考的时候买本大纲看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,服了你了,找一些很详细的看懂,在做些题,巩固,然后,学习算法,一边学算法一边到杭电,北大,浙大去在线做题,只要你能在那些里面做题感觉不错,哪对于考证没什么问题了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编程的规范很重要!
我推荐《The C Program Language 》
循序渐进特别简单。
很详细,可以打下深厚的基础。
个人不喜欢谭浩强的书,很不规范。
软件工程师
要学习数据结构和算法,基本软件法律,开发流程等,其实没有深度只有广度!基本看看就会!数据结构和算法比较复杂点,重要点!
我推荐《The C Program Language 》
循序渐进特别简单。
很详细,可以打下深厚的基础。
个人不喜欢谭浩强的书,很不规范。
软件工程师
要学习数据结构和算法,基本软件法律,开发流程等,其实没有深度只有广度!基本看看就会!数据结构和算法比较复杂点,重要点!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询