C++基础(11)C/C++ 中的跳转语句

419 阅读1分钟

我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第11篇文章,点击查看活动详情

C/C++ 中的跳转语句

这些语句在 C 或 C++ 中用于程序中函数的无条件控制流。它们支持四种类型的跳转语句:

  1. C break: 此循环控制语句用于终止循环。一旦在循环中遇到 break 语句,循环迭代就停止在那里,并且控制立即从循环返回到循环之后的第一个语句。 
    语法: 
break;
  1. 基本上,当我们不确定循环的实际迭代次数或者我们想根据某些条件终止循环时,会使用 break 语句。

image.png

输出: 

Element found at position: 3

C continues:这个循环控制语句就像 break 语句一样。continue语句与break语句相反,它不是终止循环,而是强制执行循环的下一次迭代。 
顾名思义, continue 语句强制循环继续或执行下一次迭代。当在循环中执行 continue 语句时,将跳过 continue 语句之后的循环内的代码,并开始循环的下一次迭代。 
句法: 

continue;

image.png

Example:

// C++程序讲解continue语句的使用

#include <iostream>
using namespace std;

int main()
{
	// 从 1 循环到 10
	for (int i = 1; i <= 10; i++) {

		// 如果 i 等于 6,则继续下一次迭代而不打印
		if (i == 6)
			continue;

		else
			// 否则打印 i 的值
			cout << i << " ";
	}

	return 0;
}

输出

1 2 3 4 5 7 8 9 10

如果您在 C/C++ 中的 if-else 中创建一个变量,那么它将仅在该 if/else 块中是本地的。您可以在 if/else 块中使用全局变量。如果您在 if/else 中创建的变量的名称与任何全局变量相同,则将优先考虑“局部变量”。

#include<iostream>
using namespace std;

int main(){
	int gfg=0; // main 的局部变量
	cout<<"Before if-else block "<<gfg<<endl;
	if(1){
		int gfg = 100; // if 块的新局部变量
		cout<<"if block "<<gfg<<endl;
	}
	cout<<"After if block "<<gfg<<endl;
	return 0;
}
/*
	Before if-else block 0
	if block 100
	After if block 0
*/

C goto: C/C++ 中的 goto 语句也称为无条件跳转语句,可用于在函数内从一个点跳转到另一个点。 
语法

Syntax1      |   Syntax2
----------------------------
goto label;  |    label:  
.            |    .
.            |    .
.            |    .
label:       |    goto label;

在上述语法中,第一行告诉编译器转到或跳转到标记为标签的语句。这里 label 是一个用户定义的标识符,表示目标语句。紧跟在“标签:”之后的语句是目标语句。'label:' 也可以出现在 'goto label;' 之前 上述语法中的语句。

image.png

下面是一些如何使用 goto 语句的
示例:

// 使用 goto 语句打印从 1 到 10 的数字的 C++ 程序
#include <iostream>
using namespace std;

// 打印从 1 到 10 的数字的函数
void printNumbers()
{
	int n = 1;
label:
	cout << n << " ";
	n++;
	if (n <= 10)
		goto label;
}

// 测试上述功能的驱动程序
int main()
{
	printNumbers();
	return 0;
}

输出:  

1 2 3 4 5 6 7 8 9 10

C return:C 或 C++ 中的 return 将执行流程返回到调用它的函数。该语句不需要任何条件语句。一旦执行了语句,程序的流程就会立即停止,并从调用它的地方返回控制权。对于 void 函数,return 语句可能返回也可能不返回任何内容,但对于非 void 函数,必须返回返回值。 
语法:

return[expression];

例子:

// 说明 return 语句的 C++ 代码
#include <iostream>
using namespace std;

// 计算总和的非 void 返回类型函数
int SUM(int a, int b)
{
	int s1 = a + b;
	return s1;
}

// 返回 void 函数进行打印
void Print(int s2)
{
	cout << "The sum is "<< s2;
	return;
}

int main()
{
	int num1 = 10;
	int num2 = 10;
	int sum_of = SUM(num1, num2);
	Print(sum_of);
	return 0;
}

输出:  

The sum is 20