使用if和goto语句构造循环

原创 2015年07月09日 14:41:12

goto是C/C++中一种非常古老的保留字,goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。


if语句和goto语句搭配使用可以构造循环,if语句作为循环的条件判断,goto用来跳转以反复执行某些语句(循环体)以达到循环执行这些语句的目的。

这儿放一个简单的程序作为例子:

#include <iostream>
using namespace std;

int main()
{
	int i = 0;
star:
	cout<<"*";
	i++;
	if(i < 10)
	{
		goto star; //用goto语句构造循环的时候,循环变量要在goto语句之前执行
		//i++; //i++放在这儿会造成死循环,因为goto到star,i++不会被执行
		cout<<"running1..."<<endl; //位于goto语句下方,不会被执行
	}
	cout<<endl<<"running2..."<<endl;
	cout<<endl;
	return 0;
}

程序执行结果:


Note that: 由于goto语句能够直接跳到程序的某一处开始执行,某些本该执行的语句可能会被漏掉而没有执行,会导致许多不易察觉的errors,而且不易于调试差错(goto喜欢跳来跳去的嘛)。并且使程序结构看上去不那么严密,松散很多。综上所述,goto语句很强大,但是弊端也很明显,不推荐大家使用goto语句。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C语言 if分支与循环语句

C语言 if分支与循环语句(1) // //  main.c //  C_02 // //  Created by 谭其伟 on 15/11/26. //  Copyright...

使用goto实现循环,跳转语句

/*计算从0-10的和*/ do-while语句:

C#学习 第二章 语句控制,if,switch,try-catch,whlie,foreach,break,continue,goto

以下文章为C#第二章,包括 选择结构if else,switch case,循环结构 do while,while,for,foreach,跳转语言 break,continue,goto 参考图书...

循环与递归--不使用if,while,for,do—while语句来输出所有比已知数N小的自然数

不用循环的时候,如何用递归解决简单的循环问题! 问题:如何不使用if,while,for,do...while语句来输出所有比已知数N小的自然数。(含0)      这个问题不是我自己想出来的,只是...

Python中在for循环中嵌套使用if和else语句的技巧

转自:http://www.jb51.net/article/86987.htm for...[if]...构建List (List comprehension) 1.简单的for...[if...

IF嵌套循环语句

shell脚本之-if流程控制语句和for循环语句的使用

大纲: 1、逻辑判断 2、if流程控制语句 3、for循环控制语句   ---------------------------------------------- ...

java基础总结三(引用类型使用格式、if语句、循环语句)

一:引用类型的使用 1.引用数据类型的使用格式 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。 导包: 使用import导包(找到要使用的类型) 定义变量,并创...

c#goto语句使用

  • 2013-06-08 16:13
  • 41KB
  • 下载

【编程好习惯】恰当使用goto语句

本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/248828 goto语句在C/C++语言中可谓是“臭名昭著”,乃至有...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)