- 16
- 0
- 约1.83千字
- 约 18页
- 2020-02-06 发布于辽宁
- 举报
* Version 1.0 * * Version 1.0 * 进一步学习描述算法的方法——流程图。 掌握C语言循环的三种语句格式 掌握应用循环的要求 * 数据结构+算法=程序 * 提款模拟程序,程序要求用户输入要提取的现金额度后提问是否继续现金的提取,程序界面如下图所示。 数据结构: 1)提款金额,用整型变量price保存。 2)接受用户输入的要求,用字符型变量ch保存。 算法:画流程图 根据流程图写程序。好,要完成这个程序,得学习以下循环知识…… * 第一种:while循环。 第二种:do-while循环。 第三种:for循环。 * * 说明:这里的表达式和if语句的表达式一样,可以是任意类型的表达式。 while语句的含义是:先计算表达式的值,如果值为假(0),不执行循环体语句;如果值为真(非0),则执行循环体语句,执行完后继续判断表达式的值,如果为真又继续执行循环体语句……如此循环往复,直到表达式的值变为0(假)才结束执行循环体语句去执行该循环语句外的下一条语句(也叫跳出循环)。 在这里,大家有没有考虑到一个问题:如果表达式的值永远都为真(非0),那是一种什么状态?看流程图便知,这是一种无休止的循环状态!在程序设计里叫做死循环。死循环会导致程序的崩溃和电脑死机。所以在循环的程序设计中一般要考虑如下三个问题: 1)循环条件的确立。 2)改变循环条件的语句。 3)避免死循环。 * 说明:语句中的表达式用法和while语句一样。 do-while语句和while语句非常相似,只是执行顺序有一点不同。它是先执行一次循环体语句,然后判断表达式,当表达式的值为真(非0)时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止,此时循环结束。 * for语句的执行过程如下: (1)执行表达式1。 (2)判断表达式2的值是否为真(非0),如果为真,则执行for语句中指定的内嵌语句,然后执行下面第(3)步。若为假(0),则直接执行第(5)步,结束循环。 (3)求解表达式3。 (4)回去执行第(2)步。 (5)循环结束,执行for语句下面的一个语句。 它相当于如下的while语句: 表达式1; //循环变量赋初值 while(表达式2) //设计循环条件 { 语句; 表达式3; //能改变循环条件的语句 } * 写程序…… * (1)求1+2+3+…+100算式的和。 (2)解决猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩下一个桃子了。求第一天共摘多少个桃子。 (要求:先画流程图,再写程序。) * (1)求1+2+3+…+100算式的和。 数据结构:记录数字变化的整型数变量:i,记录相加结果的变量sum。 算法:i的变化是有规律的,i从1开始每次加1到100,可用循环来控制i的变化; i 在变化之前把它累加到sum变量中,重复累加到100。(累加如何实现?) * (2)解决猴子吃桃问题: 分析: 1)这个问题有个规律:昨天的桃子数都是今天桃子数加上1的2倍。 2)在这个问题里,有两个量是对应着变化的:一个是天数,一个是桃子数,而且第10天时对应的桃子数是1。 3)从第10天起,我们可以通过减一的方式往前推到第一天。 根据分析可做如下处理: 1)数据结构:申请两个变量来记录天数和桃子数,并初始化为10和1, int day=10; int tao=1; 2)算法:用循环语句控制天数的变化,在天数变化的同时进行对应桃子数的计算。 * 1. C语言的有三种循环语句:while、do-while和for循环。 2. while循环和do-while循环的区别是while循环先判断再执行,而do-while循环先执行后判断。 3. for循环与while循环类似,属于先判断后执行。 4. for语句中有三个表达式:表达式1通常用来给循环变量赋初值;表达式2通常是循环条件;表达式3用来更新循环变量的值。 5.循环设计要注意避免死循环。 * Version 1.0 * *
原创力文档

文档评论(0)