PTA理论考C语言判断题解析:从预处理到switch的避坑指南
简介面向PTA平台C语言理论考试整理的Word题册集中收录HW02、HW03两大部分的选择与判断题。内容紧扣基础语法编译预处理指令、main函数唯一性、语句分号规则、变量声明顺序、单目运算符操作数、scanf/printf格式匹配、赋值与算术运算符优先级、自增自减及for循环累加与阶乘等每题附答案与知识点详解。包内共1个docx文件大小约345KB结构按章节与题号组织方便直接检索、打印或导入笔记。已有1895人学习下载。价值在于将零散PTA题归纳为带解析的核对清单尤其对易混淆点如浮点取模、特殊输入格式、循环初值给出明确解释适合考前突击与日常自测。1. PTA理论考这份判断与选择题文档比题库本身更值钱PTA平台上的C语言理论题向来是入门阶段最容易被低估的部分判断题只有T和F两个选项好像随便蒙都能对一半实际上每个结论背后都压着运算符优先级、格式化输入输出、循环边界这些“一上机就翻车”的细节。这份WORD文档把PTA理论考中HW02、HW03、HW04几个阶段的判断题、选择题连同答案集中整理覆盖编译预处理、变量声明、表达式、scanf/printf、for循环与switch分支。不管你是正在备考PTA平台考试还是想用题目清单反查自己的C语言基础漏洞这份文档都能当成复习底稿每道题都值得用编译器验证一遍。2. 程序结构与编译预处理四个判断范式三分钟定位易错题HW02开头那批判断题几乎全在问“C程序在被编译和执行时到底发生了什么”。这类题不要靠背答案记住四个判断范式大部分题一眼就能定论。2.1 #include 带分号预处理指令不是语句题目问“#include stdio.h; 是编译预处理命令”这句话前半段对后半段的行为是错的。预处理指令以#开头、以换行结束它不属于C语句也因此不需要用分号结束。写成#include stdio.h;时分号会被预处理器当成头文件内容的一部分实际去文件系统里找一个叫stdio.h;的文件编译直接报错。#include stdio.h;逻辑说明这段代码在预处理阶段就会失败根本走不到语法分析。把分号去掉才是标准写法。判断范式是凡是以#开头的行都是预处理指令不是语句不能按语句规则加分号。#define、#include同理。想亲眼确认报错可以建一个 test.c只写这一行然后执行gcc -E test.c -o test.i 21 | head -5参数说明-E让编译器只做预处理不编译适合观察头文件展开和预处理阶段的错误head -5只取前几行输出避免刷屏。2.2 main函数的唯一性与程序执行起点题目1-5“任何一个程序都必须有而且只能有一个main()函数”是对的。C程序的入口只有一个链接时找不到main会报undefined reference to main找到多个main同样报错。题目1-6“C语言程序是从源文件的第一条语句开始执行的”是错的执行起点是main函数的第一条语句不是源文件第一行。int global 42; int main(void) { printf(hello\n); return 0; }逻辑说明global的初始化发生在进入main之前由启动代码完成但用户代码的执行流确实从main开始。判断范式讨论“程序从哪里开始执行”永远回答main函数讨论“变量何时初始化”才需要区分全局和局部。2.3 分号、复合语句与空语句文档里有连续几道题在考“什么是一条语句”。C语言里普通语句必须以分号结束这是对的。但复合语句是例外用一对大括号括起来的若干条语句在语法上被视为一条语句。因此for、if后面可以放心用{}包裹多条语句不需要在右花括号后补分号补了反而会产生一个空语句。if (x 0) { y 1; z 2; }; /* 末尾分号是一条空语句无害但没必要 */逻辑说明复合语句本身不需要分号末尾的分号会被解析成空语句什么都不做。题目1-18、1-19考查的就是“复合语句在语法上等于一条语句”结论都是T。题目1-20说“仅由一个分号构成的语句叫空语句它什么也不做”也是对的。需要留个心眼空语句有时会被利用成延时或占位但在不期望的地方出现比如if (x 0);会让后续语句脱离条件控制后面的题目里就有这个坑。2.4 先声明后使用k 1; int k; 为什么非法题目1-10给出一段程序段k 1; int k;问它是否符合C语言语法答案是否定的。原因很简单第一行使用k时k还没有声明。C99之后虽然允许声明与语句混排但原则仍然是“先声明后使用”。像int a; a 1; int b; b 2;是合法的可k 1; int k;依然非法因为赋值发生在声明之前编译器处理第一行时根本不知道k是什么类型。验证方式gcc -stdc99 -Wall test.c -o test参数说明-stdc99明确按C99标准编译防止有人用“老标准不允许混排”来解释-Wall打开常见警告把问题暴露得更清楚。gcc会报error: k undeclared。2.5 变量与内存单元从声明到地址题目1-11“C程序中定义的变量代表内存中的一个存储单元”是对的。无论自动变量还是全局变量声明后都会分配对应的存储空间。自动变量在栈上全局变量在静态区变量名是符号编译后映射到具体地址。可以写几行代码感受一下int x 0; printf(%p\n, (void *)x);逻辑说明x取出变量x的地址%p是地址专用的输出格式。每次运行地址可能不同因为栈地址随进程装载而变化但变量确实对应着一块内存。到这里HW02前十几道判断题的判断依据就齐了预处理指令不看分号、执行入口只看main、语句边界看清复合语句和空语句、变量必须先声明后使用。把这四条记牢程序结构类的判断题基本不会失分。3. 运算符与表达式赋值陷阱、整型除法与自增自减的五个边界理论考里最拉分的部分集中在运算符和表达式。这类题的正确率取决于你有没有真正踩过错位的坑。文档里这些T/F判断每一条都是一个真实发生过的问题现场。3.1 if(x 20)赋值当条件x被覆盖if (x 20) { y 1; } else { y 0; }题目问执行后x的值是否不变答案是否定的。条件里是赋值不是比较x被重新赋值为20原值被覆盖。if条件表达式的结果就是赋值表达式的结果也就是20非0为真所以必然走y1分支。若想判断x是否等于20必须写if (x 20)。同样的问题换一下数字变成if (x 0)条件值恒为0分支永远走else同时x被清零。这是C语言里最典型的“编译不报错但逻辑全错”场景gcc只会给一个warning: suggest parentheses around assignment used as truth value很多人忽略警告后就带上线了。笔试识别起来很容易上机调试却能把人绕晕因为变量值在条件判断处被悄悄改掉。3.2 double取模和隐式乘法两个“看似合法”的表达式题目1-13给出int fahr; 5(fahr-32)/9问是否符合C语法。答案是F。C语言里数字和括号之间必须有运算符编译器会把5(fahr-32)当成类似函数调用的语法去解析但5不是函数名直接报错。温度转换的正确写法是5 * (fahr - 32) / 9。题目1-14给出double x; x % 2这也是非法的。%是取模运算符要求两个操作数都是整数类型。double参与取模编译阶段就会报invalid operands to binary %。这两题的共同规律很明确看见%先检查操作数类型看见数字后紧跟左括号先检查有没有乘号。表达式合法性判断本质上就是类型表和运算符表的对账。3.3 整数除法1/n为什么“恒为0”有条件题目1-15若变量定义为int n当n的绝对值大于1时表达式1/n的值恒为0。这个结论是对的。int除以int是整数除法结果向零取整。n2时结果是0n3还是0n-2也是0。只有n取1或-1时结果才是1或-1。题目特意加了一个“绝对值大于1”的前提就是为了排除那两个特例。对比下面两行代码double a 1 / 2; /* a 是 0.0先做整数除法再转 double */ double b 1.0 / 2; /* b 是 0.5浮点除法 */逻辑说明第一行先算1 / 2整数除法结果是0再转成double还是0.0第二行因为有一个操作数是浮点字面量整个表达式变成浮点除法。这个对比能直接解释后面1-23、1-24两道累加题int sum接收浮点结果会截断double sum接收整数除法结果会一直加0。3.4 fahr 与 fahr 1自增的副作用题目问“fahr与fahr 1等价”这个说法是错的。两者在“算出比原值大1的数”这件事上相同区别在于副作用fahr会让fahr变量本身增加1而fahr 1只是算出一个结果fahr原值不变。int fahr 10; printf(%d\n, fahr); /* 输出10fahr变为11 */ printf(%d\n, fahr 1); /* 输出12fahr仍为11 */逻辑说明fahr表达式的值是自增前的值副作用在表达式求值后生效fahr 1没有任何副作用。在for循环的更新表达式里两者都让循环变量1一旦放进printf参数或其他表达式行为立刻分叉。这个边界必须形成条件反射看到自增先问副作用是什么时候发生的。3.5 赋值运算符优先级n 10 2 到底等于几题目1-18设置了一种情况假设赋值运算符的优先级比算术运算符高执行int n; n 10 2;后n为10。这个假设本身就是错的。C语言里算术运算符优先级高于赋值运算符所以实际执行顺序是先算10 2再把结果12赋给n。题目答案F但分析的乐趣在于如果假设成立会先执行n 10再执行10 2并把结果丢弃n确实为10。这个“假设”是在检验你是否真的分得清优先级表而不是顺着错误前提往下推。赋值运算符在C语言里优先级极低只高于逗号运算符。判断一个表达式做什么先把括号和算术算清楚再看赋值发生在哪一步最后看条件判断里的单等号是不是赋值。4. 输入输出格式与循环计数%d/%f/%lf 匹配、for 时序与累加器初始化HW03部分开始进入scanf和printf的格式串判断。这些题都是“看着输出正常实际程序全是隐患”的典型。C语言的格式化输入输出类型错位通常不报编译错误运行结果却千奇百怪——这是理论考和上机考差距最大的地方。4.1 scanf 与 printf三组“输出正常但输入全错”的案例文档里三道题放在一起看对比特别明显题号程序段输入判断1-7double x; scanf(%d, x);10F1-8double x; scanf(%f, x);20F1-9double x; scanf(x%lf, x);30F第一行%d期望int *但x的类型是double *。scanf按4字节向x写入double剩下的4字节仍是内存里的垃圾printf用%.2f读8字节结果通常不是10.00。这是教科书定义的未定义行为每次运行结果都可能不一样。第二行%f对应float *传入的却是double *类型不匹配写入尺寸也不对。第三行的坑在格式串本身x%lf要求输入时带x前缀格式串里除格式说明符以外的字符必须在输入中原文匹配。只输入30scanf会在等号处匹配失败x根本没被赋值输出自然不是30.00。正确输入应该是x30。这里有一个重要的不对称规律printf的%f能直接打印double因为float传给printf时会自动提升为doublescanf不行scanf需要指针%f写4字节%lf写8字节double变量必须配%lf。4.2 题目1-11格式串与变量指针全体错位int money, year; double rate; scanf(%d %lf %d , money, year, rate); printf(%d#%d#%.3f, money, year, rate);逐项对照类型money是int配%d没问题year是int却用了%lfscanf按double的8字节格式向int变量写入属于越界写入rate是double却配%d只写4字节。格式串末尾还有一个空格scanf会要求输入流后面出现非空白字符才返回。三个数据只有第一组勉强对上整段输出不可能稳定为1001#3#0.025。自查清单可以归纳成三条scanf的每个格式说明符必须与变量指针的类型严格对应。格式串末尾的空白符会让scanf多等一个token容易造成“输入完了程序不结束”的假象。printf的格式说明符与变量类型不匹配时多数能隐式转换比scanf宽容但前提是数据本身是好的。4.3 for循环的执行时序用温度换算题数执行次数int fahr; double celsius; for (fahr 91; fahr 100; fahr) celsius 5.0 * (fahr - 32) / 9.0; printf(%4d%6.1f\n, fahr, celsius);文档里4-2的四道填空题答案分别是语句①执行10次语句②执行1次循环体语句共执行10次循环结束时fahr的值是101。为什么退出循环后fahr是101而不是100for的更新表达式fahr在每次循环体执行后运行第10次迭代时fahr从100变成101然后再判断101 100为假循环退出。也就是说循环变量最后一次自增发生在条件判断之前这个值会留在变量里。表达式2在进入循环前会先判断一次所以for循环的循环体可能一次都不执行。任何统计循环执行次数的题都套用这个时序表达式1只执行一次表达式2在每次迭代前判断表达式3在每次迭代后执行。4.4 累加器未初始化sum55 还是随机值int i, sum; for (i 1; i 10; i) { sum sum i; }题目问sum是否为55答案是F。sum没有初始化初始值是栈上的垃圾数据垃圾值加1到10结果完全不确定。这是C语言里最常见的“玄学现场”同一个程序换编译器、换优化级别、换系统环境输出都可能不一样。gcc编译时会有warning: sum is used uninitialized这就是编译器在提醒你。正确写法是在循环前初始化int i, sum 0; for (i 1; i 10; i) { sum sum i; }这一节顺便把文档里两道衍生题也理清1-23中sum是int循环累加1.0/i第一次加1.0得到1第二次加0.5得到1.5再截断成1最终sum是1不是1.51-24中sum是double循环里却是1/i整数除法i2时1/2为0i4时1/4为0sum加两次0最终是0不是0.75。两个版本完全相反地踩坑放在一起看特别有教学价值。4.5 选择题2-1与2-2程序选型逐个排除前N项和的正确选项是Cint i, n; double sum; scanf(%d, n); sum 0; for (i 1; i n; i) { sum sum 1.0/i; }其他选项的错法可以作为判题模板A把sum定义成int累加浮点结果会被截断精度丢失E用1/ii大于等于2后全是0求和结果恒为0F在for括号里用逗号分隔表达式C语言里for的分隔符必须是分号逗号表达式会直接改变语义。阶乘题的正确答案是Dint i, n; double product; scanf(%d, n); product 1; for (i 1; i n; i) { product product * i; }A错在把product初始化成0任何数乘0都归零B错在product用int20的阶乘远超int上限C错在product未初始化就参与乘法。D用double并初始化1是唯一能算出正确大数的写法。5. 分支与switch避坑排查else配对、case穿透与测试用例设计的五条记录HW04的选择结构题目不只是判断对错还要求理解分支的运行轨迹。我把这批题里最容易翻车的地方整理成五条排查记录每条按“现象—原因—解决”来写。刷这份文档时如果哪道题做错直接对号入座。5.1 记录一else 与最近的未配对if绑定现象程序段缩进显示else属于外层if实际运行结果却跟缩进暗示的完全不同。if (a b) if (b 0) c 0; else c;当a2、b-1、c2时外层条件a b为假整个内层if-else都不执行c保持2。如果按缩进理解成外层if的else会以为输出1。原因在于C语言规定else总是与之前最近的、尚未配对的if结合缩进不参与语法解析。这就是经典的“悬空else”dangling else问题。解决嵌套if一律加大括号不要依赖缩进来表达层级。没有花括号的if后面只跟一条语句多层嵌套时阅读成本和出错概率都会成倍上升。题目2-5直接考这个规则答案就是“与之前最近的且不带else的if配对”。5.2 记录二switch 缺 break 造成 case 穿透现象int x 1, a 0, b 0; switch(x) { case 0: b; case 1: a; case 2: a; b; } printf(a%d,b%d\n, a, b);输出是a2,b1而不是新手以为的a1,b0。x为1命中case 1后没有break继续执行case 2的语句a被加两次b加一次。原因case只是入口标签不是分支边界。没有break时控制流从命中的case开始一路向下执行到switch结束或遇到break。C语言设计者故意保留了这个机制允许程序员写出“多个case共用一个处理逻辑”的代码但代价是漏写break时无人提醒。解决每个case末尾检查break故意要落空fall-through时加注释说明。排查时逐行数变量的变化是定位穿透最简单的方法。题目2-9就是标准穿透题答案a2,b1。5.3 记录三if(x0)把赋值当比较现象变量x原本是4执行if (x 0)之后x变成0if条件恒为假后续代码永远走else分支。离谱的是编译器不报错只给警告。原因单等号是赋值双等号是比较。这个设计是C语言里被吐槽最多的语法陷阱之一而且恰恰因为“合法”它比很多语法错误更难发现。解决写比较时把常量放在左边写成0 x。一旦手误写成0 x编译器立刻报错相当于给自己留了一道后悔药。这个习惯成本极低收益稳定我从那以后基本没再被赋值坑过。5.4 记录四case后的常量表达式与重复值现象switch(choice) { case choice 1: price 3.0; break; }这段代码编译直接失败。case后面必须是整型常量表达式不能是变量也不能是关系表达式。choice 1的值虽然最终是0或1但它不是常量。另一个常见报错是case值重复比如两个case都写1编译器无法决定跳转目标同样报错。原因switch底层是跳转表case值必须在编译期确定且唯一。正因如此switch能做的分支判断非常有限只能做整数等值比较不能做范围判断、浮点比较或字符串匹配。解决case后面直接写整型字面量或枚举常量例如case 1:。范围分支或用switch处理时会很别扭直接改用if-else更清晰。文档里的2-2、2-3两道等价性选择题本质上也是考switch与if-else的替换关系看清default的位置和缺省处理就能判断。5.5 记录五测试用例数量拍脑袋边界漏光判断题里反复问“至少需要设计几组测试用例”答案取决于分支结构本身。举例if (x 0) { y 0; } else if (x 15) { y 4 * x / 3; } else { y 2.5 * x - 10.5; }至少需要5组输入负数、0、正数且小于15、正好15、大于15。0和15是分段边界不能省。少测一组边界就可能漏掉x 15条件写没写等号的错误。文档2-1的四则运算计算器分支路径包括加、减、乘、除且除数非零、除且除数为零、未知运算符共6组输入。除数为零那条路径如果不测value2 ! 0的判断就形同虚设。设计测试用例时先列出所有分支再给每条分支找一组能走通的数据最后把边界值单独补上。6. 把判断题变成上机题三遍刷题法与错题索引建立技巧前面几章按知识点拆完了题最后分享一个真正把这份文档内化的方法。文档的价值不在T/F答案本身而在于每道F题都是一次未定义行为预警类型不匹配、未初始化、case穿透、else错配……这些全部能在编译器或运行结果里现出原形。第一遍是限时盲刷。把文档当试卷不看答案限时30分钟做完用题号当索引键比如1-5、1-13、2-1。每道题做三色标记确定对、确定错、不确定。只标不确定的题不要当场查答案。保留第一反应后面核对答案时记忆点会更深。第二遍是F题全部上机复现。准备一个专门目录把每道判F的题改写成最小可运行程序。以1-7为例#include stdio.h int main(void) { double x; scanf(%d, x); printf(%.2f\n, x); return 0; }编译时带上警告选项gcc -stdc99 -Wall -Wextra test.c -o test ./test参数说明-Wall打开常见警告-Wextra再补充一档额外检查。类型不匹配、未初始化这类隐患开着这两个选项基本都会显形。需要稳定输入时用管道printf 10\n | ./test这样每次运行都是同一输入观察printf输出和scanf行为才有可比性。第三遍是把判断题改写成改错题。比如文档里“sum的值是55”改成“补上初始化使sum最终等于55”“case没有break”改成“加break使输出a1,b0”。这一步把被动判断变成主动编码印象会深得多。选择题的干扰项也是好素材例如阶乘题里product 0的写法可以单独写成一段代码观察输出为什么恒为0。我最早刷这种理论题时习惯把T/F当阅读理解结果上了机器全翻车。有一次sum没初始化程序一会儿输出55一会儿输出垃圾值查了半小时才发现是栈上的旧数据在作怪。从那以后我每次拿到一份理论题文档都强制走一遍“盲刷标索引、F题上机复现、判断题改改错题”的流程错题率肉眼可见地降了下来。这份PTA理论考文档的题目结构很适合这样拆希望帮到你。本文还有配套的精品资源点击获取

