c语言如何循环运行程序?

Python025

c语言如何循环运行程序?,第1张

c语言中用于循环运行程序的结构有三种,分别是:

①for(表达式1表达式2表达式3){循环体}

表达式1,是初始化条件,如i=0。

表达式2,循环条件,满足就继续执行循环体,不满足就跳出循环。

表达式3,这个一般是改变循环条件的地方,如i++。

参考代码:

#include<stdio.h>

int main()//for循环计算1到10累加和

{

int i,sum=0

for (i=0i<=10i++)

sum+=i

printf("%d\n",sum)

return 0

}

/*

运行结果:

55

*/

②while(表达式){循环体}

表达式的值为真(非0)时,

执行循环体语句。

参考代码:

#include<stdio.h>

int main()//while循环计算1到10累加和

{

int i,sum=0

while(i<=10) {

sum+=i

i++

}

printf("%d\n",sum)

return 0

}

/*

运行结果:

55

*/

③ do{循环体} while(表达式);

先执行循环中的语句,然后再判断表达式是否为真,

如果为真则继续循环;否则,

则终止循环。

参考代码:

#include<stdio.h>

int main()//do……while循环计算1到10累加和

{

int i,sum=0

do{

sum+=i

i++

} while(i<=10)

printf("%d\n",sum)

return 0

}

/*

运行结果:

55

*/

#include "stdio.h"

void main()

{

 while(1)

 {

  int b,d

  d=scanf("%d",&b)

  if(d==1)

   break

  else

  {

   fflush(stdin)

   printf("again")

  }

 }

}

这个原因是这样的:

当你输入非法时,你的输入将留在输入缓冲区中。这样下一次循环,因为输入缓冲区中仍然有数据,就会再次做判断,判断非法继续留在输入缓冲区中,如此反复。。。。

解决方法也很简单,加一句fflush(stdin)即可。

12345678910111213141516171819

#include <stdio.h>int main(void){int b,a a=b=0 while(a != 11){b=(scanf("%d",&a)) if(b == 1)printf ("%d\n",b) else{printf ("++++%d\n",b) fflush(stdin) } }return 0