第一个程序 | 学习笔记

简介: 快速学习第一个程序

开发者学堂课程【你的第一门 C 语言课第一个程序】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/444/detail/5452


第一个程序


目录:

一、C 语言被淘汰了吗

二、编程是做什么的

三、机器码

四、汇编语言

五、C 语言

六、使用 C 语言编程

七、C 语言的优势

八、第一个程序


一、C 语言被淘汰了吗

在讲解第一个程序之前,先普及一些相关的概念。第一个问题 C 语言被淘汰了吗?

或许在此之前还没有学习 C 语言之前,但肯定听说过它。对于其他编程语言来说 C语言的确是一个老古董。但正如老古董一样 C 语言越老越值钱。
相关编程语言排行榜可以看到 C 语言一直在第一名和第二名徘徊,并且呈现一个上升的趋势。C 语言为何如此坚挺呢?下面就行讲解。

图片24.png


二、编程是做什么的

下面从一个大的角度来讲,编程语言是干什么的,为什么要学习编程语言。

一言引喻之:编程语言是人类跟机器打交道的枢纽,它充当人类的翻译官。具体是怎么回事呢?

举个例子,莫斯密码和莫斯密码表的关系,其实莫斯密码的原理非常简单,就是查表,加密为编码,解密为译码

图片25.png


三、机器码

CPU 是计算机的大脑,它虽然很快但并不聪明。它只懂得二进制的0和1。如果直接对它下命令,那是在对牛弹琴。然而通过编程语言,就可以通过计算机处理翻译到CPU 懂得的指令

就如同之前讲到的莫斯密码,CPU 查找相关指令表进行翻译。0 1的组合叫做机器码也叫机器语言。

也是第一代编程语言,是可以被 CPU 直接读懂的编程语言。如果用机器语言输出hello world! 将要用这么多行机器语言代码,这也只是一部分:

图片26.png


四、汇编语言

是第二代编程语言,在汇编语言中引入的大量的助记符,来帮助人们编程,然后汇编编译器将这些助记符转化为机器码,这个转化的过程称为编译,发现这样编程,容易了许多,但下面的代码只是在屏幕上打印 hello world,代码依旧很多。下面是汇编语言的实例代码:

图片27.png


五、C语言

有需求就有市场,就有研发的动力然后以 C 语言为代表的第三代编程语言很快就被开发出来了。

第三代编程语言也称为高级语言。之前两代都是低级语言。像 C++,C#,JAVA 等都是高级语言。C 语言出入 hello world 只用了6行代码。汇编语言用了20行,而机器语言用了上百行,所以无论是从开发效率,还是代码的可读性来说C语言都有这极大的优势。

 

六、使用 C 语言编程

使用 C 语言来进行编程,编译器会将 C 语言编译成汇编语言,再编译成机器语言,最后由机器读取执行指令,显示 hello world 。学习一门编程语言,应该知道它有什么优势,常说的 C 语言优势是效率高,可移植性高,灵活性高。

图片28.png


七、C语言编程的优势:

效率高

效率高是针对其他第三代语言说的,V 语言是一个编译性语言,源代码最终被编译成机器代码,也就是所说的可执行文件。还有另外一个流行语言叫做解释型语言。

像 JAVA Python 之类都是解释型语言。解释型语言不直接编译成机器码而是讲源代码转化为中间代码。解释型语言效率要低一些,编译型语言和解释型语言区别:

图片29.png

灵活度高
第二个灵活度高,这是没有几个编程,能和 C 语言媲美的。C语言不仅提供了多种运算符还可以,还可以完成类似于计算机底层的位操作,语法简单,约束又少。

图片30.png

丰富多变的结构和数据还可以自定义一些数据类型,它拥有直接操纵计算机硬件的能力。当学到指针这一节会深有体会。指针可以说是 C 语言的灵魂。C 语言有多灵活多强大完全取决于对指针知识点的掌握程度。

可移植性高

可移植性高指的是源代码不需要改动或者只需要稍加修改就可以在其他机器上编译执行,有统计资料表明,对于单片机来说不同机器上 C 语言编译程序80%的代码都是相同的。像 Windows 等系统的底层或多或少都是由 C 语言写的。

 

八、第一个程序

实现打印 hello world,跟着下面的代码写执行不报错即可。演示编程代码主要在Linux环境下进行。编程环境的搭建,可在鱼C的网站上获得。#include int main( ){printf("Hello world!\n");return 0;}

下面在 Linux 演示,mkdir 创建一个文件夹。
mkdir FishCcd FishCmkdir sle 2cd sle2vi test.c//创建一个 C 语言的源文件,创建好文件,抄写上面的代码。

gcc text.c -o text.cls./text//执行这个C语言程序

//在 Mac 环境下需要先通过 Xcode 安装 GCC 编译器。

//在 Windows 推荐这两款编译器:Dev-C++和Code::Blocks

//在 Dev-C++编译器中需要保存为 C source files 文件

//在 Code::Block 需要先创建一个 Console application 程序

相关文章
|
7月前
|
Java C# 开发工具
第一个C#程序
第一个C#程序
|
7月前
|
索引 Python
Python 列表查找元素位置的高级函数代码程序设计
Python中,要查找list列表中元素的位置,即元素在列表中的索引位置,可以使用list列表类型内置的方法index(),但这个并不能直接使用,因为要考虑到查找的元素可能并不存在于list列表之中,而使用index()方法查找列表中并不存在的元素,Python将抛出ValueError,程序也可能因此终止,为了避免这种情况
87 3
|
7月前
|
存储 Rust 编译器
rcore 笔记 第一个裸机程序(三)
rcore 笔记 第一个裸机程序
83 0
|
7月前
|
Rust 监控 Ubuntu
rcore 笔记 第一个裸机程序(一)
rcore 笔记 第一个裸机程序
103 0
|
7月前
|
Rust 编译器 索引
rcore 笔记 第一个裸机程序(二)
rcore 笔记 第一个裸机程序
89 0
|
Python
Python编程 顺序执行与程序的主入口
Python编程 顺序执行与程序的主入口
136 0
|
小程序 开发工具 开发者
【小程序】第一个小程序——创建小程序项目
【小程序】第一个小程序——创建小程序项目
145 0
【小程序】第一个小程序——创建小程序项目
|
移动开发 前端开发 开发者
第一个网页| 学习笔记
快速学习第一个网页。
第一个网页| 学习笔记
|
Java 编译器 Linux
第一个程序
一、C语言被淘汰了吗? 二、编程是做什么的 三、机器码 四、汇编语言 五、C语言 六、使用C语言编程 七、C语言的优势 八、第一个程序
第一个程序
|
测试技术
软件测试面试题:已知一个队列,如: [1, 3, 5, 7], 如何把第一个数字,放到第三个位置,得到:[3, 5, 1, 7]
软件测试面试题:已知一个队列,如: [1, 3, 5, 7], 如何把第一个数字,放到第三个位置,得到:[3, 5, 1, 7]
124 0