985、211的学霸们如何轻松学习C语言?请不要在说C语言难了

C语言面向过程编程的语言

C++面向对象编程的语言

两者有本质的区别

完全不同的两种语言

不过C++兼容C语言

C++一般看作是对C语言的扩展

因为C语言没有面向对象的语法结构

当时业界迫切需要面向对象的编程特性

所以贝尔实验室的开发者

为C语言添加了面向对象的结构

现在C++已经不只是C语言的扩展了

它被看作一种新的编程语言

虽然C语言的特性以及库函数,仍然被C++支持

不过C++拥有自己的独立的类库体系,功能相当强大

C/C++的优点在于与底层比较接近

可以控制的粒度更加精细

开发系统级应用的最佳选择

关于跨平台

C/C++也是很好的语言

因为所有平台都支持

不同的是

不同平台支持的实现不同

类库不同

要编写跨平台的程序

需要选择跨平台的类库

如标准类库

如果标准类库的支持不够

也只需要附加编写一个跨平台的支持类库

985、211的学霸们如何轻松学习C语言?请不要在说C语言难了

下面来看看 985、211的学霸们都是怎么理解C语言的?

 

▎某211小风:

C语言是最基础的编程语言了,其实,对于理工科专业的人来说,C语言并不难。

C语言都学不好,怎么学习C++、C#、Java、汇编语言等,这些语言比C语言要难得多。也许是因为刚接触C语言,刚刚接触一门全新的课程,所以感觉比较难。

记得本人大学刚开始接触C语言的时候,也是一头雾水,根本不懂C语言是干嘛用的,听课时也是晕乎乎的。感觉很虚的东西,计算机二级考试也是勉强合格。

后来,本人报名了一个电子设计竞赛,经常在实验室里编程做项目,才慢慢体会到C语言的真正用处。后来对C语言产生了兴趣,课余时间经常到实验室设计项目。到大三的时候,报名参加了全国电子设计竞赛,估计是运气好吧,拿了一等奖。

985、211的学霸们如何轻松学习C语言?请不要在说C语言难了

 

▎某211丁丁:

C语言难学,个人认为是被国人误传或误教所致。

一直以来,高校理工科都开设了C语言,学生稀里糊涂开始学习。

在不清楚学习目的、所需前提知识的情况下,仅学习些基础语法知识,导致大部分学生学习效果不理想,从而造就了C语言难学的传说。

C语言是程序员与计算机进行交流的一种语言,目的是达到对计算机进行控制,实现程序员预期的效果或功能。

因此,为了能更加有效地进行交流或控制,除了学习些基础的语法知识外,还要求学习者对交流对象要有较清楚的了解或熟悉(即所需前提知识),和掌握一些必要的交流技巧(思维方式或套路类的东西)。

 

▎某985阿强:

c的语法是现在语言中比较简单的,要说语法是就只有c++最为复杂了。

大家说的c难是因为,用c开的东西一般与系统api和算法有关。

算法这个,没个数学功底真的想不到,其它的语言没有比较高级的算法,其它语言的算法也都是c语言从语言的底层(不是系统的底层)实现的,再封装成语言的算法库。

系统api,这个东西不像语言层级的api那么简单,它是系统直接关系的相当复杂,要了解系统、信号、返回值这东西表现出来的现象多,与你要做一个东西有不同的处理。

还有一个点c实现的东西要考虑到性能,这个不简单,不是简单的io性能,要考虑内存拷贝的消耗、堆栈开关的消耗、cpu调度的消耗。

985、211的学霸们如何轻松学习C语言?请不要在说C语言难了

 

▎某高校胖纸:

从没觉得c语言难学,相比后来的大量的面向对象的语言,c语言其实非常好学,学习门槛并不高。

如果说到难,一个是数据结构,这个东西比较枯燥,而且严格说应该是属于数学问题而不是编程问题,第二是函数偏少,经常需要自己动手,不像主流oop们全都给你封装好了直接用,不过,从这点讲,也正是c语言的一大优势,让你知其然亦能知其所以然。

c语言属于高级语言中最接近底层的原因,意味着它具备oop们没有或缺乏的对计算机底层资源的操控能力,因此操作系统,驱动程序等基本都只能用c。

 

▎某985戴戴:

学好每一种语言其实都不容易,即便是看起来入门很轻松的也是一样,想要做到精通非得有经过一定的项目上的磨练才行。

C语言学习曲线相对陡峭,除了学习者的个人意愿和投入,教授者的能力也是很关键的 - 很难想象一个没有C项目经验的人能教授的非常深入并有最佳实践分享 - 当然,平心而论,语法类的知识上的传授还是好的,而且修行还是靠个人的。

建议我们学习者多加以实践,重视调试的技能,逐步积累经验,联系实际应用,未来成功可以预期。

985、211的学霸们如何轻松学习C语言?请不要在说C语言难了

 

▎某高校留学生:

很多人在学习C语言的时候,本来对编程很感兴趣的,最开始学习的时候也投入了大量的时间和精力在上面,理解了这,理解了那,到最后发现只是在黑窗口下面打印几行数字和字母;

学起来会觉得比较枯燥,而且越学越发现没意思,最后只能放弃,所以说,学习编程,换一种方式去学习可能会更好一些,比如说开发个小游戏啊,这样学起来可能会更有成就感,让人觉得学了这东西有用,可以做出东西来。

985、211的学霸们如何轻松学习C语言?请不要在说C语言难了

最后我们再总结一下了解C的必要性:

1. 对内存和硬件的操作,是目前绝大部分高级语言所隐藏的,只有坚实C背景的同学,才可以考虑的更多,如果我们想对原理有更多的了解,那么C其实是不可绕过的一个环节。

2. 想要缔造一个新的系统和语言,没有C是不行滴(或许C++勉强)。

3. 不管是OC的消息系统,Java的自动回收,Ruby的动态类扩充,这些花哨且时髦的东西,其实都可以用C来实现,而且很多都是用C来实现的,如果我们想自己实施,那就看C吧。

4. **和分析程序,C可以起到很大的作用。C是可以人为创建Bug来破坏一个系统的。

最后再说一句

请不要忽视C语言

它上可九天摘月

下可五洋捉鳖

对于热爱编程的人来说,有一群一起学习一起解答的小伙伴很重要!

小编有一个C/C++编程学习交流俱乐部,传送通道:【卍☯*】!

还有编程学习文件(源码,零基础教程,项目实战教学视频),欢迎初学者和正在进阶中的小伙伴们!