全站搜索未启用
跳到主要内容

文本六:跳转类语句

跳转类语句共有四条这种语句,goto、continue、break和return。

1.goto 语句

goto <语句标号>

如: goto finish;

当执行到goto语句时,就转移到语句标号所标识的位置执行。

goto语句中的<语句标号>所标识的位置必须与goto语句在同一函数体内。

void func(double x)

{

double y;

if(x<0) {y=3*x*x-1; goto finish;}

if(x>=0 && x<=10) {y=exp(x)/3+2; goto finish;}

y=5*sqrt(x)-2*x+1;

finish:

printf("x=%Lf\n",x);

printf("y=%Lf\n",y);

}

2.continue语句

只能使用在任一种循环语句内,执行时将结束循环体的一次执行。

while(1) {

scanf("%d",&x);

if(x<=0) break;

if(x<60) continue;

c++;//25 62 78 30 86 -5 c的值为3

}

3.break语句

应用范围:使用在各种循环语句的循环体中和switch语句的语句体中。

功能:结束整个循环语句或开关语句的执行过程。

例如:

#include<stdio.h>

void main()

{

int i,s=0;

for(i=1; i<=10; i++) {

s+=i;//s=1,3,6,10,15,21

if(s>15) break;

}

printf("%d %d\n",i,s);//6 21

}

又如:

#include<stdio.h>

void main()

{

int i=3,s=0;

switch(i) {

case 2 : s+=i;

case 3 : s+=i*i;

case 4 : s+=i+5; break;

default: s+=6;

}

printf("s=%d\n",s);//s=17 若取消break 则s=23

}

4.return语句

语句格式: return [表达式];

功能:结束整个函数的执行过程,并计算出表达式的值,把这个值返回到调用该函数的位置。对于void函数,使用return语句时,将省略其后的表达式,并且函数定义中可以不使用return语句,当执行到右花括号,将结束函数执行。但对于不是void类型的函数定义,必须在函数体中至少使用一条return语句,用来返回一个值。

#include<stdio.h>

int TwoAdd(int a, int b) {return a+b;}

void TwoMult(int x, int y) {printf("%d*%d=%d\n",x,y,x*y);}

void main()

{

int x=15,y=20;

int z=TwoAdd(x,y);//z的值为35

printf("%d+%d=%d\n",x,y,z);//输出15+20=35

TwoMult(x,y);//输出15*20=300

}

最后修改: 2019年09月26日 Thursday 18:48