"循环结构程序设计"考纲要求

核心考点 - 循环语句基础

高频考点:while、do…while、for循环语句的异同(必考)
  • 了解while循环:先判断条件,后执行循环体,可能一次都不执行
  • 了解do…while循环:先执行循环体,后判断条件,至少执行一次
  • 了解for循环:适合已知循环次数的场景,初始化、条件、更新一体化
  • 掌握三种循环的核心区别:执行时机、语法格式、适用场景

核心考点 - 循环语句使用

高频考点:while、do…while、for循环语句的使用(必考)
  • 掌握while循环的标准格式:while(条件表达式) { 循环体; }
  • 掌握do…while循环的标准格式:do { 循环体; } while(条件表达式);
  • 掌握for循环的标准格式:for(初始化; 条件; 更新) { 循环体; }
  • 理解循环条件的终止逻辑,避免死循环(考试高频易错点)

核心考点 - 循环嵌套

高频考点:循环嵌套的执行逻辑(高频)
  • 了解循环嵌套的概念:一个循环体内包含另一个完整的循环结构
  • 理解嵌套循环的执行顺序:外层循环执行一次,内层循环执行全部次数
  • 掌握简单嵌套循环的编写(如打印九九乘法表、矩形图案)
  • 区分外层循环和内层循环的控制变量(考试易错点)

核心考点 - 跳转语句

高频考点:break和continue语句的使用(必考)
  • 掌握break语句:终止当前所在循环/switch语句,跳出到外层继续执行
  • 掌握continue语句:跳过当前循环剩余语句,直接进入下一次循环判断
  • 理解break和continue的作用范围(嵌套循环中只作用于当前层)
  • 区分break和continue的执行效果(考试核心区分点)

高频考点精讲

考点1:三种循环语句的异同与使用(必考)

考试频次:每次必考 | 分值占比:20-25分

核心要点:掌握三种循环的语法格式和执行逻辑,区分执行时机是考试核心。

// 1. while循环(先判断后执行)
int i = 1;
while (i <= 5) {
    printf("i = %d\n", i);
    i++; // 避免死循环,必须更新条件变量
}

// 2. do...while循环(先执行后判断)
int j = 1;
do {
    printf("j = %d\n", j);
    j++;
} while (j <= 5); // 末尾必须加分号

// 3. for循环(已知次数,格式紧凑)
for (int k = 1; k <= 5; k++) {
    printf("k = %d\n", k);
}
解题技巧:循环判断口诀:while先判后做,do-while先做后判,for适合次数明确;死循环检查:是否有条件更新语句,条件是否能为假。

考点2:循环嵌套(高频)

考试频次:80%考题涉及 | 分值占比:15-20分

核心要点:理解嵌套循环执行顺序,外层控行、内层控列是编程题核心思路。

// 循环嵌套示例:打印3行4列星号(外层控行,内层控列)
for (int row = 1; row <= 3; row++) { // 外层循环:控制行数
    for (int col = 1; col <= 4; col++) { // 内层循环:控制列数
        printf("* ");
    }
    printf("\n"); // 每行结束换行
}
// 执行逻辑:row=1时,col从1-4;row=2时,col从1-4;row=3时,col从1-4
解题技巧:嵌套循环解题三步法:①外层循环定行数 ②内层循环定列数 ③内层循环结束后换行;考试编程题优先确定外层和内层的控制范围。

考点3:break和continue语句(必考)

考试频次:每次必考 | 分值占比:15-20分

核心要点:区分break(终止循环)和continue(跳过本次)的执行效果,是改错题核心考点。

// 1. break语句:终止整个循环
for (int i = 1; i <= 5; i++) {
    if (i == 3) {
        break; // 当i=3时,直接终止循环
    }
    printf("i = %d\n", i); // 输出:1 2
}

// 2. continue语句:跳过本次循环剩余内容
for (int j = 1; j <= 5; j++) {
    if (j == 3) {
        continue; // 当j=3时,跳过printf
    }
    printf("j = %d\n", j); // 输出:1 2 4 5
}
解题技巧:break/continue区分口诀:break是“打断”(终止循环),continue是“继续”(跳过本次);改错题中看到循环提前结束查break,看到部分数据缺失查continue。

