首页 > 其他分享 >C语言的循环结构

C语言的循环结构

时间:2025-01-21 22:57:36浏览次数:3  
标签:语句 循环体 C语言 while 循环 执行 表达式 结构

循环结构是编程语言中的一种重要结构,用于重复执行一段代码。主要有三种循环结构:for循环,while循环和do-while循环。

循环结构
(1)当型循环结构:当条件 P 成立(为真)时,反复执行循环语句,直到条件 P 不成立(为假)时
结束循环。(条件成立,才执行循环语句,for、while)
(2)直到型循环结构:先执行一次循环语句,再判断条件 P 是否成立(为真),若条件 P 成立(为
真),则反复执行循环语句,直到条件 P 不成立(为假)时结束循环。(do-while)

(1)while 循环

while 循环执行过程如下: ①计算循环控制表达式的值; ②如果循环控制表达式的值为真(非0),执行循环体中的语句,并返回步骤①; ③如果循环控制表达式的值为假(0值),就退出循环,执行循环体后面的语句。

以代码为例:

(2)do-while 循环

do-while 语句的执行过程如下: ①执行循环体中的语句; ②计算循环控制表达式的值; ③如果循环控制表达式的值为真(非0),那么返回步骤①; ④如果循环控制表达式的值为假(0值),就退出循环,执行循环体后面的语句。 先执行循环体后计算并判断循环控制条件,所以循环体内的语句将至少被执行一次。

以代码为例:

注:do-while中while后面的分号一定要带上。

(3)for 循环

 for 语句的执行过程如下: ①执行初始化表达式; ②计算循环控制表达式的值; ③如果循环控制表达式的值为真(非0),执行循环体中的语句; ④执行增值表达式,返回步骤②; ⑤如果循环控制表达式的值为假(0值),就退出循环,执行循环体后面的语句。

以代码为例:

循环中的break和continue语句:

(1)break语句:彻底退出循环语句。

(2)continue 语句:遇到continue 语句后,程序将跳过continue语句后面未执行的语句, 开始执行下一次循环,即只结束本次循环的执行,并不终止整个循环的执行。

以代码为例:

标签:语句,循环体,C语言,while,循环,执行,表达式,结构
From: https://blog.csdn.net/2401_88969570/article/details/145249732

相关文章

  • C语言/C++——递归、递推、动态规划
    什么是动态规划:给定一个问题,我们把他拆成一个个子问题,直到子问题可以直接解决。然后把子问题的答案保存起来,以减少重复计算。再根据子问题的答案反推,得出原问题解的一种方法递归的过程:"递"的过程是分解子问题的过程;(dfs是第归的一种)            “归......
  • 数据结构 单链表详解
    单链表的基本概念及特点定义:单链表是由一系列节点组成的线性序列,每个节点包含两个部分,一个是存储数据元素的数据域,另一个是指向下一个节点的指针域。最后一个节点的指针域为空(通常用NULL表示),表示链表的结束。特点:1、动态性:单链表的存储空间是在程序运行过程中动态分配......
  • 数据结构之链表(linked list)代码实现(小白轻松懂,C语言版)
    一、前言:链表的简单介绍链表(LinkedList)是一种重要的线性数据结构,它以节点(Node)的形式存储数据,每个节点通过指针(或引用)指向下一个节点,从而形成一个动态的数据链条。与数组不同,链表的内存分配并不连续,因此具有更灵活的插入和删除操作,但在随机访问元素时效率相对较低。链表通......
  • 数据结构-单向不带头不循环链表
    链表知识总结逻辑结构:线性结构(元素之间存在一对一关系)存储结构(物理结构):链式存储(存储顺序和逻辑顺序不在乎是否一致)1.链表的特点:擅长进行动态删除和增加操作,不擅长随机访问(需要遍历,因为链表不按顺序存放)2.链表分类:单双向链表单链表:元素节点有两部分组成(数据域-存储当前......
  • 数据结构-栈
    1、栈的基本概念1、栈是特殊的线性表:只允许在一端进行插入和删除操作2、栈的逻辑结构就是线性结构,栈的存储结构既可以是顺序存储,也可以是链式存储3、栈顶:允许进行插入和删除的一端(最上面的为栈顶元素)4、栈底:不允许进行插入和删除的一端(最下边的栈底元素)5、空栈:不含任何......
  • 数据结构-二叉树
     树的相关概念:1、节点的度:树中一个节点的孩子个数称为该节点的度,所有节点的度的最大值是树的度2、分支节点:度大于0的节点称为分支节点3、叶子结点:度为0的节点称为叶子结点4、节点的层次(深度):从上往下数,根节点为1层,依次往下加15、树的高度(深度):树中节点的最大层次6、树......
  • 神级STL结构-rope大法(学习笔记)
    简介:他是一个\(STL\)中自带的一种数据结构,是pb_ds(Policy-BasedDataStructures)库的一个分支,由于他的底层是可持久化平衡树——红黑树,或块状链表。所以他的操作的复杂度几乎约等于\(O(logn)\)或\(\sqrtn\)。它可支持操作较多,完全可以理解成加强版的\(vector\)。最为抽......
  • Day 8 循环结构
    1.while循环结构while(布尔表达式){   //循环内容}大多数情况下循环需要停止,我们需要一个让表达式失效的方式来结束循环。循环条件一直为true会造成无限循环“死循环”,正常的业务编程应尽量避免死循环,死循环会影响程序性能或者造成程序卡死崩溃。少部分情况需要循......
  • 《StringBuilder类的数据结构和扩容方式解读》
    StringBuilder类的简单用法、数据结构和扩容方式解读文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言在之前的文章中和大家讲过String字符串类具有不可变性,今天给大家介绍一个可变字符串类——StringBuilder类。提示:以下是本篇文章正文内......
  • Blazor 循环的迷思
    Steps列表有9条记录,循环9次总是出错,写i<8就没问题,百思不得其解 然后改成这样,循环steps.count-1次,然后第最后一个元素再copy一次html,就不报错然后网友提示for里面要临时变量,for里面要临时变量,varindex=i,或者foreach   ......