电脑的基本认识这里不会细致说明仅以了解为主。首先要有电源电经变压后才能给后续用。所有的大件都落在一个基本的物理的平台上主板mother board。CPU中央处理器电脑核心。管运算与控制其内部也有寄存器设定但主要功能不是存储而是一条需要处理的指令来了在这临时落个脚后进入CPU再带着处理的结果返回。RAM临时存储介质内存条。读写数据时的暂存区或称缓冲区。没有持久化数据功能你不能指望一段数据经历了立刻断电还能活在RAM。Hard Drive持久化存储介质硬盘。数据实际能写入的地方为了保存妥善中途不断电仍是必要的否则内容报废。一般情况下这个持久化存储指的是经常通电用于唤醒硬盘状态故意置于风险环境强磁场或不通电闲置100年那数据该消失还是消失。持久化存储介质种类HDD机械硬盘旋转运作。读写时要加速盘旋转并使磁头有规律的触到盘面完成读写。属于传统硬盘抗物理干扰属上乘很长时间不通电不会影响盘磁性读写慢于现代硬盘适合存储不经常动的确定性资料。SSD固态硬盘操作元件电位并锁住电子运作。读写时切换存储介质的电位用“放电子”“锁电子”模拟0和1。受电流波动影响严重不标准操作时比机械硬盘更易损坏丢失数据。属于现代标准硬盘。抗物理干扰弱元件精密固态硬盘如果做库存介质要经常通电否则元件有可能失活锁不住电子。纯电驱动符合电器运作本质读写显著快于机械硬盘通电很频繁时适合做处理数据的存储区系统启动盘如电脑内接硬盘。不频繁时最好限制在文件转移场景不做持久存储打算你猜不到逻辑失能和物理意外哪个先来。辅助设备多指键盘鼠标画板……等外部信号输入设备外部设备只传电信号CPU直接读读不懂需要借助驱动翻译。驱动本质就是外部电信号按CPU期望的解释进行翻译的过程行使翻译官功能。其他主流设备显卡网卡声卡这些处理数据偏并发显卡专注于shader视觉性AI算法网卡专注于发收包解析协议与字符声卡专注于多轨多频数模转换问题在此仅了解。存储单位映射仅以日常用平台为例如我的windowsbit位值仅0或1代表内存条元件里的高低电平。byte字节8 bits 1 byte最小可寻址单位。1024 bytes 1 KB1024 KB 1 MB1024 MB 1 GB……转化呈1024映射。从KB开始往后的单位提升就是KBMBGBTBPBEBZBYB对于本系列档的涉及范围内操作量级不会达到TB。准备学习环境 见补充作为入门不必把硬件概念吃个全直接从操作开始更合适。我只有windows环境能用所以我用今年新出的microsoft visual studio community 2026后称VS20262026版比2022版默认推进了语言版本支持以便于在后续测试先进版本特性时免去了调整语言版本支持的过程。其余系统的开发环境可问AI我不清楚。VS是免费的可直接从官方找资源避免第三方恶意捆绑。下载流程是先得到下载器下载器去获取真正的开发环境程序获取完后还要进行语言配置才能以指定语言启动环境。以VS2026为例会有这么一段对于windows环境选择如下对于其他系统可问AI。然后可以从installer启动或从开发环境正式入口进visual studio。后续依次是创建新项目——C空项目——配置新项目名——创建——步骤见下关于界面布局首次使用时一定会与我的不一样但我也并没有做多少DIY这个后续说明。注意大纲部分解决方案这个指为了解决一个抽象的设计集合你建立了何种方法集合c test项目名注编程里的项目具体到只解决一种设计所以一个设计占一个项目。源文件后续很长一段时间这个夹里放的就是程序文件且仅程序文件。其余夹暂不关注。使用项目右键项目——设为启动项目快捷键a设置后项目名会变为粗体字这步很重要不明确指定时新文件会新建到其他激活的启动项目。且具体运作哪个程序也依赖这个设置。然后只需在源文件夹右键——新建项输入文件名并把默认的.cpp尾缀改为.c 确认即可这是历史遗留问题VS默认不对外呈现c文件选项只能这么改。如果什么时候忘改了那只能说执行到C文件不支持的特性时等它自动error就知道了。C本身相当兼容C但不要依赖这个故意用C跑C。至此准备阶段就算完成后续再提及一点DIY和可选的性能优化。C文件编译机制C文件名由基本名和扩展名组成常用扩展名有头文件.h非头文件.c。基本名应保持在255个纯英字符内或尽可能少的中文字符但不推荐用中文。现代编程常采用分文件编译策略分散风险。对于C有如下必要项目标文件由人敲入的代码文件翻译而来编译器负责翻译。启动代码程序与系统的接口对于VS这个过程是自动的。库简单理解为编程工具箱预设功能集合。可执行文件程序成品。在后台编译器做的翻译敲入代码为目标文件。链接器关联目标文件库启动代码以联合作用。转换所有内容为程序成品。小设置关于字体字号字体可通过工具——选项——然后直接在搜索框搜字体就能出现设置了个人偏好是微软雅黑默认那个太扎眼。字号通过左或右Ctrl滚轮就能调整。热重载是一个对大型程序的运行时即改即看的支持但起步阶段应用此设置会显著延迟编译error回馈慢只需在工具——选项——搜索热重载关掉.NET / C热重载即可这是VS2026默认启用的老版可忽略。新建文件后按F5可以空跑一下文件不要在意出错本步骤的目的是把debug窗提出来。这时会很明显的提示你缺少………………一长串提示把那个窗按下述办法拉倒显眼位置即可另外文件大纲在左也是个人DIY的默认应该是右侧看个人习惯。逻辑构思启发在此不涉及代码组织只是像解决问题一样安排你的思考步骤即可。举例汉诺塔。每次只能移动一块不可以取一摞移动范围限制在三个棍中不可以扔到设施外大块不能压到小块上在此规则下整个塔维持层级不变但换一根棍的步骤是什么绿块串左棍黄块串右棍绿块串右棍红块串左棍绿块串中棍黄块串左棍绿块串左棍以上步骤可以视为是程序设计的抽象过程落到具象上还有很多细节待考虑。不过目前能把这个操作想通并实现通其实就具备了入门能力。可以多找些真实事物研究其实现过程如九连环一种益智玩具或扑克的猜数游戏设计麻将的成对消除游戏设计这些在物理上本就很好实现也利于初步探究程序的逻辑设计思路。以九连环为例它是个基于逻辑门和拓扑原理的玩具要把每个环反复的切换挂上真与卸掉假的状态逐渐的使后方环卸下直到全部脱离。可自行尝试我在此不透露太多。主动完成一个推理过程有助于发散思维到其他方面。尝试做一个注释最原始的C89 C90注释方式是用/*和*/包夹内容可跨行。C99开始支持用//设单行注释但也可搭配\符号做强制换行强制换行时\必须打在新行首或既有行尾但为了视觉上统一建议打在行尾以明示“我要切行太长了”这样也能与后续用到代码里的习惯相匹配。坑点\切行具有严格的行尾判定不要在\后闲着没事打空格缩进会出error。由于“这样是接不上的”属无效语句段导致了下方红线报错所以注释不是随意的。逻辑上\做了把下一行注释拉到//所处行的功能\的多切实际是一个逻辑行但物理上你的操作上这就是直观的切行。行首可\的前提是上一行的\已经替这行先行分隔了所以新行首的\本质是个无用标。\后续有它的特别用处到了再说。但目前为止你在注释里打的任何字符只要合理搭配\原则上允许任何内容因为注释的目的就是充分概述某语句段。补充 重要做此文档系列的目的是给初入者打通一个C——C学习通路。在我写了过半的文档后我发现一件事如果仍以原资料通篇叙述的讲法没什么用还会耽误转型认知。我收回上述应用.c文件的建议并默认以.cpp文件为准进行后续探索。这样本身也合理C语言的新标准已经扔了 / 弃用很多早期力大砖飞的设计。再次提示本人做这系列的初衷是为一窍不通的外行打通进入这个方向的链路这也算是我的个人经历记录以后还会出CC#……全系列。如果您执意使用.c学习可能遇到无法通过编译的硬性阻碍。