第9讲-语句标号、goto语句及其构成的循环-while语句及其构成的循环PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说明:(1)while语句中 的表达式可以是任意合 法的C表达式。
(2)如果循环体语句 是复合语句,一定要用 { }括起来。
(3) 在循环体语句 中应该包含能够使循环 趋于结束的操作,以避 免出现死循环。
百度文库
2021
13
例5.3 编程求1+2+3+…+100的值。
这是一个求100个数的累加和问题。所加的 加数从1变化到100,因此我们可以在循环体中 设计一个整型变量i,使它的初值为1,每循环 一次使i的值增1,一直循环到i的值超过100为 止,用这个办法就解决所需的加数问题。
常与条件语句 main()
配合构成条件 {int n= 0; char ch;
转移语句,用 printf("input a string\n");
来实现构成循 环或跳出循环 等功能。
loop: ch= getchar(); n++; if(ch!='\n')
例5.1 统计 从键盘输入的 一行字符的个 数。
goto loop; printf("The total sum is %d\n", sum); }
从键盘输入完一组数据后,再输入一 个0作为结束输入数据的标志。
2021
10
5.2 while循环语句
由while语句构成的循环也称”当”循 环。 while循环的一般形式如下:
while(表达式) 循环体语句
图5.1 while循环流程图
2021
11
while语句的执行过程是: 先计算while表达式的值,当表达式的值为非零
时,便执行循环体语句,之后再计算该表达式的 值,由此构成循环,直到有一次求得表达式的值 为零时才结束循环,并继续执行循环体语句之外 的后续语句。
图5.1 while循环流程图
2021
12
用while语句改写例5.1的程序
题目:统计从键盘输入的一行字符的个数。
#include <stdio.h> main() {int n=0; char ch; printf("input a string:\n"); ch= getchar(); while(ch!='\n')
{n++; ch= getchar();} printf("%d",n); }
一,也是最重要、最常用的一种基本结构。其特点 是:在给定条件成立时,反复执行某程序段,直到 给定条件不成立时为止。 给定的条件称为循环条件, 反复执行的程序段称为循环体。
2021
3
C语言可以用如下语句实现循环: 1. 用goto语句和if语句构成循环。 2. 用while循环语句。 3. 用do-while循环语句。 4. 用for循环语句。
要解决求累加和的问题,还要再设计一个变 量sum用来存放这100个数的和值,先求0+1的和 并将其放在sum中,然后把sum中的数加上2再存 放在sum中,依次类推。
在这里,sum累加的过程要放在循环体中, 由计算机来判断所加的数是否已经超过100。
2021
14
2021
15
例5.3程序,求1+2+3+…+100的值
main() { int i, sum; i=1; sum=0; while(i<=100)
{sum= sum + i ; i++; }
printf("sum=%d\n", sum); } 程序运行后的输出结果: sum=5050
2021
16
2021
4
5.1 goto语句及用goto语句构成循环
1. 语句标号 语句标号就是给程序中的某一个语句定义的标
识符,标号可以是任意合法的标识符,在语句标 号和语句之间必须加一个冒号作为分隔符。
C程序中的任何一个可执行语句之前都可以加 上语句标号。
2021
5
例如:stop:printf("END\n");
第9讲
语句标号、goto语句及其构成的循环 while语句及其构成的循环
2021
1
第五章 循环结构程序设计
5.1 语句标号、goto语句及用goto语句构成的循环 5.2 while语句和用while语句构成的循环
5.6 break语句和continue语句在循环体中的作用
2021
2
循环结构
循环结构是结构化程序设计的三种基本结构之
goto loop; n=n-1; /*不要字符'\n'*/ printf("%d",n); }
2021
9
例5.2 输入一组数据求和
#include <stdio.h> main() { int number, sum=0;
loop: scanf("%d", &number); sum+=number; if(number!=0)
2021
7
goto语句不符合结构化程序设计的原则,因 为无条件转向使得程序的结构没有规律、 可读性差。对于初学者来说应尽量避免使 用goto语句,但如果使用goto语句能够大 大地提高程序的执行效率,也可以使用。
2021
8
3 . 用goto语句构成的循环结构
goto语句通 #include "stdio.h"
通常,语句标号只是用作goto语句的转向 目标。如:goto stop;
如果程序中没有用goto语句改变程序的执 行顺序,也就没有必要出现语句标号。
2021
6
2. goto语句
goto语句称为无条件转向语句。 goto语句的一般形式为:goto 语句标号; goto语句的作用是把程序的执行转移到语句标 号所在的位置,但这个语句标号必须与此goto语 句在同一个函数之内。