C语言中要改变循环语句的流程可以使用的语句有哪些

C语言中要改变循环语句的流程可以使用的语句有:break,continue和goto。break语句可以终止循环而执行整个循环语句后面的代码;continue语句可以跳过循环体中剩余的语句而强制进入下一次循环。

break关键字

当 break 关键字用于 while、for 循环时,会终止循环而执行整个循环语句后面的代码。break 关键字通常和 if 语句一起使用,即满足条件时便跳出循环。

使用 while 循环计算1加到100的值:

#include 

int main(){

    int i=1, sum=0;

    while(1){  //循环条件为死循环

        sum =i;

        i ;

        if(i>100) break;

   }

    printf("%d\n", sum);

    return 0;

}

运行结果:

5050

while 循环条件为 1,是一个死循环。当执行到第100次循环的时候,计算完i ;后 i 的值为 101,此时 if 语句的条件 i> 100 成立,执行break;语句,结束循环。

在多层循环中,一个 break 语句只向外跳一层。例如,输出一个4*4的整数矩阵:

#include 

int main(){

    int i=1, j;

    while(1){  // 外层循环

        j=1;

        while(1){  // 内层循环

            printf("%-4d", i*j);

            j ;

            if(j>4) break;  //跳出内层循环

        }

        printf("\n");

        i ;

        if(i>4) break;  // 跳出外层循环

    }

    return 0;

}

运行结果:

1   2   3   4

2   4   6   8

3   6   9   12

4   8   12  16

当 j>4 成立时,执行break;,跳出内层循环;外层循环依然执行,直到 i>4 成立,跳出外层循环。内层循环共执行了4次,外层循环共执行了1次。

continue语句

continue 语句的作用是跳过循环体中剩余的语句而强制进入下一次循环。continue语句只用在 while、for 循环中,常与 if 条件语句一起使用,判断条件是否成立。

来看一个例子:

#include 

int main(){

    char c = 0;

    while(c!='\n'){  //回车键结束循环

        c=getchar();

        if(c=='4' || c=='5'){  //按下的是数字键4或5

            continue;  //跳过当次循环,进入下次循环

        }

        putchar(c);

    }

    return 0;

}

运行结果:

0123456789↙

01236789

程序遇到while时,变量c的值为'\0',循环条件c!='\n'成立,开始第一次循环。getchar() 使程序暂停执行,等待用户输入,直到用户按下回车键才开始读取字符。

本例我们输入的是 0123456789,当读取到4或5时,if 的条件c=='4'||c=='5'成立,就执行 continue 语句,结束当前循环,直接进入下一次循环,也就是说putchar(c);不会被执行到。而读取到其他数字时,if 的条件不成立,continue 语句不会被执行到,putchar(c);就会输出读取到的字符。

break与continue的对比:break 用来结束所有循环,循环语句不再有执行的机会;continue 用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环。

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apk图标存放位置_安卓系统下安装完apk程序后,具体的文件夹位置在哪里呢?

展开全部 有的程序的文件夹是自动建立在sd卡上的,有的程序是没有文件夹的,程序位于32313133353236313431303231363533e59b9ee7ad9431333365666238date/app文件夹内,而系统的程序位于system/app文件夹内。 软件安装完成后,就会在date/app目录出现一个apk文件。 这个文件相当…

continue语句只用于循环语句中,它的作用是什么?

continue语句只用于循环语句中,它的作用是:跳过循环体中剩余的语句而强制进入下一次循环。continue语句只用在while、for循环中,常与if条件语句一起使用,判断条件是否成立。continue语句只用在while、for循环中,它的作…

在c语言中引用数组元素时,其数组下标的数据类型允许是什么

在c语言中引用数组元素时,其数组下标的数据类型允许是:整型常量或整型表达式。C语言规定只能逐个引用数组元素而不能一次引用整个数组,数据元素的表示形式为“数组名[下标]”,下标可以是整型常量或整型表达式。数组中只有一维数组…

在c语言中char型数据在内存中的储存形式为什么

在c语言中char型数据在内存中的储存形式为“ASCII码”。在C语言中,将一个字符常量放到一个字符变量中,实际并不是把该字符本身放到内存单元中,而是将与该字符相对应的ASCII码放到存储单元中。c语言 char型字符型数据类型就是字符1、字符数据的…

集合相减算法java_集算器协助java处理结构化文本的集合运算

