您的位置:广东在线游戏网 > 游戏资讯 > c语言中while的用法

c语言中while的用法

作者:广东在线游戏网日期:

返回目录:游戏资讯


  C语言中的while语句用于执行循环操作。

  格式:while(表达式) 循环体;

 //示例:计算阶乘M!
  #include <stdio.h>
  int main()
  {
  int m=1;
  int n=1;
  double sum=1;
  printf("   计算阶乘\n\n");
  printf("请输入一个正整数:");
  scanf("%d",&m);
  if (m>1)
  {
  while(n<=m)
  {
  sum=sum*n;
  n++;
  }
  printf("%d!=%.0lf\n",m,sum);
  }
  else
  printf("你所输入的数是1,最后结果也只能是1\n");
  return 0;
  }


while语句636f7079e799bee5baa6338如下:

while语句的一般形式为:    while(表达式) 语句其中表达式是循环条件,语句为循环体。

while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。其执行过程可用下图表示。【例6-2】用while语句计算从1加到100的值。用传统流程图和N-S结构流程图表示算法,见图:

#include<stdio.h>

intmain(void){

inti,sum=0;

i=1;

while(i<=100){

sum=sum+i;

i++;

}

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

return0;

}

【例6-3】统计从键盘输入一行字符的个数。

#include<stdio.h>

intmain(void){

intn=0;

printf("input a string:\n");

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

printf("%d",n);

return0;

}

本例程序中的循环条件为getchar()!='\n',其意义是,,只要从键盘输入的字符不是回车就继续循环。循环体n++完成对输入字符个数计数。从而程序实现了对输入一行字符的字符个数计数。使用while语句应注意以下两点。1) while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。

#include<stdio.h>

intmain(void){

inta=0,n;

printf("\ninput n: ");

scanf("%d",&n);

while(n--)printf("%d ",a++*2);

return0;

}

本例程序将执行n次循环,每执行一次,n值减1。循环体输出表达式a++*2的值。该表达式等效于(a*2; a++)。2) 循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句。

while循环的一般形式为:
while(表达式){
语句块
}

其中表达式称为循环条件,语句块称为循环体。

while语句的意思是:先计算表达式的值,当值为真(非0)时, 执行循环体语句;执行完循环体语句,再次计算表达式的值,如果为真,继续执行循环体……这个过程会一直重复,直到表达式的值为假(0),就退出循环,执行后面的语句。其执行过程如下图所示:

用while语句计算1加到100的值:

?

12345678910

#include <stdio.h>int main(void){  int i=1, sum=0;  while(i<=100){    sum+=i;    i++;  }  printf("%d\n",sum);  return 0;}

运行结果:

5050

代码分析:

1) 程序运行到while语句时,因为 i=1,i<=100 的值为真,所以执行循环体;执行结束后 i 的值变为 2,sum 的值变为 1。

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

3) 重复执行步骤 2)。

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

再看一个例子,统计从键盘输入的一行字符的个数:

?

12345678

#include <stdio.h>int main(){  int n=0;  printf("Input a string:");  while(getchar()!='\n') n++;  printf("Number of characters: %d\n", n);  return 0;}

运行结果:

Input a string:c.biancheng.net
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的值:

?

12345678910

#include <stdio.h>int main(){  int i=1, sum=0;  do{    sum+=i;    i++;  }while(i<=100);  printf("%d\n", sum);  return 0;}

运行结果:

5050




当n==1时执行while循环结构里的语e79fa5e98193e59b9ee7ad94361句,当n不等于1时,则跳过该循环执行循环体外的语句。

while 循环的格式:while (表达式){语句;}

while 循环的执行顺序:当表达式为真,则执行下面的语句,语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句,然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环。

例:

int a=NULL;

while(a<10){

a++;//自加

if(a>5)//不等while退出循环,直接判断循环

{break;//跳出循环}

}

结果: 结束后 a的值为6 。

扩展资料

while语句若一直满足条件,则会不断的重复下去。但有时,需要停止循环,则可以用下面的三种方式:

一、在while语句中设定条件语句,条件不满足,则循环自动停止。

如:只输出3的倍数的循环;可以设置范围为:0到20。

二、在循环结构中加入流程控制语句,可以使用户退出循环。

1、break流程控制:强制中断该运行区内的语句,跳出该运行区,继续运行区域外的语句。

2、continue流程控制:也是中断循环内的运行操作,并且从头开始运行。

三、利用标识来控制while语句的结束时间。

参考资料来源:百度百科——while

相关阅读

  • c语言中while的用法

  • 广东在线游戏网游戏资讯
  •   C语言中的while语句用于知执行循环操作。  格式:while(表达式) 循环体; //示例:计道算阶乘M!  内#include   int main()  {  int m=1;  int n=1;  double sum=1;  pri
  • while的用法

  • 广东在线游戏网游戏资讯
  • 当n==1时执行while循环结构里的语句,当n不等于1时,则跳过该循环执行循环体外的语句。while 循环的格式:while (表达式){语句;}while 循环的执行顺序:当表达式为真,则执行下面的语句
关键词不能为空

标签导航

win10怎么设置开机不要登录密码 win10怎么设置登录不需要密码 win10怎么设置不用登录密码 win10系统如何设置的不要密码进入 lol金克斯mv的主题曲是什么 金克丝音乐 金克斯主题曲叫什么 新英雄金克斯MV的主题曲是什么 c语言中while的用法,要举例子 C语言中 while语句的用法? c语言中while的用法 LOL 3月的时候是不是改了初始攻击 为什么现在初始攻击那么... 但出门攻击力还是很低 2017LOL改版后新符文天赋还加攻击 和法强吗? 为什么我符文带的全部是攻击力的 英雄联盟符文最高可加多少攻击? 打开英雄联盟的时候显示Error launching ins... 登录英雄联盟就出现这个error launching ins... 运行英雄联盟时出现Error Launchinginstal... 安装英雄联盟时出现error launching insta... LOL暴走萝莉符文是买攻击符文还是暴击符文好 英雄联盟暴走萝莉符文和天赋怎么配 lol暴走萝莉怎么玩教 lol金克斯新版符文搭配推荐 中文短句翻译为韩语 翻译句子为中文 中文短句翻译为韩文 用韩语表白的短句,短一点,带中文翻译,加悬赏 谁玩英雄联盟 网络游戏 腾讯游戏平台 打开后 英雄联盟助手 打不开 LOL是腾讯游戏吗? 英雄联盟是腾讯游戏吗 求英雄联盟we战队两位韩国选手的资料 现在LOL的we战队,哪些位置是韩国人 we战队成员名单2017有几个韩国人? we战队成员名单2017有几个韩国人 DNF韩服召唤即将改版重做 召唤改版后是怎么样 dnf召唤元素重做什么时候上线 DNF韩国第一散打金玄都的加点 大概明白为什么韩服对重做元素很多人还挺满意 若要在此计算... 装win10系统显示 windows安装程序无法将windo... U盘PE安装win10,显示windows无法完成安装若要... 安装win10,显示WINDOWS无法完成安装 win10提示“此语言无法安装在此计算机上”怎么办 魔兽世界猎人宠物界面在哪里打开 跪求WOW里面猎人BB影爪的具体位置,最好带图的! 魔兽世界猎人宠物大角在哪个地图 魔兽世界LR稀有BB大全 地点 求详细 we are the world 群星版本的里面有哪些人? we are the world 群星2010版明星名单 2010&lt;We Are The World&gt; 的群星版演唱名... we are the world 群星有哪些人?