4循环结构

1.while循环1

while (循环控制表达式) {

    循环体语句块;

}

S1:计算循环控制表达式,若为真则执行循环体语句块,否则退出循环;

S2:执行循环体语句块后,执行S1。

1)如果循环控制表达式恒为真,则构成无限循环;//break,return

2)while循环的循环体可能一次都不执行。

2.do-while循环

do {

    循环体语句块;

}   while (循环控制表达式); // 分号一定要有a>90

S1:执行循环体语句块;

S2:计算循环控制表达式,若为真则执行S1,否则退出循环。

do-while循环的循环体至少会被执行一次。

3.for循环

for (表达式1; 表达式2; 表达式3) {

    循环体语句块;

}

S1:计算表达式1;

S2:计算表达式2,若为真则执行循环体语句块,否则退出循环;

S3:计算表达式3,执行S2。

            T

1 -> 2 -> 体

     F/  \    /

    出     3

通常通过表达式1初始化循环变量,通过表达式2判断循环终止条件,通过表达式3更新循环变量。

continue语句:中断本次循环,继续下一次循环。对于while/do-while循环,continue -> 计算循环控制表达式 -> ...,对于for循环,continue -> 计算表达式3 -> 计算表达式2 ->

空语句:仅包含一个分号的语句。

int i = 10;

printf ("%d\n", i);

; // 空语句

空语句经常用来表示空循环体。在while/for循环中的圆括号后误写分号,意外形成了空循环,有可能导致错误的结果。

 

制作定时器源码:
#include <stdio.h>
#include <windows.h>
 
int main()
{
  int i=10;
  while(i>=0)
  {
    printf("\r%02d",i);
    printf("%c",'\a');
    Sleep(1000);
    i--;
   } 
}
制作时钟源码:
#include <stdio.h>
#include <windows.h>

int main()//函数的入口,而且只能有一个,也不能多不能少。
{
  int i=0,j=0,k=0;//i是表示小时,j是表示分钟,k是表示秒
  for(;;)//循环的固定格式
  {
    printf("\r%2d:%02d:%02d",i,j,k++);//k++ 是自加1 20:16
    //\r是移动到行首的意思,
    //%02d是向右对齐,当不足两位整数时用0我代替
    Sleep(1000);//睡觉1秒钟 1000是毫秒,1000毫秒==1秒
    if(k==6)//如果秒数等于60秒时 60==6
    {
      k=0;//秒数赋值为0
      j++;//分钟加1
      if(j==6)//我这里定义为6,你们可以当为60
      {
        j=0;
        i++;//小时+1
        if(i==4)//4==24
          return 0;
       }
    }
  }
return 0;
} 

 

posted @ 2017-09-04 20:13  gd_沐辰  阅读(205)  评论(0编辑  收藏  举报