全世界AI突然失灵 我用古法编程年入百万第一天
时代从不缺天才 真正缺少的反倒是敢于面对现实的庸才
前言
作为一名从零开始冲嵌入式的纯小白,我最近跟着教程一路学到了 多变量输入输出。从对着 Hello World 抓耳挠腮,到现在能写出多变量输入输出的程序,一路上踩了数不清的低级坑,也扎扎实实把基础打牢了。
开这篇博客,一来是系统复盘 的核心知识点,方便自己回顾;二来是把所有新手必踩的坑一次性扒干净,帮和我一样的入门选手少走弯路;三来也想慢慢积累粉丝,和大家一起在嵌入式的路上慢慢升级。话不多说,直接上干货!
一、核心知识点一口气梳理
这一段内容是 C 语言最最基础的门面,看似简单,却是后面所有语法的根基,我给大家用最直白的话总结一遍。
1. 计算机语言与 C 语言定位
从机器语言、汇编语言到高级语言,C 语言属于高级语言,接近人类语言,可移植性强,更是嵌入式开发的核心语言。学习 C 语言是嵌入式开发的必经之路,地位不用多讲。
2. 开发环境搭建
我用的是 VS Code + MinGW-w64 组合:
- VS Code 负责写代码、轻量编辑;
- MinGW 提供
gcc编译器,把.c源码变成可运行的.exe。重点记住:安装路径千万别带中文、空格,不然编译必报错。
3. 第一个 C 程序:Hello World
这是所有程序员的起点,结构固定死:
c
运行
#include <stdio.h>
int main()
{
printf("Hello World\n");
return 0;
}
#include <stdio.h>:头文件,用printf/scanf必须加;int main():程序唯一入口,程序从这里开始跑;printf(""):输出内容到控制台;return 0:程序正常结束。
4. C 程序运行流程
源码 .c → 预处理 → 编译 → 汇编 → 链接 → 生成 .exe → 运行 这个并不清楚八股考不考,天知道但现在知道代码要编译才能跑就行。
5. 注释用法
注释不参与运行,只用来解释代码、临时屏蔽代码:
- 单行注释:
// 注释内容 - 多行注释:
/* 注释内容 */养成写注释的习惯,后期回看代码会感谢自己。
6. 变量基础
变量就是内存里的一个 “小盒子”,用来存数据。
- 格式:
数据类型 变量名; - 例:
int age;定义一个整型变量age; - 必须先定义,再使用,不能直接拿来用。
7. printf 格式化输出
用来把变量的值打印出来,核心规则:
%d:整数占位符;- 占位符数量 = 后面变量的数量;
- 变量必须写在双引号外面,用逗号隔开。例:
printf("年龄:%d", age);
8. scanf 格式化输入
用来从键盘读取数据,存到变量里:
- 格式:
scanf("%d", &变量名); - 必须加 & 符号(取地址);
- 多个变量:
scanf("%d%d%d", &n1, &n2, &n3);,输入用空格 / 回车分隔。
9. 多变量输入输出
可以同时定义多个变量,一次性读取、一次性输出:
c
运行
int n1,n2,n3;
printf("请输入三个数字:");
scanf("%d%d%d",&n1,&n2,&n3);
printf("你输入的是:%d %d %d",n1,n2,n3);
程序从此拥有 “交互能力”,不再是死板的固定输出。
二、新手血泪踩坑实录(建议全文背诵)
我把这段时间所有高频报错、低级错误全部整理出来,每一个都是亲自踩过的坑,新手 99% 都会遇到!
1. main 函数拼写错误
- 错误写法:
int mian() - 报错:找不到程序入口,直接跑不起来
- 原因:
main是固定入口名,拼错编译器不认识 - 解决:死死记住是 main,不是
mian!
2. printf 变量写进双引号里
- 错误写法:
printf("年龄%d,age"); - 现象:直接输出原文,不显示变量值
- 原因:引号内是字符串,变量要写在外面
- 正确:
printf("年龄%d", age);
3. % d 占位符和变量数量不匹配
- 错误写法:
printf("我%d,他%d", age); - 现象:输出乱码、奇怪数字
- 原因:2 个占位符,只给 1 个变量,对不上
- 规则:几个 % d,就跟几个变量
4. 语句末尾漏写分号;
- 错误:
printf("hello") - 现象:VS Code 标红,编译直接失败
- 原因:C 语言每行语句结束必须用
;结尾 - 习惯:写完一行先打分号,再继续写
5. scanf 忘记加 & 取地址符
- 错误:
scanf("%d", age); - 现象:编译报错、程序崩溃
- 原因:scanf 要把数据存到变量地址,不加 & 找不到位置
- 正确:
scanf("%d", &age);
6. 编译提示 Permission denied 权限拒绝
- 现象:无法生成
.exe,提示权限不足 - 原因:之前运行的黑窗口没关,
.exe被系统占用 - 解决:关掉所有控制台黑窗口,重新编译即可
三、学习心得与给新手的建议
第一天学习忙里抽闲 抽了两个小时学习,我最大的感受是:C 语言入门不难,难在细节。
大部分报错不是逻辑难,而是手滑、粗心、格式不对。main 拼错、少个分号、变量放错位置、scanf 忘加 &,这些小问题能让你排查半小时。
给和我一样的小白 3 条建议:
- 多敲少抄:看会不算会,亲手敲一遍才是自己的;
- 遇错不慌:报错先看提示,优先检查拼写、分号、格式;
- 坚持记录:像我一样写博客 / 笔记,复盘一次胜过盲目学十节。
嵌入式这条路很长,C 语言只是第一关。把基础打扎实,后面学运算符、循环、分支才不会崩。
结尾
本篇把我目前学的核心知识点和 新手必踩 6 大错误全部整理完毕,全文干货无废话。
后续我会持续更新 C 语言进阶内容、嵌入式学习笔记、更多踩坑实录,喜欢的小伙伴可以点赞、关注、收藏,我们一起从零变大神!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)