- C编程教程
- C语言 - 首页
- C语言基础
- C语言 - 概述
- C语言 - 特性
- C语言 - 历史
- C语言 - 环境搭建
- C语言 - 程序结构
- C语言 - Hello World
- C语言 - 编译过程
- C语言 - 注释
- C语言 - 词法单元
- C语言 - 关键字
- C语言 - 标识符
- C语言 - 用户输入
- C语言 - 基本语法
- C语言 - 数据类型
- C语言 - 变量
- C语言 - 整数提升
- C语言 - 类型转换
- C语言 - 类型强制转换
- C语言 - 布尔值
- C语言中的常量和字面量
- C语言 - 常量
- C语言 - 字面量
- C语言 - 转义序列
- C语言 - 格式说明符
- C语言中的运算符
- C语言 - 运算符
- C语言 - 算术运算符
- C语言 - 关系运算符
- C语言 - 逻辑运算符
- C语言 - 位运算符
- C语言 - 赋值运算符
- C语言 - 一元运算符
- C语言 - 自增和自减运算符
- C语言 - 三元运算符
- C语言 - sizeof运算符
- C语言 - 运算符优先级
- C语言 - 其他运算符
- C语言中的决策语句
- C语言 - 决策语句
- C语言 - if语句
- C语言 - if...else语句
- C语言 - 嵌套if语句
- C语言 - switch语句
- C语言 - 嵌套switch语句
- C语言中的循环
- C语言 - 循环
- C语言 - while循环
- C语言 - for循环
- C语言 - do...while循环
- C语言 - 嵌套循环
- C语言 - 死循环
- C语言 - break语句
- C语言 - continue语句
- C语言 - goto语句
- C语言中的函数
- C语言 - 函数
- C语言 - 主函数
- C语言 - 按值调用函数
- C语言 - 按引用调用函数
- C语言 - 嵌套函数
- C语言 - 可变参数函数
- C语言 - 用户自定义函数
- C语言 - 回调函数
- C语言 - return语句
- C语言 - 递归
- C语言中的作用域规则
- C语言 - 作用域规则
- C语言 - 静态变量
- C语言 - 全局变量
- C语言中的数组
- C语言 - 数组
- C语言 - 数组的特性
- C语言 - 多维数组
- C语言 - 向函数传递数组
- C语言 - 从函数返回数组
- C语言 - 变长数组
- C语言中的指针
- C语言 - 指针
- C语言 - 指针和数组
- C语言 - 指针的应用
- C语言 - 指针运算
- C语言 - 指针数组
- C语言 - 指向指针的指针
- C语言 - 向函数传递指针
- C语言 - 从函数返回指针
- C语言 - 函数指针
- C语言 - 指向数组的指针
- C语言 - 指向结构体的指针
- C语言 - 指针链
- C语言 - 指针与数组的区别
- C语言 - 字符指针和函数
- C语言 - 空指针
- C语言 - void指针
- C语言 - 悬空指针
- C语言 - 解引用指针
- C语言 - 近、远和巨型指针
- C语言 - 指针数组的初始化
- C语言 - 指针与多维数组的区别
- C语言中的字符串
- C语言 - 字符串
- C语言 - 字符串数组
- C语言 - 特殊字符
- C语言中的结构体和联合体
- C语言 - 结构体
- C语言 - 结构体和函数
- C语言 - 结构体数组
- C语言 - 自引用结构体
- C语言 - 查找表
- C语言 - 点 (.) 运算符
- C语言 - 枚举 (enum)
- C语言 - 结构体填充和压缩
- C语言 - 嵌套结构体
- C语言 - 匿名结构体和联合体
- C语言 - 联合体
- C语言 - 位域
- C语言 - typedef
- C语言中的文件处理
- C语言 - 输入 & 输出
- C语言 - 文件I/O (文件处理)
- C语言预处理器
- C语言 - 预处理器
- C语言 - 编译指示
- C语言 - 预处理器运算符
- C语言 - 宏
- C语言 - 头文件
- C语言中的内存管理
- C语言 - 内存管理
- C语言 - 内存地址
- C语言 - 存储类
- 其他主题
- C语言 - 错误处理
- C语言 - 可变参数
- C语言 - 命令执行
- C语言 - 数学函数
- C语言 - static关键字
- C语言 - 随机数生成
- C语言 - 命令行参数
- C编程资源
- C语言 - 问答
- C语言 - 快速指南
- C语言 - 速查表
- C语言 - 有用资源
- C语言 - 讨论
C语言中的continue语句
C语言中continue语句的行为与break语句正好相反。它不会强制终止循环,而是强制执行循环的下一轮迭代,跳过当前迭代中剩余的语句。
什么是C语言中的continue语句?
continue语句用于跳过当前迭代中循环内剩余语句的执行,并转移到下一轮循环迭代。它可以与所有C语言循环结构(while,do while和for)一起使用。
continue语句语法
continue语句的使用结构如下:
while (expr){ . . . . . . if (condition) continue; . . . }
continue语句流程图
下面的流程图展示了continue语句的工作方式:
必须在循环内使用continue语句。如果在循环外使用continue语句,则会产生编译错误。与break语句不同,continue语句不用于switch-case语句。
带嵌套循环的continue语句
对于嵌套循环,continue语句将继续执行最近循环的下一轮迭代。continue语句通常与if语句一起使用。
continue语句示例
示例:带while循环的continue语句
在这个程序中,循环生成变量“i”的1到10的值。每当它是一个偶数时,下一轮迭代就开始了,跳过了printf语句。只打印奇数。
#include <stdio.h> int main(){ int i = 0; while (i < 10){ i++; if(i%2 == 0) continue; printf("i: %d\n", i); } }
输出
i: 1 i: 3 i: 5 i: 7 i: 9
示例:带for循环的continue语句
下面的程序过滤掉字符串中的所有元音:
#include <stdio.h> #include <string.h> int main () { char string[] = "Welcome to TutorialsPoint C Tutorial"; int len = strlen(string); int i; printf("Given string: %s\n", string); printf("after removing the vowels\n"); for (i=0; i<len; i++){ if (string[i]=='a' || string[i]=='e' || string[i] == 'i' || string[i] == 'o' || string[i] == 'u') continue; printf("%c", string[i]); } return 0; }
输出
运行代码并检查其输出:
Given string: Welcome to TutorialsPoint C Tutorial after removing the vowels Wlcm t TtrlsPnt C Ttrl
示例:带嵌套循环的continue语句
如果continue语句出现在内循环中,程序控制将跳转到相应循环的开头。
在下面的例子中,有三个for循环,一个嵌套在另一个里面。这些循环分别由变量i、j和k控制。如果k等于i或j,则最内层循环将跳过printf语句,并转到k的下一个值。当第二个j循环等于i时,执行continue。结果,显示所有三个数字1、2和3的唯一组合。
#include <stdio.h> int main (){ int i, j, k; for(i = 1; i <= 3; i++){ for(j = 1; j <= 3; j++){ if (i == j) continue; for (k=1; k <= 3; k++){ if (k == j || k == i) continue; printf("%d %d %d \n", i,j,k); } } } return 0; }
输出
运行代码并检查其输出:
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
示例:去除字符串中单词之间的空格
以下代码检测字符串中单词之间的空格,并在不同的行上打印每个单词。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> int main(){ char string[] = "Welcome to TutorialsPoint C Tutorial"; int len = strlen(string); int i; printf("Given string: %s\n", string); for (i = 0; i < len; i++){ if (string[i] == ' '){ printf("\n"); continue; } printf("%c", string[i]); } return 0; }
输出
执行此代码后,您将得到以下输出:
Given string: Welcome to TutorialsPoint C Tutorial Welcome to TutorialsPoint C Tutorial
示例:查找数字的质因数
continue语句证明非常有效的情况之一是编写一个程序来查找给定数字的质因数。
这个程序的算法是这样的:
给定数字被连续除以从2开始的数字。如果数字可被整除,则给定数字被减少到除法结果,并且检查结果数字是否可被2整除,直到它不再可被2整除。
如果不是2,则对从3开始的所有奇数重复此过程。当给定数字减少到1时,循环运行。
以下是查找质因数的程序:
#include <stdio.h> int main (){ int n = 64; int i, m = 2; printf("Prime factors of %d: \n", n); while (n > 1){ if (n % m == 0){ n = n/m; printf("%d ", m); continue; } if (m == 2) m++; else m = m+2; } return 0; }
输出
这里,给定的数字是64。因此,当您运行此代码时,它将产生以下输出:
Prime factors of 64: 2 2 2 2 2 2
将数字更改为45,然后更改为90。再次运行代码。现在您将得到以下输出:
Prime factors of 45: 3 3 5 Prime factors of 90: 2 3 3 5