两个个关于C语言循环跳出的问题?

第一个if(xxx){switch(yyy){case1:if(aaa)return;case2:}}那个return能否跳出if(xxx),用break;语句是否效果一... 第一个
if(xxx)
{
switch(yyy)
{
case 1:if(aaa)return;
case 2:

}
}
那个return能否跳出if(xxx),用break;语句是否效果一样?

第二个
if(xxx)
do
{
if(aaa)break;
}
while();
}
这里面的break语句能否跳出if(xxx)?

请求详细回答,最好是能够有这两语句和循环的具体详细的说明,满意追加50分!!
展开
 我来答
百度网友9edcf2987
推荐于2017-09-07 · TA获得超过443个赞
知道答主
回答量:99
采纳率:0%
帮助的人:0
展开全部
通常在C语言里面使用的跳转语句主要有四种:
goto
continue
break
return

先将四种都为你做一个简单的介绍:
goto :
用于模块之间的跳转,次跳转功能强大,可实现在程序内部任意位置跳转,调用形式为:
A: 模块一;//在这里A是一个标示符,常用大写字母表示,表示跳转后程序执行的起始位子

模块二
{
goto A;//跳转到A处执行
}
在C语言中这种形式的调用通常发生在菜单的制作上,用于多个模块之间进行切换,可以嵌套使用。但是这种编程方式并不提倡使用,在跳转过程中可能会带来不可预知的BUG。应尽量避免使用。

continue
continue一般用于加速循环,一般在循环体内部进行调用,其功能是:结束本次循环,是循环快速地进入到下一次循环中,比如:
for(;;)
{
…………;
if(ture)
continue;
…………;
}
当if条件为真时,循环进入下一次;

break
一般用于跳出本循环,即跳出break所在的循环,哪个循环调用了break,就跳出哪个循环;

比如:
while()
{
for(;;)
{
…………
break;
……
}
}

在这段模板中,for 调用了break;当执行到break时跳出for,但是不跳出while,而是继续执行while循环

return
一般的用法 时为了实现返回,返回一个值或其他复杂类型,都是可以的,
return 一般都用在被调用的对象(对象一)里面,调用以后返回到调用对象(对象二)即,当对象二调用对象一时,如果对象一内部调用了return语句,则程序执行返回到,对象二调用对象一得下一条语句继续执行,
比如:(这里的对象在C语言里面就是函数)
对象一()
{
return;
}
对象二()
{
语句一;
对象一();
语句二;

}
当程序执行到对象二时,会调用对象一,转到对象一种去执行,当执行到return时,会返回到对象二中,执行语句二

对于你的提问现给出如下解释:
第一个程序段

时对于return的调用,调用之后,程序会跳出main函数,也就是说return有结束函数调用的功能。

第二个程序段:
do
while();
是一个循环体,break在循环内部调用,跳出循环,但不跳出if,

一般语言里面的跳转都满足上述规律,但不排除,在特殊的算法内部特殊的应用

希望你能够明白
wellia0926
2010-03-20 · TA获得超过293个赞
知道小有建树答主
回答量:497
采纳率:0%
帮助的人:0
展开全部
第一个:
return 直接跳出函数,break只是跳出循环(包括for循环while循环do-while循环和switch),这里用了return之后都跳出函数了,肯定在if之外,而用break只是跳出那层switch,还是在if里面的
第二个:
同理,这里的break只能跳出do-while,还是在if里面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cpp门徒
2010-03-20 · TA获得超过620个赞
知道小有建树答主
回答量:276
采纳率:0%
帮助的人:0
展开全部
第一个:
return 是肯定能跳出 if(xxx)的,return是返回,遇到return直接就去函数结尾了。
用break;语句效果肯定不一样,break;只不过是跳出switch(yyy)函数,然后继续运行下去。

给个代码你清楚下:
#include <stdio.h>
void main()
{
int x = 1, y = 2;
if ( x )
{
switch ( y )
{
case 2: if ( 1 ) return ; // 换break;试下
case 3: printf ("^_^\n");
}
printf ("^_^\n");
}
}

第二个:
break语句不能跳出if(xxx);break只是跳出循环,而不是要结束函数。
给个例子你能更好的看清楚。
#include <stdio.h>
void main()
{
int x = 1, y = 2;
if ( x )
{
do
{
if ( 1 ) break;
} while ( y );
printf ("^_^\n");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式