猿问

什么是无条件跳转语句(C++)

什么是无条件跳转语句(C++)


叮当猫咪
浏览 850回答 4
4回答

侃侃无极

goto。当程序执行到这一句的时候直接跳转到goto 后面的行数。用这种语句有悖于结构化的程序设计,所以书上讲得不多,但有时候用它能达到意想不到的结果

噜噜哒

goto语句也成为无条件转移语句,其基本形式如下 :goto 语句标号语句标号由一个有效地标识符和符号";"组成,其中,标识符的命名规则与变量名称相同,即由字母、数字和下划线组成,且第一个字符必须是字母或下划线。执行goto语句后,程序就会跳转到语句标号处,并执行其后的语句。通常goto语句与if条件语句连用,但是,goto语句在给程序带来灵活性的同时,也会使得使程序结构层次不清,而且不易读,所以要合理运用该语句。示例:计算1~100的累加和,代码如下所示:#include <iostream.h>#include <iostream.h>//主函数int main(){int i = 1;int sum = 0;loop:if( i<=100 ){sum += i;i++;goto loop;}cout<<"求从1到100的和:"<<sum<<endl;return 0;}运行结果:求从1到100的和:5050&nbsp;

慕的地10843

goto。当程序执行到这一句的时候直接跳转到goto 后面的行数。goto 的意思非常好理解,即跳转,如:C:\Documents and Settings\doupi>goto /?将 cmd.exe 导向到批处理程序中带标签的行。GOTO labellabel 指定批处理程序中用作标签的文字字符串。标签必须单独一行,并且以冒号打头。goto label 即跳转到哪个分支块执行,这是一种常见的程序分支结构.具体我们来看两个例子:例1:打印1到101 @echo off2 :start3 rem set 的/a 参数就是让set 可以支持数学符号进行加减等一些数学运算,它的作用很多,后面介绍4 set /a var+=15 echo %var%6 rem 还记得上一篇中的if的用法吗,比较数值7 if %var% lss 10 goto start8 pause >nul例2:按判断条件作跳转1 @echo off2 set /p input=请输入字母A或者B:3 if "%input%"=="A" goto labelA4 if "%input%"=="B" goto labelB5 echo 输入不正确6 pause>nul7 exit8 :labelA9 rem 当输入了字母A时,就已经从第三行开始跳转到第7行执行了.10 echo 输入了字母A11 pause >nul12 exit13 :labelB14 echo 输入了字母B15 pause >nul16 exit批处理及shell,实际上是一堆命令写在一起,它们会一行一行的执行.自上而下.对于goto及配套label的用法,请注意以下几点:1. label是一个标签,以冒号开关,最好用易识别的字符串常量来标识(不能用变量)2. goto在执行到的后面紧跟的标签时,会去全文件查找,执行第一个被找到的标签(所以请不要弄几个同名标签,此类做法比较二,后果自已去总结)3. 标签执行完成后如果不被终止或者跳转的话,程序仍会向下继续执行.你可以理解:标签实际就是个标识作用,它没有真正意义上的把程序分块(不像各个括号的作用).4. 标签可以被当作注释来用,但它是被执行了,标准的注释用的是::或者rem5. 当你看到goto :eof时,不要惊讶, eof=end of file, :eof是一个固定通用标签,它表示跳到该文件的末行.(但如果程序是执行在call中时,它是跳出call。Goto语句有悖于结构化的程序设计,建议少用,会导致程序可读性变差,但有时候用它能达到意想不到的结果。
随时随地看视频慕课网APP
我要回答