新闻详情

新闻详情

首页 / 资讯中心 / 详情

分支与循环:让程序学会“思考”和“重复”

发布时间:2026/9/30 11:57:02来源:尧图网络
分支与循环:让程序学会“思考”和“重复”
一. 引言程序的两大“超能力”初学 C 语言的时候很多人会被分支、循环绕晕。其实说白了分支就是做选择循环就是重复干活生活里到处都是对应的场景。二. 分支让程序学会“做选择”分支的本质就一句话如果满足某个条件就走这条路否则走另一条路。它就像你出门前看天气——下雨就带伞出太阳就戴帽子。程序里的分支就是让代码根据不同的情况做出不同的反应。2.1 if 语句最简单的条件判断if 语句是分支里最基础的一种翻译过来就是“如果……就……”。它适合处理那种“要么做要么不做”的单一判断。举个例子判断一个人是不是成年人int age 19; if(age 18){ printf(已经成年了) }这里只有一种情况年龄够了就打印提示。如果年龄不够呢什么都不发生。这就是 if 的“单行道”特性。2.2 if-else 语句两条路的岔路口现实生活里更多时候是“非此即彼”。if-else 就是给程序加了一个“否则”的选项让两条路都能走通。还是用年龄举例这次加上“否则”的分支int age 16; if(age 18){ printf(成年了); else{ printf(未成年); }你看不管年龄是多少程序都会给出一个结果。这就是 if-else 和 if 最大的区别if 是“可做可不做”if-else 是“二选一必须选一个”。2.3 if-else if-else多岔路口的选择当选择不止两个时if-else if-else 就派上用场了。它就像导航仪根据你当前的位置给你规划一条最合适的路线。比如根据分数给学生评级​ int score 85 if (score 90){ print(优秀继续保持); } else if(score 80){ print(良好再努努力就能更上一层楼); } else if(score 60){ print(及格了但还有提升空间。); } else{ print(不及格需要加把劲了。); } ​这里有个关键点程序会从上往下依次检查一旦某个条件满足后面的就不再看了。所以条件的顺序很重要——如果把“大于等于60”写在“大于等于90”前面那考了95分的人也会被归到“及格”那一档这就闹笑话了。2.4 switch 分支固定值匹配switch就像自助点餐机输入编号对应不同菜品专门处理固定值匹配。千万别忘了加break不然会发生“点餐全上”的穿透bug。例如输入一个数字判断是星期几。int day 2; switch(day){ case 1: printf(周一); break; case 2: printf(周二); break; case 3: printf(周三); break; default: printf(输入错误); }三. 循环让程序学会“不厌其烦”循环解决的是另一个问题重复劳动。人做重复的事会累、会烦、会出错但程序不会。循环就是让程序“不厌其烦”地执行同一段代码直到满足某个条件才停下来。3.1 for 循环按“清单”办事for 循环适合那种“我知道要循环多少次”的场景。它就像你拿着购物清单逛超市——清单上有几项你就逛几项逛完就结束。比如明确要循环 5 次从 1 打印到 5。​ for(int i1; i5; i){ printf(当前数字%d\n,i); } ​逻辑第一步初始化变量第二步判断条件条件成立执行循环体执行完循环体执行自增然后回到第二步判断。适合提前知道循环次数遍历数组、打印九九表最常用3.2 while 循环按“条件”办事while 循环则适合“我不知道要循环多少次但我知道什么时候该停”的场景。它就像跑步——你不需要提前知道要跑多少步只要“还没到终点”这个条件成立就一直跑。例如int i 1; while(i 5){ printf(当前数字%d\n,i); i; }逻辑先检查条件条件成立才进入循环体。如果一开始条件就不成立循环体一次都不会跑。适合不知道循环要跑多少次的场景。3.3 do while 循环先干活再判断do while循环适合先执行再判断的的场景就像是先喝一口水再看看杯子里还有没有水以此来判断下回还能喝不。int i 1; do{ printf(当前数字%d\n,i); i; }while(i 5);逻辑不管条件如何循环体至少执行一次执行完一轮之后再去判断条件决定要不要继续。适合必须至少执行一次的场景比如菜单先打印菜单再等待用户选择。四.分支 循环组合真实代码最常用的搭配单独分支或者单独循环用处有限写项目基本都是搭配使用。 举个例子猜数字游戏。循环一直运行菜单分支判断玩家输入猜对就 break 跳出循环。while(1){ printf(猜数字); scanf(%d,num); if(num ans){ printf(大了\n); }else if(num ans){ printf(小了\n); }else{ printf(猜对); break; } }
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Linux上下文切换的硬件开销与性能优化实战 2026/9/30 13:52:08

Linux上下文切换的硬件开销与性能优化实战

1. 这不是“切换一下”那么简单:为什么你写的程序总卡在上下文切换上? 很多人第一次听说“进程上下文切换”,脑子里浮现的是一张CPU在两个任务之间快速跳转的动画图,配上“毫秒级切换”“高效调度”这类词。但我在嵌入式Linux驱动…

阅读更多 →
2026亚马逊加拿大站|电子产品上架合规检测报告大全 2026/9/30 13:52:08

2026亚马逊加拿大站|电子产品上架合规检测报告大全

2026亚马逊加拿大站|电子产品上架合规检测报告大全(无线/有线/锂电/电源)做亚马逊加拿大站的卖家都深有体会:电子产品是审核最稳、下架最快的类目。很多人习惯性用美国站 UL、FCC 报告直接上架加拿大站,结果&#xff1…

阅读更多 →
如何给DSH小鲸鱼挂件贡献代码:分支策略、Issue与PR规则的完整指南 2026/9/30 13:51:26

如何给DSH小鲸鱼挂件贡献代码:分支策略、Issue与PR规则的完整指南

如何给DSH小鲸鱼挂件贡献代码:分支策略、Issue与PR规则的完整指南 【免费下载链接】DeepSeek-Balance-Whale-Widget DeepSeek Harness(DSH)一只住在 DSH 界面右下角的小鲸鱼娘,帮你盯着DeepSeek账户余额。QQ弹弹,支持拖…

阅读更多 →
【NLP】大模型长文本处理技术与GLM-4-Plus评测:从上下文窗口到TaoToken统一调用 2026/9/30 13:51:19

【NLP】大模型长文本处理技术与GLM-4-Plus评测:从上下文窗口到TaoToken统一调用

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

阅读更多 →
【Linux指南】动静态库系列(九):动态库如何进入进程地址空间:从磁盘 .so 到共享内存映射 2026/9/30 13:51:06

【Linux指南】动静态库系列(九):动态库如何进入进程地址空间:从磁盘 .so 到共享内存映射

文章目录一、动态库为什么比静态库更常用二、动态库也是文件三、动态库加载的整体流程四、从磁盘 .so 到物理内存五、从物理内存到进程虚拟地址空间六、多个进程如何共享同一个动态库七、共享的是代码,不是什么都共享八、为什么动态库加载地址不固定九、使用 /proc …

阅读更多 →
PSE认证证书有效期多久,产品改款后是否需要重新做认证? 2026/9/30 13:50:59

PSE认证证书有效期多久,产品改款后是否需要重新做认证?

PSE并不是一张所有产品都按统一年限有效的“永久证书”。需要先区分产品是否属于特定电气用品,以及企业持有的是符合性检查证书、检测报告还是其他合规文件。产品改款后,也不能仅凭外观变化判断是否需要重新认证,关键要看改动是否影响安全结构…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