标号语句与跳转语句

本文深入解析了goto、continue、break和return等跳转语句的语法与执行效果,通过实例分析了各种跳转语句在不同场景下的应用,帮助读者理解并掌握控制流程的关键技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 标号语句与跳转语句

1.1 标号语句

在这里插入图片描述
从标号语句语法图可以看到,标号语句分为3种:(goto)标号语句、(default)标号语句、(case)标号语句。
我们常说的标号语句一般就是指:(goto)标号语句,(default)标号语句和(case)标号语句需要配合switch语句一起使用。

一般情况下,语句默认为1条。


1.2 跳转语句

在这里插入图片描述
跳转语句分为4种:goto、continue、break、return。


2 goto标号语句与goto跳转语句

int main (void)
{
    int x = 10;

    A : x = x + 100;  //(goto)标号语句

	X = X +100;

    goto A ;   //(goto)跳转语句
}

(goto)标号语句、(goto)跳转语句之间的关系:它们是需要配合在一起来使用的。
(goto)标号语句本身并不会影响代码的执行效果,它仅仅用于标识一个跳转目标。
(goto)跳转语句会使处理器跳转至指定(goto)标号语句位置处执行,然后继续向下执行。

2.1 goto标号语句

格式:

  • 标识符 : 语句
  • A : x = x + 100;
  • 这里的标识符,我们也称之为标号名

(对于:int A = 20; 这里的标识符,我们也称之为变量名。)

标号名是唯一具有函数作用域的标识符。

如果标号名的后面只能以声明开始,怎么办?
我们可以在标号名的后面跟上一个空语句来解决这个尴尬。

int main (void)
{
	goto A ;   //(goto)跳转语句
	
	int x = 100;
	
	x = x + 100;
	
	//A : int y = 100;   //(goto)标号语句
	A : ;				 //(goto)标号语句
	int y = 100;   

	y = y + 100;
}

标号语句的书写格式:

	// -->	1.	
	A : x = x + 100;

	// -->	2.	
	A : 
		x = x + 100;
				
	// --> 3. 	
	A : 
		x = x + 100;
		y = y + 100;	//请指出哪部分是(goto)标号语句   A: x = x + 100; 
		
	// -->	4.	
	A :
	B : 
		x = x + 100;	//这段代码总共有几条语句? 3条
						// 1. x = x +100; 这是一条普通语句
						// 2. B: x = x + 100; 这是一条标号语句
						// 3. A: B: x = x + 100; 这是一条嵌套的标号语句,标号后的语句也是标号语句

2.2 goto跳转语句

格式:

  • goto 标识符 ;
  • 这里的标识符必须是一个标号名。

3 continue语句

continue语句只能用于迭代语句的循环体中。

3.1 continue语句的执行效果

continue语句的执行效果:跳转到当前循环体的末尾,继续往下执行。

3.2 实例分析

#include <stdio.h>

int main(void)
{
	int a = 100;
	
	while (a)
	{
		continue;
		
		printf("123456");
		
		a--;
	}
}
#include <stdio.h>

int main(void)
{
	int a = 100;
	
	do
	{
		continue;
		
		printf("123456");
		
		a--;
	}
	while (a);

}

4 break跳转语句

break语句只能用于switch语句、迭代语句的子语句中。

4.1 break语句执行效果

break语句的执行效果:跳转到switch语句、迭代语句的后面,继续往下执行。

4.2 实例分析

#include <stdio.h>

int main(void)
{
	int a = 100;
	
	while (a)
	{
		break;
		
		printf("123456");
		
		a--;
	}
}
#include <stdio.h>

int main(void)
{
	int a = 100;
	
	do
	{
		break;
		
		printf("123456");
		
		a--;
	}
	while (a);

}

5 return跳转语句

return语句只能用于函数体内。

5.1 return语句的执行效果

return语句的执行效果:跳转到函数体的后面,然后继续向下执行。

如果函数的返回类型是void --> return ;
如果函数的返回类型是其它类型 :

  • return 表达式 ;
  • 表达式值的类型 和 返回类型 必须是兼容类型。

5.2 实例分析

void A (void)  
{
    return;  
}
int main(void)
{
    
	A();
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值