第一个程序 | 学习笔记

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

开发者学堂课程【你的第一门 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 程序

相关文章
|
3天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
14天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1305 5
|
13天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1332 87
|
2天前
|
弹性计算 安全 数据安全/隐私保护
2025年阿里云域名备案流程(新手图文详细流程)
本文图文详解阿里云账号注册、服务器租赁、域名购买及备案全流程,涵盖企业实名认证、信息模板创建、域名备案提交与管局审核等关键步骤,助您快速完成网站上线前的准备工作。
184 82
2025年阿里云域名备案流程(新手图文详细流程)
|
7天前
|
前端开发
Promise的then方法返回的新Promise对象的状态为“失败(Rejected)”时,链式调用会如何执行?
Promise的then方法返回的新Promise对象的状态为“失败(Rejected)”时,链式调用会如何执行?
242 127