while循环是最直接的循环结构。 while循环的基本格式如下:
while (condition) {
statements;
}
while 语句的语义是:计算表达式(条件)的值,当值为真(非 0)时, 执行循环体语句。其执行过程可用下图表示。为0时,退出。
算出一到一百的总和,利用while语句可以采用以下算法:
例1. 计算出1到100的和
main() { int i=1,sum=0; while(i<=100) { sum=sum+i; i++; } printf("%d\n",sum); }
While 循环是入口控制的循环。 在while循环中,在处理循环主体之前先评估条件。 如果条件为真,则执行循环主体。
在执行了循环的主体之后,控制又从头开始再次返回,并且检查条件是否为真,执行相同的过程,直到条件变为假。 一旦条件变为假,则控件退出循环。
退出循环后,控制转到循环之后的语句。 循环的主体可以包含多个语句。 如果仅包含一条语句,则大括号不是必需的。 但是,我们要形成一个习惯,即使循环主体只有一个语句,也要使用花括号,这样设计出来的程序很容易看懂。
例2. 打印出1到10的整数
#include<stdio.h> #include<conio.h> int main() { int num=1; //initializing the variable while(num<=10) //while loop with condition { printf("%d\n",num); num++; //incrementing operation } return 0; }
初始化一个名为num的值为1的变量。我们将从1到10进行打印,因此该变量将以值1进行初始化。
在while循环中,提供了一个条件(num <= 10),这意味着循环将执行主体直到num的值变为10。此后,循环将终止,并且控制将落在循环之外。
在循环的执行语句中,一个打印函数来打印数字,以及一个递增操作,每次执行循环时递增该值。 num的初始值为1,执行后将变为2,在下次执行期间将变为3。
此过程将继续进行,直到该值变为10,然后将其打印在控制台上并终止循环 。
%d 格式化, 带入后面整数
\ n用于格式化目的,另起一行。
如果改为 \t (tab), 能够打印出如下结果