下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

详解C语言中的while语句

作者:课课家教育     来源: http://www.kokojia.com点击数:2949发布时间: 2019-03-04 10:14:48

标签: 编程语言C语言while语句

大神带你学编程,欢迎选课

  什么是C语言的while语句?它的作用是什么呢?估计很多初学者对此都是一知半解。下面课课家笔者就为大家详细解释C语言中的while语句的含义和作用。

  首先笔者先给大家介绍C语言中的共有的三大常用的程序结构:

  ①顺序结构:代码从前往后执行,没有任何“拐弯抹角”;

  ②选择结构:也叫分支结构,重点要掌握if else、switch以及条件运算符;

  ③循环结构:重复执行同一段代码。

  在这里笔者重点给大家介绍循环结构,所谓循环(Loop),就是重复地执行同一段代码,比如要计算1+2+3+……+99+100的值,我们就要重复进行99次加法运算。下面是while循环的结构代码:

  ◎while循环

  while循环的一般形式为:

  while(表达式){

  语句块

  }

  以上结构代码的具体意思是,先计算“表达式”的值,当值为真(非0)时,执行“语句块”;执行完“语句块”,再次计算表达式的值,如果为真,继续执行“语句块”……这个过程会一直重复,直到表达式的值为假(0),就退出循环,执行while后面的代码。我们通常将“表达式”称为循环条件,把“语句块”称为循环体,整个循环的过程就是不停判断循环条件、并执行循环体代码的过程。下面笔者用while循环计算1加到100的值:

  #include <stdio.h>

  int main(){

  int i = 1, sum = 0;

  while(i<=100){

  sum+=i;

  i++;

  }

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

  return 0;

  }

  运行结果:

  5050

  代码分析:

  ①程序运行到while时,因为i=1,i<=100成立,所以会执行循环体;执行结束后i的值变为2,sum的值变为1。

  ②接下来会继续判断i<=100是否成立,因为此时i=2,i<=100成立,所以继续执行循环体;执行结束后i的值变为3,sum的值变为3。

  ③重复执行步骤2。

  ④当循环进行到第100次,i的值变为101,sum的值变为5050;因为此时i<=100不再成立,所以就退出循环,不再执行循环体,转而执行while循环后面的代码。

  简单来说while循环的整体思路是这样的:设置一个带有变量的循环条件,也即一个带有变量的表达式;在循环体中额外添加一条语句,让它能够改变循环条件中变量的值。这样,随着循环的不断执行,循环条件中变量的值也会不断变化,终有一个时刻,循环条件不再成立,整个循环就结束了。到这里估计有同学会问如果循环条件中不包含变量会怎样,不用担心下面笔者就此问题进行举例分析。

  ①循环条件成立时的话,while循环会一直执行下去成为“死循环”。比如:

  #include <stdio.h>

  int main(){

  while(1){

  printf("1");

  }

  return 0;

  }

  此时我们运行程序会不停地输出“1”,直到我们强制关闭。

  ②循环条件不成立的话,while循环就一次也不会执行。比如:

  #include <stdio.h>

  int main(){

  while(0){

  printf("1");

  }

  return 0;

  }

  此时我们运行程序什么也不会输出。

  接下来我们再举一个例子,统计从键盘输入的一行字符的个数:

  #include <stdio.h>

  int main(){

  int n = 0;

  printf("Inputastring:");

  while(getchar()!='\n')n++;

  printf("Numberofcharacters:%d\n",n);

  return 0;

  }

  运行结果:

  Input a string:www.kokojia.com↙

  Number of characters:15

  本例程序中的循环条件为getchar()!='\ n',其意义是,只要从键盘输入的字符不是回车就继续循环。循环体n++;完成对输入字符个数计数。

  ◎do-while循环

  除了while循环,在C语言中还有一种do-while循环。do-while循环的一般形式为:

  do{

  语句块

  }while(表达式);

  do-while循环与while循环的不同在于:它会先执行“语句块”,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次“语句块”。下面笔者用do-while计算1加到100的值:

  #include <stdio.h>

  int main(){

  int i = 1, sum = 0;

  do{

  sum+=i;

  i++;

  }while(i<=100);

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

  return 0;

  }

  运行结果:

  5050

  注意while(i<=100);最后的分号;,这个符号必须要有。最后给大家放个while语句加深记忆(图1)。

while语句

图1

  本次详解C语言中的while语句的教程到此暂告一段落,以后如果有补充的话笔者会继续在此补充,希望这个教程对大家学习C语言能起到一定的帮助作用!

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程