CC++ & Algorithm

每日分享

每天一篇有深度的编程知识文章

125 篇文章

代码世界的岔路口:当程序学会说“如果……否则……”

你有没有在导航软件里见过这样的提示? “如果前方拥堵,请走左侧匝道;否则继续直行。” 这句话里藏着一个极其朴素的逻辑结构—— 条件成立走一条路,条件不成立走另一条路 。两条路互斥,你不可能同时走左侧匝道又继续直行。 C++ 里的 if-else 语句,本质上就是把这个导航提示翻译成了代码。它让程序第一次拥有了“判断力”——不再是机械地从上到下执行每一行,而是根据条件选择性地执行某一段...

2026年9月29日最新发布4 阅读👍 0C++ if-else 语句基础

数据包出门之后,到底经历了什么?

你有没有注意过这样一个现象:同一个Wi-Fi下,手机能打开路由器管理页面,但你的笔记本却访问不了隔壁房间那台打印机。设备明明都在线,IP也都有,为什么有的通、有的不通? 这个问题背后,藏着网络通信里几个最基础但也最容易被忽视的概念:IP、...

2026年9月28日5 阅读👍 0计算机网络基础

循环的刹车与方向盘:break 和 continue 到底该怎么用

你有没有在高速上开过车?油门踩下去,车子往前冲,但真正让你安全到达目的地的,从来不是油门,而是刹车和方向盘。 循环也一样。 for 和 while 给了程序“持续做一件事”的能力,但如果没有 break 和 continue ...

2026年9月27日6 阅读👍 0C++ 循环控制与综合应用

当循环学会“搭配”,程序才真正开始像人一样思考

你有没有在厨房里同时照看三个灶台的经历?一个锅在炖汤,一个锅在炒菜,还有一个蒸锅在冒气。你不能只盯着一个锅看,得来回巡视,哪个需要翻动就翻哪个,哪个火候到了就关哪个。这种“同时管理多个任务、根据状态做不同决策”的能力,恰恰是循环综合应用的精...

2026年9月26日6 阅读👍 0循环综合应用实例

当遥控器遇上静音键:聊聊C++里两个“反着来”的位运算符

你有没有注意过电视遥控器上那个静音键?按一下,声音消失;再按一下,声音回来。这个看似简单的“翻转”动作,背后其实藏着一个很有意思的数学结构——它和C++里的按位异或 ^ 有着惊人的相似性。 今天我想聊的不是“怎么用”这两个运算符,而是...

2026年9月25日10 阅读👍 0C++按位异或 ^ 和按位取反 ~

为什么 C++ 要把“字母”和“对错”分开存?聊聊 char 和 bool 的设计哲学

你有没有想过一个问题:电脑里存的明明都是 0 和 1,为什么 C++ 还要专门搞出一个 char 类型来存字母,又搞一个 bool 类型来存“对错”?直接都用 int 不行吗? 这个问题看似简单,但它背后藏着编程语言设计的一个...

2026年9月24日6 阅读👍 0C++字符类型 char 和布尔类型 bool

当程序学会摔倒后爬起来:Python异常处理的正确打开方式

跑步比赛中,选手被绊倒的瞬间,身体会本能地做出保护动作——手掌撑地、膝盖缓冲、迅速起身。整个过程不到一秒,比赛继续。 程序也需要这种本能。 用户输入 abc ,你期待的是数字;除以零,数学上无意义;打开一个不存在的文件,系统直接报错。没...

2026年9月23日9 阅读👍 0Python异常处理基础 try-except

为什么你背了那么多进制转换公式,却还是不会做八进制转十六进制?

先抛一个观点: 进制转换根本不需要背那么多公式,你只需要记住一个"中转站"就够了。 很多人在学进制转换的时候,习惯把二进制转八进制、八进制转十六进制、十六进制转二进制……每一种组合都当成独立的题型去记。结果就是,题目稍微一变——比如...

2026年9月22日6 阅读👍 0进制转换综合:任意进制互转的通用方法

为什么你的第一个C++程序总是报错?从Dev C++说起

你有没有遇到过这种情况:代码明明照着教程敲的一模一样,一按运行,满屏红色报错,而你盯着屏幕看了十分钟,愣是没发现哪里不对。 这不是你的问题。这是所有C++初学者都会经历的阶段——问题往往不在于逻辑,而在于你还没建立起对“编译”这件事的直觉...

2026年9月21日8 阅读👍 0Dev C++ 开发环境的使用

当猴子开始藏苹果:聊聊最大公约数背后那个"反复切"的思维

先抛结论:辗转相除法之所以成立,核心不在于"除法"这个动作,而在于一个更深的结构—— 两个数的公约数集合,和"小数"与"余数"的公约数集合,是完全相同的 。理解了这一点,你就不需要背 gcd(a,b) = gcd(b, a%b) 这...

2026年9月21日5 阅读👍 0Python最大公约数(GCD)

当数组开口说话:查找与统计背后的思维模型

你有没有想过,为什么一个简单的“找东西”操作,在编程里会被拆成两种不同的模式?查找和统计,表面上看都是遍历数组,但它们的思维模型截然不同。一个像是拿着照片找人,找到就收工;另一个像是拿着计数器蹲在门口,来一个符合条件的就按一下。今天我想聊聊...

2026年9月20日8 阅读👍 0C++数组的查找与统计

为什么你的冒泡排序总是“差一点”才排对?

你有没有过这样的经历:代码写完了,逻辑看起来没问题,运行结果却总是差那么一点点——要么最后一个数字没排对,要么程序多跑了一轮才停下来。你盯着屏幕反复检查,明明每一行都对,可它就是不肯乖乖听话。 如果你正在学冒泡排序,我几乎可以断定,你遇到...

2026年9月19日10 阅读👍 1冒泡排序:像汽水冒泡一样把数字排好

当计算机不会“借”,我们替它借——聊聊高精度减法里的那些细节

你有没有在超市遇到过这种情况:买了一件 23 块 7 的东西,掏出一张 50 块,收银员找给你 26 块 3。你心里默默验算了一下,发现没错。可如果这张 50 块是 500 位的数字呢?收银员大概要当场辞职。 计算机也面临同样的窘境。C+...

2026年9月18日14 阅读👍 1高精度减法——借位就像找邻居帮忙

指针算术:C++里最优雅的“一步之遥”

先抛一个观点: 指针之所以让人又爱又恨,根本原因不在于它“指向”什么,而在于它“走”多远。 很多语言都有引用、有对象句柄、有迭代器,但只有C和C++的指针把“地址算术”这件事摆到了台面上。你写 p + 1 ,编译器不会傻乎乎地把地...

2026年9月17日15 阅读👍 0C++指针与数组

为什么你的程序跑得比同学快?可能只是因为你更懂这三块“积木”

先说一个我经常在课堂上做的实验。 同一个计算任务,两个学生写出几乎相同的代码,一个跑完用了 0.8 秒,另一个用了 12 秒。代码逻辑看起来没差,变量名都差不多,循环层数也一致。问题出在哪?出在他们对计算机底层三块“积木”的理解上——CP...

2026年9月16日18 阅读👍 0CPU、内存和输入输出设备