c语言中常用的控制结构,C语言中的循环控制结构

C语言中的循环控制语句

在C语言中,一共有三种程序结构:顺序结构、选择结构(分支结构)和循环结构。顺序结构,从头到尾一句接着一句的执行下来,直到执行完最后一句;选择结构,到某个节点后,会根据一次判断的结果来决定之后向哪一个分支结构执行;循环结构,是指在程序中需要反复执行某个功能而设置的一种程序结构。循环变量、循环体和循环终止条件组成。

本片文章主要讲述循环结构。

循环结构由循环变量、循环体和循环终止条件组成。对于循环结构说,关键在于根据判断的结果,来决定循环体执行多少次,或是根据循环体中的条件,判断是继续执行某个功能还是退出循环。循环结构主要有while循环语句、do-while循环语句和for循环语句。

一、while循环语句

1.while 循环语法结构

while(表达式)

循环语句;

2.while循环举例

#include

int main()

{

int i=1;

while(i<10)

{

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

i++;

}

return 0;

}

3.while循环运行结果

4.while循环执行过程

(1)计算while后面括号里表达式的值,若其结果非0,则进入循环体,否则直接执行循环体下面的语句;

(2)如果表达式结果非0,执行循环结束后,继续判断表达式的值;

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

注:while循环由于是先执行判断后再执行循环体,所以循环体可能一次都不执行。循环体可为空语句“ ; ”。

二、do-while循环语句

1.do-while 循环语法结构

do

循环语句;

while(表达式);

2.do-while循环举例

#include

int main()

{

int i=10;

do

{

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

}while(i<10);

return 0;

}

3.do-while循环运行结果

4.do-while循环执行过程

(1)执行循环体;

(2)计算while后面括号里表达式的值,若其结果非0,则继续执行循环体,否则退出循环;

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

注:do-while循环语句最后的分号( ; )不可少,负责提示出错。循环体至少执行一次。

三、for循环语句

1.for循环语法结构

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

循环语句;

注:

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

表达式2:关系表达式或逻辑表达式,判断循环终止条件;

表达式3:一般为赋值表达式,调整控制变量的增减;

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

2.for循环举例

#include

int main()

{

int i=0;

//for(i=1/*初始化*/;i<=10/*判断部分*/;i++/*调整部分*/)

for(i=1;i<=10;i++)

{

pritnf("%d\n",i);

}

return 0;

}

3.for循环运行结果

4.for循环执行过程

(1)首先计算表达式1,然后计算表达式2。

(2)若表达式2的值为真,则执行循环体;否则退出for循环,执行for循环后的语句。

(3)如果执行了循环体,则循环体梅执行一次,都要计算表达式3,然后重新计算表达式2,依此循环,直至表达式2的值为假,退出循环。

注:for循环语句的三个表达式都是可以省略的,但分号“ ; ”绝对不能省略。

5.for循环的其他语法结构

(1)for( ; ; )

循环语句;

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

循环语句;

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

循环语句;

(4)for(i=1,j=10;i

循环语句;

四、while循环语句、do-while循环语句和for循环语句的比较

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

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值