for循环
循环和遍历的概念
循环(Loop)和遍历(Traversal)是两个在计算机编程中经常使用的概念。
循环是一种重复执行一段代码的结构。通过循环,可以在满足一定条件的情况下,多次执行相同的代码。循环语句通常包括一个循环体(Loop Body)和一个循环条件(Loop Condition),当循环条件满足时,循环体会被执行,否则循环结束。
遍历是指对一组数据结构中的每个元素进行一次访问的过程。在计算机编程中,常常需要对数组、列表、树等数据结构中的每个元素进行遍历,
以便对它们进行操作或者输出。
循环是一种控制流程的结构,用于重复执行一段代码,而遍历是一种数据操作的过程,用于访问并处理数据结构中的每个元素。在某些情况下,循环和遍历可以结合使用,以便在循环中遍历数据结构并对其进行操作。
循环(Loop)是计算机编程中非常重要的一种结构,其主要目的是为了简化代码编写,提高代码的重复利用率,以及提高程序的效率。
以下是使用循环的一些好处:
- 重复执行代码:通过使用循环,可以在程序中重复执行一段代码,从而避免代码的重复编写,减少程序代码量,提高程序的可读性和可维护性。
- 简化程序逻辑:使用循环可以使程序逻辑更加简洁明了,提高程序的可读性和可理解性,降低代码出错的可能性。
- 提高代码的重复利用率:通过将重复的代码封装在循环结构中,可以提高代码的重复利用率,减少代码冗余。
- 提高程序的效率:循环可以让程序自动化地执行重复任务,从而减少人工干预的次数,提高程序的效率和性能。
for语句的结构
读取不同的变量值,用来逐个执行同一组命令
一般格式
for 变量名 in 取值列表
do
命令序列
done
实验1.1 :
实验1.2
实验1.3
类c语言格式
for (( 表达式1; 表达式2; 表达式3 ))
do
命令序列
done
#表达式1:定义变量并赋值
#表达式2:决定是否循环
#表达式3:决定循环变量如何改变,决定循环什么时候结束
实验2
实验1.4
1累计加到100
拓展:for语句死循环
for ((;;))
do
命令序列
done
#括号里面固定格式
常用转义字符
echo -n 表示不换行输出
echo -e 输出转义字符,将转义后的内容输出到屏幕上 echo -ne
只有加了-e才能执行下面的转义符:
常用的转义字符如下:
\b | 转义后相当于按退格键(backspace),但前提是"\b"后面存在字符;“\b"表示删除前一个字符,”\b\b"表示删除前两个字符。 |
\c | 不换行输出,在"\c"后面不存在字符的情况下,作用相当于 echo -n; 但是当"\c"后面仍然存在字符时,"\c"后面的字符将不会被输出。 |
\n | 换行,被输出的字符从"\n"处开始另起一行。 |
\f | 换行,但是换行后的新行的开头位置连接着上一行的行尾; |
\v | 与\f相同; |
\t | 转以后表示插入tab,即横向制表符; |
\r | 光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符;但是当"\r"后面不存在任何字符时,"\r"前面的字符不会被覆盖 |
“ \ \ " 双斜杠 | 表示插入" \ "本身; |
实验3.1: -n不换行输出
实验3.2:
for循环嵌套结构
for 变量名 in 取值列表
do
for 变量名 in 取值列表
do
命令序列
done
命令序列
done
跳出循环
在循环中使用 break 和 continue 命令时,它们分别有以下作用:
-
break:在循环内部,当执行到 break 命令时,会立即跳出当前的循环,停止循环执行,然后继续执行下一条指令。
可以使用 break 命令来提前终止循环,例如当达到特定条件时或者已经执行了足够的次数。 -
continue:在循环内部,当执行到 continue 命令时,会跳过本次循环剩余的代码,并继续下一次循环。
可以使用 continue 命令来跳过循环中的某些操作,例如在特定条件下跳过一次循环,或者只执行符合条件的循环。 -
在嵌套循环中,可以在 break 和 continue 命令后面指定数字参数,来指定跳出或跳过多层循环。
例如,break 2 会跳出终止当前循环和外层循环的迭代,而continue 2会跳过当前循环和两层外层循环的迭代。 -
break和continue命令是控制循环流程重要命令。
continue
表示满足continue条件时跳出循环,但是不影响后续循环执行
它的作用是在循环内部跳过本次循环并继续下一次循环
break
在循环内部,当执行到 break 命令时,会立即跳出当前的循环,停止循环执行,然后继续执行下一条指令。
拓展,在for语句的嵌套结构中continue 2 的意思
-
设置简单的for语句嵌套结构
-
执行结果
-
原理
continue默认为continue 1 ,当continue为默认值时,此时只会跳过内循环中的本次循环,后面循环不受影响,外循环也不受影响
当continue 2 时,此时内循环和外循环均会受到影响,此时continue 2 会跳出本次内循环同时跳出外层循环,从外层循环处满足条件后继续向后执行下一次循环
拓展,在for语句的嵌套结构中break 2 的意思
- 设置简单的for语句嵌套结构
- 执行结果
- 原理
break默认为break 1 ,当break为默认值时,此时只会结束内循环,外循环也不受影响。
当break 2 时,此时内循环和外循环均会受到影响,此时break 2 会同时终止内循环和外循环。