c语言程序while,C语言之while循环

原标题:C语言之while循环

while语句是一种用于产生循环动作的语句,它的一般形式为:

while (条件表达式)

{

循环语句

循环变量表达式

}

其中循环语句和循环变量表达式一起构成循环体语句。

该语句的语法功能可由下面两个步骤组成。

1. 计算条件表达式的值,若该值为“假”,则跳出循环,执行循环体后面的语句;若该值为“真”,则执行循环体语句。

2. 重复步骤一的操作。

关于while循环结构的几点说明。

1. 循环变量表达式是用来更新计算循环变量的值,一般情况下,循环体语句应该是用一对花括号括起来的复合语句,其中至少要有两条语句。

2. 若循环体语句中没有循环变量表达式,而只有循环语句,则有可能会使程序出现无限循环而发生错误。

3. 由于while循环是先判断循环表达式的值,后决定是否执行循环体语句,因此,循环体语句有可能一次也没有执行。

我们来看一个例子:

还记得我们上一节用for循环来计算1到100的级数和的例子吗?

这节我们用while循环来执行这一操作。

代码如下:

#include

int main()

{

int i = 1, sum = 0;

while (i <= 100)

{

sum = sum + i;

i++;

}

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

return 0;

}

程序的运行结果为:5050

显然,对于for循环结构,只要将初始表达式看做是循环开始之前的语句,就可以看做是while循环的结构,也就是说,用for结构表达的程序可能转化成while结构,反之也成立。

下面我们在来看一个例子:

从键盘输入一个正整数,计算这个数的阶乘。

例如计算n的阶乘。

n!=n*(n-1)*(n-2)*···*2*1。

计算机是从1开始计算到n为止,这时就需要一个循环变量来代表从1到n的值,用一个变量来代表从1到第n个数相乘的结果。

我们用while循环来计算。

c语言程序while,C语言之while循环_第1张图片

c语言程序while,C语言之while循环_第2张图片



代码如下:(此程序是在visual stdio 2019编译器中运行的)

#include

int main()

{

int i, n;

long s;

printf("请输入要计算阶乘的数据n:\n");

scanf_s("%d",&n);

if (n >= 0)

{

s = 1;

i = 1;

while (i <= n)

{

s = s * i;

i++;

}

printf("%d!=%ld", n, s);

}

else

{

printf("你输入数据有误!\n");

}

return 0;

}

我们输入5,计算出结果为120。

这个程序对于n>=13的数据来说,会出现运行错误的结果,因为即使使用长整型来储存变量的值,也是不够长的。这就需要用到数组,指针等了。

这个我们以后再介绍。

好了,今天的讲述就到这里了,欢迎大家提出问题。返回搜狐,查看更多

责任编辑:

你可能感兴趣的:(c语言程序while)