南京大学:《C语言程序设计》课程教学资源(PPT课件)第六章 循环控制(姜恒远)

第6章循环控制
第6章 循环控制

61概述 在上一章中我们已经学习了算法的选择结构的C语言 程序实现及其程序流程控制转移方式。本章将讨论最后 种算法的基本结构—循环结构的C语言程序实现及其 程序流程控制转移方式—循环控制。 所谓循环控制,即满足一个指定的条件,每次使用不 同的数据,对程序中的计算或处理步骤完全相同的程序 段,重复计算若干次的程序控制
6.1 概述 在上一章中,我们已经学习了算法的选择结构的C语言 程序实现及其程序流程控制转移方式。本章将讨论最后 一种算法的基本结构──循环结构的C语言程序实现及其 程序流程控制转移方式──循环控制。 所谓循环控制,即满足一个指定的条件,每次使用不 同的数据,对程序中的计算或处理步骤完全相同的程序 段,重复计算若干次的程序控制

如计算5!,若用顺序结构实现: ints=1, t=1 s=s*t: t++ s=st.t++ s=s*t: t++ t;t++ s=s"t printf(“%d”,s); 在该程序段中,语句s=s*t;t++;连续执行了四次, 而且每次使用的s和的值都不同,这就构成了循环的条件。 因此,程序应该使用循环控制方式来实现
int s=1 , t=1; s=s*t; t++; s=s*t; t++; s=s*t; t++; s=s*t; t++; s=s*t; printf(“%d” , s); 如计算5!,若用顺序结构实现: 在该程序段中,语句 s=s*t;t++;连续执行了四次, 而且每次使用的s 和t的值都不同,这就构成了循环的条件。 因此,程序应该使用循环控制方式来实现

上面的程序如果用C语言的循环结构来实现,可以写成 如下简单形式: int s=l t=1 while(t<=5) s=s* t++ printf(“%d”,s); 很明显,这样的程序不仅简单,而且逻辑性更强
int s=1,t=1; while ( t<=5 ) { s=s*t ; t++ ; } printf(“%d” , s); 上面的程序如果用C语言的循环结构来实现,可以写成 如下简单形式: 很明显, 这样的程序不仅简单, 而且逻辑性更强

62goto语句以及用goto语句构成循环 选择控制和循环控制都依赖于条件测试,条件测试 的结果决定了程序执行的方向或路径,所以它们都是有 条件的程序控制转移。 相应的,在计算机程序设计语言中还提供另一类程 序流程控制语句一转向语句。用这类语句来实现程 序的控制转移不依赖于任何条件,故称之为无条件控制 转移。 本节讨论实现程序的无条件控制转移的goto语句的 使用
6.2 goto 语句以及用 goto 语句构成循环 选择控制和循环控制都依赖于条件测试, 条件测试 的结果决定了程序执行的方向或路径,所以它们都是有 条件的程序控制转移。 相应的,在计算机程序设计语言中还提供另一类程 序流程控制语句 ── 转向语句。 用这类语句来实现程 序的控制转移不依赖于任何条件,故称之为无条件控制 转移。 本节讨论实现程序的无条件控制转移的goto语句的 使用

1、goto语句格式 goto语句标号 2、执行与功能 无条件地转向语句标号后的语句处执行。 3、语句标号飛式 标号: a)按标识符规则直接定义不需进行说明; b):号不属于标号作为标号与语句间的分隔符 )标号用来标识函数中的某个位置,作为g0to语句的 转向目标; d)标号的作用域是所在函数,同一函数中的所有标号 不能相同,但可与函数中的变量名同名,不会产生冲突;
1、goto 语句格式 goto 语句标号 2、执行与功能 无条件地转向语句标号后的语句处执行。 3、语句标号形式 标号: a) 按标识符规则直接定义,不需进行说明; b) :号不属于标号,作为标号与语句间的分隔符; d) 标号的作用域是所在函数,同一函数中的所有标号 不能相同,但可与函数中的变量名同名,不会产生冲突; c) 标号用来标识函数中的某个位置,作为goto 语句的 转向目标;

e)不可以从一个函数中用goto语句转向另一函数中去 执行;但可转到本函数中的任何地方(包括循环语句、if 语句、swch语句、复合语句中),并从那一点继续执行下 去,且按原语句的功能控制程序的执行。 4、用goto语句和语句实现循环 in t s=1,t=1; in t s=1,t=1 while〔t<=5) loop:ir〔t<=5) t s=s*t t++; p printf〔”%d”,s); printf〔”%d
e) 不可以从一个函数中用 goto 语句转向另一函数中去 执行; 但可转到本函数中的任何地方 ( 包括循环语句、 if 语句、switch语句、复合语句中 ),并从那一点继续执行下 去,且按原语句的功能控制程序的执行。 4、用 goto 语句和 if 语句实现循环

