news 2026/8/21 20:54:37

入门C语言学习---从零开始

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
入门C语言学习---从零开始

一、为什么是C?

1.兼顾 “底层操控” 和 “代码效率”

嵌入式系统的核心是直接操作硬件寄存器(比如配置 GPIO、定时器、串口),而 C 语言提供了指针位操作能力,能直接访问内存地址和硬件寄存器,和汇编语言的底层操控能力几乎一致,但比汇编更易读、易维护。同时,C 语言是编译型语言,生成的机器码体积小、执行速度快,对 STM32 这类资源受限(闪存、RAM 容量小)的芯片非常友好。举个简单例子:直接配置 STM32 的 GPIO 口输出高电平,C 语言一行代码就能实现,和汇编的执行效率几乎无差别。

// 直接操作寄存器,设置GPIOA的第5位为高电平 GPIOA->BSRR = GPIO_PIN_5;

2.可移植性强

嵌入式芯片的架构五花八门(ARM、51、RISC-V 等),但 C 语言的语法和标准库在不同架构下高度兼容。一段 STM32 上的 C 语言代码,稍作修改(比如替换寄存器定义)就能移植到 51 单片机或其他嵌入式芯片上;而汇编语言完全依赖硬件架构,换芯片就得重写全部代码。

3.开发效率远高于汇编

汇编语言需要逐行编写硬件指令,代码量大、可读性差,开发和调试成本极高;而 C 语言支持函数封装、循环、条件判断等高级特性,能大幅简化代码逻辑。比如实现一个 “串口发送字符串” 的功能,汇编可能需要几十行代码,C 语言用函数封装后只需几行,而且后续复用和修改都很方便。

4.嵌入式生态的 “标配” 支持

  • 几乎所有 MCU 厂商(ST、TI、NXP 等)都为自家芯片提供C 语言的标准库 / HAL 库(比如 STM32 的 HAL 库),开发者直接调用库函数就能实现复杂功能,无需从零开始操作寄存器。
  • 主流的嵌入式开发工具(Keil MDK、STM32CubeIDE)都对 C 语言有完美支持,编译、调试、烧录流程成熟稳定。

5.对比其他语言的短板

  • Python/Java:解释型语言,运行时需要虚拟机,占用内存大、执行速度慢,不适合资源受限的嵌入式场景。
  • C++:虽然也能用于嵌入式,但特性复杂(比如类、继承、异常处理),会增加代码体积和编译难度,在小型 MCU 上不如 C 语言轻便;仅在复杂嵌入式项目(比如智能车、机器人)中会搭配使用。

二、了解C语言历史

三、C语言用在哪里?

操作系统

嵌入式系统

驱动程序

底层驱动

图形引擎、图像处理、声音效果

C语言是一种工业语言

四、简单示例

1、程序框架,这几行必须要有;

2、printf打印函数

五、错误

写程序不要用中文;

每段执行程序结尾需要加一个 分号;以表示结束

双引号里面可以有中文,双引号以外不要有中文;

六、利用printf函数计算

C语言就会算这个式子的值,并输出;

双引号里面,%d前面的会原封不动的输出,而%d用逗号后面的值代替;

七、四则运算

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 19:37:04

JSP如何整合第三方控件支持大文件上传?

大文件传输解决方案(源码级交付) 作为山西IT行业软件公司项目负责人,我深刻理解当前需求的复杂性与紧迫性。针对政府、央企客户对100G级文件传输、高稳定性断点续传、信创兼容、数据安全的核心诉求,结合集团多项目统一组件、低成…

作者头像 李华
网站建设 2026/8/21 20:51:59

Ansible-Playbook

ansible-Playbook是一系列ansible命令的合集,使用的是yaml语言进行编写的,自上而下的顺序进行执行,并且可以进行使用变量Yaml语法yaml语言是专门使用于进行编写配置文件的 大小写敏感 使用缩进来进行表示层级关系 缩进的空格数不重要&#xf…

作者头像 李华
网站建设 2026/8/21 12:51:06

毕业设计项目 基于协同过滤的电影推荐系统

文章目录1 简介1 设计概要2 课题背景和目的3 协同过滤算法原理3.1 基于用户的协同过滤推荐算法实现原理3.1.1 步骤13.1.2 步骤23.1.3 步骤33.1.4 步骤44 系统实现4.1 开发环境4.2 系统功能描述4.3 系统数据流程4.3.1 用户端数据流程4.3.2 管理员端数据流程4.4 系统功能设计5 主…

作者头像 李华
网站建设 2026/8/21 21:38:02

主流小程序服务商功能特点与选择要点分析

在当下数字化零售趋势情形里,小程序商城已然成了众多企业去布局线上业务、着手构建私域流量的关键工具。面对市场当中种类众多繁杂的服务商,商家于选择之际常常需要全面综合性地考量系统的功能性、生态适配性、技术稳定性以及服务支持能力。本文会客观公…

作者头像 李华
网站建设 2026/8/21 21:39:57

现代域名系统(DNS)深度技术架构与演进机制研究报告

现代域名系统(DNS)深度技术架构与演进机制研究报告 1. 绪论:互联网基础设施的演进与 DNS 的核心地位 互联网的通信基础建立在 TCP/IP 协议栈之上,其中 IP 地址(如 192.0.2.1 或 2001:db8::1)是网络层路由…

作者头像 李华
网站建设 2026/8/21 6:56:50

专网自实现域名系统的深度可行性研究与实施规划报告

专网自实现域名系统的深度可行性研究与实施规划报告 执行摘要 随着企业数字化转型的纵深发展,网络基础设施的自主可控性已从单纯的合规要求转变为核心竞争力的关键组成部分。在封闭或混合云架构的专网环境中,域名系统(DNS)不再仅…

作者头像 李华