C语言
文章平均质量分 78
爱聊灵光的维C
一颗小维C,爱聊那些天马行空不切实际的灵光
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从迷路到下坡,一文看懂逻辑回归、损失函数与梯度下降的“铁三角“关系
本文以“盲人下山”比喻揭示逻辑回归、损失函数与梯度下降的“铁三角”关系:逻辑回归负责前向预测,损失函数量化误差(交叉熵更优),梯度下降据此反向调整参数。三者循环联动,通过前向传播、打分、反向传播与更新四步实现模型训练。代码实证显示,合理学习率可使损失持续下降,而深度学习中三者分工不变,仅形式演进。核心在于:猜、扣分、改,缺一不可。原创 2026-11-10 23:28:00 · 349 阅读 · 0 评论 -
被“张量(Tensor)”吓退?用C语言的指针和内存,一眼看穿深度学习的底牌
学 AI 要补数学,这点不用怀疑。可模型能不能跑起来、跑多快、显存会不会爆,答案经常藏在你大一就学过的内存里。shape 说明怎么切,stride 说明怎么走,那块连续内存才是数据本身。把下面几条记进笔记,能省下不少对着维度报错发呆的晚上。shape 变了,数据未必搬了。transposepermute和多数切片只改 stride 与起始偏移。view要求连续,reshape可能复制。想确认有没有多花一次内存,看。dtype 决定一步跨多少字节。float32一个元素 4 字节,float64。原创 2026-11-10 23:05:01 · 257 阅读 · 1 评论 -
从“人工智障”到“智能”,没有激活函数的神经网络只是在叠直线
没有激活函数的神经网络仅能表示线性关系,即使堆叠多层也无法拟合复杂非线性模式,导致模型表现如“人工智障”。激活函数(如ReLU)引入非线性,使网络能分段拟合复杂边界,实现从“画直线”到“拼曲线”的跃迁。正确使用激活函数、避免输出层重复激活、合理选择损失函数,是解决模型失效的关键。原创 2026-11-09 22:09:50 · 386 阅读 · 4 评论 -
大一新生如何科学入门深度学习?附保姆级学习路线与神级资源推荐
人工智能没法一天建成,一个能跑的起点可以今天就有。打开编辑器,写下,再运行第 2.2 节那段鸢尾花代码。终端吐出准确率的那一刻,你已经从看攻略的人,变成动手做实验的人。四年很长,足够你把 Hello AI 换成猫狗分类、文本分类,再换成一个署着自己名字的开源项目。别急着和别人比论文数量,也别怕第一次输出满屏报错。把报错贴进博客,改一行,再跑一次。从今天这一小步开始,一起往 AI 这条路上走。评论区欢迎贴出你第一次跑出的准确率,跑崩了也欢迎贴,咱们一起看。原创 2026-11-09 21:28:41 · 208 阅读 · 6 评论 -
从扫雷到贪吃蛇:C语言大一新生必刷的“动态数组”实战项目
学完扫雷后,用C语言实现极简控制台贪吃蛇:基于二维数组存储蛇身,采用“头插尾删”逻辑实现移动,结合_kbhit()与_getch()实时响应WASD键,通过循环刷新画面实现游戏动画。支持食物生成、长度增长及撞墙/撞身判定,代码约140行,仅依赖Windows环境,适合初学者掌握游戏循环与基础算法设计。原创 2026-11-08 13:11:41 · 586 阅读 · 0 评论 -
游戏项目第三篇|用 C 语言实现 2048,把移动与合并讲明白
本文用C语言实现2048游戏,核心在于将四方向移动统一为“向左移动”处理。通过三步算法:压缩空位、合并相邻相同数字(每块仅合并一次)、再次压缩,确保逻辑正确。利用行列提取与反序写回,实现上下左右移动的复用。代码结构清晰,函数职责明确,便于调试与扩展,完整封装了移动、合并、计分与结束判断逻辑。原创 2026-11-08 11:51:11 · 444 阅读 · 0 评论 -
C语言进阶第一篇:|读懂指针与内存,才能从语法走向嵌入式
本文深入解析C语言进阶核心——指针与内存管理。通过“门牌号”类比阐明指针本质,揭示数组传参实为地址传递,函数指针实现回调机制。重点讲解动态内存分配的四大函数及安全使用规范,强调内存泄漏、野指针与悬空指针的危害,并提出“声明初始化、使用前检查、释放后置空”的防错黄金法则。最后演示内存数据持久化写入文件的方法,为嵌入式开发中的可靠编程奠定基础。原创 2026-11-07 21:47:20 · 506 阅读 · 2 评论 -
C语言小游戏项目:三子棋和五子棋的基本实现逻辑
本文通过实现三子棋与五子棋,深入讲解棋盘程序设计核心:利用统一数据结构与函数模块化设计,仅通过修改常量即可切换游戏。重点介绍基于最后落子位置的胜负判断策略,仅需检查四个方向的连续棋子数,高效且可复用。代码遵循单一职责原则,函数分工清晰,主流程贴近自然语言规则,兼顾可维护性与扩展性,是掌握二维数组与状态管理的优质实践。原创 2026-11-07 21:42:50 · 542 阅读 · 2 评论 -
用 200 行 C 代码做出扫雷,你的第一个游戏项目从这里开始
本文介绍如何用约200行C代码实现控制台扫雷游戏,适合初学者作为首个项目。通过分析规则、设计两张棋盘(雷区与显示区)、合理布局数组边界,并拆分函数职责,实现布雷、排查、胜负判断等功能。代码结构清晰,包含菜单、输入校验与重复排查处理,帮助读者掌握循环、数组与函数的综合应用。原创 2026-11-06 22:07:25 · 356 阅读 · 1 评论 -
C语言初阶:关于函数设计的详细讲解和注意事项
本文揭示C语言函数设计的核心真相:函数是代码组织的基石,而非单纯减少行数。通过“黑盒加工厂”模型解析函数本质,强调形参为实参的临时拷贝(值传递),明确参数传递的内存机制与生命周期。剖析return语句五大特性,警示类型转换隐患与未覆盖返回路径的危险。结合数组传参、嵌套调用、static/extern等关键概念,提供多文件编程实践指南,最终倡导以清晰职责、可读性为导向的函数设计哲学,告别“意大利面式”代码。原创 2026-10-29 21:40:04 · 347 阅读 · 0 评论 -
C语言数组基础全解析(含蓝桥杯和面试经典题目)
本文系统讲解数组基础,涵盖一维/二维数组创建与初始化、内存连续存储特性、字符数组与字符串区别、sizeof与strlen差异,以及遍历、输入输出等核心操作。通过经典练习题和蓝桥杯/面试题解析,帮助读者深入理解数组本质,夯实编程基础。原创 2026-10-24 10:11:42 · 316 阅读 · 0 评论 -
C语言数组避坑指南:别再被 ‘\0‘ 和 sizeof 骗了!
本文深入浅出讲解数组核心概念:从一维数组的创建、初始化、下标(从0开始)、遍历到sizeof计算元素个数,揭示“少补0、多拦住”的初始化规则。重点剖析'\0'在字符串中的关键作用,澄清sizeof(内存大小)与strlen(有效字符数)的本质区别,强调未以"\0"结尾的字符数组非字符串,否则引发乱码或越界。最后揭秘二维数组本质为线性存储,消除“二维”误解,帮助初学者轻松跨越数组学习门槛。原创 2026-10-22 15:27:38 · 119 阅读 · 0 评论 -
我们真的在操控技术吗?——一个物联网工程学生的深夜惊醒:当AI帮我把PPT初稿秒写完的时候,我高兴了大概三秒钟,然后突然感到一阵恐慌
在这之中,我没有了以前经历痛苦后的收获感,而是一种“空落感”,我难以形容这种感受,毕竟这股力量不属于我,这份成果却到了我手中,同样的问题是否发生在我的同龄人中?这种直觉,是AI给不了的。真正的创造力提升,应该是“你带着AI探索了未知的边界”,而不是“AI替你完成了你本来不会做的事”。未来的核心竞争力,不是你记住了多少知识点,而是你能不能给出一个好问题,去审视AI给你的答案。当你靠着AI生成的代码跑通了一个项目,或者靠着AI润色的文案拿到了高分,你会不可避免地陷入一种怀疑:“这真的是我做的吗?原创 2026-10-19 23:11:44 · 397 阅读 · 14 评论 -
C语言初阶:分支与循环(少量数组)
大一新生C语言分支与循环入门指南,详解if、switch、while、for、do-while等核心语句,揭示常见陷阱如悬空else、穿透效应、死循环及短路特性,并通过猜数字游戏实战巩固知识,助你避开编程“坑点”,掌握程序控制流精髓。原创 2026-10-17 19:59:47 · 254 阅读 · 0 评论 -
C语言初阶:猜数字小游戏项目(不含数组,少量指针)
本文通过实现“猜数字游戏”系统讲解C语言分支与循环的综合应用,涵盖if、switch、while、do-while等控制结构,并重点介绍随机数生成原理及范围限定方法。结合rand()与srand(time(NULL))实现伪随机数,通过模块化设计(如独立game()和menu()函数)提升代码可读性。最后提出扩展挑战:限制猜测次数与计时功能,强化实战能力,为后续学习数组、函数打下坚实基础。原创 2026-10-16 21:10:35 · 486 阅读 · 0 评论 -
C语言基础:常见操作符和表达式求值
C语言初学者在掌握变量与数据类型后,常遇操作符与表达式求值难题。本文系统讲解算术、赋值、单目及关系逻辑操作符,重点剖析优先级与结合性陷阱,如a++与++a的差异、&&短路求值等。通过代码示例与求值过程分析,帮助读者从“看得懂”进阶到“写得对”,为后续分支、循环与函数学习奠定坚实基础。原创 2026-10-10 20:24:10 · 280 阅读 · 0 评论 -
C语言:入门级printf和scanf的经典竞赛考法
本文系统讲解C语言中printf与scanf的使用,涵盖基础语法、占位符详解(如%d、%f、%s、%x等)及竞赛高频考点。重点解析格式控制、输入输出技巧,包括多组数据读入、精确输出、&符号使用规则、字符串与字符输入差异,以及竞赛中常见的while(scanf(...) != EOF)、%c前加空格跳过换行等优化写法,帮助初学者夯实输入输出基础,提升编程效率与竞赛得分能力。原创 2026-10-10 07:57:08 · 220 阅读 · 0 评论 -
C语言学习总结:从基础到嵌入式开发之路C语言学习
本章围绕C语言的基础语法展开,涵盖数据类型、运算符、流程控制、函数与数组等核心知识点,帮助读者建立扎实的语法基础。C语言中的数据类型决定了变量在内存中占用的空间大小以及可表示的取值范围。掌握数据类型是编写高效、可靠程序的基础。本节重点介绍整型、浮点型、字符型三大基本数据类型,以及变量的声明、初始化和作用域规则。C语言的基本数据类型主要分为三类:整型、浮点型和字符型。整型用于表示整数,浮点型用于表示带小数的实数,字符型用于表示单个字符。下面是一个数据类型参照图,不需要记下来,因为计算机语言与中文,英语这类传统原创 2026-10-09 07:26:32 · 241 阅读 · 0 评论
分享