Shell之循环语句 —— For 实验

news2025/1/17 21:46:29

循环

循环就是重复执行一段代码的结构,通过循环可在满足一定的条件下,多次执行相同的代码。
       循环语句:循环体 —— 代码的总结构
       循环条件 —— 当循环条件满足时,循环体代码才会被执行,否则条件不满足,循环就结束。

遍历:对数据结果中每个元素进行一次访问的过程(操作、输出)。

循环和遍历通常是一起使用,循环用来控制流程结构用于重复执行代码;遍历是对于对数据访问和操作的过程。

循环的特点

1、重复执行代码
2、简化程序的逻辑,提高程序的可读性和可理解性,降低了代码出错的可能性
3、提高了代码的重复利用率
4、提高了效率,循环可以自动化的让程序执行,减少了人工的干预

For循环语句的结构

无限循环

for 变量名 in (取值的范围) —— do —— 命令序列 (对取值范围内变量的特定操作) —— done (结束循环)

死循环

for (( ;; ))

For循环方式

for 变量名 in (取值的范围)

for ((表达式1;表达式2;表达式3)) —— 类C语言格式

双重For循环

       双重循环顾名思义,在原有for的大循环基础上再套一个fo小r循环。外面的大循环控制整个循环的次数,小循环控制范围内的次数;大循环控制打印出的行数,小循环控制打印出的列数。

echo 常用的选项

  • echo -n:不换行输出
  • echo -e:使用转义符

常用的转义符选项

  • \ b:删除键
  • \ n:换一行输出
  • \ t:相当于Tab空格
  • \ c:不换行输出,如字符过长,后面的则不输出

循环控制语句

break:满足条件后触发break,整个循环就立刻跳出,即使后面有条件也不再执行

continue:一旦触发continue,只会跳出这一次循环,后面有条件则会继续执行

exit :直接退出整个脚本,后面的都不再执行 

实验

实验一

计算从1到100所有整数的和

实验二

提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和

实验三

       某山顶上有一颗香蕉树,一只猴子第一天从树上摘了若干根香蕉,当即就吃了一半,还不过瘾,又多吃了一根。第二天猴子又将剩下的香蕉吃了一半,禁不住诱惑,又多吃了一根香蕉。依此类推,每天都将剩余的香蕉吃一半后再多吃一根。到了第十天,猴子发现只剩一根香蕉了,请问这只猴子在第一天总共摘了多少根香蕉?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/755312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringCloud Alibaba——Nacos中的Distro协议

一、Nacos中的Distro协议 Nacos 每个节点自己负责部分的写请求。每个节点会把自己负责的新增数据同步给其他节点。每个节点定时发送自己负责数据的校验值到其他节点来保持数据一致性每个节点独立处理读请求,及时从本地发出响应。新加入的 Distro 节点会进行全量数据…

【高并发网络通信架构】3.引入IO多路复用(select,poll,epoll)实现高并发tcp服务端

目录 一,往期文章 二,基本概念 IO多路复用 select 模型 poll 模型 epoll 模型 select,poll,epoll 三者对比 三,函数清单 1.select 方法 2.fd_set 结构体 3.poll 方法 4.struct pollfd 结构体 5.epoll_cre…

前端uni-app自定义精美全端复制文本插件,支持全端文本复制插件 可设置复制按钮颜色

随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。 通过组件化开发,可以有效实现…

读数据压缩入门笔记07_自适应统计编码

1. 位置对熵的重要性 1.1. 为了计算概率总需要多遍历一次数据集,而在计算出整个数据集中各符号的出现概率后,还要继续处理这些数值 1.1.1. 如果是相对较小的数据集,那么这些就不是什么问题 1.2. 随着要压缩的数据集变大,统计编…

Python异常值检测——案例分析

目录 1.单个变量异常值检测 2. 双变量关系中的异常值检测 3. 使用线性回归来确定具有重大影响的数据点 4. 使用k最近邻算法找到离群值 5. 使用隔离森林算法查找异常 1.单个变量异常值检测 如果某个值离平均值有多个标准偏差,并且远离近似标准正态分布的值&#…

Office如何通过VSTO进行WORD插件开发?

文章目录 0.引言1.工具准备2.WORD外接程序创建和生成3.外接程序生成并使用 0.引言 VSTO(Visual Studio Tools for Office )是VBA的替代,是一套用于创建自定义Office应用程序的Visual Studio工具包。VSTO可以用Visual Basic 或者Visual C#扩展…

