f
or
循环是一个常见的重复结构,允许高效率的执行一个循环就可以执行一定数目的次数,本文我们对
for
循环的基本知识做一个梳理。
一、
For
循环的基本概念
图
1 for
循环的基本语法
For
循环的基本语法结构,如图
1
所示。其中,有三个表达式用
分号隔开:
第一个表达式是循环计数器变量的初始化;
第二个表达式是测试循环是否满足的条件判断,如果条件为真,那么就会继续执行循环;
第三个表达式是每一次循环结束时,改变循环计数器的变量。
对于这个循环结构,三个表达式都可以缺失,但需要注意的是,当缺少表达式
1
和表达式
3
时,循环就无法正确进行了,但是缺少表达式
2
时可以进行无限次数循环。
有一种特殊情况是,三个表达式都缺失,这时候是进行无限次数循环的,此时可以使用
break
来离开这个循环。
二、字符串打印函数的基本概念
图
2 printf
函数的基本语法
打印控制字符串到标准输出终端是一个常见的调试功能,比如
PC
终端或者
MCU
的
UART
终端等。在
MCU
使用中可以使用
printf
函数将需要的字符串数据打印在
UART
终端上。在这个基本语法结构中,除了控制字符串之外,所有
逗号分开
的数据是可选的,参数可以是变量或者嵌入到控制字符串中的数据。
另外一个元素是控制字符串中的占位符,它表示参数值应该插入的位置,同时指明打印字符串中的数据使用的格式,值得注意的是,
printf
函数需要大量的内存,所以一般仅用于调试功能。
图
3 printf
语句基本结构
如图
3
所示,是一个基本的
printf
的语句结构,可以看到它需要输出
a
和
b
两个变量的值,这两个变量采用
10
进制整数的格式,用
%d
表示,并且在显示完一个数据之后输出一个
\n
换行字符。
%d
就是需要插入两个变量参数的位置,第一个
%d
需要被
a
数据所代替,第二个
%d
需要被
b
数据代替。
图
4
常见格式标识符
常见的
printf
函数中使用的格式字符,如图
4
所示。
三、在
MCU
中使用字符串打印输出
for
循环变量输出
图
5 MCC
中配置
UART
外设
此处采用
9600
的波特率,将
printf
重定位到
UART,
和
MCU
相关的其它外设此处由于篇幅所限不做说明。
图
6 for
循环中的变量打印输出函数定义
图
7
主程序中重复打印
for
循环变量输出
图
8
串口打印输出结果显示
上述内容简要说明了通过
printf
函数无限次打印
for
循环结果。
来源:电源漫谈