c语言的三个循环语句该怎么区别呢

如题所述

C语言循环控制语句是一个基于C语言的编程语句,该语句主要有while循环语句、do-while循环语句和for循环语句来实现循环结构。

一、for循环

for循环语句的基本语法

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

循环体;

语义:

1.选执行表达式1,跳转到2;

2.判断表达式2是否成立,如果成立,则跳转到3,否则跳转到5;

3.执行循环体,执行完毕,跳转到4; 

4.执行表达式3,执行完毕,跳转到2;

5.跳出循环,循环结束。

例如:

打印1-100的值

#include<stdio.h>

int main() {

for(int i=1;i<=100 ;i++){

printf("%d ",i);

};

return 0;

}

for循环的其他格式:

表达式1、表达式2、表达式3都可以省略。

注意:表达式2没写的话会进入死循环。就算表达式1、表达式3不写,也要记得写分号。表达式1、表达式3可以写任意语句,要用逗号隔开。

二、while循环

while循环语句的基本语法

while(表达式){

循环体;//或者称为语句块

语义:

1.选判断表达式是否成立,如果成立,则跳转到2,否则跳转到3;

2.执行循环体,执行完毕跳转到1;

3.跳出循环,循环结束。

例如:

打印1-100的值

#include<stdio.h>

int main() {

int i = 1;

while( i<=100 ) {

printf("%d ",i);

i++;

}

return 0;

}

运行结果是: 2 

程序运行:

i=1,满足i<=100条件,进入循环,打印i的值,然后执行i++,再返回i<=100,进行判断是否成立,以此循环进行。

当i=100,依然满足i<=100,进入循环,打印i的值100,执行i++,i=101,跳转到表达式i<=100进行判断,此时即为101<=100,不成立,则不执行循环体,执行起后的语句return 0。

while循环需要注意的地方:

1.防止死循环。避免条件永真或者永假。如果永真则死循环;如果永假则不循环,写起来毫无意义;

2.while循环后,不要加分号,即在while后面不要加分号(;)。如果想加分号,可以在大括号后面加,(即};);

3.不要忘记写结束循环的语句;

4.循环和if语句一样的地方是:大括号可以省略。但只能控制离它最近的一条语句。也就是说当循环体只有一条语句的的时候,可以省略大括号。但这条语句不能是声明语句(如:int num = 10; 这样则不行。)

 三、do…while循环

do…while循环语句的基本语法

do{

循环体;//或者称为语句块

}while(表达式);

语义:

1.选执行循环体,跳转到2;

2.选判断表达式是否成立,如果成立,则跳转到1,否则跳转到3;

3.跳出循环,循环结束。

例如:

#include<stdio.h>

int main() {

int i = 1;

do{

i++;

printf("%d ",i);

}while( i>10 );

return 0;

}

程序运行:先执行循环体,执行i++,再打印出i的值2,然后进行判断i>10是否成立,2>10不成立,则不执行循环体,执行起后的语句return 0。

特别注意:

do…while循环语句中,在while括号后,要加分号(;),否则会出现报错。

do…while循环和while循环最大的区别是:

do…while循环先执行循环体,再判断表达式;while循环是先判断循环体,再执行。

即:while里的循环体可能1次都不会被执行;do…while循环里面的循环体至少会被执行1次。

扩展资料:

三种循环语句的比较

同一个问题,往往既可以用 while语句解决,也可以用 do-while或者for语句来解决,但在实际应用中,应根据具体情况来选用不同的循环语句。选用的一般原则是:

(1) 如果循环次数在执行循环体之前就已确定,一般用 for语句。如果循环次数是由循环体的执行情况确定的,一般用 while语句或者do- while语句。

(2) 当循环体至少执行一次时,用 do-while语句,反之,如果循环体可能一次也不执行,则选用while语句。

C++/C循环语句中,for语句使用频率最高,while语句其次,do语句很少用。

三种循环语句for、while、do-while可以互相嵌套自由组合。但要注意的是,各循环必须完整,相互之间绝不允许交叉。

参考资料:

百度百科-C语言循环控制语句

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-23

  C语言中的三种循环语言while、do……while、for,从语法角度来区别,主要是执行流程,以及循环三要素的区分。


  循环变量初始值、判断控制表达式、修改循环变量即所谓的循环三要素。一般来说,进入循环之前,应该给循环变量赋初值,确保循环能够正常开始,在控制表达式中判断循环变量是否达到循环的终止值,在循环体中对循环条件变量进行修改,以使循环正常的终止。

  

  1、while循环

    

  循环变量初始值:while循环中的循环初始值,只能在while循环语句前编写。

  判断控制表达式:循环条件在while关键字之后设置。

  修改循环变量:在循环体语中设置。

  示例:计算[1,100]的所有整数之和

 #include <stdio.h>
  int main()
  {
  int sum = 0;
  int start = 1;            //初始化
  while (start <=100)       //条件判断
  {
  sum += start;
  ++start;          //循环变量增加
  }
  printf("结果:%d\n", sum);
  return 0;
  }

  2、for循环

   

  for循环的执行流程

   

  for语句最大的特点将循环三要素都设置在控制结构,这是非常方便的。还是上面的例子。

  

#include <stdio.h>
  int main()
  {
  int sum = 0;
  for (int start = 1; //初始化
  start <=100;    //条件控制
  ++start         //循环变量增加
  )
  {
  sum += start;
  }
  printf("结果:%d\n", sum);
  return 0;
  }

  3、do……while语句

  do……while语句的执行流程:

  do……while语句最大的特点是无论如何循环都会至少执行一次,这是do……while与while和for最大的区别。

第2个回答  2010-03-31
while循环语句:
while(条件表达式语句)
{
( 执行语句块)
}

当条件表达式语句的返回的值为true的时候,程序就会执行下面大括号里的执行语句块中的语句,当程序执行完这个执行语句块中的语句的时候,程序就会再一次的回来执行这个条件表达式语句,当程序检查这个条件表达式语句的结果还是true时,程序就会再一次的执行这个执行语句块中的语句,当程序执行完成这个执行语句块中的语句以后,程序就会再一次的回来判断这个条件表达式语句,当这个条件表达式语句返回的值还是
true的时候,程序就会再一次的去执行这个大括号中的执行语句块中的语句,如此往复直到这个条件表达式语句返回的结果为false的时候,程序就会停止循环,而去执行这整个while循环语句以外的后面的其他的代码。

而do while的格式是这样的:
do
{
执行语句块
}

while(条件表达式语句);
注意,这里必须要有分号,因为不管这句是条件表达式语句还是执行语句,只要程序碰到了do while 就要在while条件表达式后面加上分号,而且也不会有无限循环在do while中,程序是把执行语句块放在前面,也就是说:不管while条件表达式语句是否为true,程序要先执行一次执行语句块中的语句,当第一次执行完执行语句块中的语句后,程序再去判断这个条件表达式语句是否为true,如果为true再进行这个while循环,如果为false就跳出这个循环。

简单一句话就是:一个先判断再执行,一个先执行再判断!
for循环应该不用说吧本回答被提问者和网友采纳
第3个回答  2010-03-31
while 当条件成立时 循环做若干事情
do...while 循环做若干事情 直到条件不成立时停止
for(...;...;...;) 当条件成立时 循环做若干事情
具体选择用法根据个人的思维习惯
第4个回答  2019-12-23
C语言的三个循环语句该怎么区别呢?c语言的三个循环语句具体的区别方法可在书上查询。