循环控制结构

                      第六章  循环控制结构

1.循环:包括计数控制的循环和条件控制的循环

2.结构化程序设计的三种基本结构:顺序结构、选择结构、循环结构

3.循环结构的类型:

   1)当型循环结构:for语句(适合循环次数已知,计数控制的循环)

   2)直到型循环结构:while语句、do-while语句(适合循环次数未知,条件控制的循环)

4.while语句

   1)一般形式为:

while(循环控制表达式)

{               |

语句系列    |循环体

}               |

   2)循环控制表达式在执行循环体之前测试

   3)执行过程:

     计算循环控制表达式的值

 如果循环控制表达式的值为真,那么执行循环体中的语句,并返回步骤1

 如果循环控制表达式的值为假,就退出循环,执行循环体后面的语句

5.do-while语句

   1)一般形式为:

do

{               |

语句系列    |循环体

}while(循环控制表达式);              

   2)循环控制表达式在执行循环体之后测试

   3)执行过程:

     执行循环体中的语句

     计算循环控制表达式的值

 如果循环控制表达式的值为真,那么返回步骤1

 如果循环控制表达式的值为假,就退出循环,执行循环体后面的语句

6.for语句

   1)一般形式为:

for(初始化表达式;循环控制表达式;增值表达式)

{               |

语句系列    |循环体

}               |

   2) 在每次循环体被执行之前,都要对循环控制条件测试一次,每次循环体执行完以后都要执行一次增值表达式

   3)初始化表达式作用:循环变量初始化,即赋初值

   4)循环控制表达式:是控制继续执行的条件,当表达式的值为非0时重复执行循环

   5)增值表达式作用:每执行一次循环,循环控制变量增值

   6for语句三个表达式之间用分号分隔,有且只能有两个分号

   7)循环控制表达式若省略,表示循环条件为永真

   8)初始化表达式和增值表达式都可省略,但是必须有其他语句反应其作用

7.例:从键盘输入n,然后计算输出1+2+3+……n的值

  1while语句编程实现

#include<stdio.h>

void main()

{

int i=1,n,sum=0;//sum一定要初始化,不然会是随机值

printf("Enter n:");

scanf("%d",&n);

while(i<=n)

{

sum+=i;

i++;

}

printf("1+2+3+……+%d=%d\n",n,sum);

}

  2do-while语句编程实现

#include<stdio.h>

void main()

{

int i=0,n,sum=0;

printf("Enter n:");

scanf("%d",&n);

do

{

sum+=i;

i++;

}while(i<=n);

printf("1+2+3+……+%d=%d\n",n,sum);

}

  3for语句编程实现

#include<stdio.h>

void main()

{

int i=1,n,sum=0;

printf("Enter n:");

scanf("%d",&n);

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

{

sum+=i;

}

printf("1+2+3+……+%d=%d\n",n,sum);

}

8.逗号运算符

  1)所有运算符中优先级最低,左结合

  2)作用:可实现对各个表达式的顺序求值

  3)结果:将最后一个表达式的值作为整个逗号表达式的值

  4)例:从键盘输入n,然后计算输出1+2+3+……n的值

#include<stdio.h>

void main()

{

int i,j,n,sum=0;

printf("Enter n:");

scanf("%d",&n);

for(i=1,j=n;i<=j;i++,j--)

{

sum+=i+j;

}

printf("1+2+3+……+%d=%d\n",n,sum);

}

9.空语句

  1)仅由一个分号构成的语句

  2)作用:什么也不做,只起延时作用

  3)例:for(i=1;i<50000000;i++)

{   

;                           

}

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

{

    

}

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

 

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

{

sum+=i;

}

等价于

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

{

;

}

sum+=i;

   4) 例:从键盘输入n,

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值