C语言学习笔记:简介

16 sec read

我所理解的C语言

  • C 语言是为C编译器打造的一套语法规则
  • C 编译器实质上是代码生成器(C语言->汇编到->机器码)
  • C 语言的很多特性是为了方便编译器设计而建立的
  • C 语言源自个人项目,一些设计上的缺陷沿用至今
  • C 语言也有不断进化,一些缺陷有被改进,有添加一些新的特性

为什么要学习C语言?

反方观点:

  • 1970年的作品,老古董了,计算机技术日新月异,已被时代淘汰,已有更“先进”的语言供“选择”
  • 应用场景少,如网页制作、APP开发、机器学习等大部分都不使用C 语言,工作机会也较少

我的观点:

  • C语言有自己的市场定位,类似驱动程序、操作系统或者是编程语言都比较适合用C去实现,另外大部分语言都提供C语言接口,在一些需要接触到硬件或队性能有更高的场景下都可以嵌入C 语言代码,如JAVA有JNI,Python有CPython,Ruby也允许你使用C编程扩展。
  • C 语言可以帮你更好的学习其他语言。大部分编程语言是基于C 语言实现的(如Python、PHP等),另外一部分是基于C 语言的拓展(如C++、JAVA、Objective C、Javascript等),一旦深入了解C语言后,你能更好的理解其他编程语言在更高层次上的抽象背后的原理。
    • 更好的理解数据结构,相比Python或者JAVA可以让你更好的知道常见的数据结构是如何实现的,在了解各种数据结构的优缺点,也就能更好的去决定采用何种数据结构去解决现实问题。
    • 更好的理解内存管理,C语言的指针可以让你更清楚的了解数据是如何存储和读取的。而像Java、Python等完全将内容管理给掩藏了(事实上编程时经常会出现GC问题)
  • 学习C语言看上去不会马上给予你回报,但从长远看,学习C语言可以为你打下很好的基础。

C语言进化史(标准化)

  • 1979年之前,混乱时代,没有统一的标准
  • 1978年 Brian W. Kernighan & Dennis M. Ritchie 编写的《The C Programming Language》出版,成了事实上的标准,简称K&R C
  • 美国标准协会ANSI,在1989年12月通过了第一个标准,称为ANSI C
  • 1990年,国际标准化组织(ISO)将ANSI C作为国际标准。通常成为C89或C90
  • 1999年,国际标准化组织(ISO)经过重新梳理,并通过了C99标准
  • 2011年,国际标准化组织(ISO)通过了C11标准,增加了新的特性,提升对C++的兼容。
  • 2018年,国际标准化组织(ISO)通过了C18标准,C18没有引入新的语言特性,只对C11进行了补充和修正。

参考链接:

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

C语言学习之书籍推荐

以下这些C语言书籍是我过去一段时间看过的关于C语言的书籍,关于书籍的评价非常的主观,推荐给大家,期望对想学习C
12 sec read

C语言学习笔记:控制流

分支结构 a ? b : c 三元表达式是最简单的分支结构,具体逻辑为如果a为true,则执行b,否则执行c。
3 min read

C语言学习笔记:基本数据类型

整型 int C语言的整型表示的是整数,分为有符号(int)和无符号(unsigned int)。其中无符号整
3 min read

发表评论

电子邮件地址不会被公开。 必填项已用*标注