目录

  • 1 第一章  C语言概述
    • 1.1 第一节  C语言的产生和发展
    • 1.2 第二节  C语言的特点
    • 1.3 第三节  两个简单的C程序
    • 1.4 第四节  C程序的上机步骤
    • 1.5 第五节  Dev-C++介绍
    • 1.6 第六节  VC2010学习版介绍
    • 1.7 第七节  宏定义和文件包含
    • 1.8 本章小结
    • 1.9 本章单元测试
  • 2 第二章  基本数据类型与简单程序设计
    • 2.1 第一节  C语言的基本数据类型
    • 2.2 第二节  常量
    • 2.3 第三节  变量
    • 2.4 第四节  赋值语句
    • 2.5 第五节  数据输出
    • 2.6 第六节 数据输入
    • 2.7 第七节  运算符
    • 2.8 第八节  常用的数学函数
    • 2.9 第九节  顺序结构程序设计
    • 2.10 本章小结
    • 2.11 本章单元测试
  • 3 第三章  分支结构程序设计
    • 3.1 第一节  关系表达式和逻辑表达式
    • 3.2 第二节  if单分支语句
    • 3.3 第四节  if双分支语句
    • 3.4 第五节  if多分支语句
    • 3.5 第六节  case多分支语句
    • 3.6 第七节  分支结构程序设计实例
    • 3.7 本章小结
    • 3.8 本章单元测试
    • 3.9 书中本章习题答案
  • 4 第四章  循环结构程序设计
    • 4.1 第一节  为什么需要循环控制
    • 4.2 第一节  while循环
    • 4.3 第二节  do ... while循环
    • 4.4 第三节  for循环
    • 4.5 第四节  多重循环
    • 4.6 第五节  break语句和continue语句
    • 4.7 第六节  循环结构程序设计实例
    • 4.8 本章小结
    • 4.9 书中本章习题答案
  • 5 第五章 数组
    • 5.1 第一节  一维数组的定义和使用
    • 5.2 第二节  二维数组的定义和使用
    • 5.3 第三节  字符数组的定义和使用
    • 5.4 第四节  数组的应用举例
  • 6 第六章  函数
    • 6.1 第一节  函数的定义
    • 6.2 第二节  函数的调用
    • 6.3 第三节 数组作为函数参数
    • 6.4 第四节  变量的作用域
    • 6.5 第五节 变量的存储类别
    • 6.6 第六节 函数应用实例
  • 7 第七章 结构体和共用体
    • 7.1 第一节  概述
    • 7.2 第二节  定义结构体变量的方法
    • 7.3 第三节 结构体变量的引用
    • 7.4 第四节 结构体数组
    • 7.5 第五节 共用体
    • 7.6 第六节  结构体和共用体应用实例
  • 8 第八章 指针
    • 8.1 第一节  指针的概念
    • 8.2 第二节  指向简单变量的指针
    • 8.3 第三节 指向数组的指针变量
    • 8.4 第四节  指向字符串的指针变量
    • 8.5 第五节 指针作为函数参数
    • 8.6 第六节  指向结构体的指针变量
    • 8.7 第七节 指针应用实例
  • 9 第九章  文件
    • 9.1 第一节  文件概述
    • 9.2 第二节  文件的打开和关闭
    • 9.3 第三节 文件的读/写函数
    • 9.4 第四节  文件定位函数
    • 9.5 第五节  文件应用实例
  • 10 附录
    • 10.1 附录A  基本字符ASCII码表(0~127)
    • 10.2 附录B  运算符优先级表
    • 10.3 附录C 常用C库函数表
    • 10.4 附录D  编译常见错误提示
    • 10.5 附录E  常见C语言英语单词
    • 10.6 附录F  如何从十进制转换为二进制
    • 10.7 附录G  如何把二进制数转化为十进制数
    • 10.8 附录H  什么是编译器
    • 10.9 附录I  与编译器相关的几个知识点
第五节  break语句和continue语句
  • 1 文字讲解
  • 2 视频讲解

4.5.1  break 语句

在学习switch 语句时,就已介绍过break语句,那时它可以使程序跳出switch结构。实际上,break语句也可以用于循环结构中,使程序提前跳出循环,结束循环,转移到循环后面的语句。

看下面的例子。

例4-7 求不同半径的圆柱体的体积,只计算体积在100以下的圆柱体。

  1. #include  <stdio.h>

  2. #include  <conio.h>

  3. #define  PI   3.14

  4. main( )

  5. {   int r;

  6.     float h;   double v;

  7.     printf("请输入圆柱体的高:");

  8.     scanf("%f", &h);

  9.     for( r = 1; r <= 10; r++ )

  10.     {   v=PI * r * r * h;

  11.         if( v > 100.0 )   break;

  12.               printf("半径等于%d,体积等于%.2f \n", r, v);

  13.         printf("此时r=%d\n", r);

  14.     }

  15.     getch( );

  16. }


运行结果如图4-10所示。

     

从运行结果看,循环并未执行10次,而是提前结束。主要因为循环体中有一个测试,即“v>100.0”。一旦测试为真,就立即执行 break 语句,使程序直接跳出循环,不再执行剩下图4-10 例4-7运行结果的循环,而是转到循环后面的语句。流程图如图4-11所示。

              

break 语句适用于3种循环结构:while 语句、do··while 语句、for 语句。但break 语句不能用于除循环结构和switch结构以外的其他地方。

4.5.2  continue语句

continue语句的作用是:程序跳过循环体中该语句后 面的所有语句,提前结束本轮循环,直接进入下一轮循环。

 continue语句与break语句的区别是:前者只是结束本轮循环,而不是结束整个循环:后者则是结束整个循环。

例4-8  输出50~100之间所有不能被7整除的整数。

  1. #include  <stdio.h>

  2. #include  <conio.h>

  3. main( )

  4. {    int num, cnt=0;

  5.      for( num = 50; num < 100; num ++)

  6.      {

  7.           if( num % 7 == 0 )  

  8.                 continue;    // 结束本轮循环

  9.           printf("%5d",num );

  10.           cnt++;

  11.            if( cnt % 10==0)  printf("\n");   //每行输出10个整数

  12.       }

  13.      printf("\n");

  14.      getch();

  15. }

 运行结果如图4-12所示。


根据题意,一旦发现该数能被 7 整除,就不执行输出语句了,而是直接进入下一轮循环。