首页 > 编程语言 >循环程序设计(3)——break,countine,goto和exit语句

循环程序设计(3)——break,countine,goto和exit语句

时间:2024-11-02 23:44:25浏览次数:7  
标签:语句 循环体 goto continue break while 循环 exit

一、break语句

    break语句是用于结束当前一层循环的语句,其效果如下:

while(表达式1)

  ···

  if(表达式2)  break;

  ···

}

循环后的第一条语句;

do

  ···

  if(表达式2)  break;

  ···

}while(表达式1);

循环后的第一条语句;

for(;表达式1;)

{

  ···

  if(表达式2)  break;

  ···

}

循环后的第一条语句;

以上的程序中,当执行到break语句的时候,会强制结束当前循环并跳到循环后的第一条语句。

其中有几点需要注意:

(1)break语句只能用于由while语句,do-while语句和for语句构成的循环结构中和switch选择语句中。

(2)在嵌套循环的情况下,break语句只能终止并跳出包含它的最近一层循环体。如果想跳出最外层的循环体,可以通过设置一标志变量tag,然后在每层循环后面加上一条语句:if(tag) break;

当它的值为真时就会跳出循环体,例如:

int tag=0;
for(···)
{
  while(···)
  {
   ···
   if(···) {tag=1;break;}
   ···
  }
  if(tag) break;
  ···
}
for循环后的第一条语句;

如图,当中间的while循环体里面的 if 符合条件时,会给tag赋值 1 ,并且用break跳出while循环体,而此时for循环体中的tag能被激活并再次break到for循环后,从而实现跳出最外层循环。

二、continue语句

    continue语句与break语句不同,当在循环体中遇到continue语句时,程序会跳过continue后面尚未执行的语句,但是继续开始循环,所以它只是结束本次循环的执行,并不结束整个循环的执行。

以上面第一个例子为例:

while(表达式1)

  ···

  if(表达式2)  continue;

  ···

}

循环后的第一条语句;

此时continue语句不会跳到“循环后的第一条语句”,而是在while循环体的末尾,之后再次开始循环。

除此之外,continue语句也有一些注意事项:

(1)continue语句只能用于由while语句,do-while语句和for语句构成的循环结构中。

(2)continue语句在嵌套时只能对包含它的最内层循环体起作用。

三、goto语句

    goto语句也被称为无条件转移语句,其一般格式为:

         goto 语句标号;
         ···
语句标号:···

语句标号:···
         ···

         goto 语句标号;

这两个程序都是当读取到goto语句时,去寻找与之有相同语句标号的语句,并从那里开始继续执行。注意标号不能重名。

四、exit()函数

    exit()函数的作用是终止整个程序的执行,强制返回到操作系统。当程序执行的必要条件不满足时,常常用到exit()函数。但是调用该函数需要嵌入头文件 stdlib.h 

   当exit()函数的括号内的值是 0 时,表示程序正常退出;当它为非零值时,表示程序异常退出,即出现了某种错误后退出。

   例如,当你想写一个程序来判断三条边能不能组成三角形时,可以这样写:

#include <stdio.h>
#include <stdlib.h>
int main()
{
 float a,b,c;
 printf("Input the length of three edges of triangle:");
 scanf("%f%f%f",&a,&b,&c);
 if(a<=0||b<=0||c<=0)
 {
  printf("Error!");
  exit(-1);
 }
 if(a+b>c&&a+c>b&&b+c>a)
 printf("It is a triangle.");
 return 0;
}

当你输入了负值的时候,程序就会提示错误并退出。

标签:语句,循环体,goto,continue,break,while,循环,exit
From: https://blog.csdn.net/2402_88427700/article/details/143456991

相关文章

  • 《Linux系统编程篇》fork/wait/waitpid/exit函数——基础篇
    文章目录引言fork()函数概述父子进程兄弟进程fork函数fork()的常见问题fork()的优势与限制引入`wait`和`waitpid`(解决僵尸进程)wait函数waitpid函数:exit函数结论命为志存。——朱熹引言《Linux系统编程篇》——基础篇首页传送门本节我们正式进入Linux的进......
  • D. Speedbreaker
    题意:给定长为n的数组a,a[i]属于[1,n]。开始时时刻为1,可以选定其中一个数,接下来每个时刻选定与已选定的数相邻的其他数,要求每个数被选定的时刻小于等于它的值。求满足这一条件的起点的数目。解:对于每个a[i],其要求起点的范围为[i-a[i]+1,i+a[i]-1],将n个区间取交集,即为可能的答案区......
  • 介绍一下for break continue 函数(c基础)
    for函数是循环函数格式for(   expression1      ;    expression2    ;     expression3   )+  一种语句expression1初始化变量的值                                         ......
  • goto语句(C语言)
    一.C语言中的goto语句概念在C语言中,goto是一条无条件跳转语句,它允许程序控制流跳转到同一函数内的某个特定标签处继续执行。使用goto语句时,需要在目标位置定义一个标签,标签由一个标识符后跟一个冒号(:)组成。goto语句的基本形式如下:gotolabel;随后的代码中,如果执行到goto语......
  • Process finished with exit code -1 是什么意思
    “Processfinishedwithexitcode-1″是指程序在执行过程中以非正常的退出码(exitcode)结束。在计算机编程中,进程的退出码是一个整数值,通常用于指示程序的执行状态。负数的退出码通常表示程序遇到了错误或异常情况而非正常终止。1.“Processfinishedwithexitcode-1″的......
  • 输入与输出,break和continue语句
    1.字符输出函数putchar格式:putchar(ch)功能:向设备输出一个字符,其中的ch可以是字符型常量也可以是字符变量,也可以是整型常量或变量。当ch为字符型的,输出的是ch的值;而当ch为整型时,输出的是ASCII码对应的字符。putchar()函数只用于单个字符的输出,一次只输出一个字符。可以等价为......
  • 2024牛客暑期多校训练营9 B.Break Sequence
    设\(f_i\)表示最后一个区间以\(a_i\)结尾的方案总数,也即前\(i\)个数的方案总数。最后的答案是\(f_n\)。很容易得到转移方程:\[f_i=\sum_{j=1}^{i-1}f_j\]其中,需要保证\(a_i\sima_j\)是一个合法区间才能累加,这个检查的过程可以通过\(j\)倒序并计算不合法的数的个......
  • 国内空白,AI将文字搜索转化为交互数据图表,融资4000万,已与Perplexity整合
    2024年10月17日。产品为利用生成式AI将文字搜索转化为数据图表的美国初创公司Tako,种子轮融资575万美元,折合人民币4000万元。国外AI搜索主导者Perplexity,其创始人也参与了这次融资。早在今年5月21日。Perplexity已与Tako进行合作。在Perplexity上提供相应的数据图表服务。图源:P......
  • 【python学习记录篇】08.for、while、break、continue,在python里的使用比在英语阅读理
    小白学习纪实,跨专业学python的第八天~睡了一觉起来觉得自己又行了~   8.1循环    很多情况下,我们会比较讨厌重复着做着相同的事情,因为这样枯燥乏味。很直接的,在我们睡不着失眠的时候,我们会选择重复数绵羊加速我们睡眠。对于程序员来讲同样不喜欢重复地做......
  • 对于C语言,什么算作normal exit
    在C语言中,atexit()函数用于注册程序正常退出时要执行的清理函数。这个函数会在程序正常退出时自动调用,以执行任何需要在程序结束时清理的操作,例如关闭文件、释放动态分配的内存等。要理解atexit()函数的行为,首先需要明确什么算作**"normalexit"**(正常退出)。什么是"norma......