63 while语句 while wi环语句是一种“当型”循环语句。所谓“当 型”循环,亦即当某个给定的条件成立时执行循环体,否 则停止循环的执行。 l、 while语句格式 while (e) 语句 其中的“e”可为任何表达式必须括在小括号中它 的值作为 while循环继续与否的判断条件。在小括号后不 能加分号。最简单的表达式可以是一个单一的常数
6.3 while 语句 while 循环语句是一种“当型”循环语句。所谓“当 型” 循环, 亦即当某个给定的条件成立时执行循环体,否 则停止循环的执行。 1、 while 语句格式 while(e) 语句 其中的 “ e” 可为任何表达式,必须括在小括号中,它 的值作为while循环继续与否的判断条件。 在小括号后不 能加分号。 最简单的表达式可以是一个单一的常数

下面列出的表达式都可以作为whie循环的判断条件 ((ch=getchar()!='A) ((( =0) x==0) xx) (! “语句”部分即为 while循环要重复执行的循环体 在这个位置上仅能是一条C语言语句,也可以是一条空 语句(仅有一个分号,表示循环体为空)。使用复合语 句则能重复执行一组语句
下面列出的表达式都可以作为while循环的判断条件。 ( ( ch=getchar ( ) ) != ‘A’ ) ( x!=0 ) ( x==0 ) ( x ) ( !x ) ( 1 ) “语句” 部分即为 while 循环要重复执行的循环体。 在这个位置上仅能是一条C语言语句,也可以是一条空 语句(仅有一个分号,表示循环体为空)。使用复合语 句则能重复执行一组语句

2、whil语句执行过程及功能 首先对括号中的表达式“e”求值,若其值为真(非 0),执行循环体语句,否则(表达式值为0)结束并退出 while循环语句。下图描述了这个执行过程。 计算e的值 假 非0 语句
2、while语句执行过程及功能 首先对括号中的表达式 “ e” 求值,若其值为真(非 0),执行循环体语句,否则(表达式值为0)结束并退出 while循环语句。下图描述了这个执行过程。 e 非 0 ? 语句 真 假 计算e的值
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第八章 函数(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第五章 选择结构程序设计(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第九章 预处理命令(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第三章 数据类型、运算符与表达式(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第七章 数组(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第一章 C语言概述(姜恒远).ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第十章 搜索与散列.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第九章 排序.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第八章 图.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第七章 集合与搜索.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第六章 树与森林.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第五章 递归.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第四章 栈与队列.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第三章 链表.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第二章 数组.ppt
- 清华大学:《数据结构》课程教学资源(PPT课件讲稿)第一章 绪论(主讲:殷人昆).ppt
- 清华大学:《数据结构》课程教学资源(练习答案)第十章答案.doc
- 清华大学:《数据结构》课程教学资源(练习答案)第九章答案.doc
- 清华大学:《数据结构》课程教学资源(练习答案)第八章答案.doc
- 清华大学:《数据结构》课程教学资源(练习答案)第七章答案.doc
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第十一章 结构体与共用体(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第十三章 文件(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第十章 指针(姜恒远).ppt
- 南京大学:《C语言程序设计》课程教学资源(PPT课件)第四章 最简单的C程序设计——顺序结构程序设计(姜恒远).ppt
- 东北大学:《离散数学》课程教学资源(PPT课件讲稿)第四章 二元关系.ppt
- 东北大学:《离散数学》课程教学资源(PPT课件讲稿)第四章 二元关系.ppt
- 东北大学:《离散数学》课程教学资源(PPT课件讲稿)期末总复习.ppt
- 东北大学:《离散数学》课程教学资源(PPT课件讲稿)绪论、第一章 命题逻辑(主讲:许桂清).ppt
- 东北大学:《离散数学》课程教学资源(PPT课件讲稿)第二章 谓词逻辑.ppt
- 东北大学:《离散数学》课程教学资源(试题)2001级总本.doc
- 东北大学:《离散数学》课程教学资源(PPT课件讲稿)第三章 集合论基础.ppt
- 东北大学:《离散数学》课程教学资源(PPT课件讲稿)第三章 集合论基础.ppt
- 华中科技大学出版社:《深度探索C++对象模型》PDF电子书(候捷).pdf
- 21世纪高职高专规划教材:《计算机网络技术实训教程》PDF电子书(共八章)(史秀璋).pdf
- 上海交通大学:《C++程序设计》课程教学课件(PPT讲稿)课程简介.ppt
- 上海交通大学:《C++程序设计》课程教学课件(PPT讲稿)第一章 初步知识.ppt
- 上海交通大学:《C++程序设计》课程教学课件(PPT讲稿)第二章 数据类型、运算符、表达式.ppt
- 上海交通大学:《C++程序设计》课程教学课件(PPT讲稿)第三章 结构化程序设计.ppt
- 上海交通大学:《C++程序设计》课程教学课件(PPT讲稿)第四章 模块化与函数.ppt
- 上海交通大学:《C++程序设计》课程教学课件(PPT讲稿)作用域和生存期.ppt