C语言控制语句——循环语句

  • 什么是循环
    • 重复执行代码
  • 为什么需要循环
  • 循环的实现方式
    • while
    • do...while
    • fo

while语句

语法格式:

c 复制代码
while (条件) {
    循环体
    ......
}

需求:跑步5圈

示例代码:

c 复制代码
#include <stdio.h>

int main() {
    // 需求跑步5圈
    // 1. 条件变量的定义
    int i = 1;
    // 2. while 控制重复的次数
    while (i <= 5) {
        // 3. 打印跑步第几圈
        printf("跑步第 %d 圈\n", i);
        // 4. 条件改变
        i++;
    }

    return 0;
}

do...while语句

语法格式:

c 复制代码
do {
    循环体
    ......
} while (条件);
  • do-while 循环语句是在执行循环体之后才检查 条件 表达式的值
  • 所以 do-while 语句的循环体至少执行一次,do...while也被称为直到型循环
    需求:跑步5圈
    示例代码:
c 复制代码
#include <stdio.h>

int main() {
    // 需求跑步5圈
    // 1. 条件变量的定义
    int i = 1;
    do {
        // 2.1 打印跑步第几圈
        printf("跑步第 %d 圈\n", i);
        // 2.2 条件改变
        i++;
    } while ( i <= 5 ); // 3. 控制重复的次数

    return 0;
}

for语句

语法格式:

c 复制代码
for ( init; condition; increment ) {
	循环体
}
  • init会首先被执行,且只会执行一次
  • 接下来,会判断 condition,如果条件condition为真
  • 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句
  • 条件再次被判断
    需求:跑步5圈
    示例代码:
c 复制代码
#include <stdio.h>

int main() {
    // 需求跑步5圈
    for (int i = 1; i <= 5; i++) {
        printf("跑步第 %d 圈\n", i);
    }

    return 0;
}

死循环

  • 条件永远为真的循环就是死循环
  • 示例代码
c 复制代码
#include <stdio.h>

int main() {
    // while (1) {
    //     printf("根本停不下来\n");
    // }

    for(;;) {
        printf("根本停不下来\n");
    }

    return 0;
}

循环案例

实现1+2+3......100所有数字的累加

c 复制代码
#include <stdio.h>

int main() {
    // 需求:实现1+2+3......100所有数字的累加
    // 定义条件变量初始值为1
    int i = 1;
    // 定义累加变量,初始值为0
    int sum = 0;
    // 循环控制100次
    while (i <= 100) {
        // 累加
        sum += i;
        // 条件改变
        i++;
    }
    // 循环外面,打印最终的累加和
    printf("sum = %d\n", sum);

    // for循环实现
    int temp = 0;
    for (int i = 1; i <= 100; i++) {
        temp += i;
    }
    printf("temp = %d\n", temp);

    return 0;
}

循环嵌套

需求如下:

c 复制代码
通过for循环嵌套打印内容:
* * * * * 
* * * * * 
* * * * * 
* * * * * 
* * * * * 
说明:
1)每行有5个*,总共有5行
2)*之间有空格隔开
3)printf()1次只能打印1个*

示例代码:

c 复制代码
#include <stdio.h>

int main() {
    for (int i = 0; i <= 4; i++) {
        for (int j = 0; j <= 4; j++) {
            printf("* ");
        }
        printf("\n");
    }

    return 0;
}
相关推荐
666HZ6661 小时前
数据结构2.0 线性表
c语言·数据结构·算法
SmartRadio1 小时前
ESP32添加修改蓝牙名称和获取蓝牙连接状态的AT命令-完整UART BLE服务功能后的完整`main.c`代码
c语言·开发语言·c++·esp32·ble
济6173 小时前
嵌入式C语言(第二期)
c语言
Dillon Dong5 小时前
STM32嵌入式:使用 MT29F8G08ABACAWP NAND 的FLASH全面指南
c语言·stm32
zhongvv6 小时前
对单片机C语言指针的一些理解
c语言·数据结构·单片机·指针·汇编语言
朔北之忘 Clancy7 小时前
2025 年 9 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·数学·青少年编程·题解
你怎么知道我是队长8 小时前
C语言---缓冲区
c语言·开发语言
不爱吃糖的程序媛9 小时前
OpenHarmony 通用C/C++三方库 标准化鸿蒙化适配
c语言·c++·harmonyos
朔北之忘 Clancy10 小时前
2020 年 6 月青少年软编等考 C 语言二级真题解析
c语言·开发语言·c++·学习·青少年编程·题解·尺取法
HABuo10 小时前
【Linux进程(五)】进程地址空间深入剖析-->虚拟地址、物理地址、逻辑地址的区分
linux·运维·服务器·c语言·c++·后端·centos