查看原文
其他

YYDS!阮一峰老师的又一开源神作

沉默王二 沉默王二 2022-07-13

给大家报告下,阮一峰老师的《C语言入门教程》于 2021 年 9 月 7 日上线了!

对,和往常一样,这个教程是开源的,采用知识共享许可证,源码托管在 GitHub,大家可以自由使用。

https://github.com/wangdoc/clang-tutorial

在线阅读地址也有:

https://wangdoc.com/clang/

我第一时间就拜读了一遍,受益匪浅!可以说目前我见到的最好的 C语言入门教程了,没有之一!

要知道,国内的绝大多数高校,大一都会安排 C 语言这门课,教材通常会选择谭浩强的C语言程序设计,但这本书在网上的风评极差。

而阮一峰老师的作品,想必大家都有所耳闻,硬核的同时,又通俗易懂,深受广大读者的喜欢。

福音啊!我要狂吹阮一峰了老师的这份《C语言入门教程》。

考虑到很多小伙伴喜欢 PDF 版的,我就立马给准备了!

关注的小伙伴可以点击下方的名片直接跳转过去发送关键字「08」拉取下载地址。

之前给大家推荐的学习 C语言的视频教程有浙大翁恺教授的《C语言程序设计》,在 B 站上和中国大学慕课网上都可以看得到。

那配上阮一峰老师的这个在线文档教程,可以说是完美!

我对这份教程是非常满意的,该讲的地方都讲到了,示例也给了很多,对初学者来说,完全够用了。

阮一峰老师在写这份《C语言入门教程》的时候还是花费了很多心思的,因为 C 代码的写法实在是太自由了,而平常工作中又确实很少有机会写 C 代码,所以前前后后花了 6 个多月的时间。

C语言最初是作为 Unix 系统的开发工具而发明的。1972年,丹尼斯·里奇和布莱恩·柯林汉在 B 语言的基础上重新设计了一门新语言,这种新语言取代了 B 语言,所以称为 C 语言。

1973年,整个 Unix 系统都使用了 C 语言重写。此后,C 语言开始快速流传,广泛用于各种操作系统和系统软件的开发。

除了用于计算机操作系统的编写,C语言现在主要用于嵌入式系统的开发,骑车、照相机、家用电器等设备的底层系统都是用 C 语言编程的。

C语言能够直接操作硬件、管理内存、跟操作系统交互,这使得它成为了一种非常接近底层的编程语言,非常适合有极高性能要求的程序。

C语言对程序员的限制很少,它假设程序员知道自己在干嘛,不会限制程序员做各种骚操作,想干嘛就干嘛,反正后果自负,哈哈哈。

C语言的哲学就是“极度相信程序员,不妨碍他们做事”,所以,C语言让程序员自己管理内存,没有垃圾回收功能,也不提供类型检查、数组下标范围检查、指针位置检查等防御措施。

表面上看,这似乎很危险,但对于有一定水平的程序员来说,简直就是福音,大胆去编程,解放生产效率就对了。

另外一方面,C语言的 debug 不是很容易,写代码的时候必须要富有缜密的逻辑性,一旦出错,是很难找补的。

C语言在武林界的地位就相当于少林的地位,天下武功皆出少林,很多流行的编程语言都是以 C语言为基础的,比如说C++、Java、C#、JavaScript 等等,有了 C语言的基础,再学习这些语言都会有很大帮助。

经过多年的发展,C语言有蛮多版本的,1999 年 C99 是目前最流行的 C 版本。

常见的 C 语言编译器是自由软件基金会推出的 GCC 编译器,它可以免费使用。Linux 和 Mac 系统可以直接安装 GCC,Windows 系统可以安装 MinGW。

不过网上也有蛮多在线编译器的,可以直接在网页上模拟运行 C 代码,查看结果,非常方便。

CodingGround网址:https://www.tutorialspoint.com/compile_c_online.php

C 语言是一种编译型语言,源码是文本文件,本身是无法执行的,需要通过编译器,生成二进制的可执行文件。

编译器将代码从文本翻译成二进制指令的过程,被称为编译阶段,又称为“编译时”(compile time),跟运行阶段(又称为“运行时”)相区分。

C语言中,指针是令初学者头痛的一块内容,所以我这里简单给大家聊两句。

指针是什么?它是一个值,这个值代表一个内存地址,因此,指针就相当于指向某个内存地址的路标

字符*表示指针,通常跟在类型关键字的后面,表示指针指向的是什么类型的值。比如,char*表示一个指向字符的指针,float*表示一个指向float类型的值的指针。

*这个符号除了表示指针以外,还可以作为运算符,用来取出指针变量所指向的内存地址里面的值。

而&运算符用来取出一个变量所在的内存地址。

背会理解了这几句,可以说指针的理论基础就有了。跨过去指针这一关,C 语言最硬核的部分也就掌握了。

OK,今天就简单聊到这里,希望阮一峰老师的这份教程能帮助到大家。我们下期见~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存