C语言程序设计_05循环结构程序设计讲述

第5章 循环结构程序设计5.1 while循环结构5.2 do…while循环结构5.3 for循环结构5.4 与循环有关的控制语句5.5 3种循环语句的比较5.6 循环的嵌套5.7 循环结构程序举例本章小结;5.1 while循环结构5.1.1 while语句的格式while语句的一般格式为:while(表达式) 语句 while语句中的表达式表示循环的条件,可以是任何表达式,常用的是关系表达式和逻辑表达式。表达式必须加圆括号。语句是重复执行的部分,称作循环体。;while语句的执行过程是:先计算表达式的值,如果值为非0,重复执行循环体语句一次,直到表达式值为0才结束循环,执行while语句的下一语句。执行过程如图5-1所示。;注意:(1)循环体只能是单个语句。当循环体由多个语句构成时,必须用复合语句,否则会产生逻辑错误。例如求p=5!,用while语句描述如下:p=1; i=1;while(i<=5){ p*=i; i++;};(2)在while语句前,循环体内的某些变量应赋初值,否则会造成不确定值参加运算。在循环体内必须有修改表达式值的语句,使其值趋向0,否则会造成死循环。;5.1.2 while循环的应用【例5.1】计算1+2+3+…+100的值。【例5.2】已知y,求y<3时的最大n值及对应的y值。;请读者思考3个问题:(1)求y≥3时的最小n,如何修改程序?(2)求y的值,直到累加项小于10-6为止,如何修改程序?(3)n取100,求y的值,如何修改程序?;【例5.3】翻译密文。为使电文保密,往往按一定规律将其转换成密文,收报人再按约定的规律将其译回原文。例如,可以按以下规律将电文变成密文:将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。字母按上述规律转换,非字母字符不变。如Windows!转换为Amrhsaw!。输入一行字符,要求输出其相应的密文。;5.2 do…while循环结构5.2.1 do…while语句的格式do…while语句的一般格式为:do 语句while(表达式);do…while语句中的表达式表示循环的条件,可以是任何表达式,常用的是关系表达式和逻辑表达式。表达式必须加圆括号。语句是重复执行的部分,称作循环体。;do…while语句的执行过程是:先执行循环体语句一次,然后求表达式的值,如果其值为非0,则重复执行循环体一次,直到表达式值为0,结束循环,执行do…while语句的下一语句。执行过程如图5-4所示。 图5-4 do…while语句的执行过程;注意:(1)在do…while语句中,循环体内的某些变量应事先赋初值,否则会造成不确定值参加运算。在循环体内必须有修改表达式值的语句,使表达式的值趋向0,否则会产生死循环。(2)执行do…while语句是先执行循环体一次,然后判断表达式值,确定是否再执行循环体。因此,do…while语句控制的循环次数至少为一次。;5.2.2 do…while循环的应用【例5.4】输入两个整数m和n,求m~n之间的所有奇数之和。【例5.5】求sinx,直到最后一项的绝对值小于10-6时,停止计算。x为角度,其值从键盘输入。;5.3 for循环结构5.3.1 for语句的格式for语句的一般格式为:for(表达式1;表达式2;表达式3) 语句for语句中的3个表达式可以是任何C语言表达式,语句是重复执行的部分,称作循环体。;图5-6 for语句执行过程;for语句的执行过程如图5-6所示。具体由以下几步完成:(1)求表达式1。(2)求表达式2,并判定其值为0或非0。若值为非0,转步骤(3);否则结束for语句。(3)执行语句,然后求表达式3。(4)转向步骤(2)。由for语句的执行流程可知,表达式1的作用是为循环控制的有关变量赋初值,表达式2是循环控制条件,表达式3用于修正有关变量,语句是重复执行部分。;for语句可以用while语句描述:表达式1;while(表达式2){ 语句; 表达式3;};5.3.2 for循环的应用【例5.6】Fibonacci数列定义如下:求Fibonacci数列的前30项。;通过本例可以知道:(1)程序中if语句用于控制输出格式,使得输出5项后换行,每行输出5个数。(2)编写程序时,要注意选择合适的数据类型,否则会得到错误的结果。若将程序中f、f1、f2的类型定义为int类型(输出时对应的格式说明改为%12d),则在Turbo C