有两个小文件:f1.txt和f2.txt,第一行是列名,现在需要对文件中的Name字段进行交集运算。部分数据如下:文件f1.txt:文件f2.txt:集算器代码:A1、B1:用import函数将文件读[A1.(Name),B1.(Name)].isect()入内存&…

netbeans插件_如何编写NetBeans插件

netbeans插件是否想在NetBeans IDE中添加功能或自动执行某些操作? 跟随我们编写您的第一个NetBeans插件。 让我们超越简单的工具栏示例 ,创建一个可以自动更新的插件。 该代码基于NetBeans的WakaTime插件 。 我们的示例插件将仅打印Hello World语句&…

c语言程序从哪里开始执行

c语言程序的执行总是起始于main函数。在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。但需要注意的是,也是有特殊情况的,若是代码中出现…

基于价值链的流程框架分类_基于价值的类

基于价值链的流程框架分类在Java 8中,某些类在Javadoc中有一个小注释,说明它们是基于值的类 。 其中包括简短说明的链接,以及有关不使用它们的限制。 这很容易被忽略,如果这样做,则可能会在将来的Java版本中以微妙的方…

C语言中数组所占字节怎么算

数组在内存中所占字节数可以使用sizeof操作符来计算,该操作符是专门用于检测类型或变量或数组在内存中所占有的空间(字节数);语法“sizeof(x)”,其中x是类型名、变量名或数组名等,可以返回x所占字节数。C语…

c 中头文件和源文件的区别是什么

区别:头文件是“.h”文件,提供接口;源文件是“.cpp”文件,提供实现。编译器规定源文件必须包含函数入口,即main函数;而头文件不得包含函数入口,头文件不可以单独编译成一个程序,仅仅…

rest api_REST API的演变

rest api每个开发人员都以某种方式接触到API 。 要么为一家大公司集成一个主要系统,或者使用最新的图形库生成一些精美的图表,要么直接与他喜欢的编程语言进行交互。 事实是,API无处不在! 它们实际上代表了当今Internet的基本构建…

在c程序中,注释语句只能位于一条语句的后面吗

C语言中的注释在编写C语言源代码时,应该多使用注释,这样有助于对代码的理解。在C语言中有两种注释方式:一种是以/*开始、以*/结束的块注释(block comment);另一种是以//开始、以换行符结束的单行注释&#…

C 运算符中不能重载的是哪些

C 运算符中不能重载的有:1、条件运算符“?:”;2、成员访问运算符“.”;3、域运算符“::”;4、长度运算符“sizeof”;5、成员指针访问运算符“->*”和“.*” 。重载:让操作符可以有新的语义,…

C语言字符串输出函数puts()的作用是什么

C语言字符串输出函数puts()的作用:puts()在显示字符串时会自动在其末尾添加一个换行符。puts()遇到空字符时就停止输出,所以必须确保有空字符。  下面两个示例分别说明puts()的两个特点。  示例1:/* put_out.c -- using puts() */#includ…

maf中anglearc_Oracle MAF中的LOV

maf中anglearc我们都喜欢最强大的ADF功能值列表之一。 使用它们,我们可以声明并轻松地在ADF应用程序中构建非常复杂的功能。 一件好事是,我们在Oracle MAF中也有类似的方法。 在ADF BC中,我们在业务服务级别(基本上在实体或VO级别…

一个c程序的执行是从哪里开始到哪里结束

一个C程序的执行是从main函数开始到main函数结束。C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语…

java9 coutdown_Java并发之CountDownLatch

正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解…

jsf 写一个action_一个JSF清单示例

jsf 写一个action这是使用JSF 2.0(JavaServer Faces)构建的示例列表应用程序。 该应用程序是待办事项列表。 该应用程序具有添加,编辑或删除列表中项目的功能。 待办事项具有名称和描述属性。 完成的应用程序的JSF页面具有: 使用…

c 中=和==的区别有哪些?

c 中和的区别1、含义不同:“”是赋值的意思。它的作用是将一个表达式的值赋给一个左值。一个表达式或者是一个左值,或者是一个右值。所谓左值是指一个能用于赋值运算左边的表达式。左值必须能够被修改,不能是常量。我们用变量作左值&#xff…

java内部格式_详解java内部类的访问格式和规则

详解java内部类的访问格式和规则1.内部类的定义定义一个类来描述事物,但是这个事物其中可能还有事物,这时候在类中再定义类来描述。2.内部类访问规则①内部类可以直接访问外部类中的成员,包括私有。之所以可以直接访问外部类中的成员&#xf…