c语言学习笔记(跳转语句)

break , continue  , goto , return  跳转语句

break 语句只能在switch语句和循环语句中,用来跳出switch语句或提前终止循环,转去执行switch 语句或者循环语句之后的语句

只能跳出当前循环执行后续语句

continue 语句只能在循环语句中用来终止本次循环

在for表达式中跳到第二个表达式

int main()
{
	int n = 10;
	for (int i = 0; i < n; i++)
	{
		if (i % 2 == 0)
		{
			continue;  // 直接跳到i++ ,不执行本次循环的后续语句
		}
		printf("%d\n", i);
	}
	return 0;
}

在for循环内套一个switch , break后跳出switch但不影响前面的for循环。如果想要跳出for循环,一种方法是将for循环写在函数内,然后return

而for循环中嵌套switch, 用continue时会直接跳到 i++ ,而不执行switch后续语句

在while ,do{} while 中使用continue ,很容易死循环,要非常小心

while (i < n)
{
	if (i % 2 == 0)
	{
		continue;// 会直接跳到while的判断,而不执行i++,因此会死循环
	}
	i++;  
}
do
{
	if (i % 2 == 0)
	{
		continue; // 直接跳到while判断而不进行i++
	}
	i++;
}while(i < n)

goto 语句: 无条件转移语句

goto 语句和标号语句一起使用,标号语句就是用标识符标识的语句,他控制程序从goto 语句所在的地方转移到标号语句处。

goto语句最重要的价值是在多层嵌套循环中,要从最里的循环跳出所有循环,goto语句就发挥大作用了

goto语句要从循环里向循环外跳,而不允许从循环外向循环里跳

goto尽可能向下跳,而不要向上跳

goto不能跨函数跳,不能再主函数使用跳到其他函数

int main()
{
	int i = 0, j = 0, k = 0;
	for (i = 0; i < 10; i++)
	{
		for (j = 0; j < 10; j++)
		{
			for (k = 0; k < 10; k++)
			{
				if (i + j + k == 10)
				{
					goto input; //直接跳到下面的input
				}
			}
		}
	}
	input:
}

return 语句用于结束函数的执行返回调用者,如果只是主函数,则返回至操作系统

return 可以在函数的任何位置放,只要他放到了这,那他之后的语句就不再执行了

int Add_int(int a, int b)
{
	int c = a + b;
	return c;   // 因为上面的函数返回类型是整型所以返回一个整型
}

如果函数的值是无类型

void fun(int a)
{
	int x = a + 10;
	printf("x = %d\n", x);
	return; // 可以不写也可以写,但写了只能写return ,而不能带返回值
}

而exit 不同,只要存在exit 程序就终止,不论是主函数还是其他函数

void fun()
{
	exit(EXIT_FAILURE); // 出现了exit程序结束
	return;
}

a = 10;

printf(" %5d ",a);      右对齐

printf(" %-5d " ,a);    左对齐

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值