goto语句缺点(c语言goto怎么回事)
本文目录
c语言goto怎么回事
goto语句是C语言中的跳转命令。使用方法:
goto label;
label为本函数中声明的一个标号,执行goto后,跳转到该标号指定行处继续执行。
一般来说,很多书都不推荐使用goto,不过很多书都给了一些很牵强的理由。在某些情况下需要使用goto,比如跳出多重循环。
但是goto不能滥用,主要缺点有这几个:①影响程序可读性 ②影响程序执行效率。分支语句会对指令预取造成很大的影响,而且跳转的位置有时分支预测单元可能预测不到。常用的跳转语句如if、for等,对这点影响都很小,但是goto不同,一个较长的跳转可能给指令预取单元带来很大的麻烦。
所以说,不要滥用goto,除非你确定它不会给你造成麻烦。
c++的一些基本问题
c++中选择控制主要有两种:if--else和switch。if--else主要用于选择条件只有两种的时候(如果更多也可以通过增加else来实现),而switch主要适用于各个条件的值比较明确的时候。比如输入int temp,如果是要判断temp是否是大于5,就可用
if(temp》5)
{;}
else
{;}
如果是要判断temp是否是1,2……9中的一个数,则用
switch(temp)
{
case 1://
break;
case 2://
break;
……
}
循环语句中数fo最灵活好用,一般用于循环次数比较明确的时候,比如
for(int i=0;i《=10;i++)
{;}
while和do--while的区别只在于一个是先循环一次再判断条件,另一个则是在判断后再决定是否循环,一般用于循环次数不明,结束条件明确的情况。
另外,goto语句较容易造成程序逻辑混乱,不易被他人阅读和查错,所以不建议使用。
什么叫结构化算法,为什么要提倡结构化算法
结构化算法是由一些基本结构顺序组成的.在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本的结构范围内.一个非结构化的算法可以用一个等价的结构化算法代替,其功能不变.
跟结构化算法比较起来,非结构化算法有以下缺点.
流程不受限制的随意转来转去,使流程图豪无规律.使人在阅读的时候难以理解算法的逻辑.难以阅读,也难以修改.从而使算法的可靠性和可维护性难以保证.
C#中被try包含的代码过多有什么优缺点
try是个好东西,当程序出错时会调用catch语句块,不至于程序中断
回答的不够完整,我把例子补充一下,
C***ole.WriteLine("请输入一个整数");
Label:
try
{
C***ole.WriteLine("程序开始");
int i = int.Parse(C***ole.ReadLine());
C***ole.WriteLine("变量i已经有值了");
}
catch
{
C***ole.WriteLine("输入的不是整数");
goto Label;
}
C***ole.WriteLine("程序结束");
}
首先在运行程序的时候输入了一个非整数"a",程序跑到了catch语句中然后又根据goto语句跳出来重新输入,
程序在运行第一次输入的时候,没有显示代码出错之后的显示代码(输入错误的时候,没有运行C***ole.WriteLine("变量i已经有值了");这句),而是直接运行catch语句了,在第二次输入的时候,输入了一个整型,结果下面的C***ole.WriteLine("变量i已经有值了")这里运行了,
所以在写try语句块的时候在可能出错的部分前面代码放进去是不会影响程序的走向的,如果放在可能出错的后面的话,程序要是出错了是不会运行可能出错的下面语句的,写的时候要注意了
goto 优缺点
优点:代码跳转快,方便。
缺点:goto语句的大量使用是个灾难,尤其是在后续的代码维护之中,goto语句是的程序结构混乱(虽然它能够正确执行),读起来很难懂。现在的编程思想提倡不使用goto
c++程序控制结构问题,,,急!!!
晕,你什么都不会吧,我还当是程序问题呢.
你问的这些问题书上都有,回答的话要回答好多呢!
建议你系统的看下书学习一下
更多文章:
showwindow参数(ShowWindow(hwnd,iCmdShow); 参数疑问)
2026年4月15日 14:00
continue可以跳出几层循环(简述C语言中,break语句与continue语言的作用与作用范围有例题最好!)
2026年4月15日 13:40
access数据库必须包含七类不同的对象(access数据库的组成是什么)
2026年4月15日 13:20
tran**issionfault是什么意思(tran**ission意思)
2026年4月15日 13:00
社区类网站源码(求好心人赏一个WordPress 网站 LightSNS社区源码完整版,授权真心买不起啊!)
2026年4月15日 12:20
雪铁龙service(雪铁龙世嘉service是什么故障灯)
2026年4月15日 12:00



