第5章循环结构 本章学习目标 在程序设计中对a于那些需要重复执行的操作应该采用循环 结构完成。利用循环结构处理各类重复操作既简单又方便,循 环结构又称重复结构。在C语言中有三种可以构成循环的循环语 句,本章将一一进行介绍。通过本章的学习,读者应该掌握以 下内容: while语句和用while语句构成的循环结构 do-while语句和用do-while语句构成的循环结构 for语句和用for语句构成的循环结构 循环结构的嵌套 break和continue语句在循环体中的作用
第5章 循环结构 本章学习目标 在程序设计中对a于那些需要重复执行的操作应该采用循环 结构完成。利用循环结构处理各类重复操作既简单又方便,循 环结构又称重复结构。在C语言中有三种可以构成循环的循环语 句,本章将一一进行介绍。通过本章的学习,读者应该掌握以 下内容: ◼ while语句和用while语句构成的循环结构 ◼ do-while语句和用do-while语句构成的循环结构 ◼ for 语句和用for语句构成的循环结构 ◼ 循环结构的嵌套 ◼ break和continue语句在循环体中的作用
5.1 while语句和用while语句构成的 循环结构 5.1.1相关知识 循环是一种对同一程序段有规律的重复,被重复执行 的部分叫循环体。循环的执行要满足一定的条件(循环条 件),循环的终止要达到一定的条件(终止条件)。在程 序设计中要注意循环不能永远运行,必须能退出循环。循 环结构的特点是:循环体执行与否及其执行次数必须视其 类型与条件而定,且必须能在适当的时机退出循环。 C语言提供了while、do-while、for三种语句实现 循环,其中while循环是当型循环,先判断循环条件,再 根据条件决定是否执行循环体,执行循环体的最少次数为 0
5.1 while语句和用while语句构成的 循环结构 5.1.1 相关知识 循环是一种对同一程序段有规律的重复,被重复执行 的部分叫循环体。循环的执行要满足一定的条件(循环条 件),循环的终止要达到一定的条件(终止条件)。在程 序设计中要注意循环不能永远运行,必须能退出循环。循 环结构的特点是:循环体执行与否及其执行次数必须视其 类型与条件而定,且必须能在适当的时机退出循环。 C语言提供了while 、do-while、for三种语句实现 循环,其中while循环是当型循环,先判断循环条件,再 根据条件决定是否执行循环体,执行循环体的最少次数为 0
5.1.2程序范例 1.范例一 程序5-1:求1+2+3+.+100的值。 这是一个求100个数的累加和问题。加数从1变化到 100,可以看到加数是有规律变化的,后一个加数比前一 个加数增1,第一个加数为1,/小最后一个加数为100:因 此可以在循环体中使用一个整型变量引,每循环一次使增 1,一直循环到1的值超过100,用这个办法就解决了所需 的加数问题;但是要特别注意的是变量需要有一个正确 的初值,这里初值应当设为0。 下一个要解决的是求累加和。设用一个变量sum存放 这100个数的和值,可以先求0+1
5.1.2 程序范例 1.范例一 程序5-1:求1+2+3+.+100的值。 这是一个求100个数的累加和问题。加数从1变化到 100,可以看到加数是有规律变化的,后一个加数比前一 个加数增1,第一个加数为1,最后一个加数为100;因 此可以在循环体中使用一个整型变量i,每循环一次使i增 1,一直循环到i的值超过100,用这个办法就解决了所需 的加数问题;但是要特别注意的是变量i需要有一个正确 的初值,这里初值应当设为0。 下一个要解决的是求累加和。设用一个变量sum存放 这100个数的和值,可以先求0+1
的和并将其放在sum中,然后把sum中的数加上2再存放在 sum中,依次类推,这和人们的心算过程没有什么区别, sum代表着人们脑中累加的那个和数,不同的是心算过程 由人们自己控制。在这里,sum累加的过程要放在循环中 由计算机判断所加的数是否已经超过100,加数则放在变 量中,并在循环过程中每一次增1。 以下就是求累加和的典型算法
的和并将其放在sum 中,然后把sum中的数加上2再存放在 sum中,依次类推,这和人们的心算过程没有什么区别, sum代表着人们脑中累加的那个和数,不同的是心算过程 由人们自己控制。在这里,sum累加的过程要放在循环中, 由计算机判断所加的数是否已经超过100,加数则放在变 量i中,并在循环过程中每一次增1。 以下就是求累加和的典型算法
main( int i,sum i=1; sum=0; /*sum的初值为0*/ while(i<=100) /*当i小于或等于100时 执行循环体*/ {sum=sum+i;i++; /*在循环体中累加 次,增1*/ printf("sum=%d \n",sum);
main( ) { int i,sum ; i=1; sum=0; /*sum的初值为0*/ while(i<=100) /*当i小于或等于100时 执行循环体*/ {sum=sum+i; i++;} /*在循环体中累加 一次,i增1*/ printf("sum=%d\n",sum); }