【硬核C语言】do…while必执行一次!4个实战妙用新手很少知
很多新手只记住一句话do…while 不管条件真假先执行1次循环体再判断条件但90%的人只背语法完全不知道这个特性在实战里到底用来干嘛。今天不讲废话只讲单机开发、底层程序、C语言实战中真正能用的妙用附带可直接运行的代码。一、先简单回顾底层逻辑do { // 这里【一定会执行1次】 } while(条件);执行顺序执行代码块 → 判断条件 → 决定要不要继续循环哪怕 while(0) 条件直接不成立大括号里依旧跑1次。四大真实妙用全是实战场景不是纸上谈兵妙用1必须先做一次操作再判断要不要重复最常用场景用户输入校验、菜单选择、交互逻辑比如让用户输入一个数字至少输入一次再判断合不合法不合法就重输。#include int main() { int num; do { printf(请输入1~10之间的数字); scanf(%d, num); } while (num 1 || num 10); // 不合法就循环重输 printf(输入合法%d, num); return 0; }- 用 while 还要先写一次输入- 用 do…while 天然保证至少输入一次代码更干净妙用2至少执行一次的初始化 / 清理逻辑底层、驱动、单机程序高频写底层、嵌入式、工具程序时有些初始化、资源释放、内存清理必须先执行一次再判断是否继续循环处理。比如循环处理文件先打开一次再判断是否还有数据do { // 必须先读取一次数据 read_data(); } while (has_more_data());优势就算没有数据初始化/读取流程也完整跑一遍不会漏执行关键步骤。妙用3跳出多层循环的极简写法底层常用小技巧很多人不知道 do…while(0) 是C语言万能代码块、宏封装神器。特点只执行1次直接结束用来包裹代码块方便 break 跳出。do { if (error1) break; if (error2) break; // 正常业务逻辑 } while(0);- 只会执行一次- 中间任意地方 break 就能跳出整块代码底层驱动、嵌入式、开源库大量用这个写法比goto优雅太多。妙用4第一次无条件执行后续按条件循环状态机、硬件通信硬件、传感器、车载程序里特别常见第一次必须发送指令之后根据反馈决定要不要重试do { send_cmd(); // 第一次必发 } while (!check_ok()); // 没成功就一直重发- 第一次强制发送指令- 失败自动重试成功停止完美适配硬件通信、网络重试、故障重试逻辑。一句话总结核心妙用do…while 最不可替代的本质先做事后判断保证至少执行一次不用重复写前置代码。1. 输入校验、菜单交互2. 底层初始化、资源处理3. do…while(0) 代码块封装4. 硬件重试、状态机逻辑看似简单的循环语法底层开发、单机软件里全是细节。后续持续更新纯C语言底层干货新手少走弯路喜欢可以关注。#C语言#​ #编程入门#​ #程序员干货#​ #循环语句#​ #计算机底层#​ #单机软件#​#c语言学习#​

相关新闻

Django毕设项目:基于 Django 的多功能网上购物电商服务系统设计 个人用户线上购物消费管理系统 (源码+文档,讲解、调试运行,定制等)

Django毕设项目:基于 Django 的多功能网上购物电商服务系统设计 个人用户线上购物消费管理系统 (源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/26 0:38:46 阅读更多 →
Django毕设项目:基于Django的智慧文旅公园资源定位服务平台实现 城市休闲公园信息归档与定位查询系统 (源码+文档,讲解、调试运行,定制等)

Django毕设项目:基于Django的智慧文旅公园资源定位服务平台实现 城市休闲公园信息归档与定位查询系统 (源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/26 0:38:46 阅读更多 →
容器网络延时与乱序包:veth 的开销到底有多大?

容器网络延时与乱序包:veth 的开销到底有多大?

容器网络延时与乱序包:veth 的开销到底有多大?实验环境:Ubuntu 24.04 / 内核 6.8.0-106-generic / Cgroup v2 / Docker 29.1.3 / 华为云 FlexusX 8C16G(8vCPU/16G)。 全程只操作 docker0 / veth / 自建 netns&#xff…

2026/7/26 0:38:46 阅读更多 →

最新新闻

AI Agent控制工程:提升模型稳定性的关键实践

AI Agent控制工程:提升模型稳定性的关键实践

1. 为什么你的Agent总在翻车?上周帮同事排查一个对话系统故障时发现,他们用的模型版本、训练数据和我们团队完全一致,但实际效果却天差地别。这让我想起三年前刚接触AI Agent开发时踩过的坑——当时以为只要模型够强就能解决问题,…

2026/7/26 0:46:50 阅读更多 →
【JVM原理详解】14-方法区演进-永久代到元空间

【JVM原理详解】14-方法区演进-永久代到元空间

方法区演进:永久代到元空间 前几篇我们讨论了堆、栈等运行时数据区。还有一个区域长期被开发者"闻之色变"——方法区(Method Area)。它存储类信息、常量、静态变量等数据,是JVM中争议最多的内存区域。从JDK 7的"永…

2026/7/26 0:46:50 阅读更多 →
基于YOLOv3的智能考场监控系统设计与优化

基于YOLOv3的智能考场监控系统设计与优化

1. 项目背景与核心价值在教育信息化快速发展的今天,考试作弊问题始终是困扰教学管理的痛点。传统监考方式依赖人力,存在监控盲区、效率低下等问题。我们团队开发的这套基于YOLOv3的教学辅助系统,通过计算机视觉技术实现了智能化考场监控&…

2026/7/26 0:45:49 阅读更多 →
腾讯混元Hy3深度解析:295B参数只激活21B,推理效率怎么做到提升40%的

腾讯混元Hy3深度解析:295B参数只激活21B,推理效率怎么做到提升40%的

7月6日腾讯混元Hy3正式发布,7月20日宣布限时免费延长到8月5日。说实话,295B参数、Apache 2.0开源、API定价输入1元/输出4元/百万token——这些数字单独拿出来都不算特别惊人,但放在一起看,你会发现腾讯这次打了一套组合拳。 我最感…

2026/7/26 0:40:47 阅读更多 →
Django毕设项目: 协同过滤算法在音乐推荐系统中的应用与实现 个性化收藏音乐智能推送系统设计(源码+文档,讲解、调试运行,定制等)

Django毕设项目: 协同过滤算法在音乐推荐系统中的应用与实现 个性化收藏音乐智能推送系统设计(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/26 0:39:47 阅读更多 →
Django毕设项目:基于Django的支持个性化需求的餐厅业务管理系统实现 数字化餐饮经营数据统计管理平台 (源码+文档,讲解、调试运行,定制等)

Django毕设项目:基于Django的支持个性化需求的餐厅业务管理系统实现 数字化餐饮经营数据统计管理平台 (源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/26 0:39:47 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