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语句。

使用if和goto语句构造循环相关推荐

  1. c语言goto语句标号作用,goto语句怎么用(c语言goto用法)

    goto语句怎么用(c语言goto用法) 2020-07-28 02:03:29 共10个回答 1.C语言中goto又叫无条件转移语句,可以让程序直接跳转到任意标记的位置.用法就是"goto ...

  2. 两种方式(goto语句以及while循环)实现C语言关机小程序

    用C语言写的关机小程序简单易懂,可以拿去整蛊室友同学(每天一个挨打小技巧),下面我就给出两种方式实现这个代码,欢迎大家讨论补充. 1.用goto语句实现: #include <stdio.h&g ...

  3. php 常量 循环 1,php循环控制break、continue语句、goto语句和php常量

    1.循环控制break语句: break结束当前 for,while,do-while 或者switch 结构的执行. Break可以接受一个可选的数字参数来决定跳出几重循环. $i = 0; whi ...

  4. 开关语句、循环语句、goto

    复习: 1.数据类型:signed char 1 %hhd -128~127signed short 2 %hd -32768~32767signed int 4 %d 正负20亿signed lon ...

  5. 【JAVA】Java中goto语句的简介与使用(java 如何跳出内嵌多层循环的方法)

    1.概述 这是我在看公司代码的时候发现,居然有一个goto语句的使用,所以来学习一下 goto语句在java中作为保留字,并没有实现它.但在其他语言中(c语言),goto是个合法的关键字 java中支 ...

  6. C语言学习笔记07-1-语句结构:选择/循环(附三元运算符;DevC可以for定义临时变量的设置;continue、break、return;goto语句简单说明)

    选择/分支 与 循环/重复 语句结构 本质与流程图的三种结构类似,只是C语言没有until型循环,不难理解.文末捎带说一下goto语句. 结构化语句可以实现程序单一出口,goto 是非结构化的,会打乱 ...

  7. C语言中阶第五篇:写一个强制关机的程序,以及goto语句跳出多层循环的应用

    业精于勤荒于嬉,行成于思毁于随. 今天我们一起来看一看之前没有说的goto语句,还有 第十一篇 一.goto语句 二.goto语句的实际应用 一.goto语句 C语言提供了可以随意滥用的goto语句和 ...

  8. C语言详解系列——goto语句的讲解和循环语句的简单练习题

    文章目录 goto语句 一些简单的练习题 打印三的倍数 从大到小输入 打印素数 最大公约数 打印闰年 goto语句 顾名思义goto语句就是去到任何我们想去的语句,当我们写了很长的一段代码时,我们想要 ...

  9. 跳转语句_C/C++中的goto语句

    goto 语句 无条件转移控制流. 当使用其他语句不可能将控制转移到所需位置时使用. 语法 属性(可选) goto 标号 ; C++解释 goto 语句将控制转移到标号所指定的位置.goto 语句必须 ...

最新文章

  1. 经济独立,是你最大的底气
  2. editplus 批量删除 重复行
  3. 国家电网和南方电网还傻傻分不清?
  4. spring的AOP配置之XML方式
  5. 中嵌协会 第1期“嵌入式与物联网”主题论坛将于2010年6月26日在中关村软件园举行...
  6. 算法 --- 反转数组
  7. 男朋友出的性格测试题
  8. ubuntu下inotifywait实现目录、文件监控【包含子目录】
  9. 32路视频光端机性能指标及视频特性介绍
  10. C#LeetCode刷题之#21-合并两个有序链表(Merge Two Sorted Lists)
  11. log4j.properties配置详解(转载)
  12. servlet 开发入门生命周期
  13. java年度总结自我认知,java自我评价
  14. html 网络请求 json数据,写一个json格式API,http请求接收json数据
  15. sudo: vim:找不到命令_linux常用命令(3)
  16. Kotlin 官方参考文档翻译完毕
  17. IPv6规模部署及专项督查工作全国电视电话会议
  18. java菜鸟mysql_十面阿里,菜鸟,天猫,蚂蚁金服面试精选73题:Java+Spring+MySQL+JVM.......
  19. mysql运算符xor_MySql运算符
  20. mybatis第十话 - mybaits整个事务流程的源码分析

热门文章

  1. CSS基础_Day04
  2. matlab 添加环境变量,CentOS 添加环境变量的三种方法
  3. 【算法的时间复杂度和空间复杂度】-算法02
  4. docker-compose.yml 启动jar 包
  5. docker新建Linux虚拟机,RHEL/CentOS 7下创建你的第一个Docker容器
  6. U盘启动盘恢复为普通U盘
  7. 克莱姆森大学计算机排名,克莱姆森大学计算机科学computer science专业排名第401~500名(2020THE泰晤士高等教育世界大学排名)...
  8. python操作hdfs_python 操作hdfs
  9. 老旧计算机升级云桌面,哇哦!PC机房轻松升级云课堂 ,PC利旧方案看我的!
  10. 解决使用pip安装lxml包报错问题Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?