c语言循环用法,c语言3种循环语句

  c语言循环用法,c语言3种循环语句

  在递归调用中,其实每次递归都是在重复做同样的事情。比如求阶乘就是n乘以(n-1)!然后返回结果。虽然是重复的,但是每次做的时候都略有不同(n的值不一样)。这种每次都略有不同的重复工作叫做迭代。

  使用我们的计算机的一个主要目的就是让它做重复性的工作,因为重复一项工作几千次而不出错是计算机最擅长的,而人类最不擅长的。虽然递归对于迭代来说已经足够了,但是C语言提供了循环语句,使得编写迭代程序更加容易。

  它是循环程序中非常重要的结构。其特征在于,当给定条件成立时,重复执行某个程序段,直到条件不成立。给定的条件称为循环条件,重复执行的程序段称为循环体。c语言提供了多种循环语句,可以形成多种不同形式的循环结构:

  1.use while语句;

  2.使用do-while语句;

  3.使用for语句;

  4.使用goto语句和if语句形成循环;

  While循环语句

  while语句的一般形式是:

  While(表达式){语句;}

  表达式就是循环条件,用来控制循环体是否执行。它是一般的关系表达式或逻辑表达式,也可以是C语言中的其他合法表达式。

  语句是一个循环体,是重复执行的一部分。这部分语句称为嵌入式语句,可以是基本语句、控制语句或复合语句。

  它的作用是:先判断表达式,如果为真,执行循环体,再判断表达式,重复上述过程,直到表达式为假,退出循环。执行过程可以如下图所示。

  以下示例使用while语句实现了从1到100的值的计算。

  # include stdio . h int main(void){ inti,sum=0;I=1;while(I=100){ sum=sum I;我;} printf(%d\n ,sum);系统(“暂停”);return0}

  运行结果:

  使用while循环时需要注意的事项:

  1.在循环中,语句的顺序必须符合逻辑,否则会影响运算结果。

  2.while循环首先判断表达式,然后执行循环体。循环可能不会执行一次。

  3.如果循环体包含多个语句,应该用{}括起来。

  4.循环体应该包含结束循环的语句,如下例所示。

  # include stdio . h int main(void){ inta=0,n;Printf(请输入一个数字:\ n );scanf(%d ,while(n - ) printf(%d ,a* 2);系统(“暂停”);return0}

  运行结果:

  在这个例子中,程序将被执行n次,每次执行n的值将减1。循环输出表达式a *2的值。表达式等价于(a * 2;答.

  5、下列情况下,退出while循环

  条件表达式无效(零)

  循环遇到中断,转到

  6.无限循环的形式是:

  While(1){圆形体;}

  7.为了保证循环的正常运行,应特别注意:

  注意循环控制条件的描述。例如,下面是一个计算从键盘输入的字符数的示例:

  # include stdio . h int main(void){ intn=0;Printf(请输入一个字符串:\ n );while(getchar()!= \ n ){ n;} printf(字符串长度为:%d\n ,n);系统(“暂停”);return0}

  运行结果:

  这个示例程序中的循环条件是getchar()!=\n ,这意味着,只要从键盘输入的字符不是回车,就继续循环。循环n完成对输入字符数的计数。因此,程序可以计算输入行中的字符数。

  注意控制条件的初始状态(初始值)。

  注意循环对控制条件的影响。

  Do-while循环语句

  do-while语句的一般形式是:

  语句do while(表达式);

  do-while语句的作用是:先执行循环中的语句,然后判断表达式是否为真,如果是,继续循环;如果为假,则循环终止。因此,do-while循环必须至少执行一次loop语句。执行过程可以如下图所示。

  While和do-while可以实现循环控制,while结构程序通常可以转换成do-while结构。

  它们之间的区别是:

  Do- while语句先执行循环体再判断条件,循环体至少执行一次;

  While语句先判断条件再执行循环体,可能一次都不会执行;

  Do-while循环体必须有一个能使表达式值趋于0的运算(比如I),否则会出现无限循环。

  下面的示例演示如何使用do-while语句计算从1到100的值。

  # include stdio . h int main(void){ inti,sum=0;I=1;do { sum=sum I;我;} while(I=100);printf(%d\n ,sum);系统(“暂停”);return0}

  运行结果:

  do-while无限循环的风格:

  Do{圆形体;} while(1);

  For循环

  在C语言中,for语句是最灵活的,它可以完全替代while语句。它的一般形式是:

  For(表达式1;表情2;3){语句;}

  其实现过程如下:

  1.先解表达式1。

  2.求解表达式2,如果其值为true(非0),则执行for语句中指定的嵌入式语句,然后执行下面的步骤3);如果该值为假(0),则循环结束,并且过程进行到步骤5)。

  3.求解表达式3。

  4.回到上面的步骤2)并继续。

  5.在循环结束时,执行for语句下面的语句。

  执行过程可以如下图所示。

  for语句最简单的应用形式是:

  For(循环变量给定初始值;循环条件;循环变量增量){语句;}

  循环变量的初始值总是一个赋值语句,用来给循环控制变量赋值初始值;循环条件是确定何时退出循环的关系表达式;循环变量增量,定义循环控制变量在每次循环后如何变化。使用分号(;)分开。例如:

  for(I=1;i=100I)总和=总和I;

  首先给I一个初始值1,判断I是否小于等于100。如果是,则执行该语句,然后该值增加1。重新判断,直到条件为假,即i 100,结束循环。相当于:

  I=1;while(I=100){ sum=sum I;我;}

  对于For循环中语句的一般形式,它是以下while循环形式:

  表情1;While(表达式2){语句表达式3;}

  使用for语句时,您应该注意:

  1.for循环中的表达式1(循环变量初始值)、表达式2(循环条件)、表达式3(循环变量增量)都是可选项,即可以默认,但分号(;)不能默认。

  2)“表达式1(循环变量的初始值)”被省略,这意味着没有初始值被赋予循环控制变量。

  3.如果“表达式2(循环条件)”被省略,它将成为一个无限循环,而不进行其他处理。例如:

  for(I=1;I){ sum=sum I;}

  相当于:

  I=1;while(1){ sum=sum I;我;}

  4)如果省略“表达式3(循环变量增量)”,循环控制变量将不被操作,然后可以在语句体中添加修改循环控制变量的语句。例如:

  for(I=1;i=100){ sum=sum I;我;}

  5)“表达式1(循环变量的初始值)”和“表达式3(循环变量的增量)”被省略。例如:

  for(;i=100){ sum=sum I;我;}

  相当于:

  while(I=100){ sum=sum I;我;}

  6)3个表达式都可以省略。例如:

  for(;){语句}

  相当于:

  while{语句}

  7)表达式1可以是设置循环变量初始值的赋值表达式,也可以是其他表达式。例如:

  for(sum=0;i=100I){ sum=sum I;}

  8)表达式1和3可以是简单表达式,也可以是逗号表达式。

  for (sum=0,I=1;i=100I){ sum=sum I;}

  或者:

  for (i=0,j=100i=100I,j-){ k=I j;}

  9)表达式2一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式。只要它的值不为零,循环体就会被执行。例如:

  for(I=0;(c=getchar())!= \ nI=c);

  另一个例子是:

  for(;(c=getchar())!= \ n){ printf(%c ,c);}

  Goto-if循环:

  Goto语句是一个无条件转移语句,类似于BASIC中的goto语句。goto语句的格式是:

  Goto语句标签;

  标签是一个有效的标识符,它和一个“:”一起出现在函数中的某个地方。goto语句执行后,程序会跳转到标签,执行后续语句。

  此外,标签必须与goto语句在同一个函数中,但不能在循环层中。通常goto语句与if条件语句一起使用。当满足某个条件时,程序跳转到标签运行。

  通常不使用Goto语句,主要是因为它会使程序层次不清晰,难以阅读,但在存在多层嵌套的情况下,使用goto语句更合理。

  下面的代码实现了使用goto语句和if语句组成循环求1 ^ 2 ^ 3的和.100.

  # include stdio . h int main(void){ inti,sum=0;I=1;循环:if(I=100){ sum=sum I;我;gotoloop} printf(%d\n ,sum);系统(“暂停”);return0}

  总结一下,C语言中有四种循环:goto语句形成的循环、while循环、do-while循环和for循环。

  四个周期的比较:

  1.所有四个循环都可以用来处理同一个问题。一般可以互相替代。但是一般不建议使用goto循环,不仅因为它很蹩脚,而且我们强烈建议不要使用goto语句,尽量使用其他语句代替。

  2.while和do-while循环,循环体应该包含使循环结束的语句。

  3.for语句是最强大和最常用的。

  4.用while和do-while循环时,循环变量的初始化要在while和do-while语句之前完成,for语句可以实现表达式1中循环变量的初始化。

  For循环是最常用的循环,功能强大,可以替代其他循环。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: