老规矩,先提出几个问题:
-
为什么要进行动态链接? -
如何进行动态链接? -
什么是地址无关代码技术? -
什么是延迟绑定技术? -
如何在程序运行过程中进行显式链接?
为什么要进行动态链接?
动态链接的出现是为了解决静态链接的一些缺点:
-
节约内存和磁盘空间:如下图所示,
语法
流程图
实例
多层 for 循环实例如下:
#include
int main ()
{
int i=0,j=0;
for (i = 0; i printf("i 的值: %d\n",i);
for (j = 0; j if( j==1){
continue;
}
printf("j 的值: %d\n",j);
}
}
return 0;
}
编译结果如下,我们可以得出结论,在双层FOR循环中,在内循环使用Continue,只会在内循环中跳过此处循环,小循环继续执行,不会跳过大循环。
我们再举一个while循环的例子如下:
#include
int main ()
{
int a = 0;
do
{
if( a == 5)
{
/* 跳过迭代 */
a = a + 1;
continue;
}
printf("a 的值: %d\n", a);
a++;
}while( a return 0;
}
输出如下:
Break 语句
在循环中,关键词Break,作用是跳出循环,一般有以下两种用法:
-
当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。 -
它可用于终止 switch 语句中的一个 case。
如果使用的是嵌套循环,break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。
注意:
-
break语句对if-else的条件语句不起作用。 -
在多层循环中,一个break语句只向外跳一层。 -
由于它是用来退出循环或者switch语句的, 所以只有当它出现在这些语句的时候, 这种形式的break语句才是合法的。
语法
流程图
实例
如下:
#include
int main ()
{
int i=0,j=0;
for (i = 0; i printf("i 的值: %d\n",i);
for (j = 0; j if( j==1){
break;
}
printf("j 的值: %d\n",j);
}
printf("\n");
}
return 0;
}
编译结果如下,我们可以看到在双层FOR循环中,在内循环使用Break,只会在内循环中结束本次循环,小循环结束此次执行,不会跳过大循环。
我们再举一个while循环的例子如下:
#include
int main ()
{
int a = 0;
do
{
printf("a 的值:%d\n" , a );
a = a + 1;
if( a > 5)
{
// 终止循环
break;
}
}while( a return 0;
}
输出如下:
Return
在循环中,Return语句,作用是结束本次循环,将函数调用栈弹栈,恢复现场。
说的简单点儿就是结束当前的函数,返回函数执行结果,回到本函数被调用处继续执行。
我们举个例子如下:
#include
int main ()
{
int i=0,j=0;
for (i = 0; i printf("i 的值: %d\n",i);
for (j = 0; j if( j==1){
return;
}
printf("j 的值: %d\n",j);
}
}
return 0;
}
输出如下:
提问思考?
不知道大对上面的解释有没有理解清楚,这里提出3个问题,如果一看即知道答案,那么肯定没有问题了。
-
同样是跳出循环,return和break有什么区别? -
同样是中断执行,return和return false有什么区别? -
在什么应用场景下我们会用到break或continue?
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !