什么是C语言?
1.C语言的起源
C语言之父是丹尼斯·里奇:丹尼斯·里奇(1941年9月9日-2011年10月12日),C语言之父,UNIX之父。曾担任朗讯科技公司贝尔实验室下属的计算机科学研究中心系统软件研究部的主任一职。1978年与布莱恩·科尔尼干(Brian W. Kernighan)一起出版了名著《C程序设计语言(The C Programming Language)》。此书已翻译成多种语言,被誉为c语 …
2.C语言的使用领域
3. 为什么要学习C语言
简单来说C生万物,作为最老的编程语言,现在的大多语言底层实现都是基于C/C++的,学明白了C语言可以很快的上手其他语言,从而提高自己的学习效率和遇到问题的解决能力。
我现在说这些大家还不能好好体会,只有等你写过超过10000行代码开始,你才会能够理解我现在说的,尤其是学习非C/C++语言的朋友。
4.C语言的学习境界
我对于C语言的学习分层了5层:
第一层:得其零碎—就是懂了基本的语法,能够勉强写出基本的逻辑,比如能够完成学校的课设,学生管理系统/图书管理系统
第二层:得其皮毛—就是懂了点内存和指针管理,能够基本使用它们–大部分人大学毕业大概能到达这个层次
第三层:得其实质–就是能够灵活使用指针管理内存,进而与Linux结合使用C—这需要庞大的学习和剖析源码,不停的调试才能达到
第四层:得其精华—就是能出神入化的使用C语言,能够模拟实现和改造底层代码接口,不再受限于C语言提供的接口
第五层:已炼化其精华—就是能够理解和记忆关于C语言早期设计的BUG和解决方案—只有参考白皮书,著作,测试来理解
说来惭愧,我学习C语言已经3年了,才刚刚到达第二层皮毛,弯弯绕绕的自学C语言,反反复复的汲取书本和实际编写代码的经验,才敢于重新正视自己曾经学习的错误,重写关于C语言学习的博客,希望大家可以点赞关注收藏我,大家一起互相学习
5.如何学习C语言
以我个人在学习上犯的错来说:
首先,你要抛弃学校的C语言课本,就那本谭浩强的红色书—原因:他有营养,但是其中对于知识的阐述过于简单,知识还有很多错误,对于C语言的正确学习存在误导
其次,你需要去博客园、stack overflows、CSDN去找一些大佬的学习笔记,就找那种看的人最多的,博主等级最高的,这些学习笔记的博客是他对于知识的高度浓缩,可以让你快速的入门C语言,入门C语言只需要7天左右,如果你跟着学校的谭浩强课程来,你入门的时间至少需要2个月,我没有开玩笑,我就是这样懵懵懂懂过来的
然后,你需要找一些网课,就二倍速看,然后跟着他敲代码(一定要敲代码,不然学不会的),边看网课,边看书(书籍推荐我放在后面了),然后标记出哪些才是网课和书都提及的,那些就是这本书的精华,标记它方便后面的复习。
最后,等网课看完了,代码写完了,就翻开书,认认真真的去剖析书上的知识,然后在去敲代码实现这些知识,你就达到了"学成"的层次了!
6.学习C语言的推荐书籍
C Primer Plus—C语言的全解书籍,偏向于实际代码的解决问题—不适合入门使用,适合学过一段时间C语言用来查漏补缺
C和指针—重点讲解C语言的核心-指针和内存管理—书虽然很薄,但是都是知识的高度浓缩
C陷阱与缺陷—重点讲解C语言早期设计的漏洞和BUG—让你对于C语言底层有清晰了解
C专家编程—重点讲解C语言的语言特性和C语言的编程技巧
高质量程序设计指南C/C++语言—主要讲解C/C++代码风格和企业解决方案—适合学习至少超过1年的去看,可以解决你未来企业编程的绝大数问题
ps:入门直接看网课和博主博客学习笔记,然后再看书,不然你完全看不懂,计算机的书都有难度
我的学习经验:大家不要指望一年就能学懂C语言,C语言是一个庞大的体系,是需要我们长久的学习的,我学习C语言已经三年了,仍旧觉得自己处在似懂非懂的状态,问底层或者一个编程问题的原因,我是不能解释的,其实很多人都这样,也正是如此才诞生了程序员的35岁危机
|