首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >收集飞花令碎片——C语言分支与循环语句(上)

收集飞花令碎片——C语言分支与循环语句(上)

作者头像
枫亭湖区
发布2025-11-18 16:11:23
发布2025-11-18 16:11:23
320
举报

前言

Hello,各位码友,本章将会给大家带来C语言的分支与循环整章串讲,这一张的内容分为基础知识和程序练习两个部分 希望通过这一章能够带大家更好地去掌握C语言的分支与循环语句 大家一起努力吧

C语言分支与循环语句(基础知识)
  • 这一章的C语言分支与循环结构的基础知识已经全部讲完了,下一章会利用几道程序设计题目让大家更好地掌握分支循环语句

C语言语句的分类

(1)表达式语句(例如 y=x+3;假设变量y和x均已定义) (2)函数调用语句(MAX(x,y);假设函数MAX()已经定义) (3)控制语句 (4)复合语句(把多种语句复合在一起形成的语句) (5)空语句(例如 ;分号本身就可以作为一条语句,称为空语句,至于空语句的作用,后续会讲到 )

无论上述哪一种语句,都必须以分号结束!

一、分支语句

(1)if语句

作用: 基础条件判断

代码语言:javascript
复制
if (条件) {
    // 条件为真时执行
}

(2)if-else 语句

作用: 二选一分支。

代码语言:javascript
复制
if (条件) {
    // 条件为真时执行
} else {
    // 条件为假时执行
}

(3)if-else if-else 链

作用: 多条件分支。

代码语言:javascript
复制
if (条件1) {
    // 条件1为真时执行
} else if (条件2) {
    // 条件2为真时执行
} else {
    // 其他情况
}
流程图演示

注意:悬空else问题

如果有多个ifelse,可以记住这样一条规则,else总是跟最近的if匹配

我们首先从最下面的代码开始

代码语言:javascript
复制
include <stdio.h>
int main(){
	int a = 0;
	int b = 2;
	if(a = 1)
		if(b = 2)
			printf("hehe\n");
	else
		printf("haha\n");
	return 0;
}

最后你会发现,运行代码啥都不输出 这就是悬空else的问题,就是else总是跟最近的if匹配

(4)switch 语句

作用: 多路选择,基于整型或枚举值。

代码语言:javascript
复制
switch (表达式) {
    case 值1:
        // 匹配值1时执行
        break;
    case 值2:
        // 匹配值2时执行
        break;
    default:
        // 默认情况 或者 剩余情况
}

二、循环语句

(1)while 循环

作用: 先判断条件,后执行循环体。

代码语言:javascript
复制
while (条件) {
    // 条件为真时重复执行
}

流程图演示

(2)do-while 循环

作用: 先执行一次循环体,再判断条件(至少执行一次)。

代码语言:javascript
复制
do {
    // 循环体
} while (条件);

流程图演示

(3)for 循环

集初始化、条件判断、迭代于一行。

代码语言:javascript
复制
for (初始化; 条件; 迭代) {
    // 循环体
}

代码示例:

代码语言:javascript
复制
for (int i = 0; i < 10; i++) {
    printf("%d\n", i);
    }

流程图演示

三、嵌套循环

循环内包含其他循环(任意组合 for、while、do-while)。

代码语言:javascript
复制
for (int i = 0; i < 3; i++) {
    while (j < 2) {
        // 嵌套逻辑
        j++;
    }
}

利用嵌套循环可以打印出不同样式的九九乘法表,在程序练习那一章会讲解

拓展:辅助控制语句

作用: 与分支和循环配合使用的跳转语句:

(1)break

作用: 立即退出当前循环或 switch 语句。

代码语言:javascript
复制
while (1) {
    if (x == 5) break; // 退出循环
}

流程图演示

(2)continue

作用: 跳过当前循环的剩余部分,进入下一次迭代。 注意:

  • 只能在 for、while、do-while 循环内部使用。
  • 不可在 switch 或非循环代码块中直接使用(除非 switch 嵌套在循环内)。
代码语言:javascript
复制
for (int i = 0; i < 10; i++) {
    if (i % 2 == 0) continue; // 跳过偶数
    printf("%d ", i); // 仅打印奇数
}

流程图演示

(3)goto

作用: 跳转到指定标签(慎用,易破坏代码结构)。

代码语言:javascript
复制
goto label;
// ... 
label:
    printf("跳转至此");

这一章的C语言分支与循环结构的基础知识已经全部讲完了,下一章会利用几道程序设计题目让大家更好地掌握分支循环语句

如果你觉得这篇文章对你有帮助,请给小编一个三连支持一下嘻嘻嘻

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C语言分支与循环语句(基础知识)
  • C语言语句的分类
  • 一、分支语句
    • (1)if语句
    • (2)if-else 语句
    • (3)if-else if-else 链
      • 流程图演示
    • 注意:悬空else问题
    • (4)switch 语句
  • 二、循环语句
    • (1)while 循环
    • 流程图演示
    • (2)do-while 循环
    • 流程图演示
    • (3)for 循环
    • 流程图演示
  • 三、嵌套循环
  • 拓展:辅助控制语句
    • (1)break
    • 流程图演示
    • (2)continue
    • 流程图演示
    • (3)goto
  • 这一章的C语言分支与循环结构的基础知识已经全部讲完了,下一章会利用几道程序设计题目让大家更好地掌握分支循环语句
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档