考点4:循环易错点辨析(高频)

考试频次:75%考题涉及 | 分值占比:10-15分

核心要点:掌握考试高频易错点,避免基础语法错误丢分。

// 易错点1:do-while循环末尾漏分号
// 错误写法
int a = 1;
do {
    a++;
} while (a <= 5) // 缺少分号,语法错误

// 易错点2:for循环条件后加分号(死循环)
for (int b = 1; b <= 5; b++); { // 分号导致循环体为空,死循环
    printf("b = %d\n", b);
}

// 易错点3:嵌套循环控制变量混淆
for (int m = 1; m <= 3; m++) {
    for (int n = 1; n <= 2; n++) {
        printf("m=%d,n=%d ", m, n);
        m++; // 错误:修改外层循环变量
    }
}
解题技巧:循环易错点检查优先级:①分号位置(do-while末尾、for循环体前)→ ②控制变量更新 → ③嵌套循环变量混淆 → ④条件表达式逻辑。

实战解题训练

例题1:循环语句改错 中等

考点定位:三种循环语法 + break/continue使用(考试重点题型)

题目:找出以下程序中的错误并改正(考试常考题型,分值15分)

// 错误程序:计算1-10的偶数和
#include <stdio.h>
int main() {
    int sum = 0;
    int i = 1;
    do {
        if (i % 2 = 1) // 错误1
            continue // 错误2
        sum += i;
        i++;
    } while (i <= 10) // 错误3
    printf("偶数和:%d\n", sum);
    return 0;
}

错误分析与改正

  1. i % 2 = 1 → i % 2 == 1(判断相等用==,赋值用=,语法错误)
  2. continue后加; → continue;(语句结束必须有分号)
  3. while (i <= 10)后加; → while (i <= 10);(do-while循环末尾必须有分号)
  4. 逻辑优化:i++位置错误,continue会跳过i++导致死循环,需将i++移到if判断前
解题技巧:循环改错题检查优先级:①语法错误(分号、运算符、关键字)→ ②逻辑错误(变量更新、条件判断)→ ③功能错误(break/continue位置)。

例题2:循环执行结果判断 简单

考点定位:循环执行逻辑 + break/continue(考试高频题型)

题目:以下程序的输出结果是什么?(分值10分)

#include <stdio.h>
int main() {
    int x = 0;
    for (int k = 1; k <= 5; k++) {
        if (k == 3) {
            break;
        }
        x += k;
    }
    printf("x = %d\n", x);
    return 0;
}

答案:x = 3

解析

  • k=1时:x=0+1=1
  • k=2时:x=1+2=3
  • k=3时:触发break,终止整个for循环
  • 最终x的值为3
解题技巧:循环结果推导三步法:①列出循环变量初始值 ②逐次推导循环执行过程 ③标记break/continue的触发点;考试时建议手动分步计算,避免跳步出错。

例题3:循环嵌套编程题 较难

考点定位:循环嵌套 + 循环控制(考试压轴题型,分值20分)

题目:编写一个C程序,使用嵌套循环打印如下三角形图案,要求符合程序设计规范。

图案要求:
*
**
***
****
*****

参考答案

// 程序功能:使用嵌套循环打印5行三角形星号图案
#include <stdio.h>

int main() {
    // 外层循环控制行数(1-5行)
    for (int row = 1; row <= 5; row++) {
        // 内层循环控制列数(每行打印row个星号)
        for (int col = 1; col <= row; col++) {
            printf("*");
        }
        // 每行结束后换行
        printf("\n");
    }
    return 0;
}
解题技巧:图案类编程题得分要点:①外层循环定行数 ②内层循环定列数(找出行数和列数的数学关系) ③换行时机(外层循环内、内层循环外) ④变量命名规范(row/col更易理解)。

循环结构考点闯关游戏(满分100分)

当前关卡: 1/10
得分: 0/100
1关 - 高频考点

C语言中,do…while循环的执行特点是?

恭喜你完成所有考点关卡!

你的最终得分是: 0/100

得分等级:

你已经掌握了循环结构程序设计的核心考点!