c语言的学习问题

Python014

c语言的学习问题,第1张

第一个问题:

C语言是编程大类,每个程序员在他们的编程生涯中曾经学习过。相较于JAVA、C++编程语言而言,C是个低级语言。随着这些多种新的高级语言出现,C在编程界的地位受到了质疑,很多技术专家认为C语言已经过时,属于上一个时代的语言产物,近几年来编程界不断有“抛弃C语言”的声调传出。

近日,51CTO网站的诸多网友和针对“C语言是否过时”展开了激烈讨论,甚至有网友尖锐的提出C应该丢进垃圾桶。到底应该丢进垃圾桶还是继续使用?支持者和反对者各有不同的看法。

支持者:C是编程语言的基础

网友“zhp521163”从学习和理论上阐述了自己的看法,他认为C语言是基础,学习了C后,学习其他语言才能得心应手,他说C语言是个基础,无论以后打不打算在这方面发展,学些C语言对自己没坏处的。它也不会过时,新的语言都是在以前语言加以强化增强的!所以说学了C语言你学起JAVA、C++之类的都是起到事半功倍的作用!

“qiuwenhuifx”则是从C的实际应用上表达了自己的观点,他认为C是许多大型操作系统的源程序,“unix.linux都是用c编写的,你能说它过时吗,智能设备的控制程序,飞行器的飞控系统都是用c写的,远还没过时。同时他还反问同行“你以为会写商业软件(erp),游戏就很厉害了?就可以湮灭C语言的成绩了?”

反对者:C已经西山末日

网友“豪客”认为,C语言在走下坡路,没必要从舆论上为它“复辟”。他还同时应用了一句革命名言“天要下雨,娘要嫁人,由他去吧”,表示C语言的时代已经过去,大家应该努力投入到新的语言程序中。

网友“灿火凤凰”反映更是激烈,他引用了国外一位20多年C语言编程从业经历的资深技术专家Ed Burnette的话,他说Ed Burnette用C语言编程已经超过20年了,写过很多C语言的编译器、调试器、语言、游戏、客户端程序和服务器程序等,但是Ed Burnette却从心底里讨厌C语言。他说,C语言的内存分配和释放都非常慢,C语言没有为程序员提供一点点线程保护数据的帮助、指针太阴险、太难以控制、过早的优化、而C语言的测试工具要么太麻烦要么跟不上语言的发展。

专家:说C语言过时的人,技术水平大都很滥

C语言到底有没有过时?程序员该不该学C?就此问题,51CTO采访了特约专家、博彦科技总培训师刘铁猛。刘铁猛认为,C语言应用非常广泛,在嵌入式开发、甚至微软大型软件都是采用C语言,凡是牵扯到ATI的程序架构都需要C。有人说JAVA比C容易,那是因为没有学到家,C其实上手比JAVA更简单,C可以直接与各种接口打交道。

他说,在02年前后争论过C语言的存在的必要性,最后不了了之。“持C语言过时论调的人非产无聊,说C语言过时的人,正是其技术水平底下、眼光短浅的原因”。

从总体上来说,低级的编程语言可以让你更好的了解计算机,所有的高级语言都是以C语言为基础的(像JAVA,C++,C#等等)。并且C语言已经存在很多年了,它有广泛的使用团体并且有大量的现成代码可以利用。使你能在过去程序的基础上,快速和高效的编写新的算法和函数。还有在编程开发方面,C语言仍然是最普遍需要的语言等等,总之,C语言虽然是一门比较老的编程语言,却是大多数程序员入门时都要学习。

第二个问题:

程序员很累,但是高薪。职业寿命不会太长的,35岁就可以考虑退休,或者转作管理,或者自己开公司,未必不是一条好路。

1.C语言入门经典

《C语言入门经典》例子简单生活化,而且每个例子分析很细。章节安排合理,章末的例子还特别注重思路的引导,而且分析起来特别有成就感。

这本书是自学过程的一本好书。

2.C primer plus

这本书很适合希望系统学习C语言的读者,正如他的名字,是一本不错的入门和进阶的书。书中的每一个知识点都有很多生动简单的示例,并给出了相应的运行结果。总之,在看这本书的过程中,有一种一气呵成的感觉。

3.C和指针

这本书和《专家编程》《C缺陷和陷阱》可以并称C语言(进阶书)三杰。本书的部分内容更适合有C基础的人看。如ADT、递归、指针和数组的部分,书中所述的思想是国内教材所缺乏的。看完本书,能得到一个正确的C语言观。

4.C程序设计语言

难以置信的是,这样一本C语言的入门书籍,从hello world开始讲起,却在短小的篇幅里,手把手教你写了stdio.h stdlib.h string.h当中大部分例程,实现了二分查找、快速排序、二叉树、哈希表这些重要的数据结构和算法。这本书传递着一种简单、优雅、平实和闲适。

5.C专家编程

新手初学者如何轻松学习C语言/C++编程

编程分享小辰 2018-03-25 22:32:53

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。