版权归原作者所有,如有侵权,请联系我们

[科普中国]-C语言循环控制语句

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

C语言循环控制语句是一个基于C语言的编程语句,该语句主要有while循环语句、do-while循环语句和for循环语句来实现循环结构。

简介在C语言程序中,一共有三种程序结构:顺序结构、选择结构(分支结构)、循环结构;顺序结构,从头到尾一句接着一句的执行下来,直到执行完最后一句;选择结构,到某个节点后,会根据一次判断的结果来决定之后向哪一个分支方向执行; 循环结构,循环结构有一个循环体,循环体里是一段代码。对于循环结构来说,关键在于根据判断的结果,来决定循环体执行多少次。C语言循环控制语句是一个基于C语言的编程语句,该语句主要有while循环语句、do-while循环语句和for循环语句来实现循环结构。

while循环语句一般形式如下:

while(表达式)

语句;

其中执行过程如下:

(1)计算while后面括号里表达式的值,若其结果非0,则转入(2),否则转(3)

(2)执行循环体,转(1)

(3)退出循环,执行循环体下面的语句。

由于是先执行判断后执行循环体,所以循环体可能一次都不执行。

循环体可以为空语句“;”。

do-while语句一般形式如下:

do

语句;

while(表达式);

(1)执行循环体,转(2)

(2)计算while后面括号里表达式的值,若其结果非0,则转入(1),否则转(3)

(3)退出循环,执行循环体下面的语句。

注意:do……while语句最后的分号(;)不可少,否则提示出错。循环体至少执行一次。1

for语句for语句是循环控制结构中使用最广泛的一种循环控制语句,特别适合已知循环次数的情况。

一般形式如下:

for ( [表达式 1]; [表达式 2 ]; [表达式3] )

语句

其中:

表达式1:一般为赋值表达式,给控制变量赋初值;

表达式2:关系表达式或逻辑表达式,循环控制条件;

表达式3:一般为赋值表达式,给控制变量增量或减量;

语句:循环体,当有多条语句时,必须使用复合语句。

其执行过程如下:首先计算表达式1,然后计算表达式 2。若表达式2为真,则执行循环体;否则,退出 for循环,执行for循环后的语句。如果执行了循环体,则循环体每执行一次,都计算表达式3,然后重新计算表达式2,依此循环,直至表达式 2的值为假,退出循环。

for语句的三个表达式都是可以省略的,但分号“;”绝对不能省略。for语句有以下几种格式:

(1)for(; ;) 语句;

(2)for(;表达式2;表达式3 ) 语句;

(3)for(表达式1;表达式2;) 语句;

(4)for(i=1,j = n; i 三种语句比较

同一个问题,往往既可以用 while语句解决,也可以用 do-while或者for语句来解决,但在实际应用中,应根据具体情况来选用不同的循环语句。选用的一般原则是:

(1) 如果循环次数在执行循环体之前就已确定,一般用 for语句。如果循环次数是由循环体的执行情况确定的,一般用 while语句或者do- while语句。

(2) 当循环体至少执行一次时,用 do-while语句,反之,如果循环体可能一次也不执行,则选用while语句。

C++/C循环语句中,for语句使用频率最高,while语句其次,do语句很少用。

三种循环语句for、while、do-while可以互相嵌套自由组合。但要注意的是,各循环必须完整,相互之间绝不允许交叉。

其他循环语句多重循环结构

在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨越循环层的次数。

一个循环体内又包含另一个完整的循环结构

三种循环可互相嵌套,层数不限

外层循环可包含两个以上内循环,但不能相互交叉

c循环举例这里使用c语言中的for循环。添加了九九乘法表查询、每天存钱问题、猴子吃桃问题、百钱买百鸡。

#include

void main()

{

float x,y,z,a,b,c,d,i,n,sum;int m;char yn;

system ("graftable 936");

yn='y';

while(yn=='y' )

{

clrscr ();

printf(" 欢迎使用 \n");

printf("请按提示操作,谢谢!\n");

printf("九九乘法表查询请按1\n");

printf("每天存钱问题请按2\n");

printf("猴子吃桃问题请按3\n");

printf("一分数序列课本请按4\n");

printf("百钱买百鸡请按5\n");

m=getch();

switch(m)

{case '1':

{

for (a=1;a