C 语言简单编程速成
文章插图
我们将所有的 C 语言要素放置到一份易读的备忘录上 。
? 来源:Linux.cn ? 作者:Seth Kenlon ? 译者:郑 ?
(本文字数:5500 , 阅读时长大约:8 分钟)
我们将所有的 C 语言要素放置到一份易读的备忘录上 。
【C 语言简单编程速成】1972 年 ,丹尼斯·里奇(Dennis Ritchie)任职于 贝尔实验室(Bell Labs) , 在几年前 , 他和他的团队成员发明了 Unix。 在创建了一个经久不衰的操作系统(至今仍在使用)之后 , 他需要一种好的方法来对这些 Unix 计算机编程 , 以便它们可用执行新的任务 。 在现在看来 , 这很奇怪 , 但在当时 , 编程语言相对较少 , Fortran、Lisp、 Algol 以及 B 语言都很流行 , 但是 , 对于贝尔实验室的研究员们想要做的事情来说 , 它们还是远远不够的 。 丹尼斯·里奇表现出一种后来被称为程序员的主要特征的特质:创造了他自己的解决方案 。 他称之为 C 语言 , 并且在近 50 年后 , 它仍在广泛的使用 。
为什么你应该学习 C 语言今天 , 有很多语言为程序员提供了比 C 语言更多的特性 。 最明显的是 C++ 语言 , 这是一种以相当露骨的方式命名的语言 , 它构建在 C 语言之上 , 创建了一种很好的面向对象语言 。 不过 , 许多其它语言的存在是有充分理由的 。 计算机擅长一致的重复 , 因此任何可预见的东西都可以构建在编程语言中 , 对程序员来说这意味着更少的工作量 。 为什么在 C++ 语言中用一行语句就可以将一个 int 转换为一个 long 时(long x = long(n);) , 还要在 C 语言用两行语句呢?
然而 , C 语言在今天仍然有用 。
首先 , C 语言是一种相当简约和直接的语言 。 除了编程的基础知识之外 , 并没有很高级的概念 , 这很大程度上是因为 C 语言实际上就是现代编程语言的基础之一 。 例如 , C 语言的特性之一是数组 , 但是它不提供字典(除非你自己写一个) 。 当你学习 C 语言时 , 你会学习编程的基础组成部分 , 它可以帮助你认识到如今的编程语言的改进及其的精心设计 。
因为 C 语言是一种最小化的编程语言 , 你的应用程序很可能会获得性能上的提升 , 这在其它许多编程语言中是看不到的 。 当你考虑你的代码可以执行多快的时候 , 很容易陷入锱铢必较的境地 , 因此 , 重要的是要问清楚你是否需要为某一特定任务提供更多的速度 。 与 Python 或 Java 相比 , 使用 C 语言 , 你在每行代码中需要纠结的地方更少 。 C 语言程序运行很快 。 这是 Linux 内核使用 C 语言编写的一个很好的理由 。
最后 , C 语言很容易入门 , 特别是 , 如果你正在运行 Linux , 就已经能运行 C 语言代码了 , 因为 Linux 系统包含 GNU C 库(glibc) 。 为了编写和构建 C 语言程序 , 你需要做的全部工作就是安装一个编译器 , 打开一个文本编辑器 , 开始编码 。
开始学习 C 语言如果你正在运行 Linux, 你可以使用你的软件包管理器安装一个 C 编译器 。 在 Fedora 或 RHEL 上:
$ sudo dnf install GCC
在 Debian 及其衍生系统上:
$ sudo apt install build-essential
在 macOS 上 , 你可以 安装 Homebrew, 并使用它来安装 GCC :
$ brew install gcc
在 Windows 上, 你可以使用 MinGW 安装一套最小的包含 GCC 的 GNU 实用程序集 。
在 Linux 或 macOS 上验证你已经安装的 GCC:
$ gcc --versiongcc (GCC) x.y.zCopyright (C) 20XX Free Software Foundation, Inc.
在 Windows 上 , 提供 EXE 文件的完整路径:
PS> C:\MinGW\bin\gcc.exe --versiongcc.exe (MinGW.org GCC Build-2) x.y.zCopyright (C) 20XX Free Software Foundation, Inc.
推荐阅读
- 大一非计算机专业的学生,如何利用寒假自学C语言
- 机器人|万州区举办“中国梦科技梦”机器人编程大赛
- 1个手机怎么登录2个微信?方法很简单,看完我学会了
- 原来华为手机拍视频还能添加字幕,方法很简单,一学就会
- 手机照片、视频怎样添加文字?原来很简单,4种方法一分钟搞定
- 微信最近很火的“圣诞帽头像”,原来这么简单,快学起来
- 只为好看?手机多摄像头排布方式可没有那么简单
- 为什么我喜欢C语言,却非常讨厌C++?一位国外程序员的回答
- DeepMind新AI无需提前知晓规则也能掌握游戏:无论视觉简单还是复杂
- 剪视频很头大?Reno5 Pro+教你简单制作Vlog