while循环怎么停止

while循环怎么停止,第1张

while是一个循环体,退出循环体的方法有:

1、循环体条件 不成立,如:while( a>0)当 a≤0 的时候,条件 a>0不成立,while 循环结束,退出 while 循环。

2、在循环体内使用无条件跳出语句(break),如 while(1){if(b>5)break}当 b>5 的时候,程序执行 break ,跳出 while 循环体,循环体被结束。

3、在循环体内使用 函数返回 语句(return),如 while(1){if(c>8) return (XXX)},当 c>8的时候,程序执行 return,退出函数返回到上级函数。其中返回值 XXX 需要根据 函数类型进行返回。

扩展资料:

While是计算机的一种基本循环模式。当条件满足时进入循环,当条件不满足时退出循环。while语句的一般表达式是:while(expression){loopbody}。

虽然语法

帕斯卡

而<条件>执行<语句>

当条件满足时,执行以下语句。如果没有,退出循环。

C

Do <语句>while(<条件>)

While(<条件>)<语句>

c++

While(<条件>)<语句>

Do <语句>while(<条件>)

Java

While (<condition >){<语句>}

做{<声明>} while(<条件>)

两者的区别是do-while至少要执行一次。

在循环中,可以使用continue关闭当前循环,并返回到循环的开头开始下一个循环。你也可以跳出这个循环。

摘要: Linux , Shell

Shell中常用循环有 for , while

for循环只能用于 固定次数 的循环,因此不能无限循环和用于一些在后台守护进程一直运行的程序,语法语句如下

也可以写成一行,用 ; 分隔

取值列表内元素以空格隔开,如果元素带有空格则用引号包裹起来,例子如下

输出如下,可见循环到最后退出循环,引用变量依旧是最后一个取值列表元素

一行的写法

Shell的for循环也可以采用C语言的写法,注意是 双括号 ,用 分号; 间隔

一个简单例子

while循环语句结合条件测试使用,语法如下

举一个例子

在循环中使用条件测试实现复杂的逻辑,例如

也可以使用&&,||一行完成,省去if,fi

Shell的continue,break语句和Python一样,例子如下

break语句下输出4

continue语句下输出4 6 7 8 9 10

常见结合使用的循环体有 序列 , 数组 , 命令行传参 , 文件目录和文件

序列通过 seq 命令或者 {begin..end..step} 符号进行定义:

结合for循环使用案例

在Shell中使用小括号 () 定义数组,数组遍历使用 [@] 符号,防止元素有空格用双引号包起来,,例子如下

命令行传参遍历使用固定符号 $@ ,如果参数中有空格,用双引号括起来,例子如下

文件遍历使用 ls 命令,可以指定目录,以及通配符匹配

一个双重循环实现,注意 expr表达式中乘号要加转移符

(2)将某目录下大小大于阈值的文件移动到另一个文件

遍历循环一个目录,使用awk语法获得文件大小,将100m以上的文件移动到另一个文件夹

(2)指定开始日期和结束日期完成一个跑批任务

指定一个开始时间和结束时间,while从开始日期一直自增到结束日期循环结束,通过 date -d '2021-01-01 1day' +%Y-%m-%d 自增一天

先占下楼层,空了慢慢给你做!

先做第一题1月12日:

#!/bin/bash

echo this "date" :`date`

echo this "cal" :`cal`

echo this "pwd" :`pwd`

echo this "ls" : `ls`.

第二题1月12日:

这个没法写了撒 太笼统;建议翻翻书。

我列个环境变量的例子吧:

#!/bin/bash

echo "第二题":

TEST_DIR=/root

export $TEST_DIR

echo "环境变量TEST_DIR是/root".

第三题1月12日:

#!/bin/bash

echo "第三题for":

echo "3.1 for"

x=0

for ((i=1 i<101 i++))

do

x=$(($x+$i))

done

echo $x

echo "---------------------------------"

echo "第三题while":

echo "3.2 while"

x=0

i=1

while [ $i -lt 101 ]

do

i=$(($i+1))

x=$(($x+$i))

done

echo $x

第三题第二个

#!/bin/bash

echo "3.2"

function fib {

if [ $1 -lt 2 ]then

echo -n $1

else

local n_2=$(($1 - 2))

local n_1=$(($1 - 1))

local f_n_2=$(fib $n_2)

local f_n_1=$(fib $n_1)

local f_n=$((f_n_2 + f_n_1))

echo -n $f_n

fi

}

n=10

for ((i = 0i <$ni++))

do

printf "fib(%2d) = %d\n" $i $(fib $i)

done


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/9032479.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-24
下一篇 2023-04-24

发表评论

登录后才能评论

评论列表(0条)

保存