更多课程 选择中心

C/C++培训
达内IT学院

400-111-8989

如何学习C语言?资深软件工程师C语言学习经历分享

  • 发布:C++培训
  • 来源:学习笔记
  • 时间:2017-05-04 16:39

写下这篇文章的目的是作为过来人想给初学者一些建议,本文没有涵盖C语言的方方面面,但是对于想入门的初学者来说足够了。另外需要说明的是,我不是大神,真正的大神是开发C语言标准,写标准库,写编译器的那帮人,但我自认为我的C语言掌握的比周围的很多人都要好,所以才敢写出这篇文章,写下这个标题。


想学一门编程语言,不知道学什么才好? 毫无疑问 C 语言啊。

C 语言是整个计算机体系的基础,往下可以操作硬件(不止X86计算机,还有ARM,DSP,单片机等各种微处理器)写Firmware,写驱动、写OS,写编译器,往上可以写 App,并且几乎所有的计算机书籍里的算法都是C语言描述的。

所以学会了 C 语言,就是掌握了软件领域的必备技能,以后再学其他的比如C++,Java,各种解释性语言、就是小 Case 了。

下图是一个网上流行的程序员“鄙视链”。其实我想说的是,还是有一定道理的,哈哈哈,笑而不语。

如何学习C语言

我初学 C 语言是在 2005年大二,那个时候,上课的模式是老师在上面讲,我们在下面听,然后就没有然后了,因为没有电脑练习,我根本就没有机会在课下了解更多的东西。学完了一本书,C 语言是干嘛的我都不知道,那个时候我并不知道 C 语言是用来写软件的,更何况别说软件了,电脑都没怎么见过。

我们当初用的教材名字叫 《VC++ 语言程序设计》,这导致我很长一段时间都没不知道VC++,和 C++, C  的区别,OMG!!

对 C  语言的深入学习是在研究生期间,我认真地从头到尾翻了一遍H.M.Deitel 的那本 C++,有了电脑简直如虎添翼,我有阵子天天在宿舍编程。对了,我是在学习C++的时候,顺带学习(复习)的 C 语言,反正 C++ 的书上总有会 C 的。

这里有我总结的学习 C 语言的几个步骤,其他编程语言基本类似,希望对大家有所帮助。

1. 看书

学习一门编程语言少不了先学习基本语法。

C语言的语法也就是变量,数组、指针、表达式、逻辑操作、函数,宏定义等等。学习这些先买一本入门级书籍,其实大都差不多,最经典的就是谭浩强的那本了,虽然在知乎上没少被人黑,但是流行了这么多年,总归是有可取之处的,其实作为入门书,你不能指望从它里面得到你想知道的所有东西。

除了基本语法,C 语言另一部分是标准库。

这一点很少被C语言入门书提及,但是你要想写出一个像样的程序的话,标准库必不可少。推荐这本世界级C语言专家编写的《C标准库》。

如何学习C语言

2. 写代码练习

要想学好一门编程语言,看书远远不够,一定要把书里的代码搬到电脑里。

相信大多数人都是使用的Widnows,那么就下载安装一个Visual Studio吧,用哪个版本?最新的 VS2017 毋庸置疑。

喜欢 Linux  的朋友,就先下载 Glibc 库,然后安装 gcc, gdb。

好了,有了开发环境,接下来一切变得简单,并且好玩。

试着写一些简单的代码,比如 Hello World,文件读写,数学操作,常用算法,等等。

这是我以前练手时写的

如何学习C语言

3. 总结心得体会

把你觉得很抽象、难以理解的东西放到 VS 里面进行调试,会有很多发现。我以前电脑里就经常会有一个名字叫 Test  的工程文件夹,哪里有疑惑了,就把代码放进去,一 Debug,全部的疑云就解开了。

比如这样,了解 Struct 内存结构

如何学习C语言

比如这样,了解 Union 的内存结构

如何学习C语言

比如这样,了解 C 语言的内存分配

如何学习C语言

如何学习C语言

然后把这一切,记录在一个 Word 中,这样知识就变成自己的了。

这是我从前总结的一个文档

如何学习C语言

4. 写个小作品

基本知识掌握的差不多了,试着写个小程序。

看着人生第一个自己开发的程序,会有很多的成就感,并且在写程序的过程中,你的编程能力会有质的飞跃。

我曾经写过一个控制台的五子棋游戏,可惜年代久远,现在已经打不开了。

另外需要说明的是,想在 Windows 上写一个有界面的程序的话,还需要学习Windows API,不过这仿佛是 C 语言之外的东西了,单单学习 C 语言,一个控制台程序就够了。

最后总结:

写代码练习,写代码练习,写代码练习,重要的事情说三遍。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:C++语言从入门到精通进阶需学习的技汇总
下一篇:C++中const与指针知识小结

C语言创建windows窗口实例

C++回调函数是什么?

C++ shared_ptr和动态数组

C语言有哪些关键词,C语言44个关键词大全

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 搜索抖音号

    搜索抖音号:1821685962

    免费领取达内课程视频学习资料

Copyright © 2021 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省