c语言循环设计思想结构,C语言程序设计_05循环结构程序设计讲述.pptx相关推荐

  1. python基于c语言开发_C高级编程:基于模块化设计思想的C语言开发 PDF 超清版

    给大家带来的一篇关于C语言相关的电子书资源,介绍了关于C高级编程.模块化.设计思想.C语言开发方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小80 MB,吉星编写,目前豆瓣.亚马逊.当当 ...

  2. c语言课程设计加密程序,C语言课程设计文件加密解密.doc

    C语言课程设计文件加密解密 C语言程序设计 课程设计 学 院 计算机工程 班 级 计算1313 姓 名 学 号 201321121089 成 绩 指导老师 2014年6月26日 计算1313班C语言程 ...

  3. 大一c语言课程设计答辩ppt,c语言课程设计讲解内容图文.ppt

    c语言课程设计讲解内容图文 一.课程设计的目的与要求 1.教学目的 本课程设计是学生学习完<C语言程序设计>课程后,进行的一次全面的综合训练,通过课程设计,更好地掌握使用C语言进行程序设计 ...

  4. 通讯录管理系统C语言课程设计大作业,c语言课程设计报告---通讯录管理系统.doc...

    c语言课程设计报告---通讯录管理系统.doc Yangtze University College of Arts and Science 学生实习手册 (课程设计报告) 学 部 理 工 学 部 专 ...

  5. 兰州交通大学C语言课程设计,兰州交通大学C语言课程设计报告(完整版).doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp高等教育&nbsp>&nbsp实验设计 兰州交通大学C语言课程设计报告(完整版).doc12 ...

  6. c语言课程设计作业五子棋,c语言课程设计案例-五子棋.ppt

    <c语言课程设计案例-五子棋.ppt>由会员分享,可在线阅读,更多相关<c语言课程设计案例-五子棋.ppt(25页珍藏版)>请在人人文库网上搜索. 1.C语言综合编程训练,C程 ...

  7. 数据结构c语言课程设计报告,(数据结构c语言课程设计报告.doc

    (数据结构c语言课程设计报告 数据结构 课程设计报告 设计题目:迷宫求解 专 业 机电一体化 班 级 08专接本 学 生 学 号 104910252011 指导教师 高在村 完成时间 2011. 5 ...

  8. c语言课程设计 日历显示,c语言课程设计_电子日历.doc

    c语言课程设计_电子日历 第 PAGE \* Arabic \* MERGEFORMAT 14 页第 PAGE \* Arabic \* MERGEFORMAT 14 页 课 程 设 计( 论 文 ) ...

  9. c语言课程设计作业五子棋,C语言课程设计-五子棋双人对战程序

    C语言课程设计-五子棋双人对战程序 C语言课程设计-五子棋双人对战程序|c语言程序代码编程小程序设计|c语言课程设计报告课程案例 /*      本程序在Turbo C或Borland C下编译通过  ...

最新文章

  1. iOS 修改项目名称
  2. 微软发布自己定制的 Linux 内核和发行版,面向物联网
  3. Tensorflow源码解析2 -- 前后端连接的桥梁 - Session 1
  4. 冒泡排序的双重循环理解
  5. 【Kafka】Kafka安装部署
  6. string.format的使用与及转义
  7. 【转帖】MATLAB中用FDATool设计滤波器及使用
  8. vs2010sp1安装失败问题
  9. python高斯滤波和降噪_高斯滤波器和高斯滤波器中sigma与带宽的关系
  10. 互联网没有基业长青?(转)
  11. c语言编程照抄能学好吗,C语言I作业12—学期总结
  12. 修改Unity3d Asset Store 默认下载文件位置?
  13. 二叉树的基本操作——数据结构实验报告
  14. 图像的二值化原理和实现
  15. MySQL DDL 在指定位置新增字段
  16. aubo-i5机械臂(1)-正运动学求解
  17. P1914 小书童——凯撒密码题解(全网首创方法)
  18. Go语言微服务实战之API网关
  19. 优秀的持久层框架-Mybatis(上)
  20. 语音的时频分析(一)

热门文章

  1. jackson 反序列化string_Java 中使用Jackson反序列化
  2. linux系统下怎样压缩文件,Linux操作系统下常用压缩文件如何解压?
  3. java线性表_java实现线性表
  4. html5混合编写,Html5混合开发环境的搭建
  5. ricker 子波matlab,毕设求助!!!雷克子波合成地震信号
  6. 轻量级实用PDF转换工具
  7. 多图 | 搞懂volatile和synchronized的区别
  8. 亿万级图数据库 Nebula Graph 的数据模型和系统架构设计
  9. 源码解读 Spring Boot Profiles
  10. 实践Jenkins集成Cobertura自动化构建SpringBoot工程