相关新闻

C++享元模式实战:从字符串驻留到对象池的内存优化指南

C++享元模式实战:从字符串驻留到对象池的内存优化指南

前段时间排查一个图形工具的性能问题,现象很典型:程序跑了一会儿,内存从 300MB 一路涨到接近 2.8GB,卡得鼠标都飘。把堆快照导出来一看,将近 70% 的内存是一模一样的法线向量和纹理参数——同一个网格的几十万个顶点&a…

2026/10/15 22:01:16 阅读更多 →
VS Code 插件离线下载:vsix 文件下载链接生成原理与 TaoToken 通道配置

VS Code 插件离线下载:vsix 文件下载链接生成原理与 TaoToken 通道配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 22:00:13 阅读更多 →
力压OpenAI登顶Hugging Face,网易有道Confucius4-R2T2模型将亮相FlagOS技术大会

力压OpenAI登顶Hugging Face,网易有道Confucius4-R2T2模型将亮相FlagOS技术大会

10月17日至18日,2026人工智能开放计算大会暨众智FlagOS技术大会将在北京中关村国家自主创新示范区展示中心举行。网易有道将携旗下两大全量开源项目——Confucius4系列语音大模型与桌面级AI Agent LobsterAI亮相大会FlagOS集市,与全球开发者及产业伙伴现…

