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 Main 函数 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 指针 vs 数组 C 字符指针和函数 C NULL 指针 C void 指针 C 悬垂指针 C 解引用指针 C Near、Far 和 Huge 指针 C 指针数组的初始化 C 指针与多维数组

C 语言中的字符串

C 字符串 C 字符串数组 C 特殊字符

C 语言的结构体和联合

C 结构体 C 结构体和函数 C 结构体数组 C 自引用结构 C 查找表 C 点 (.) 运算符 C 枚举(或 enum) C 结构填充和打包 C 嵌套结构 C 匿名结构和联合 C 联合 C Bit 位字段 C Typedef

C 语言中的文件处理

C 输入和输出 C 文件 I/O(文件处理)

C 语言中的预处理器

C 预处理器 C #pragma 编译指示 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 的工作原理 -

C 语言中的 switch 语句

必须在循环内使用 continue 语句。如果在循环外使用 continue 语句,则会导致编译错误。与 break 语句不同,continue 语句不能与 switch-case 语句 一起使用。

Continue 语句与嵌套循环

在嵌套循环中,continue 将继续执行最近循环的下一次迭代。 continue 语句通常与 if 语句 一起使用。

Continue 语句示例

示例:使用 While 循环的 Continue 语句

在此程序中,循环为变量"i"生成 1 到 10 个值。只要 i 为偶数,则开始下一次迭代,跳过 printf 语句。只打印奇数。

#include <stdio.h>

int main(){
   int i = 0;

   while (i < 10){
      i++;
      if(i%2 == 0)
         continue;

      printf("i: %d
", 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
", string);
   printf("after removing the vowels
");

   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 
", 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
", string);

   for (i = 0; i < len; i++){
      if (string[i] == ' '){
         printf("
");
            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);

   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

c_loops.html