[C.C++] C 语言零基础超详细入门教程(纯小白直达单片机 / STM32)

490 0
Honkers 2026-5-25 07:29:38 来自手机 | 显示全部楼层 |阅读模式

一、学习前置

1. 为什么先学 C 语言

  • 单片机、STM32、嵌入式唯一主力语言
  • 语法简洁、底层强、执行快
  • 所有编程语言基础,学会 C 一通百通

2. 必备软件(免费)

  1. Dev-C++:最简单,零基础首选
  2. VS2022:功能强
  3. CodeBlocks:轻便通用
  4. 手机端:C 语言编译器 APP(随时练)

3. 学习顺序(必按这个来)

环境搭建 → 基础语法 → 流程语句 → 数组 → 函数 → 指针 → 结构体 → 实操刷题


二、第一个 C 语言程序(万能模板)

c

运行

  1. #include <stdio.h> // 引入输入输出头文件
  2. int main() // 主函数,程序入口
  3. {
  4. printf("Hello C语言!\n"); // 打印输出
  5. return 0; // 程序正常结束
  6. }
复制代码

必记知识点

  1. #include 头文件:调用库函数必备
  2. main():唯一入口,程序从这里开始跑
  3. printf():控制台打印
  4. ; 分号:每句代码必须结尾
  5. {}:代码块包裹

三、基础数据类型(最常用 5 个)

表格

类型作用示例
int整型(整数)int a = 10;
float单精度小数float b=3.14;
double高精度小数double c=2.555;
char字符char ch='A';
void无类型函数无返回值用

常量与变量

  • 变量:值可以改 int num=1;
  • 常量:值不能改 const int N=100;

输入输出

c

运行

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int a;
  5. scanf("%d",&a); // 键盘输入整数
  6. printf("你输入的数:%d",a);
  7. return 0;
  8. }
复制代码

格式符速记

  • %d 整数
  • %f 小数
  • %c 字符
  • %s 字符串

四、运算符(嵌入式必用)

1. 算术运算

+ - * / % % 取余:判断奇偶、定时分频常用

2. 自增自减(单片机超级常用)

c

运行

  1. i++; // 先使用再加1
  2. ++i; // 先加1再使用
复制代码

3. 关系运算

> < >= <= == != 判断条件真假

4. 逻辑运算

  • && 并且
  • || 或者
  • ! 取反

5. 位运算(STM32 核心重点)

plaintext

  1. & 按位与
  2. | 按位或
  3. ^ 异或
  4. ~ 取反
  5. << 左移 快速乘2
  6. >> 右移 快速除2
复制代码

点灯、寄存器配置全靠位运算


五、三大流程语句(重中之重)

1. 顺序结构

从上往下依次执行

2. 分支判断 if /else

c

运行

  1. if(条件)
  2. {
  3. 成立执行;
  4. }
  5. else
  6. {
  7. 不成立执行;
  8. }
复制代码

多分支 if else if

3. switch 多选择

适合固定选项判断

4. 循环结构(嵌入式最常用)

while 循环

c

运行

  1. while(条件)
  2. {
  3. 循环内容;
  4. }
复制代码

STM32 死循环标配

c

运行

  1. while(1) // 永远为真,无限循环
  2. {
  3. }
复制代码
for 循环

c

运行

  1. for(初始值;条件;自增)
  2. {
  3. }
复制代码

最常用遍历、延时、批量 IO 操作

do-while

先执行再判断

循环关键字

  • break 跳出整个循环
  • continue 跳过本次,继续下一次

六、数组(存储批量数据)

1. 一维数组

c

运行

  1. int arr[5] = {1,2,3,4,5};
复制代码

下标从 0 开始

2. 字符数组(字符串)

c

运行

  1. char str[]="我爱C语言";
复制代码

串口打印、LCD 显示全部用字符串

3. 二维数组

表格、矩阵数据使用


七、函数(模块化编程)

1. 作用

拆分代码,重复调用,整洁易维护

2. 格式

c

运行

  1. // 函数声明
  2. void LED_On(void);
  3. // 函数实现
  4. void LED_On(void)
  5. {
  6. // 点灯代码
  7. }
复制代码

分类

  • 无参无返回
  • 有参有返回 STM32 所有外设全部写成函数

八、指针(C 语言灵魂,嵌入式必考)

1. 基础概念

  • 变量名:存
  • 指针:存内存地址

c

运行

  1. int a=10;
  2. int *p = &a; // p指向a的地址
复制代码
  • & 取地址
  • * 取值

2. 指针用途

  1. 函数修改主函数变量
  2. 数组快速遍历
  3. 单片机寄存器直接操作
  4. 串口、中断、DMA 全部依赖指针

想学懂 STM32,指针必须吃透


九、结构体(工程必备)

把多个不同类型数据打包在一起

c

运行

  1. struct Student
  2. {
  3. int age;
  4. char name[20];
  5. };
复制代码

用途:

  • 传感器数据打包
  • 设备参数统一管理
  • 协议报文封装

十、预处理指令(单片机高频)

c

运行

  1. #define LED_PIN GPIO_PIN_0 // 宏定义
复制代码

优点:改一处全局生效,工程必备


十一、C 语言学习路线(30 天零基础通关)

第 1-7 天 基础入门

环境搭建、变量、数据类型、输入输出、运算符

第 8-15 天 流程控制

if、for、while、分支循环,大量刷题

第 16-22 天 数组 + 字符串 + 函数

熟练封装函数,写简单功能模块

第 23-28 天 指针 + 结构体

攻克最难知识点,对接单片机

第 29-30 天 嵌入式 C 专项

位运算、宏定义、const、volatile、寄存器操作


十二、C 语言转 STM32 重点区别

  1. 电脑 C 语言有控制台,单片机没有屏幕
  2. 单片机 C 语言大量操作寄存器、IO 口
  3. 死循环 while(1) 是主程序标配
  4. 优先使用函数封装外设
  5. 极少用 scanf/printf,多用串口打印

十三、新手必避坑

  1. 忘记加分号 ;
  2. 大小写区分:C 语言严格区分大小写
  3. 括号不配对
  4. 数组下标越界
  5. 指针乱指导致程序崩溃
  6. 循环忘记自增造成死循环

十四、免费学习资源

  1. B 站:郝斌 C 语言(最适合零基础)
  2. 鹏哥 C 语言(通俗易懂)
  3. 菜鸟教程 C 语言(随时查语法)
  4. 刷题网站:牛客网 C 语言题库

十五、赠送:嵌入式 C 必背精简语法

  1. 无限循环:while(1){}
  2. 延时写法:for(i=0;i<1000;i++);
  3. 位操作置 1 清零
  4. 宏定义统一引脚
  5. 函数封装外设驱动
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行