在 3ds max 中创建逼真的镜像材质

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 选项 1.平面镜面材料 步骤 1 首先,我们需要包含镜像对象和一个或多个镜像对象的场景。您可以在此处下载本教程中使用的场景,也可以使用您自己的场景和对象。对于第一个镜像选项&…

Unreal Engine 与 Blender - 比较指南

虚幻引擎和 Blender 是游戏开发人员中最常用的两种软件,它们在游戏开发工作流程中都有自己的用途和地位。作为进入视频游戏行业的初学者,可能很难从数十种软件中筛选找到最适合您需求的一款。希望本指南能够缓解这一困难并帮助您决定选择哪个软件。 虚幻…

【c++源码】瑞佳飞飞彩虹端分享老飞飞源码

里面功能包含。离线摆摊,内挂,宠物系统,宠物进阶,任意商店,回收装备,模型查看,个人排行榜,物品分解,全物品升级,钥匙开箱子,外观变更,…

电商数据采集方式有哪些

不管是做渠道管控、还是价格监测,数据采集都是基础,只有数据准确了,品牌才能更好的管控乱价、治理渠道。同时当品牌有数据分析需求时,对数据采集的要求也会越高。 力维网络有自主开发的数据采集监测系统,可为品牌提供多…

SpringCloud整合Sentinel

文章目录 1、Sentinel介绍2、安装Sentinel控制台3、微服务整合Sentinel 1、Sentinel介绍 阿里开源的流量控制组件官网:https://sentinelguard.io/zh-cn/index.html承接了阿里双十一大促流量的核心场景,如秒杀、消息削峰填谷、集群流量控制、实时熔断下游…

关于Java的网络编程

网络的一些了解 网络通信协议 链路层:链路层是用于定义物理传输通道,通常是对某些网络连接设备的驱动协议,例如针对光纤、网线提供的驱动。网络层:网络层是整个TCP/IP协议的核心,它主要用于将传输的数据进行分组&…

【EXCEL】数据录入的快捷键和正确格式

目录 0.环境 1.内容概述 2.具体内容 2.1数据录入换行换列的快捷键(标准的数据输入方式) 2.2日期的正确格式和使用(标准日期格式与长日期) 2.2.1 标准日期 2.2.2 长日期 2.2.3 显示当前日期和时间的快捷键 2.3百分比的正确…

华为Mate60 Pro曝光:麒麟芯片9100 or 骁龙8Gen2+5G,7699元起,你觉得如何?

最近网上关于华为Mate60系列的爆料逐渐增多,尤其是对于新机到底支不支持5G,众说纷纭,而且老是变动。7月14日,有数码博主爆料称,华为Mate60系列确实分前期和后期版本,前期为了秀肌肉,会展示新的成…

更改el-select-dropdown_item selected选中颜色

更改el-select-dropdown_item selected选中颜色 默认为element主题色 在修改element select下拉框选中颜色时会发现不生效,原因是:el-select下拉框插入到了body中 解决办法: 在select标签里填写:popper-append-to-body"false"属性…

window关闭固定端口号

查看所有:netstat -ano 查看对应端口:netstat -ano|findstr "9004"关闭端口: 任务管理器中的详细信息 对应的PID就是占用的端口 关闭即可 命令行关闭端口: taskkill -PID 进程号 -F

基于weka手工实现多层感知机(BPNet)

一、BP网络 1.1 单层感知机 单层感知机,就是只有一层神经元,它的模型结构如下1: 对于权重 w w w的更新,我们采用如下公式: w i w i Δ w i Δ w i η ( y − y ^ ) x i (1) w_iw_i\Delta w_i \\ \Delta w_i\eta(y…

Java Jsp+Json+阿贾克斯

0目录 1.补充阿贾克斯 2.实战(加入Json) 1.补充阿贾克斯 创建工程,加入jason依赖和数据库 新建数据库,表和实体类 先新建一个查询方法 FruitServlet 修改Web.xml 加入Js包(版本1.9.1) …

electron在BrowserWindow中禁止右键菜单

最近使用 electron vite solid.js 做一个网络流量实时监控的小工具,其中需要禁止用户在获取 BrowserWindow 焦点后弹出默认右键菜单。 解决方案 在 new BrowserWindow 后中添加以下代码: // 禁止右键菜单弹出 startmainWindow.hookWindowMessage &…

吴恩达机器学习2022-Jupyter-Scikit-Learn教学

1可选实验室: 线性回归使用 Scikit-Learn 有一个开源的、商业上可用的机器学习工具包,叫做 scikit-learn。本工具包包含您将在本课程中使用的许多算法的实现。 1.1目标 在这个实验室里: 利用 scikit-学习使用线性回归梯度下降法来实现 1.2工具 您将利用 sciki…