目录
例题:提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和
某山顶上有一颗香蕉树,一只猴子第一天从树上摘了若干根香蕉,当即就吃了一半,还不过瘾,
又多吃了一根。第二天猴子又将剩下的香蕉吃了一半,禁不住诱惑,又多吃了一根香蕉。
依此类推,每天都将剩余的香蕉吃一半后再多吃一根。到了第十天,猴子发现只剩一根香蕉了,请问这只猴子在第一天总共摘了多少根香蕉?
例题:淘宝只有一家店,衣服 500 裤子 400 鞋子 300 帽子 200 袜子 100
每次选购完成之后都要提示用户是否继续购买,如果用户不买了,要提示结算金额,你 消费了多少。如果继续买,就继续添加商品,最后也要给一个总金额
例题: 用户名存放在users.txt文件中,每行一个,判断文件里的用户是否存在,若该用户存在,
输出提示该用户已存在;用户存在但没设密码,则提示用户并让用户设置密码;
例题: 用户输入密码,脚本判断密码是否正确,正确密码为123456,输入正确提示正确信息,连续输错3次则报警
例题:使用循环语句将一个 0到255 之间的十进制数转换成8位数二进制数
循环与遍历
循环:重复执行一段代码的结构,通过循环,可以在满足一定的条件之下,多次执行的代码
循环语句:循环体,代码的总结构,循环条件,当循环条件满足时,循环体内的代码才会执行,条件不满足,循环结束。
遍历:对数据结构中的每个元素都进行一次访问、操作或者输出的过程
循环和遍历是结合在一起使用的
循环实际上是一种控制流程的结构,用于重复执行代码
遍历就是一种对数据进行访问和操作的过程。
循环的特点:
(1) 重复执行代码
(2) 简化程序的逻辑,提高程序的可读性和可理解性,降低了代码出错的可能性
(3) 提高了代码的重复利用率
(4) 提高了效率,循环可以自动化的让程序执行,减少了人工的干预,就提高了效率
循环的作用:就是为了批量的执行代码的一种方式。减少人工干预,提高效率
for循环语句:
1.for循环主要用于已知次数的循环
2.语法结构:
for 变量名 in 取值范围
do
命令序列 //对取值范围内的变量进行特定的操作
done //循环结束的标志
3.无线循环:for((;;)) 死循环
第二种格式:for i in {1..5} //限定取值范围的格式为1-5
第三种格式:类c语言格式:
for((表达式1;表达式2;表达式3))
do
命令序列
done
for((i=1;i<=10;i++))
数字累加脚本
sum=0
for i in {1..10}
do
sum=$(($i+$sum))
done
例题:分别打印1-100内的奇数和与偶数和
双层循环:
for
for
echo的用法:
echo -n:不换行输出
echo -e:可以使用转义符
常用转义符:
\b //删除键
\n //换行
\t //相当于tab键的空格
\c //不换行输出,字符过长,会导致后面的字符不输出
外面的大循环,大循环控制整个循环的次数,大循环打印的是行,内循环控制的是列
循环控制语句:
break:一旦触发break,整个循环会78立刻跳出,即使后面还有循环条件,也不再执行了。
continue:一旦触发continue,只会跳出这一次循环,如果后面的循环条件依然有,继续执行。
exit :整个脚本终止运行,直接退出,续代码不再执行
例题:计算从1到100所有整数的和
例题:提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和
例题:
某山顶上有一颗香蕉树,一只猴子第一天从树上摘了若干根香蕉,当即就吃了一半,还不过瘾,
又多吃了一根。第二天猴子又将剩下的香蕉吃了一半,禁不住诱惑,又多吃了一根香蕉。
依此类推,每天都将剩余的香蕉吃一半后再多吃一根。到了第十天,猴子发现只剩一根香蕉了,请问这只猴子在第一天总共摘了多少根香蕉?
while循环语句
while也是一种循环,满足条件执行循环,不满足结束循环
用于不知道循环次数,需要主动结束循环或者达到条件结束循环的场景。
格式:
while [ 条件判断 ]
do
命令序列
done
例题:计算1..100的和
随机数的表示:
%RANDOM,表示一个随机整数
%RANDOM的值的范围:0-32767
定义范围:$((RANDOM%100)) //表示0-99
$((RANDOM%100+1)) //表示1-100
$((RANDOM%1000)) //表示0-999
例题:猜数字
先定义随机数
num=$((RANDOM%100+1))
方法一:
方法二:
例题:ping网段
例题:将opt目录下以.txt结尾的文件合并到新的文件里
until循环语句:
until
当判断条件不成立时,才进行循环,条件成立,终止循环
格式:
until [ 条件测试语句 ]
do
命令序列
done
例题:1-10求和
循环控制语句:
continue:
continue:跳出当前循环,但是后续还有循环条件,会继续执行
break:跳出当前循环,后面的条件不再继续执行
exit:直接退出,作用于整个脚本,整个脚本立刻终止
exit 0:即刻退出
例题:淘宝只有一家店,衣服 500 裤子 400 鞋子 300 帽子 200 袜子 100
每次选购完成之后都要提示用户是否继续购买,如果用户不买了,要提示结算金额,你 消费了多少。如果继续买,就继续添加商品,最后也要给一个总金额
例题: 用户名存放在users.txt文件中,每行一个,判断文件里的用户是否存在,若该用户存在,
输出提示该用户已存在;用户存在但没设密码,则提示用户并让用户设置密码;
若该用户不存在,提示用户输入密码,建立用户并设立其密码
例题: 用户输入密码,脚本判断密码是否正确,正确密码为123456,输入正确提示正确信息,连续输错3次则报警
例题:使用循环语句将一个 0到255 之间的十进制数转换成8位数二进制数
例题:使用三种方式写出1-100求和