news 2026/7/26 6:03:00

C语言中的流程控制1(分支结构)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言中的流程控制1(分支结构)

昨天我们了解了常用的输入输出函数,今天我们来了解C语言中的流程控制。
程序默认都是顺序结构,从上到下一行一行执行。但现实里很多场景需要做判断,这时就要用到分支结构。

先说说关系运算符和逻辑运算符,这是所有判断的基础。> < == !=这类关系运算,结果只有1(真)和0(假)。
逻辑运算符三个:&&(并且)、||(或者)、!(取反)。这里有个很关键的特性——截断特性。&&左边条件为假,右边代码直接不运行;||左边条件为真,右边不再运算,写代码的时候很容易踩坑。还有三目运算符,条件 ? 表达式1 : 表达式2,简单的二选一判断可以简化代码。

重头戏是if分支语句。
最基础的if-else很好理解,二选一。进阶有两种写法:阶梯分支、嵌套分支。
阶梯分支就是if … else if … else,适合多种条件依次判断,比如划分成绩等级。
嵌套分支,就是if里面再套一层if,适合条件分层判断。举个例子:先判断是不是三位数,在三位数的前提下,再判断是否是水仙花数。
这里踩过不少坑:else总是和离它最近、没有匹配else的if配对;如果不加大括号,if只能控制紧跟的一行代码,大括号千万不能偷懒漏写。

然后学习了switch语句。
switch适合某个变量和固定常量匹配的场景。
几个硬性规则我们应该记住:

  1. switch括号内只能是整型,不能写小数浮点;
  2. case后面必须是常量,不能放变量;
  3. break非常关键!不加break会发生穿透,匹配成功后会持续执行后续所有case;
  4. default是可选分支,所有case都不匹配时执行。

switch同样支持嵌套,case里面可以继续写switch,不过日常写代码用得不多。

简单总结一下怎么选择分支:
少量条件判断用if-else;多区间连续判断优先阶梯if;变量匹配固定常量,首选switch。

理论看着不难,但上手敲代码一堆小bug。比如闰年判断、水仙花数程序,经常因为大括号错位、逻辑运算符写错导致结果出错。纸上看懂和键盘敲出来完全是两回事,还是得多写练习巩固。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/26 6:00:31

PHP+SQLite3

运行服务器php -S localhost:8000 -t E:\HY\phpClass "SQLite3" not foundWindows确定 php_sqlite3.dll 在 ext 目录 php.iniextensionphp_sqlite3.dllLinuxsudo apt install php-sqlite3PHP Startup: Unable to load dynamic library sqlite3php.iniextension_dir …

作者头像 李华
网站建设 2026/7/26 5:58:57

深入解析以太网交换机QoS:基于TI AM261x的优先级映射与VLAN处理实战

1. 项目概述与核心价值在嵌入式网络设备开发&#xff0c;尤其是工业控制、车载网关或智能安防这类对网络实时性和可靠性有严苛要求的领域&#xff0c;我们常常会面临一个核心挑战&#xff1a;如何确保关键的控制指令或视频流数据&#xff0c;在网络拥塞时依然能低延迟、无丢包地…

作者头像 李华
网站建设 2026/7/26 5:58:32

基于EfficientNet的实时表情识别系统设计与优化

1. 项目概述这个表情识别系统项目是我去年为一个智能客服团队开发的实战解决方案。当时他们需要实时分析客户视频通话时的情绪变化&#xff0c;以便及时调整服务策略。经过3个月的迭代开发&#xff0c;我们最终实现了一个准确率达92.3%的轻量化模型&#xff0c;现在我把整个设计…

作者头像 李华
网站建设 2026/7/26 5:54:33

获取栅格/矢量边界

3D Analyst 工具 → 转换 → 由栅格转出 → 栅格范围 (Raster Domain)&#xff1a;如果是要素&#xff08;暂&#xff09;&#xff1a;

作者头像 李华
网站建设 2026/7/26 5:52:52

ARFoundation示例项目深度解析:从核心模块到实战应用开发指南

1. 项目概述与核心价值最近几年&#xff0c;AR&#xff08;增强现实&#xff09;技术已经从概念走向了大众应用&#xff0c;无论是电商平台的虚拟试穿&#xff0c;还是教育领域的互动教学&#xff0c;都能看到它的身影。对于Unity开发者而言&#xff0c;ARFoundation无疑是进入…

作者头像 李华
网站建设 2026/7/26 5:51:25

神经网络基础:从零实现与核心原理详解

1. 神经网络与深度学习基础概述神经网络作为机器学习领域的重要分支&#xff0c;近年来在图像识别、自然语言处理等领域取得了突破性进展。本章将从最基础的单层感知器开始&#xff0c;逐步深入到多层神经网络的结构与训练方法。不同于传统机器学习算法&#xff0c;神经网络通过…

作者头像 李华