C语言教程1002 :第一个程序
第一个程序 上节课我们介绍了我们这个教程该讲些什么,我们这节课就讲讲 C 语言的第一个程序。再讲第一个程序之前,我想应该先普及一些相关概念。
1 . C 语言淘汰了吗?
没有。对于其他语言来讲, C 语言确实是一个老古董了,但他是也老越值钱。
https://xxx.ilovefishc.com/forum/201511/17/160505y27hs91qrz31orym.png
从最新的 TIOBE 世界编程语言排行榜,我们可以看到虽然这么多年过去了,但 C 语言一直都是在第一名
和第二名之间徘徊,并且目前仍然保持着上升的趋势。
2 . 莫斯密码
莫斯密码的原理非常简单, 就是查表,这就是一张莫斯密码表:
https://xxx.ilovefishc.com/forum/201511/17/160609ytcirss9run9ztt7.png
将明文对着编码表翻译为“点横”组合的过程,我们称之为编码,反过来,将“点横”组合解密回原文的过程,
叫做解码。
3. 机器语言
通过查找指令表,CPU 能将 0 和 1 的组合跟具体的指令挂钩,那么这些 0 和 1 的组合我们称之为机器码,也叫机器语言,属于第
一代编程语言,也是 CPU 唯一可以直接读得懂的语言。
4. 汇编语言
在汇编语言中,引入了大量的助记符来帮助人们编程,然后由汇编编译器将这些助记符转换为机器码,这个转化的过程我们称之为编译。
5. C 语言
C 语言属于第三代编程语言,第三代编程语言我们称之为高级语言。正如你所听说的 C++、C#、JAVA、Delphi、Python、Object-C、
Swift 这些都属于第三代编程语言。
事实上呢,你用 C 语言进行编程,编译器会将你的 C 语言代码编译成汇编语言,再由汇编语言的编译器编译为机器语言,通常我们看
到的可执行文件事实上就是机器语言的形式,进而让 CPU 理解和执行。
https://xxx.ilovefishc.com/forum/201511/17/161033uetvqwcztyotwnxx.png
6. C 语言的优势
https://xxx.ilovefishc.com/forum/201511/17/161119rm09zf8wgf3zm48j.png
- 效率高
我们说 C 语言效率高是针对其他第三代编程语言来讲的,C 语言是编译型语言,源代码最终编译成机器语言,也就是我们所说
的可执行文件,从此 CPU 就可以直接执行。
https://xxx.ilovefishc.com/forum/201511/17/161426w6wr72o2rp7o522k.png
除了编译型语言,时下很流行的还有解释型语言,像 JAVA,Python,Ruby 这类都是解释型语言。解释型语言不直接编译成
机器码,而是将源码转换成中间代码,然后发送给解释器,由解释器逐句翻译给 CPU 来执行。这样做的一个好处就是可以实现跨
平台的特性,而缺点就是效率相对要低一些,因为每执行一次都要翻译一次。
https://xxx.ilovefishc.com/forum/201511/17/161427axznb6g02vaih0vh.png
打个吃货比较容易懂的比喻,编译型语言就是做好一桌子菜再开吃;而解释型语言就是打火锅,想吃什么,就下什么料。很明显,
打火锅总是比较费时间的。
- 灵活度高
C 语言不仅提供多种运算符,还可以完成类似于计算机底层操作的位运算;语法简单,约束少;丰富多变的结构和数据类型;
还拥有可以直接操作计算机硬件力。这一点大家在学习到指针这一章节的时候将深有体会。指针可以说是 C 语言的灵魂,C 语
言有多灵活和强大,完全取决于你对指针这一知识点的掌握程度。所以不同的人在学 C 语言,有些成了大神,有些仍然还是初学者。
- 可移植性高
可移植性高是指源代码在不需要做改动或只需稍加修改,就能够在其他机器上编译后正确运行。
统计资料表明,对于单片机来说,不同机器上的 C 语言编译程序 80% 的代码是公共的,因此使用 C 语言的编译程序更便于移植。
另外,无论是 Windows 系统、Linux 系统还是苹果的 MacOS 系统,抛开现象看本质,它们都与 C 语言有不可分割的联系。
接着我们开始讲第一个程序,首先,你得搭建 C 语言的环境 (*) ,搭建好后,打开,新建一个文件写入以下代码:
#include <stdio.h> 然后保存为后缀为 “ .c ”,编译并运行。
static/image/hrline/5.gif
* Windows 下载地址: https://fishc.com.cn/forum.php?mod=viewthread&tid=66281&extra=page%3D1%26filter%3Dtypeid%26typeid%3D571
Max OS 下载地址: https://fishc.com.cn/forum.php?mod=viewthread&tid=66280&extra=page%3D1%26filter%3Dtypeid%26typeid%3D571
Linux 下载地址: https://fishc.com.cn/forum.php?mod=viewthread&tid=65015&extra=page%3D1%26filter%3Dtypeid%26typeid%3D571
https://fishc.com.cn/forum.php?mod=viewthread&tid=65017&extra=page%3D1%26filter%3Dtypeid%26typeid%3D571
https://fishc.com.cn/forum.php?mod=viewthread&tid=65021&extra=page%3D1%26filter%3Dtypeid%26typeid%3D571
https://fishc.com.cn/forum.php?mod=viewthread&tid=65022&extra=page%3D1%26filter%3Dtypeid%26typeid%3D571
https://fishc.com.cn/forum.php?mod=viewthread&tid=65095&extra=page%3D1%26filter%3Dtypeid%26typeid%3D571
https://fishc.com.cn/forum.php?mod=viewthread&tid=65096&extra=page%3D1%26filter%3Dtypeid%26typeid%3D571
https://fishc.com.cn/forum.php?mod=viewthread&tid=65158&extra=page%3D1%26filter%3Dtypeid%26typeid%3D571
https://fishc.com.cn/forum.php?mod=viewthread&tid=65335&extra=page%3D1%26filter%3Dtypeid%26typeid%3D571
课后作业: https://fishc.com.cn/forum.php?mod=viewthread&tid=66283&extra=page%3D1%26filter%3Dtypeid%26typeid%3D570
页:
[1]