2026/10/15 22:00:13 阅读更多 →

最新新闻

Android-WizardPager状态保存完全指南:save()/load()让向导流程完美恢复现场

Android-WizardPager状态保存完全指南:save()/load()让向导流程完美恢复现场

示例工程移动开发 【免费下载链接】Android-WizardPager Android pager-style wizard flow sample code 项目地址: https://gitcode.com/gh_mirrors/an/Android-WizardPager 点击查看 免费下载 Android-WizardPager 是一个基于 ViewPager 的向导式(wiza…

2026/10/15 22:44:11 阅读更多 →
HTTPS环境下SSE实时推送:EventSource与Nginx配置避坑指南

HTTPS环境下SSE实时推送:EventSource与Nginx配置避坑指南

最近在做一个运营后台的实时消息推送需求:服务端有新的订单状态变更、告警消息,需要第一时间推到浏览器页面上,延迟还要控制在秒级以内。技术选型的时候我在 WebSocket 和轮询之间纠结了一阵,最后落到了 JavaScript 的SSE&#xf…

2026/10/15 22:44:11 阅读更多 →
PyTorch到TensorFlow模型转换:ONNX链路避坑全指南

PyTorch到TensorFlow模型转换:ONNX链路避坑全指南

前段时间我把一个 PyTorch 训练的语义分割模型送到生产环境,目标推理框架是 TensorFlow Serving,中间必须走一遍 pytorch → onnx → tensorflow 的转换链路。一开始我以为就是两行命令的事,结果前后折腾了两周,踩的坑数量远超预期…

