C语言入门经典(第四版)4-循环
更新时间:2023-08-30 10:09:01 阅读量: 教育文库 文档下载
C语言入门经典(第四版)4-循环
本文由wow吧水元素贡献
ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
C入门经典(第4版) 入门经典( 第04章 循环 04章
上一章学习了如何比较数据项,并根据其结果进行判断。我们可以根据 程序的输入选择计算机如何做出反应。本章将介绍如何重复执行一个语句块, 直到满足某个条件为止,这称为循环。 语句块的执行次数可以简单地用一个计数器来控制,语句块重复执行指 定的次数,或者还可以更复杂一些,重复执行一个语句块,直到满足某个条件 为止,例如用户输入quit。后者可以编写上一章的计算器示例,使计算过程重 为止,例如用户输入quit。后者可以编写上一章的计算器示例,使计算过程重 复需要的次数,而不必使用goto语句 复需要的次数,而不必使用goto语句 。
C入门经典(第4版) 入门经典(
4.1 循环
如前所述,使一系列语句重复执行指定的次数,或重复执行它们,直到 满足某个条件为止的编程机制称为循环。循环和比较数据项是基本的编程工具。 能比较数据值和重复执行语句块后,就可以合并这两个功能,控制语句块的执 行次数。例如,可以重复执行一个操作,直到比较的两个数据项相同为止。当 它们相同时,就可以执行另一个操作 。
C入门经典(第4版) 入门经典( 4.2 递增和递减运算符
递增运算符(++)和递减运算符( 递增运算符(++)和递减运算符(– –)会将存储在整数变量中的值递增或递减 1。假设定义一个整数变量number,它的当前值是6。可以用下面的语句给它 。假设定义一个整数变量number,它的当前值是6 加1: ++number; /* Increase the value by 1 */
C入门经典(第4版) 入门经典( 4.3 for循环 循环
使用for循环的基本形式可以使语句块重复执行指定的次数。假设要显示 使用for循环的基本形式可以使语句块重复执行指定的次数。假设要显示 1~10 之间的数字,可以不用编写10条printf()语句,而可以这么写: 之间的数字,可以不用编写10条printf()语句,而可以这么写: intcount = 0; for(count = 1; count <= 10; ++count) printf("\ printf("\n%d", count);
C入门经典(第4版) 入门经典( 4.4 for循环的一般语法 循环的一般语法
for循环的一般形式如下: for循环的一般形式如下: for(starting_condition; continuation_condition ; action_per_iteration) St
atement; Next_statement; 重复执行的语句由Statement表示。通常这等价于包含在括号中的语句块 重复执行的语句由Statement表示。通常这等价于包含在括号中的语句块 (一组语句)。 一组语句)
C入门经典(第4版) 入门经典(
4.5 再谈递增和递减运
C语言入门经典(第四版)4-循环
算符
前面的示例使用了递增运算符,下面深入探讨递增和递减运算符的作用。 它们都是一元运算符,只使用一个操作数,用来将存储在整数类型变量中的值 加1或减1 。 或减1 递增运算符 递增运算符的前置和后置形式 递减运算符
C入门经典(第4版) 入门经典(
4.5.1 递增运算符
先看看递增运算符。它的形式是++,给所操作的变量加l 先看看递增运算符。它的形式是++,给所操作的变量加l。例如,假如变 量的类型是int,下面的3 量的类型是int,下面的3条语句有相同的结果: count = count + 1; count += 1; ++count;
C入门经典(第4版) 入门经典(
4.5.2 递增运算符的前置和后置形式
前面将++运算符放在变量前面,这叫做前置形式。这个运算符也可以写 前面将++运算符放在变量前面,这叫做前置形式。这个运算符也可以写 在变量的后面,这称为后置形式。在表达式中使用前置和后置形式的效果大不 相同。如果在表达式中编写的是count++,则变量count的值在使用之后才递增。 相同。如果在表达式中编写的是count++,则变量count的值在使用之后才递增。 这看起来有点复杂。修改前面的例子: total = 6 + count++;
C入门经典(第4版) 入门经典(
4.5.3 递减运算符
递减运算符的操作和递增运算符完全相同。它的形式是– 递减运算符的操作和递增运算符完全相同。它的形式是– – ,作用是给它 操作的变量减1。它的使用方式和++完全相同。例如,假设变量count是int类 操作的变量减1。它的使用方式和++完全相同。例如,假设变量count是int类 型,下面3 型,下面3条语句会有相同的结果: count = count - 1; count -= 1; --count; --count;
C入门经典(第4版) 入门经典(
4.6 再论 循环 再论for循环
有了++和 有了++和– –的更多了解,下面看看另一个使用循环的例子。 试试看:数字汇总 这个程序比用* 这个程序比用*号画盒子要有用、有趣得多。假定想知道某条街上所有门 牌号的总和是多少,这需要读入一个整数值,再使用for循环汇总所有的整数, 牌号的总和是多少,这需要读入一个整数值,再使用for循环汇总所有的整数, 从1加到输入的那个数值为止。 修改for循环变量 修改for循环变量 没有参数的for循环 没有参数的for循环 循环内的break语句 循环内的break语
句 使用for循环限制输入 生成伪随机整数 再谈循环控制选项 浮点类型的循环控制变量
C入门经典(第4版) 入门经典(
4.6.1 修改for循环变量 修改for循环变量
当然,递增循环控制变量不是只能加l 当然,递增循环控制变量不是只能加l。可以用任意值改变循环控制变量, 正数或
C语言入门经典(第四版)4-循环
负数均可。例如,可以逆向计算前n 正数或负数均可。例如,可以逆向计算前n个整数的总和。
C入门经典(第4版) 入门经典(
4.6.2 没有参数的for循环 没有参数的for循环
如前所述,不必在for循环语句内放置任何参数。for循环的最简洁形式如 如前所述,不必在for循环语句内放置任何参数。for循环的最简洁形式如 下: for(;;) statement; 和前面一样,这里的statement也可以是放在括号中的语句块,且通常是 和前面一样,这里的statement也可以是放在括号中的语句块,且通常是 语句块。因为没有循环继续条件、初始条件以及循环计数器,因此循环将永不 停止。除非希望计算机总是什么都不做,否则statement必须包含退出循环的 停止。除非希望计算机总是什么都不做,否则statement必须包含退出循环的 方式。要停止循环,循环体必须包含两条语句:判断结束循环的条件是否已满 足的语句,以及终止当前循环迭代并继续执行循环后面语句的语句。
C入门经典(第4版) 入门经典(
4.6.3 循环内的break语句 循环内的break语句
第3章在switch语句里使用过break语句。它的作用是终止switch块中代码 章在switch语句里使用过break语句。它的作用是终止switch块中代码 的执行,并继续执行跟在switch后的第一行语句。break语句在循环体内的作 的执行,并继续执行跟在switch后的第一行语句。break语句在循环体内的作 用和switch基本相同。 用和switch基本相同。
C入门经典(第4版) 入门经典(
4.6.4 使用for循环限制输入
可以使用for循环限制用户输入的次数。循环的每次迭代都允许输入一个值。 可以使用for循环限制用户输入的次数。循环的每次迭代都允许输入一个值。当 循环完成指定的重复次数后,便结束循环,不允许再输入数据。 循环完成指定的重复次数后,便结束循环,不允许再输入数据。下面编写一个 简单的程序来演示,这个程序实现了一个数字猜谜游戏。 简单的程序来演示,这个程序实现了一个数字猜谜游戏。
C入门经典(第4版) 入门经典(
4.6.5 生成伪随机整数
在前一个例子中,如果程序在每次执行时,可以生成要猜测的数字,该 数字每次都不同。为此,可以使用在头文件中声明的函数rand(): 数字每次都不同。为此,可以使用在头文件中声明的函数rand(): int chosen = 0; chosen = rand
(); /* Set to a random integer */
C入门经典(第4版) 入门经典(
4.6.6 再谈循环控制选项
前面介绍了如何用++和 前面介绍了如何用++和– –运算符递增或递减循环计数器。可以对循环计 数器递增或递减任意数值。
C入门经典(第4版) 入门经
C语言入门经典(第四版)4-循环
典(
4.6.7 浮点类型的循环控制变量
循环控制变量也可以是一个浮点类型的变量。下面的循环汇总从1/1~1/10 循环控制变量也可以是一个浮点类型的变量。下面的循环汇总从1/1~1/10 的分数: double sum = 0.0; for(double x = 1.0 ; x<11 ; x += 1.0) sum += 1.0/x;
C入门经典(第4版) 入门经典( 4. 7 while循环 循环
for循环就介绍到这里。前面举了许多for循环的例子,现在探讨另一类循 for循环就介绍到这里。前面举了许多for循环的例子,现在探讨另一类循 环:while循环。在while循环中,只要某个逻辑表达式等于true,就重复执行 环:while循环。在while循环中,只要某个逻辑表达式等于true,就重复执行 一组语句。这可以表示为: While this condition is true Keep on doing this
C入门经典(第4版) 入门经典( 4. 8 嵌套循环
有时需要将一个循环放在另一个循环里面。例如计算某条街上每间房子 的居住 人数。这需要进入每间房子,计算每间房子的居住人数。统计所有的 房子是一个外部循环,在外部循环的每次迭代中,都要使用一个内部循环来计 算居住人数。
C入门经典(第4版) 入门经典( 4. 9 嵌套循环和 嵌套循环和goto语句 语句
前面学习了如何在一个循环内嵌套另一个循环,其实循环还可以嵌套任 意多层。例如: for(int i = 0 ; i<10 ; ++i) for(int j = 0 ; j<20 ; ++k) /* Loop executed 10 times */ for(int k = 0 ; k<30 ; ++k) /* Loop executed 10x20 times */ {
/* Loop body executed 10x20x30 times */ /* Do something useful */ } 由i控制的外部循环每次迭代时,都会执行一次由j控制的内部循环。由j控 控制的外部循环每次迭代时,都会执行一次由j控制的内部循环。由j 制的循环每次迭代时,都会执行一次由k 制的循环每次迭代时,都会执行一次由k控制的最内层循环。因此最内层的循 环体会执行6 000次。 环体会执行6 000次。
C入门经典(第4版) 入门经典( 4. 10 do-while循环 循环
第3种循环类型是do-while。既然已经有for循环和while循环了,为什么还 种循环类型是do-while。既然已经有for循环和while循环了,为什么还 需要这个循环?do-while和这两个循环有非常微妙的区别。它是在循环结束时 需要这个循环?do-while和这两个循环有非常微妙的区别。它是在循环结束时 测试循环是否继续,所以这个循环的语句或语句块至少会执行一
次。 while循环是在循环开始处进行测试。所以在任何动作发生之前,先检查 while循环是在循环开始处进行测试。所以在任何动作发生之前,先检查 表达式 。
C入门经典(第4版) 入门经典( 4. 11 continue语句 语句
有时不希望结束循环,但要跳过目前的迭代,继续执行下一
C语言入门经典(第四版)4-循环
个迭代。循 环体内的continue语句就有这个作用,它可以编写为: 环体内的continue语句就有这个作用,它可以编写为: continue; 当然,continue是一个关键字,不能将它用于其他目的。 当然,continue是一个关键字,不能将它用于其他目的。
C入门经典(第4版) 入门经典( 4. 12 设计程序
现在,在一个比较大的编程问题上测试前面学习过的技巧,应用本章和 前一章学到的东西。本节还会介绍几个新的标准库函数,它们非常有用 。 问题 分析 解决方案
C入门经典(第4版) 入门经典( 4.12.1 问题
本节要编写一个简单的Simon游戏,这是一个记忆测试游戏。计算机会在 本节要编写一个简单的Simon游戏,这是一个记忆测试游戏。计算机会在 屏幕上将一串数字显示很短的时间。玩家必须在数字消失之前记住他们,然后 输入这串数字。每次过关后,计算机会显示更长的一串数字,让玩家继续玩下 去。玩家应尽可能使这个过程重复更多的次数。
C入门经典(第4版) 入门经典( 4. 12.2 分析
程序必须产生一连串0~9的整数,使它们在屏幕上显示1 程序必须产生一连串0~9的整数,使它们在屏幕上显示1秒钟,之后删除 它们。玩家试着输入这串数字。这串数字会一次比一次长,直到玩家输入错误 为止。根据成功的次数和所花的时间来计分。然后程序会询问玩家,是否继续 玩。
C入门经典(第4版) 入门经典( 4.12 .3 解决方案
本节列出解决该问
题的步骤 。
C入门经典(第4版) 入门经典( 4.13 小结
本章介绍了使用循环重复执行动作的所有知识。使用前面所学的强大的 编程工具,就可以创建相当复杂的程序了。我们可以使用3
编程工具,就可以创建相当复杂的程序了。我们可以使用3个不同的循环来重 复执行语句块 。
1
正在阅读:
C语言入门经典(第四版)4-循环08-30
SSD2选择题答案05-25
创新卷烟营销方式 力促烟草企业发展05-28
第六章 排队系统建模与仿真(New)05-21
海宁市长安镇发展状况分析报告06-29
2018届二轮:—社会热点押题训练 训练14 14年抗战(专题卷)06-15
GCT词汇笔记04-19
《美丽乡村建设指南》国家标准03-19
财务管理综合习题04-05
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 入门
- 循环
- 语言
- 经典
- Altium_designer(Protel)中常用库及部分元件名中英文原理图 常用库文件:
- 机车制动机总复习题
- 保安对讲机管理制度
- 11.1 万科深圳区域装修房成品保护技术标准
- 乡镇民政工作总结
- 大脑记忆的黄金时间段
- 2019年广西继续教育公需科目考试试题和答案(套题一)
- 高考经典作文素材历史文化名人
- 消费税练习题及答案
- 论政治的源泉 西方政治思想史 期末作业 论文(仅供参考,专权所有)
- 中央电大开放本科会计学专业财务案例研究试题_0907
- 5 对流传热的基本理论(修订)
- 中华书局版 第7课 商鞅变法与秦统一六国
- 分析程序在财务报表审计中的运用的文献综述
- 转正面谈记录表
- 2014年水利工程造价工程师继续教育课程-单元试题
- 必胜客物流配送模式分析
- 2014年投资图谱-基金经理们“瞄上”了新的投资主线
- 10KV架空线路施工方案
- 专业技术人员继续教育《诚信建设》多选题200题(含答案)