版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言 课 程 设 计题 目 循环结构学习探究 系 (部) 电子与信息工程系 班 级 10级应用电子技术 姓 名 王 智 锋 学 号 2010242704 指导教师 王 静 2011年06月23日电子与信息工程系 课程设计任务书设计题目已知技术参数和设计要求设计内容与步骤第1步、问题描述: 。第2步、基本思路:利用选择法进行排序。第3步、编写程序:设计工作计划与进度安排设计考核要求计算机教研室制2010242704王智锋摘要:循环结构是结构化程序设计中的三种基本结构之一,也是程序设计的基础。但是,对于初学来说, 循环结构与人类日常的思维习惯不同,较难掌握。用几个例子阐述了在C语言程序设计课程中
2、循环结构的教学方法,这些方法在日常授课中取得了较好的效果。关键词C语言;结构化程序设计;循环结构;效率1引言顺序、分支、循环是摘要循环结构是结构化程序设计中的三种基本结构之一,也是程序设计的基础。但是,循环结构与人类日常的思维习惯不同,较难掌握。 关键词C语言;结构化程序设计;循环结构;效率 1 引言C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。 顺序、分支、循环是结构化程序设计的三种基本结构,所以在高级语言程
3、序设计课程中,掌握这三种结构是学好程序设计的基础。而循环结构是这三者中最复杂的一种结构,也是其中最主要的语句结构,几乎所有的程序都离不开循环结构。在C语言中,循环结构主要是由for和while、do-while语句实现的,其中for语句的应用更为普遍一些。for语句的用法对于有程序设计经验的学生来说轻而易举,但是对于那些没有经验的初学者来说,难度却不小。2 循环条件的设计2.1 while语句 (1)作用:实现“当型”循环结构。即当条件成立时冲复执行while语句中的内嵌语句。(2)格式:while () 语句 (语句称为循环体,也称While的内嵌语句,可以是单个或复合语句。)(3)执行过程
4、:先计算表达式的值,当表达式值非0时重复执行指定的语句;当表达式值为0时结束循环。循环结构学习探究【例1】:求从键盘上输入一个正整数n,计算S=1+2+3+4+n,并输出到屏幕上。分析:由于n可能是不断变化的,因而计算S值的程序不可能依次列出1n个数,要完成以上的累加求和运算,可设两个整型变量sum和i,sum存放累加的和,i从1变化到n,并按下列步骤进行操作:(1)给sum赋值0,i赋值1; /循环初始化(2)令sum=sum+i,i=i+1; /循环体与循环修改(3)若in,则重复执行步骤(2); /判断循环是否结束(4)输出sum的值。 /结束处理在以上步骤中,步骤(2)和步骤(3)是需
5、要重复执行的操作,其工作流程如下图所示。这种重复执行的操作可由程序中的循环结构来完成。下面用while语句来实现。说明: (1)while语句是先判断表达式in是否成立,若条件成立,则将sum加i后赋给sum及i增加1;若条件不成立,则不执行相应语句,退出循环。(2)当表达式的值一开始不成立,语句一次也不执行。如当输入n为0时,in不成立,语句sum=sum+i;和i+;一次也不执行。(3)在循环体中必须有不断修改循环条件的语句,能使循环最终结束而不形成“死循环”。如i+;语句,使i不断加1,直到大于n为止。程序代码和程序流程图如下:#include using namespace std;i
6、nt main() int i,n,sum; 2010242704王智锋 coutn; sum=0; i=1; while (i=n) sum=sum+i; i+; cout sum=sumendl; system(pause); return 0; while (i=n) mult=mult*i; i+; coutmult=multendl; system(pause); return 0;2.2 dowhile语句 (1)作用:实现“直到型”循环结构。即重复执行while语句中的内嵌语句直到条件不成立时停止。循环结构学习探究(2)格式:do while ();注意:这里的语句与表达式跟上面
7、讲到的while语句当中的意义完全相同,只是while语句是先判断条件再执行循环体语句,而在dowhile语句的执行过程是:先执行语句,然后计算表达式的值,当表达式值非0时重复执行语句;直到表达式值为0才结束循环。【例2】用dowhile语句实现【例1】程序流程图及程序代码如下:#include using namespace std;int main() int i,n,sum; coutn; sum=0; i=1; do sum=sum+i; i+; while(i=n); cout1到n的和sum=sumendl; 2010242704王智锋 system(pause); return
8、0;说明:(1)dowhile语句是先执行sum=sum+i;和i+;语句,后判断表达式in是否成立。若条件成立,则继续执行循环体;若条件不成立,则不执行相应语句,退出循环。(2)即使表达式的值一开始就不成立,语句仍要执行一次。如当输入n为0时,in不成立,但语句sum=sum+i;和i+;也要执行一次。(3)在循环体中要能不断修改循环条件的语句,最终能使循环结束,否则会形成“死循环”。2.3 for语句 for语句的一般格式为: for (;) 说明: (1)表达式1称为循环初始化表达式,通常为循环变量赋初值;(2)表达式2称为循环条件表达式,通常是关系表达式或逻辑表达式作循环结束条件;(3
9、)表达式3称为循环增量表达式,通常为赋值表达式,简单情况下为循环变量增量。(4)语句部分为循环体,它可以是单个或复合语句。for语句的执行过程(1)计算表达式1的值;(2)计算表达式2的值,若表达式2的值为非0(“真”)时,则转到(3);若表达式2的值为0(“假”)时,则结束循环;(3)执行循环体语句;(4)计算表达式3的值,返回(2)继续执行。循环结构学习探究2.4 3.for语句可以和下列while语句等效:;while () ; 【例3】用for语句实现【例1】#include using namespace std;int main() int i,n,sum; coutn; sum=
10、0; for(i=1;i=n;i+) sum=sum+i; cout1到n的和sum=sumendl; system(pause); return 0;在上例中,表达式1:i=1完成对循环变量i的初始化赋值工作,使i的初值为1;表达式2:i=n判断循环变量i的值是否小于或等于n,若不成立则结束循环;若成立则执行sum=sum+i;语句,再执行表达式3;2010242704王智锋表达式3:i+,使用循环变量i加1。转表达式2继续判断i=n是否成立。说明:(1)for语句中的三个表达式都可省略,但其中的两个分号不能省略;(2)若表达式1省略,则应在for语句之前给循环变量赋初值。例如:i=1; f
11、or(;i=n;i+) sum=sum+i;(3)若表达式2省略,则不判断循环条件,循环无终止地进行下去,形成“死循环”,即认为表达式2始终为真,因此表达式2通常不能省略;(4)若表达式3省略,则在循环体中应有能不断修改循环条件的语句。例如:for (i=1;i=n;) sum=sum+i; i+; (5)若省略表达式1和表达式3,只有表达式2,即只给出循环条件。例如:i=1; for (;i=n;) sum=sum+i; i+; 此时,for语句和while语句完全相同。上述语句相当于:i=1; while (i=n) sum=sum+i; i+; 五、结论与体会 虽然C语言程序设计在上学期
12、做为我们的必修课已经学习过了,但书到用时方恨少,这次课程设计的学习程序设计中暴露出的我自身的问题更是非常明显。并且对C语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。附件:1.百文钱买鸡问题#includemain() int a,b,c; a=0,b=0; while(a21) b=0; /这里加b=0,每次循环b都要清零。 while(b0) printf(公鸡有%d只 母鸡有%
13、d只 小鸡有%d只n,a,b,c); b+; a+; 2. 判断是否闰年,只需满足以下条件,1、可以被4整除但不可以被100整除;2、可以被400整除。 #includemain()int year;pritnf (输入一个年份: );scanf (%d,&year);if (year%4=0 & year%100!=0 | year%400=0)printf (%d是闰年n,year);elseprintf (%d不是闰年n,year);3. 13人报数问题#includevoid main() int i,j=12,h; int a14; for(i=0;i13;i+) ai=i+1; while(j!=1) j-; a13=a0; a1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 300万炒股协议书
- 产业项目收购协议书
- 代购服务协议书模板
- 【可行性报告】2026年钻机行业项目可行性分析报告
- tps转让协议合同
- 入股餐饮店协议合同
- 位搬迁搬运合同范本
- 中介育儿嫂合同范本
- 代笔合同协议书范本
- 中奖转换现金协议书
- 终止妊娠手术管理制度
- 重症胰腺炎的急救与护理
- 中国咸宁房地产行业市场调研及投资战略研究报告
- 进制教学课件
- B细胞在肾病中作用-洞察及研究
- 2025至2030中国激光武器行业产业运行态势及投资规划深度研究报告
- 教室资格测试题及答案
- 2025-2030中国静态无功发生器(SVG)和静态无功补偿器(SVC)行业市场发展趋势与前景展望战略研究报告
- 农业穿戴设备的人体工学设计
- 2025年高中英语50篇语法填空记高考3500词(翻译及原文版)
- 2025年安徽芜湖市南陵县县属国有企业招聘笔试参考题库含答案解析
评论
0/150
提交评论