news 2026/4/27 17:49:53

C 语言控制流完全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C 语言控制流完全指南

在 C 语言编程中,控制流是程序的核心骨架,决定了代码的执行顺序与逻辑分支。本文将系统讲解 C 语言中的分支、循环、跳转语句,帮你彻底掌握程序控制的核心技巧。

一、二路分支:if 与 if-else

逻辑:程序中某段代码需要在满足某个条件时才能运行。

两种形式:

  1. if 语句:表达「如果 - 则」的条件执行关系
  2. if-else 语句:表达「如果 - 否则」的互斥分支关系

核心注意点

  • if 语句可以单独使用,else 必须与 if 配套使用
  • 代码块必须用{}括起来,否则只有首句有效

代码示例

// 判断偶数 if(a % 2 == 0) { printf("a 是偶数\n"); }

二、多路分支:switch-case

逻辑:根据不同的条件执行不同的代码片段。

要点解析

  1. switch(n)中的 n 必须是整型或字符表达式
  2. case 只能带整型常量,不包括 const 型数据
  3. break 用于跳出整个 switch,没有会穿透执行
  4. default 不是必须的,一般放在最后

代码示例

switch(n) { case 1: printf("one\n"); break; case 2: printf("two\n"); break; case 3: printf("three\n"); break; default: printf("其他数字\n"); }

三、const 关键字:定义不可修改变量

逻辑:使一个变量不可被修改、不可被修饰。

代码示例

int const a = 100; // 定义不可修改变量 const int b = 200; a = 101; // 错误!无法修改 b = 202; // 错误!无法修改

四、循环结构:while、do-while、for

逻辑:让一段代码重复执行,提高代码效率。

1. while 循环:先判断,再循环

  • 入口判断,循环体可能一次都不执行
int a; scanf("%d", &a); while(a <= 100) { printf("%d\n", a); a++; }

2. do-while 循环:先循环,再判断

  • 出口判断,循环体至少执行一次
  • while 后面必须加分号
int a; scanf("%d", &a); do { printf("%d\n", a); a++; } while(a <= 100);

3. for 循环:最紧凑的循环

将初始化、条件、更新集中在一行,结构最清晰。

语法for(表达式1; 表达式2; 表达式3)

  • 表达式 1:初始化循环变量
  • 表达式 2:循环条件
  • 表达式 3:更新循环变量
  • 三个表达式可省略,但分号不能省
int a; for(a=30; a<=100; a++) { printf("%d\n", a); }

五、break 与 continue:控制循环流程

break

  • 跳出 switch 语句
  • 跳出当前一层循环

continue

  • 结束当次循环,直接进入下一次循环

代码示例

// 跳过所有能被7整除的数 for(int i=1; i<=100; i++) { if(i%7 == 0) continue; printf("%d\n", i); }

六、goto 语句:无条件跳转

逻辑:无条件跳转到本代码块中的标签位置。

  • 不利于可读性,一般不建议使用
  • 常用于错误处理场景

代码示例

int main() { printf("%d\n", __LINE__); goto label; // 直接跳转 printf("这行不会执行"); label: printf("跳转成功\n"); return 0; }

七、总结

C 语言控制流是编程基础中的核心:

  • 分支:if/elseswitch-case处理条件判断
  • 循环:while/do-while/for处理重复逻辑
  • 跳转:break/continue/goto灵活控制流程

掌握这些语法,你就能写出逻辑清晰、结构完整的 C 语言程序。

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

终极指南:5个简单步骤快速解密QQ聊天记录,实现跨平台数据迁移

终极指南&#xff1a;5个简单步骤快速解密QQ聊天记录&#xff0c;实现跨平台数据迁移 【免费下载链接】qq-win-db-key 全平台 QQ 聊天数据库解密 项目地址: https://gitcode.com/gh_mirrors/qq/qq-win-db-key QQ聊天记录是我们日常生活和工作中的重要数字资产&#xff0…

作者头像 李华
网站建设 2026/4/27 17:47:03

BES2710Y空间音频Spatialaudio实现方法

BES2710Y空间音频Spatialaudio实现方法 这是一个完整的空间音频(Spatial Audio)模块代码,包含TWS耳机中的陀螺仪数据处理、头部追踪、多模音频融合等功能。让我详细解析: 一、系统架构概览 ┌────────────────────────────────────…

作者头像 李华