for 语句是我们今后编程的一个常用的语句,这个语句必须得学会其用法,它不仅仅可以用来做延时,更重要的是用来做一些循环运算。for 语句的一般形式如下:
for( 表达式1; 表达式2; 表达式3 ){
// 需要执行的语句;
}
其执行过程是:表达式 1 首先执行且只执行一次;然后执行表达式 2,通常都是一个用于判定条件的表达式,如果表达式 2 条件成立,就执行(需要执行的语句);然后再执行表达式 3;再判断表达式 2,执行(需要执行的语句);再执行表达式 3.....一直到表达式 2 不成立时,跳出循环继续执行循环后面的语句。举个例子:
这里有一个符号++,我们刚刚讲过了。假如 j 最开始初值是 0,首先执行表达式 1 的 i=0,然后判断 i 小于 2 这个条件成立,就执行一次 j++,j 的值就是 1 了,然后经过表达式 3 后,i的值也变成 1 了,再判断条件 2,还是符合,j 再加一次,j 变成 2 了,再经过表达式 3 后 i也变成 2 了,再判断条件 2,发现 2
for 语句除了这种标准用法,还有几种特殊用法,比如我们上节课的闪烁小灯对 for 语句的用法 for(i=0; i<30000; i++) ;我们没有加(需要执行的语句),没有加的话,就是什么都不操作。但是什么都不操作的话,我们这个 for 语句循环判断了 30000 次,程序执行是会用掉时间的,所以就起到了延时的作用。比如我们把 30000 改成 20000,会发现灯的闪烁速度加快了,因为我们延时时间短了,当然,我们改成 40000 后会发现,闪烁慢了。但是有一点特别注意,C 语言的延时时间是不能通过程序看出来的,也不会成比例,比如我们这个 for 循环里边的表达式 2 使用 30000 时延时是 3 秒的话,那么改成 40000 的时候,可能不是 4 秒,那如何看实际延时时间呢,一会我再教大家。
还有一种写法 for( ; ; ),这样写后,这个 for 循环就变成了死循环了,就不停的执行(需要执行的语句),和我们前边讲的 while(1)的意思是一样的了。那 while 这个语法是如何用的呢?