㈠ 自学c语言需要哪些基础从哪里学起
自学C语言需要一定的计算机和数学等方面知识基础。
如何自学c语言:
1、首先需要一本讲解c语言基础知识的书本,按照上面的知识讲解一点点的学习c语言;
2、需要在电脑上面安装c语言编译软件,可以选择vc 6.0++或者Microsoft Visual Studio等软件;
3、自己编写一些小程序,熟悉编译c语言程序的过程,并且检验自己学习的成果;
4、试着写一些稍大型的c语言程序,达到进阶目的,比如俄罗斯方块,贪吃蛇等。
㈡ 算法导论是讲c的算法还是整个算法。适合什么时候看。我现在入门c语言。以后该怎么个学习法。
讲的当然是算法的经典理论知识和方法,这些理论和方法用在其他编程语言仍然是通用的。当然书中可能会用c语言写的代码作为例子来讲解。
学习一门编程语言和学习算法是密不可分的,系统的算法知识有助于编程语言的灵活运用,而一定的编程语言基础又有助于更好地理解算法的精髓。
如果你在学习C语言之前,有一定的编程基础,那么建议现在就开始学习算法导论,这样有助于你C语言的学习。
如果你无任何编程基础,还是建议先从学习C语言开始,等有了一定的编程基础之后再去学习算法导论,才能让你的编程能力更上一层楼。
㈢ 我想自学C语言 在学习之前 我应该先读哪些书作为基础有人说是《计算机导论》光着一本够么
《C语言程序设计教程》;主编杨路明;北京邮电出版社;我用的这版教材内容编排上还不错,可以参考一下;
㈣ 《算法导论》和《数据结构与算法分析:C语言描述 》哪个更适合新手,哪个更好......听说翻译都不
都很好,c语言描述的更适合新手,
算法导论对你来说太难了,看完c语言描述,可以啃啃算法导论
㈤ 学c语言有哪些好书啊,最好是带算法的
c语言的语法方面,就看《C专家编程》,《C陷阱与缺陷》
算法方面的我就推荐《计算机程序设计艺术》和《算发导论》了,
我觉得学C语言先把语法看差不多,然后看算法的时候用C多实现就好了
谭浩强的书只能当语法书看,学C++的话还是看《C++ PRIMER》吧
以前看到的网上推荐的编程书籍:
3、C++
C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父”
C++ Primer (第3版)中文版----c++八大金刚---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金刚---Stanley B.Lippman
C++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai M.Josuttis
C++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父”
深度探索C++对象模型---c++八大金刚----Stanley B.Lippman
Essential C++中文版---c++八大金刚---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金刚------Scott Meyers
More Effective C++中文版----c++八大金刚------Scott Meyers
C++编程思想(第2版) 第1卷:标准C++导引--------Bruce Eckel
C++编程思想(第2版)第2卷:实用编程技术 --------Bruce Eckel
C++程序设计--------------------------谭浩强
C++ 程序设计教程(第2版)--------------钱能
C++ Primer Plus(第五版)中文版---Stephen Prata
广博如四库全书The c++ programming language、c++ Primer
深奥如山重水复Inside the c++ object model
程序库大全The c++ standard libray
工程经验之积累Effective c++、More Effective c++、Exceptional c++
c++八大金刚:
1、Essentital c++---lippman---C++之父,旁枝暂略,主攻核心,轻薄短小,初学者
2、The c++ programming language----C++之父,技术权威,用词深峻,思想深远,c++网络全书代表
3、c++ Primer----lippman---纵横书市十数年,c++最佳教本,c++网络全书代表。
4、Inside the c++ object model-----lippman----揭示c++底层,非常好,非常难。
5、Effective c++-----通过50个编程实例,展示专家经验,行文有趣,深处浅出。
6、More Effective c++----通过35个编程实例,展示专家经验,行文有趣,深处浅出。
7、The c++ standard libray---c++标准库的网络全书。
8、设计模式:可复用面向对象软件的基础
4、c
C程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---Brian W.Kernighan“C语言之父”
C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen Prata
C程序设计(第三版)---------------------------谭浩强
C语言大全(第四版)---------------------------HERBERT SCHILDT
C语言接口与实现:创建可重用软件的技术-------------DAVID R.HANSON
C语言参考手册(原书第5版)--------------------------Samuel P.Harbison
C程序设计教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱与缺陷-----------------------------------Andrew Koenig
㈥ 学习c语言需要什么基础吗 我现在买了本c语言的书,但是一点都看不懂,就像看天书一样的,
首先:C语言入门相对比较简单,但如果想成为一个优秀的C程序员,需要很艰苦的训练,多读代码,多练习,多上机操作,多思考,学习是一件辛苦的事情,要放弃很多东西,要坚持下来才可以,可以说C语言是基础,将来想学其他的C++,JAVA等,如果有C的基础,还是比较好入门的.
C语言的用处比较广泛,可以说任何精通计算机的人都掌握C语言了,我是本科计算机专业的,C被作为许多课程的先行课,没有了C语言基础,就不能学习数据结构,操作系统,编译原理,计算机网络等核心课程,所以说,想学习计算机的话无论想在哪个方向发展(软件,硬件,网络,应用,开发,设计等方向)都必须掌握C语言.
C Traps And Pitfalls 推荐读,不过要有一定基础。
如果你刚开始的话推荐C Primer Plus或者C In A Nutshell。
去书店买那种翻译版的书,红色皮的那种. 原着国外的.
如果可以直接看那种英文原版的(毕竟翻译过来的有些诧异).
<21天学通C语言>(第六版)
Bradley L. Jones, Peler Aitken 着.
信达工作室 译.
人民邮电出版社
这本书对初学者很好, 如果有点基础那就更好了.
建议选择谭浩强谭老师的书,简单易学,理论与实践结合的很好,而且如果能认真学的话,你会发现你的C语言基础非常的实。
也不是说其他的书不好,但是有些书只是为了让读者入门,没有前途呀。
先读谭浩强的《C语言程序设计》,这是公认的中文入门级教材。但是书中的代码风格不敢恭维。看完这本,推荐《21天学通C语言》,这本书比较好,个人感觉。看完这两本,你就可以进阶C++了。
C语言只要把基础打好就好,你要是想精通的话,最好是精通C++,这样比较有前途。但不要操之过急。
以下一段话是我给另一位初学编程的朋友建议的学习轨迹,你可以参考以下:
学习编程语言贵精不贵多,而且要循序渐进、有张有驰。
初学语言时,基本上都是从C语言入手。
一本谭浩强老师的《C语言程序设计》足够。
不过在学习过程中请注意不要学习他老人家的编程风格!我不知道现在改版了没有,反正我当年学这本书的时候,上面的代码风格让我极其崩溃。
良好的C语言代码风格,可以参阅《21天学通C语言》等。
学C最多也就半年,感觉差不多了,做一个像样的小项目,检验一下自己即可。然后就应该步入C++中。C++是一门值得深入研究的语言,仔细学进去你会发现它嗷嗷强大。其中也有许多经典的设计思想。入门级书籍推荐《C++大学自学教程》讲的比较透彻,但很厚。进阶级推荐《C++语言深入研究》等,就比较深奥了。高手级推荐《C++大师的沉思》等国外名着,讲的很晕,呵呵。
Java是一定要学的,但如果不想在这方面发展,可以不学得那么累。Java是发展最迅猛的语言之一,其技术更新之快,远胜于我们学习的速度。学习Java的重点要放在学习她的思想上。学习面向对象思想,以及建筑在其上的各种框架和架构的思想。学精C++之后再学Java,语法部分10天足够,但思想部分就看你的悟性了。
追加建议:学过C++、Java之后,再回头重温C语言,研究一下用C语言如何实现面向对象的四大特性(抽象、封装、继承和多态)。这时你就会发现,哦,之前显得如此神秘的东西原来是这样的啊……
当以上三门语言你都经历了一遍之后,就可以选择自己所要进一步深造的方向了。那时候你已经心里有数。而且这时的你学习任何一门其他程序设计语言都是手到擒来易如反掌。这就是基础的作用。
<编程珠玑>-中国电力出版社
<程序设计实践>-机械工程出版社
<实用c语言编程>-O'Rerly出版
<算法导论>
㈦ 学c语言要有什么基础,我初中毕业,小学到初中的英语数学水平没问题,想学应该先学什么
我觉得你先明确你以后用C做什么工作,偏重软件编程还是偏重硬件编程。
如果偏硬件的话,还需要了解计算机硬件知识,象寄存器、存储器、bit, byte,word,dword,端口,文件读写等方面的知识,估计还有可能牵扯针对不同的协议编程等。
如果偏重功能性软件开发的话,就多学一些数据结构,算法,数据库相关,等方面的知道,侧重点在逻辑功能的实现上。
另外,我觉得不管学什么语言,逻辑是第一位的。你先有一些程序编写的基础后,可以尝试做一些简单的题目,比如做个简单的数学运算,求个素数,判断个年份是否是闰年等等之类的小应用,训练自己的程序逻辑思维,明白写程序先做什么,后做什么,中间做什么。
建议你先找人帮你搭建一个C语言的编译运行环境,初学者建议用Borland 的tc2.0(在DOS下运行的,可以到网上找一个叫DOSbox的模拟器,模拟dos环境,在其下安装tc2.0),让他能编译运行程序。
然后按照录入一个简单的例子,使其能编译运行;对应程序,去了解程序中所用的每行语句的含义,再去书中找相应的讲解(估计开始时都不知道去哪找,慢慢来)。
初学编程是个慢活,急燥不得,有点耐心。
另外,看你下边的追问,算法不是C语言自带的,是你自己设计出来的。
比如有个题目:
某水库一年中5-10月为丰水期,11-4月为枯水期,已有历年数据,要求给出枯、丰水期各月排水量,使水库水量始终保持在可用水最大持有量,已保证生产生活用水。
这个实现算法就要你自己去想办法了。
㈧ 计算机专业都学些什么
大致上分为两个方向,一个软件,一个硬件。但是并不是有完整的分界线。就像一个人,思想是软件,躯体是硬件。很多搞硬件的也会去做程序设计,很多搞软件的,也要让软件在某些设备上,比如机器人上跑起来。
硬件方面上:一般是电子硬件技术相关。经常需要设计一些硬件甚至是控制系统,当然也会设计到编程。
软件方向上:可以讲,氛围很广。从语言到技术,从前端到后台,甚至是整个操作系统都会设计。
有些东西是 很模糊的,比如说计算理论也是计算机科学里面很古老的一门学科,但是这门学科算什么呢?更多时候是在数学的角度上考虑计算机的计算能力以及可行行等问题上。
所以不如提一下计算机包含哪些课程。
一门语言,关于计算机编程相关的,比如c语言。
数据结构和算法,这是计算机上编程的设计方法和艺术体现的地方。
计算机体系结构,这门课一般设计到计算机硬件是怎样构成,整个体系结构如何设计。
计算机操作系统,这个是设计一个操作系统一般需要考虑哪些问题。
计算机网络,设计到计算机如何通信。
数据库, 如何结构化存储数据,设计数据库的原则。
软件工程,这个如何用工程学的观点,设计,管理软件。
信号处理,信号这东西,可以是一段音频,可以是一符图像,也可以是传感器采集来的信息,但是信号如何处理,变换,一个信号系统是什么样子。这门课应用广泛,很很多学科的基础。
计算机专业所学课程有高等数学、线性代数、概率与数理统计、普通物理、离散数学、计算机科学导论、C语言及程序设计、汇编语言、计算机组成原理、算法与数据结构、操作系统原理、软件工程、计算机网络与通信、计算机专业英语、编译原理、数据库系统原理等。
计算机专业所学课程都有什么
主要都会学的有高等数学、线性代数、概率与数理统计、普通物理、离散数学、计算机科学导论、C语言及程序设计、汇编语言、计算机组成原理、算法与数据结构、操作系统原理、软件工程、计算机网络与通信、计算机专业英语、编译原理、数据库系统原理、面向对象编程技术(如:VB,c#,c++等)、JAVA、计算机维修技术、计算机系统维护技术、多媒体技术及其应用、算法分析与设计、网络操作系统。
㈨ 听说学C语言之前最好要先看一下计算机科学导论了解一下计算机的发展史
计算机C语言来开发性能驱动的开发,收集在UNIX上的软件开发具有相对不错的表现,但因为C语言是比较简单的,这些软件的开发难度比较大,现在随着这些发展软件一般是C ++了。
计算机C语言主要用于教学,因为C语言和类似的比较简单和基本的C ++语法的语法,所以大多数学校会先教C语言,然后教授C的面向对象的一部分++。
有很多好处,类似于C和C ++的基本语法,学习C语言可以学习面向对象的C ++是一个组成部分。这样的概率可以降低C ++的教学时,它们可以是多于一个的C语言课程。因为C字基础,可以学习的过程中的数据结构(同时无需学习了C基本词汇)减少压力所学校的教学任务,
,但学生
接下来,也使得它更容易关闭拿到学分。
㈩ 大一计算机导论 学习心得
一篇好的学习心得,必须要结合自己的实际情况,深入的分析这门学科带给你的感受, 如果一味的写理论知识,是得不到高分的,我从网上搜索了一个大二学生学习计算机的心得,你可以参考一下,可以结合你自己的实际情况加以修改。
大一大二两年软件开发学习心得 出处:博客园
转眼间在从大一踏进学校的校门到现在刚刚好两年了,在这两年里面,有学到了不少东西,包括怎么去独立生活,怎么去与人沟通,等等,当然最重要的还是学到了自己想要的专业知识。
大一的时候主要是学习计算机导论和C语言,对于急于想看到效果的我,C语言学起来就比较枯燥,因为C语言编写出来的程序主要还是在命令行的操作,我很想开发出windows界面的软件出来,但是没有办法,C语言是基础,没有这个基础就往高处想,恐怕梦想不会那么容易实现。所以我就认真的把C语言的基础打好,先掌握好里面的语法,程序控制逻辑和一些基本的算法,说真的,尽管是比较枯燥,但是一旦陷入了编程中,自然就会发现其中的快乐。
大一第二学期的时候开始接触NIIT的课程,平时虽然一点作业都没有,但是我上课的时候不是那么认真听课的人,所以课后总是要花时间来看看和理解老师上课的例子,在这个学期中,我们主要学习了C++和Java,都是刚刚开始接触到面向对象的语言中来,由于对一些面向对象的特性不熟悉,毕竟是刚开始接触这方面的语言,所以学起来就有点吃力,再加上平时实践的时间比较少。
终于到了学期的期末,学期期末的项目是使用Java语言开发一个网络的聊天室,在我还没有开发之前一听到这个项目,我做梦都没有想到我可以编写出一个聊天室出来,但是既然是课程提出来的项目,就一定有它的理由,我也相信最后一定也可以完成它。功夫不负有心人,经过接近一个月的研究,我总于完成了我来到学校的第一件作品。在这个月中,我不断得查阅资料,询问老师,平时和同学多交流,终于在最后的评审中,我获得了全班第二的好成绩。通过这个学期的开发中,我几乎把整个学期学到的知识都用到了我的聊天室里面,所以在实践中也等于复习了这个学期所学的内容,而且我发现这样的实践,比我在平时课后看书,看资料所学到的还多。
大二的第一学期,进入了数据库和高级Java的学习,说真的,在学数据库的那段时期是最烦的,因为每天就学了一大堆SQL的语言,非常的枯燥,都是关于怎么去查找数据表格里面的内容,那是时期,因为课堂上听课了之后觉得都是比较简单的,所以课后很少去动手。到了后来项目开发中,我才发现数据库的重要性,整个系统的信息都是存储在数据库里面的,所有的在程序中对数据的操作都是等同于对数据的增删改查询操作。
在期末的项目中,根据项目所要求的内容,我不断翻看以前没有掌握好的数据库知识,感觉如果我前面有认真学习的话,到了后面开发项目的时候就不会那么吃力了。对此,我总结出,如果在前面学数据库的时候不要单纯学习SQL的语言,把数据库和程序结合起来,如果老师的讲课的过程中可以说清楚数据库怎么绑定到程序中去使用的话,那么我想对于我来说我会更加有兴趣去学好数据库,因为只要在程序开发中才可以去体验数据库的魅力和重大的作用。
在学期末的J2EE开发电子商务网站中,我学到了很多关于怎么制作动态网页的一些必要元素的基本的原理,体会到软件设计在网站开发中的重要性。
转眼间来到了大二的第二个学期,可以说在这个学期中,是我最有感触,学到最多知识,达到质的飞跃的一个重要学期。有了前面几个学期的学习基础,我对面向对象语言已经基本掌握清楚,运用起来也觉得没有什么特别困难,基本已经入门了,这个学期主要是进入了.net的学习。
好的开发工具是保证效率的一个重要因素,Microsoft Visual Studio .NET 2003就是这样的一个开发工具,令我刚刚一接触就深深得爱上了它,它的易学易用令我对编程的兴趣倍增,以前学习Java之所以见效不大是因为没有好的开发工具和环境,总是在环境配置中浪费大量的时间,而真正的涉及到编程很少,所以这也是我以前为什么学起来没有那么有兴趣的原因。
我觉得学编程就应该学习它的思想,编写代码就应该尽量避免写出与逻辑无关的代码,比如界面代码可以让机器去自动生成不必浪费时间手动去编写,所以好的开发工具可以帮助我们做到这一点,只编程逻辑代码,很多代码都可以让机器去自动生成。在.net就可以快速地开发既有漂亮界面也有强大功能的程序。有了这么好的开发工具,所以令我顿时感悟,有种相见恨晚的感觉。
有了好的开发工具后接下来要做什么呢,当我们为之兴奋的时候,当然是很有欲望去做出某某自己很想做的东西,因为你一拿到好的开发工具,就会整天的陷入开发状态,对其爱不释手,一开始我是试着开发一个Flash播放器,感觉编写起来不是编写起来不是那么难,因为前面已经有学习Java的经验了,初次学习.net的时候选择编写Flash播放器也是有理由的,一方面是程序比较简单,另一方面的涉及到的控件和界面比较多,所以一开始接触这样的语言就首先学习怎么去调用.net平台上提供的控件,只要掌握好这些控件,以后编写windows界面的控件就简单很多了。
经过几天的时间,终于把Flash播放器做出来了,以后想Flash影集的时候都用自己开发的播放器进行播放,感觉别有一翻滋味,因为这就是为自己量身定做的,这就使我再一次感觉到开发的乐趣。
每年的11月份都有一个高校杯的软件设计大赛,这时间正到了5月,我们屈指一算,离比赛的时间还有6个月的时间,这段时间我正处在开发的兴奋期,所以对这个软件设计比赛就感兴趣起来,第一是可以知道自己的编程程度和其他人的距离,第二是可以利用这个一个项目实践来锻炼自己的开发技能,第三是可以锻炼团队的合作。以前几乎都是自己开发的软件,很少和其他人合作,所以就令我想到这种开发模式将来带到工作会另自己处于不利的地位,现在不是都讲究团队的合作么。
经过思考后,我找来另外的两个志同道合的同学,利用五一放假的时间想好主题,还有进行需求分析,最后定下来“多媒体日记本”这一项目。定好题目后我们就进行了分工,一个人负责数据库方面,一个人负责界面的美化和界面的布局,另外一个负责功能的实现,分好工后我们立刻就展开了工作,在合作的过程中,我们学到了许多课本上没讲的或者只是粗略带过的知识,有些特别的技术难点还要到网上去搜索,查阅有关的资料,在语言方面我们几乎把.net里面的基本框架和特性都用上了,这样对于我们学习就达到了事半功倍的效果,边学边做学到的知识可以很快吸收,又可以很快得运用的实际中去,这是我通过这个项目感触最深的。很快就到了期末,学校举行“IT精英杯”软件大赛,我们小组终于不负众望,拿到了一等奖的好成绩。
经过这次我比赛我总结出心得,首先比赛的题目要定好,一方面是开发的软件要有实用性和市场前景,另一方面还要在实用性上加上点创新,给人耳目一新的感觉,我觉得只要先抓住好这两点,做出来的软件才会给人留下好的印象。
利用暑假的时间,我又参加系里面组织的软件工程培训,又一次在开发项目中学到了许多许多看书只能朦胧懂的知识。
转眼间大三第一个学期就开学了,回顾这两年来学习软件开发的经历,写了这样的一遍心得,一方面算是对自己的总结,另一方面也可以拿出来给大家参考和交流。最后我还是要再归纳一次,总结出如何才可以比较容易地进入学习状态达到快速开发的目的。
1. 打好基础,掌握好C语言C++基础的语言,对学习数据结构和算法有很大的帮助。
2. 面向对象是高级也是最流行的语言,所有的面向对象语言几乎都是通用的,结构和特性都差不多,只要掌握和归纳好它们的一些共同的特性,哪怕将来转向其他的语言都是轻而易举,得心应手,达到融会贯通的效果。
3. 好的开发工具是你提高开发效率,提高编程兴趣的前提,学习语言的过程中还应该研究怎么利用开发工具有效地提高开发的效率。
4. 善于总结,在开发过程中我们可以总结出许许多多规律性的东西,这些规律一方面可以让我们避免在以后的开发中犯同样的错误,另一方面对我们掌握其他的规律都是有所帮助的,规律都是交叉在一起的。跟着规律走,实事求是。
5. 项目开发是最好的学习方法,这一点是我最有感触的,软件开发是实践性很强的活动,但靠理论知识学起来比较吃力,而且枯燥无味,学习种理论学习和开发实践的比例应该是1:2,而且是交叉进行。这样才可以比较快的掌握一个知识点。
6. 团队合作,现在的项目几乎很少一个人去完成,频繁的沟通和密切的配合是成功的必要条件。