当前位置: 首页 > news >正文

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

前言

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


大家一起努力吧



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


C语言语句的分类

(1)表达式语句(例如 y=x+3;假设变量y和x均已定义)

(2)函数调用语句(MAX(x,y);假设函数MAX()已经定义)

(3)控制语句

(4)复合语句(把多种语句复合在一起形成的语句)

(5)空语句(例如 ;分号本身就可以作为一条语句,称为空语句,至于空语句的作用,后续会讲到 )

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

一、分支语句

(1)if语句

作用: 基础条件判断

if (条件) {// 条件为真时执行
}


(2)if-else 语句

作用: 二选一分支。

if (条件) {// 条件为真时执行
} else {// 条件为假时执行
}


(3)if-else if-else 链

作用: 多条件分支。

if (条件1) {// 条件1为真时执行
} else if (条件2) {// 条件2为真时执行
} else {// 其他情况
}


流程图演示

开始
条件
执行if代码块
执行else代码块
结束

注意:悬空else问题

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

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

include <stdio.h>
int main(){int a = 0;int b = 2;if(a = 1)if(b = 2)printf("hehe\n");elseprintf("haha\n");return 0;
}

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


(4)switch 语句

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

switch (表达式) {case1:// 匹配值1时执行break;case2:// 匹配值2时执行break;default:// 默认情况 或者 剩余情况
}


二、循环语句

(1)while 循环

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

while (条件) {// 条件为真时重复执行
}

流程图演示

开始
循环条件
执行循环体
遇到continue?
遇到break?
退出循环
结束


(2)do-while 循环

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

do {// 循环体
} while (条件);

流程图演示

开始
执行循环体
循环条件
遇到continue?
遇到break?
退出循环
结束


(3)for 循环

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

for (初始化; 条件; 迭代) {// 循环体
}

代码示例:

for (int i = 0; i < 10; i++) {printf("%d\n", i);}

流程图演示

开始
初始化
循环条件
执行循环体
遇到continue?
执行迭代语句
遇到break?
退出循环
结束


三、嵌套循环

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

for (int i = 0; i < 3; i++) {while (j < 2) {// 嵌套逻辑j++;}
}

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


拓展:辅助控制语句

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

(1)break

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

while (1) {if (x == 5) break; // 退出循环
}

流程图演示

while/do-while
for
循环体内部
遇到continue
跳过剩余代码
循环类型
回到条件判断
执行迭代语句后判断条件


(2)continue

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


注意:

  • 只能在 for、while、do-while 循环内部使用。

  • 不可在 switch 或非循环代码块中直接使用(除非 switch 嵌套在循环内)。

for (int i = 0; i < 10; i++) {if (i % 2 == 0) continue; // 跳过偶数printf("%d ", i); // 仅打印奇数
}

流程图演示

while/do-while
for
循环体内部
遇到continue
跳过剩余代码
循环类型
回到条件判断
执行迭代语句后判断条件


(3)goto

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

goto label;
// ... 
label:printf("跳转至此");


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

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

在这里插入图片描述

相关文章:

  • 如何避免 JavaScript 中常见的闭包陷阱?
  • Nginx stream模块是连接级别的负载均衡
  • 序列检测器
  • 【002】renPy android端启动流程分析
  • Docker从0到1:入门指南
  • 破解 Qt QProcess 在 Release 模式下的“卡死”之谜
  • Linux基础命令之目录管理——了解各种操作文件目录的命令,万字教学,超详细!!!(1)
  • windows防火墙
  • 特伦斯折叠重锤V70:实现专业演奏,从这里开始
  • 【Vue3】使用vite创建Vue3工程、Vue3基本语法讲解
  • JavaScript中的数字谜题:为何0.3的二进制不精确,浏览器却显示正确?
  • 07_SpringBoot2集成Redis连接失败
  • Git日志信息
  • nginx-整合modsecurity做waf
  • 【高并发架构设计】-1:高并发通用设计思想
  • 外出充电不发愁,倍思便携式移动电源成出行新宠
  • 【日撸 Java 三百行】Day 12(顺序表(二))
  • Linux笔记---信号(上)
  • I/O多路复用(select/poll/epoll)
  • 一.Gitee基本操作
  • 男子退机票被收票价90%的手续费,律师:虽然合规,但显失公平
  • 寒武纪陈天石:公司的产品力获得了行业客户广泛认可,芯片市场有望迎来新增量需求
  • 广西壮族自治区党委政法委副书记李文博接受审查调查
  • 言短意长|西湖大学首次“走出西湖”
  • 1至4月我国汽车产销量首次双超千万辆
  • 深入贯彻中央八项规定精神学习教育中央指导组完成进驻