- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.3 循环结构 因为C语言中变量的值是可变的,所以考虑设置两个变量,一个变量代表乘数,一个变量代表被乘数。不另设变量,而直接将每一步骤的结果放在被乘数的变量中。例如,这里用s代表被乘数,i为乘数。用循环算法来求解,可以将算法改为: 步骤1:令s=1; 步骤2:令i=2; 步骤3:令s×i,乘积仍放在s中,可表示为: s*i→s; 步骤4:使i的值增1,即i+1→i; 步骤5:如果i的值不大于5,返回重新执行步骤3及以后的步骤4和5;否则,算法结束。 3.3 循环结构 3.3.2 当型循环——while循环 while循环是当型循环,先判断循环条件,再根据条件决定是否执行循环体。 1.while语句形式 while语句的一般格式为: 若循环体内需要多个语句,应该用大括号括起来,组成复合语句。while语句流程图如图3-9所示。 while(表达式) 循环体语句 3.3 循环结构 2.while语句的执行过程 首先计算while后圆括号中表达式的值,当值为非零时,执行循环体语句,执行完后再次判断表达式的值,当表达式的值为非零时,继续执行循环体;当值为零时,退出循环。 3.3 循环结构 【案例3-7】设计一个程序,用while循环语句实现1~100自然数的和。 程序设计思路如下。 (1)定义变量sum和i,分别存放累计和及循环次数。 (2)累计和变量sum赋初值0,循环次数i赋初值1。 (3)while循环求和。先将i加到sum中,再将i自增1。反复执行循环体,直到i大于100跳出循环。 单击打开源程序 程序运行结果 3.3 循环结构 3.3.3 直到型循环——do-while循环 1.do-While语句的基本形式 2.do-while语句的执行过程 (1)执行do后面循环体中的语句。 ? (2)计算while后圆括号中表达式的值。当值为非零时,转去执行步骤(1);当值为零时,结束do-while循环。do-while语句的流程图如图3-10所示。 3.3 循环结构 3.do-while语句与while语句的区别 由do-while构成的循环与while循环十分相似,它们之间的重要区别是:while循环控制条件出现在循环体之前,只有当while后面表达式的值为非零时,才可能执行循环体,所以while语句当表达式初值就为假时,循环体一次都不执行;在do-while构成的循环中,总是先执行一次循环体,然后再求表达式的值,因此,无论表达式的值是零还是非零,do-while循环体至少执行一次。 3.3 循环结构 3.使用while语句注意的问题 (1)循环体如果包含一个以上的语句,应该用花括号括起来,以复合语句的形式出现。如果不用花括号,则while语句的范围只到while后面第一个分号处。 (2)在循环体中应该有使循环趋向于结束的语句。如无此语句,循环将永不结束。 (3)当第一次判断条件就为假时,循环体一次都不执行。 3.3 循环结构 【案例3-8】设计一个程序,用do-while循环语句实现1~100自然数的和。 程序分析 参照案例3-7的思路,只需要修改程序的循环体就可以实现该程序。 单击打开源程序 程序运行结果 3.3 循环结构 3.3.4 格式化的当型循环——for循环 1.for语句基本形式 for是C语言的关键字,其后的圆括号中通常含有三个表达式,各表达式之间用“;”隔开。这三个表达式可以是任意形式的表达式,通常主要用于for循环的控制。紧跟在for之后的循环体语句,在语法上要求是一条语句;若在循环体内需要多条语句,应该用大括号括起来组成复合语句。 for( 表达式1 ; 表达式2 ; 表达式3 ) 循环体语句 3.3 循环结构 根据for语句的执行特点,可以表示成如下形式: 2.for语句的执行过程 (1)执行“循环变量赋初值”为循环体变量赋初值(注意,该语句在整个循环中只在开始时执行一次)。 (2)判断“循环继续条件”是否成立:若其值为非零,转步骤(3);若其值为零,转步骤(5)。 (3)执行一次for循环体语句。 (4)执行“循环变量增值”,转向步骤(2)。 (5)结束循环,执行for循环之后的语句。 for( 循环变量赋初值 ; 循环继续条件 ; 循环变量增值 ) 循环体语句 3.3 循环结构 3.for语句的使用说明 (1)for语句中的表达式可以部分或全部省略,但两个“;”不可省略,例如: for( ; ; ) printf(*); 三个表达式均省略,但因缺少条件判断,循环将会无限制地执行,而形成无限循环(通常称为死循环)。 (2)for后括号中的表达式可以是任意有效的C语言表达式。例如: for(sum=0 , i=1 ; i=100 ;
原创力文档


文档评论(0)