2026/10/15 22:44:11 阅读更多 →
tfsec 规则详解:aws-athena-no-encryption-override——强制 Athena 工作组加密配置,防止客户端覆盖

tfsec 规则详解:aws-athena-no-encryption-override——强制 Athena 工作组加密配置,防止客户端覆盖

应用安全SASTIaC 【免费下载链接】tfsec Tfsec is now part of Trivy 项目地址: https://gitcode.com/gh_mirrors/tf/tfsec 点击查看 免费下载 本篇技术指南围绕 tfsec 内置检查规则 aws-athena-no-encryption-override 展开,讲解如何在 Terraform 中通…

2026/10/15 22:44:11 阅读更多 →
商场客户分群实战:从RFM到动态标签的三层漏斗模型

商场客户分群实战:从RFM到动态标签的三层漏斗模型

1. 项目概述:为什么商场客户分群不是“贴标签”,而是生意的导航仪你走进一家商场,电梯口立着电子屏,滚动播放“本层女装区今日会员专享85折”;收银台小票底部印着一行字:“您已连续3次购买儿童辅食&#xf…

2026/10/15 22:44:11 阅读更多 →
GEE交互式碳固存潜力地图:土壤属性评估与优先补碳地块筛查

GEE交互式碳固存潜力地图:土壤属性评估与优先补碳地块筛查

做区域碳汇潜力摸底的时候,我最头疼的往往不是报告怎么写,而是怎么让决策者一眼看懂“哪些地块值得优先补碳”。单看一张土壤有机碳含量图不够——含量低的地方可能受限于砂质、干旱,实际提升潜力很小;含量高的湿地和林地又可能已…

2026/10/15 22:43:10 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →