c语言循环结构65893ppt课件
合集下载
C语言循环结构ppt课件
do-while的下一条语句
while的下一条语句
12:56
第27页
循环语句的选择
if(循环次数已知)
使用for语句
else
/* 循环次数未知 */
if (循环条件在进入循环时明确)
使用while语句
else /* 循环条件需要在循环体中明确 */ 使用do-while语句
12:56
第28页
§5.4 用于循环中的break和continue语句
12:56
第5页
③ <循环表达式>亦可省略,但在循环语句体中必须有 语句来修改循环变量,以使条件表达式的值在某一时 刻为0,从而能正常结束循环。 如:for(sum=0, i=1; i<=100;)
{ sum = sum +i; i++;
}
④ 三个表达式均省略,即for(;;),为无限循环,程序 中要避免这种情况的发生。
printf(“Grade average is %.2f\n", (total+1)/(num-1));
return 0;
}
12:56
第23页
【 例 5 - 8 】 求 sin(x)=x-x3/3!+x5/5!-x7/7!+… 直 到 最后一项绝对值小于le-7(即10-7)为止。 分析:
多项式从第二项起,每一项都是前一项乘以一个因子,
do_while语句是另一种用于产生循环动作的语句。 一般形式为:
do { <循环体语句> }while(<表达式>);
do_while语句的流程图 :
功能:先执行一次<循环体语句>,然后计算<表达式>的值, 若该值为“真”,则重复以上的操作,直到该值为“假”, 则退出循环语句,执行下一条语句。
C语言课件-循环结构
break 和 continue
#include "stdio.h" ↙ 输入 abc↙ int main(void) efgh ↙ { char c; 123 ↙ int i; break输出 abc for (i = 0; i < 10; i++) { c = getchar(); if (c == '\n') break; continue输出 continue; putchar(c); abcefgh1 } }
#include <stdio.h> int main(void) { int num; double grade, total; num = 0; total = 0; printf(“Enter grades: \n"); scanf("%lf", &grade); /* 输入第1个数*/ while (grade >= 0) { /* 输入负数,循环结束 */ total = total + grade; num++; scanf (“%lf”, &grade); }
START 位数count=0 输入一个数->number number<0? Y number=-number number=number/10 count++ Y number!=0? N 输出count END N
源程序
#include<stdio.h> int main(void) { int count, number; count = 0; printf(“Enter a number: "); scanf ("%d", &number) ; if (number < 0) number = -number;
C语言第5章循环结构PPT课件
格式:while (条件1)
3. 用for 语句实现循环 4. 循环的嵌套
5. break语句和continue语句 6. 几种循环的比较 7. 程 序 举 例
第2页/共63页
一、循环概述
3
第3页/共63页
在很多实际问题中会遇到有规律性的重复运算,因 此在程序中就需要将某些语句重复执行。 • 一组被重复执行的语句称为循环体; • 每重复一次,都必须作出是继续还是停止循环的决 定,这个决定所依据的条件称为循环条件;
do {
......
for(;;) { ......
}while();
}
47
第47页/共63页
例7. 打印乘法“九九表”
1 2 3 4 56 7 89 11 22 4 33 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 45 54 63 72 81
循环的概念 用while语句和do-while语句实现循环
用for 语句实现循环 循环的嵌套
break语句和continue语句 几种循环的比较 程序举例
第44页/共63页
循环的嵌环中还可以嵌套循环,这就是多重循环。
循环1
循环2
28
第28页/共63页
29
第29页/共63页
(2):从高位到低位求每一位。
30
第30页/共63页
(3):从低位到高位求每一位。
31
第31页/共63页
循环结构程序设计
1. 循环的概念 2. 用while语句和do-while语句实现循环
3. 用for 语句实现循环 4. 循环的嵌套
5. break语句和continue语句 6. 几种循环的比较 7. 程 序 举 例
第2页/共63页
一、循环概述
3
第3页/共63页
在很多实际问题中会遇到有规律性的重复运算,因 此在程序中就需要将某些语句重复执行。 • 一组被重复执行的语句称为循环体; • 每重复一次,都必须作出是继续还是停止循环的决 定,这个决定所依据的条件称为循环条件;
do {
......
for(;;) { ......
}while();
}
47
第47页/共63页
例7. 打印乘法“九九表”
1 2 3 4 56 7 89 11 22 4 33 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 45 54 63 72 81
循环的概念 用while语句和do-while语句实现循环
用for 语句实现循环 循环的嵌套
break语句和continue语句 几种循环的比较 程序举例
第44页/共63页
循环的嵌环中还可以嵌套循环,这就是多重循环。
循环1
循环2
28
第28页/共63页
29
第29页/共63页
(2):从高位到低位求每一位。
30
第30页/共63页
(3):从低位到高位求每一位。
31
第31页/共63页
循环结构程序设计
1. 循环的概念 2. 用while语句和do-while语句实现循环
《循环结构》幻灯片PPT
for(i=1;i<10;i++)
123456789
printf("%5d",i);
----------------------------------------------------------
printf("\n");
----------
for(i=1;i<=46;i++)
123456789
for(i=1;i<=100;)
{ sum+=i;
i++;
} 上述for语句中没有表达式3,而是将表达式3〔i++〕放在循环语句中, 作用一样,都能使用循环正常完毕。注意表达式2后面的分号不能省略。 〔4〕也可以同时省略表达式1和表达式3,即: for〔;表达式2;〕
循环语句; 也即省略了循环的初值和循环变量的修改局部,此时完全等价于while 语句。
时,假设二者的循环体一样,运行结果也就一样。 但当while后面表达式的值一开场就为0时,两种 循环构造的结果是不一样的。
※重点提示:do-while语句先执行语句,后判断 表达式的值。故do-while语句又称“直到型〞循环 构造。由于是先执行后判断,因此do-while语句的 循环语句至少被执行一次。
5.2 do-while语句和用do-while语句构成的循环构造
do-while是另一种循环构造,它的一般形式为: do
循环语句; while〔表达式〕;
以下是几点说明:
1.do是C语言的关键字,必须和while联合使用。 2.在while〔表达式〕后的分号“;〞不可丢,它 表示do-while语句的完毕。 3.while后括号中的表达式可以是任意合法的表达 式,由它来控制循环是否执行。 4.do-while之间的循环体可以是一条可执行语句也 可以是由“{}〞构成的符合语句。
C语言循环结构一章 ppt课件
}while(i<n); /* i<n 表示条件成立,循环执行 */
printf("s=%d\n",s);
} 2020/11/13
13
while和do-while循环的比较
main( ) { int i,s=0;
scanf(“%d”,&i); do {s=s+i; i++; }while(i<=10); printf(“s=%d”,s);
件转向使程序结构无规律、可读性差。一般应避 免使用goto语句,但如果能大大提高程序的执行 效率,也可以使用。
2020/11/13
2
精品资料
• 你怎么称呼老师?
• 如果老师最后没有总结一节课的重点的难点,你 是否会认为老师的教学方法需要改进?
• 你所经历的课堂,是讲座式还是讨论式? • 教师的教鞭
} 2020/11/13
10
do while语句
一般格式: do 语句(循环体) while(表达式);
特点:
“直到型”循环结构。先执行一次“语 句”,判“表达式”,当“表达式” 非0,再执行“语句”,直到“表达式” 为0,循环结束。
2020/11/13
11
do while 注意点
do后面没有分号; 语句的位置上只能到第一个分号处,也就是
6. if( x<20 )
7.
goto ab;
8. printf("%d\n",x);
9. }
2020/11/13
5
while 语句
一般形式: while(表达式) 语句
作用:实现“当型”循环。 当“表达式”非0(真) 时,执行“语句”。“语 句”是被循环执行的程序, 称为“循环体”。
C语言循环结构ppt课件
pr查in循tf(环"s条um件,= %所以d\n循"环,su体m至);少执行一次pr。intf("sum = %d\n",sum);
} (2)退出do—while循环的条件与退} 出while循环的条件相同
10
一般格式:
for
for( 表达式1; 表达式2; 表达式3) {
循环体语句
}
表达式1
假(0) 表达式2
循环体 for语句等价于下列语句:
循表环达变式量1;增值/减值 while (表达式2) { 语句;
表达式3; }
12
例ffoorr用(语循句f环o最r变循简量环单赋求的初形值1式0;0:n循环条件;循环变量增值) 循环体 n1
#include <stdio.h> main() { int i,sum=0;
for(i=1; i<=100; i++) sum+=i;
printf("%d",sum); }
相当于: i=1,sum=0; while(i <= 100) {
sum = sum + i; i++; }
13
100
用上述三种循环语句求 s n
while语句:
n1
do-while语句:
n = 1;s = 0; while (n<=100)
说明:
(3)省略表达式3: 此时程序设计者应另外设法保证循环能 正常结束。如: for(i=1;i<=100;) { sum = sum + i; i++; }
17
for语句的使用格式灵活:
表达式类型任意,可省略,但分号“;”不可省
C语言课件(循环结构)
– 输入一个学生的成绩。 – 就进行累加。
循环结构
计数器控制的循环
设计方法:自上而下,逐步求精
算法的顶部(描述程序整体功能)
计算本次考试的班级平均分
划分成一系列较小的任务
初始化变量 输入考试的分数,求分数总和,并计数(统计分数个数)
计算出最后结果并显示班级平均分
循环结构
计数器控制的循环
进一步细化算法
for (counter = 1; counter <= 10; counter++)
printf("%d ", counter); }
循环条件
1 2 3 4 5 6 7 8 9 10
控制变量增1
循环结构
for语句
fo达式1>]; [<表达式2>]; [<表达式3>]) <循环体>;
while (counter<10) { printf("Enter result (1=pass, 2=fail):"); scanf("%d", &result);
if (result==1) passed++; else failed++; counter++; }
循环结构
嵌套的控制结构
源代码分析(续)
循环结构
while语句 do-while语句 for语句 跳转语句
break语句 continue语句 goto语句
程序设计举例
循环结构
while循环
while循环
当某个条件一直为真时重复执行某个动作。 举例:购物
… while 购物单上还有商品
循环结构
计数器控制的循环
设计方法:自上而下,逐步求精
算法的顶部(描述程序整体功能)
计算本次考试的班级平均分
划分成一系列较小的任务
初始化变量 输入考试的分数,求分数总和,并计数(统计分数个数)
计算出最后结果并显示班级平均分
循环结构
计数器控制的循环
进一步细化算法
for (counter = 1; counter <= 10; counter++)
printf("%d ", counter); }
循环条件
1 2 3 4 5 6 7 8 9 10
控制变量增1
循环结构
for语句
fo达式1>]; [<表达式2>]; [<表达式3>]) <循环体>;
while (counter<10) { printf("Enter result (1=pass, 2=fail):"); scanf("%d", &result);
if (result==1) passed++; else failed++; counter++; }
循环结构
嵌套的控制结构
源代码分析(续)
循环结构
while语句 do-while语句 for语句 跳转语句
break语句 continue语句 goto语句
程序设计举例
循环结构
while循环
while循环
当某个条件一直为真时重复执行某个动作。 举例:购物
… while 购物单上还有商品
C语言循环结构程序设计 ppt课件
int i,sum=0;
while(i<=100)
{
sum+=i;
i++;
}
printf("Sum = %d\n",sum);
}
2021/3/26
C语言循环结构程序设计 ppt课件
25
C语言循环结构程序设计
do~while语句的一般形式为: do { 循环体语句; }while (表达式);
Do~whil e循环流程
(2) 求解表达式2,若其值为真(值为非0), 则执行for语句中指定的内嵌语句,然后 执行下面第(3)步。若为假(值为0),则 结束循环,转到第(5)步。
(3) 求解表达式3。
(4) 转回上面第(2)步骤继续执行。
(5) 循环结束,执行for语句下面的一个语 句
2021/3/26
C语言循环结构程序设计 ppt课件
2021/3/26
C语言循环结构程序设计 ppt课件
12
C语言循环结构程序设计
说明:
(4) 可以省略表达式1和表达式3,只有表达式2,即只
给循环条件。如:
for(;i<=100;)
while(i<=100)
{sum=sum+i; 相当于 {sum=sum+i;
i++;}
i++;}
在这种情况下,完全等同于while语句。可见for语句
while(i<=100)
{
控制循环次
sum+=i;
数
i++;
}
printf("Sum = %d\n",sum);
循环结构课件(42张)
C.i≤9
D.i<9
【解析】选B.第一次循环:S=0+ 1 , n=4,i=2;
2
第二次循环:S=0+ 1 + 1 , n=6,i=3;
24
第三次循环:S=0+ 1 + 1 + 1 , n=8,i=4;
246
…
第十次循环:S=0+ 1+1+1++1,n=22,i=11.
246
20
此时已得到所求,故应结束循环.所以应填i>10.
2.3 循环结构
1.循环结构的有关概念 (1)定义:反复执行相同操作的结构. (2)组成
【思考】 循环结构有哪些特点?
提示:循环结构有三个特点: ①重复性:在一个循环结构中,总有一个过程要重复 一系列的步骤若干次,而且每次的操作完全相同. ②判断性:每个循环结构都包含一个判断条件,它决 定这个循环的执行与终止. ③可终止性:循环结构的循环体要根据条件是否成立 才执行,故在判断框中的条件在循环体中要改变,否 则循环体不执行或无限期执行(死循环),这不符合程 序设计要求.
(2)在循环结构中,要注意根据条件设置合理的计数变 量,累加(乘)变量,同时条件的表述要恰当、精确. (3)累加变量的初值一般为0,而累乘变量的初值一般 为1,累加(乘)和计数一般是同步进行的,累加(乘)一 次,计数一次.
【习练·破】 设计一个算法,求1×2×3…×100的值,并画出算法 框图.
类型一 循环结构算法框图的识别与解读
【典例】1.当m=7,n=3时, ( )
A.7
B.42
C.210
D.840
2.执行如图所示的算法框图,若输入n的值为3,则输 出s的值是 ( )
A.1
B.2
C.4
C语言程序设计第5章-循环结构程序设计ppt课件
分析:循环进行的条件是:i≤k和flag=0。因为在i>k时, 显然不必再去检查n是否能被整除,此外如果flag=1, 就表示n已被某一个数整除过,肯定是非素数无疑, 也不必再检查了。只有i≤k和flag=0两者同时满足才 需要继续检查。循环体只有一个判断操作:判断n 能否被i整除,如不能,则执行i=i+1,即i的值加1, 以便为下一次判断作准备。如果在本次循环中n能 被i整除,则令flag=1,表示n已被确定为非素数了, 这样就不再进行下一次的循环了。如果n不能被任 何一个i整除,则flag始终保持为0。因此,在结束 循环后根据flag的值为0或1,分别输出n是素数或非 素数的信息。
while(i<=k && !flag)
if(n % i==0) flag=1;
else i=i+1;
if(!flag)
printf("%d is a prime
number.\n",n);
else
printf("%d is not a prime
number.\n",n);
}
.
返回本章首页
第5章 循环结构程序设计
【例5_1】用while语句求p=n!
#include<stdio.h>
int main()
{ int i=1,p=1; //循环初始化部分 while(i<=5) //循环控制部分
{ p=p*i; //循环体语句 i++; //循环修改部分
}
printf("5!=%d\n",p);
return 0;
10-3,则再执行循环体,把 term 值赋给term1.然后再累加 到s中去。可以看出:程序中 term1代表当前要累加的项, term代表下一项,如果这两项 之差未超过10-3,就将下一项 加到s 中。
while(i<=k && !flag)
if(n % i==0) flag=1;
else i=i+1;
if(!flag)
printf("%d is a prime
number.\n",n);
else
printf("%d is not a prime
number.\n",n);
}
.
返回本章首页
第5章 循环结构程序设计
【例5_1】用while语句求p=n!
#include<stdio.h>
int main()
{ int i=1,p=1; //循环初始化部分 while(i<=5) //循环控制部分
{ p=p*i; //循环体语句 i++; //循环修改部分
}
printf("5!=%d\n",p);
return 0;
10-3,则再执行循环体,把 term 值赋给term1.然后再累加 到s中去。可以看出:程序中 term1代表当前要累加的项, term代表下一项,如果这两项 之差未超过10-3,就将下一项 加到s 中。
最新c语言循环结构ppt课件
i++; }
。
printf(″%d\\n″,sum);
}
do语句
do语句的一般格式如下:
do 语句 while ( 表达式 ) ;
执行do语句时,先执行循环体,再计算控制表达式 的值。
如果表达式的值非零,那么再次执行循环体,然后 再次计算表达式的值。
17
do语句
使用do语句重写前面的“倒数计数”程序:
i现在为8。
i < n成立吗?
是,继续。
i = i * 2;
i现在为16。
i < n成立吗?
不成立,退出循环。
6
while语句
虽然循环体必须是单独的一条语句,但这只是个技术 问题。
如果需要多条语句,那么只要用一对大括号构造成单 独一条复合语句就可以了:
while (i > 0) { printf("T minus %d and counting\n", i); i--;
c语言循环结构
重复语句
C语言的重复语句用于设置循环。 循环是重复执行其他语句的一种语句,循
环中重复执行的语句就是循环体 C语句中,每个循环都有一个控制表达式。 每次执行循环体时都要对控制表达式进行
计算。
◦ 如果表达式为真,也就是不为零,那么继续执 行循环。
2
while语句
while语句示例:
i = 10; do {
整个过程持续到显示信息为“T minus 1 and counting”。
8
while语句
关于while语句的一些讨论:
◦ 在while循环终止时,控制表达式的值为假。因此,当通过 表达式i > 0控制循环终止时,i必须是小于或等于0的。
《循环结构教学》课件
01பைடு நூலகம்
计数型循环
根据计数器的值重复执行循环 体。
02
条件型循环
根据某个条件是否成立来决定 是否执行循环体。
03
事件驱动型循环
根据事件的发生来重复执行循 环体。
02
for循环教学
for循环的语法
01
02
总结词:简洁明了
详细描述:for循环的语法结构包括初始化、条件判断和后续操作三 个部分,使用关键字for进行标识,并使用分号进行语句分隔。
根据需求选择合适的循环结构
当循环次数已知且较 为固定时,选择for 循环。
当至少需要执行一次 循环,无论条件是否 满足时,选择dowhile循环。
当循环次数未知,但 有明确的停止条件时 ,选择while循环。
避免无限循环的注意事项
确保for、while和do-while循环 都有明确的退出条件。
03
while循环教学
while循环的语法
总结词:简洁明了
详细描述:while循环的语法结构包括“while (条件) {循环体;}”,当条件为真时,循环体会重复执行 。
while循环的执行流程
总结词:逐步解释
详细描述:while循环的执行流程是先 判断条件是否为真,如果为真则执行 循环体,执行完毕后再次判断条件, 重复执行直到条件不再为真。
《循环结构教学》ppt课件
目录
• 循环结构简介 • for循环教学 • while循环教学 • do-while循环教学 • 三种循环的比较与选择
01
循环结构简介
循环结构的定义
循环结构是一种编程结构,它允许程序重复执行一段代 码,直到满足某个特定条件为止。
循环结构由初始化语句、循环体和更新语句三部分组成 。
《C语言程序设计》课件 《C语言程序设计》课件 第5章-循环结构程序设计
Page 28
参考代码
#include<stdio.h> void main() {
char ch; int char_num=0,int_num=0,other_num=0; while((ch=getchar())!=‘\n’) //回车键结束输入 {
if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z') char_num++;
printf("************\n ");
printf("************\n ");
printf("************\n ");
printf("************\n "); printf("************\n "); 等价 for(int i=1;i<=8;i++)
{ s=s+i;
i++; //表达式3移至循环体末尾
}
printf("s=%d",s);
}
<<C语言程序设计>>
Page 19
随堂练习
例 编程计算n的阶乘。
n!=1 2 3 ……〔n-1〕 n
思路:
类似于累加求和,每一次循环乘上一个数字,求和 将和初始化为0,这里应把积初始化为?
<<C语言程序设计>>
#include "stdio.h" void main( ) { int i,sum=0;
c语言-第4章循环结构PPT课件
max=mark; scanf("%d",&mark); } printf("%f\n",max); }
scanf("%d", &m); for(i=2;i<=m/2;i++)
if(m%i==0) break; if(i>m/2)
printf("YES\n"); else
printf("NO\n"); }
停
9
第9页/共29页
若改动程序
#include "stdio.h" void main( ) {int i,m;
⑵设定一个特殊数据(伪数据)作为循环的结束标志,由于成绩都是正数,选用一 个负数作为输入的结束标志。用while或do~while
18
第18页/共29页
⑴1,2…n;n为已知值输入。用for循环
#include "stdio.h" void main() {int i,mark,max,n;
scanf("%d",&n); scanf("%d",&mark); max=mark; for(i=1;i<n;i++) {scanf("%d",&mark);
操作 先做语句,然后判别表达式的值,如 非0则继续循环;否终止循环。
等价于
loop: 语句; if(表达式) goto loop;
第6页/共29页
语句
非0 表达式 0
6
4.2.3 循环语句的选择 循环语句的选择: for: 知道循环次数、能表示增量型、只要能表示三个表达式。
scanf("%d", &m); for(i=2;i<=m/2;i++)
if(m%i==0) break; if(i>m/2)
printf("YES\n"); else
printf("NO\n"); }
停
9
第9页/共29页
若改动程序
#include "stdio.h" void main( ) {int i,m;
⑵设定一个特殊数据(伪数据)作为循环的结束标志,由于成绩都是正数,选用一 个负数作为输入的结束标志。用while或do~while
18
第18页/共29页
⑴1,2…n;n为已知值输入。用for循环
#include "stdio.h" void main() {int i,mark,max,n;
scanf("%d",&n); scanf("%d",&mark); max=mark; for(i=1;i<n;i++) {scanf("%d",&mark);
操作 先做语句,然后判别表达式的值,如 非0则继续循环;否终止循环。
等价于
loop: 语句; if(表达式) goto loop;
第6页/共29页
语句
非0 表达式 0
6
4.2.3 循环语句的选择 循环语句的选择: for: 知道循环次数、能表示增量型、只要能表示三个表达式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用户指定平方值表格的行数:
This program prints a table of squares.
Enter number of entries in table: 5
1
1
2
4
3
9
4
16
5
25
精品课件
11
square.c
/* Prints a table of squares using a while statement */
◦ 可能根本不执行while循环体。因为控制表达式是在循环体 执行之前进行判定。
◦ while语句常常可以有多重写法。更加简明的递减计数循 环如下:
while (i > 0) printf("T minus %d and counting\n", i--);
精品课件
9
无限循环
如果控制表达式的值始终是非零值的话,while语句 将无法终止。
◦ while语句:用于判定控制表达式在循环 体执行之前的循◦ for语句:对于自增或自减计数变量的循环 十分方便。
精品课件
3
while语句
使用while语句是最简单、最基本的设置 循环方法。
While语句格式如下:
while ( 表达式) 语句
while (i > 0) { printf("T minus %d and counting\n", i); i--;
}
即使没有严格要求的时候,一些程序员始终使用大括 号括住循环体:
while (i < n) { i = i * 2;
}
精品课件
7
while语句
下面的语句显示一串“倒数计数”信息:
scanf("%d", &n); while (n != 0) {
sum += n; scanf("%d", &n); } printf("The sum is: %d\n", sum);
return 0; }
精品课件
14
100
n
n 1
例6.3 求1到100的和 学生练习
运行结果:5050
100
i = 1; while (i <= n) {
printf("%10d%10d\n", i, i * i); i++; }
return 0; }
精品课件
12
程序:数列求和
程序sum.c 对用户输入的整数数列求和:
This program sums a series of integers. Enter integers (0 to terminate): 8 23 71 5 0 The sum is: 107
n
n 1
运行结果:5050
例6.2 求1到100的和
#include <stdio.h>
void main()
说明:(1)循环体如果包含一个以上的语句,
{int i,sum=0; i=1; while (i<=100)
C语句程序员有时故意用非零常量作为控制表达式来 构造无限循环:
while (1) …
除非循环体含有跳出循环控制的语句(break, goto, return)或调用了导致程序终止的函数,否则上述这 种形式的while语句将永远执行下去。
精品课件
10
程序:显示平方值的表格
程序square.c用一个while语句显示平方值表格。
程序需要使用循环,循环采用scanf函数读取用户 输入数,然后再把这个数加到运算的总和中。
精品课件
13
sum.c
/* Sums a series of numbers */
#include <stdio.h>
int main(void) {
int n, sum = 0;
printf("This program sums a series of integers.\n"); printf("Enter integers (0 to terminate): ");
i = 10; while (i > 0) {
printf("T minus %d and counting\n", i); i--; }
整个过程持续到显示信息为“T minus 1 and counting”。
精品课件
8
while语句
关于while语句的一些讨论:
◦ 在while循环终止时,控制表达式的值为假。因此,当通过 表达式i > 0控制循环终止时,i必须是小于或等于0的。
第六章
循环
精品课件
1
重复语句
C语言的重复语句用于设置循环。 循环是重复执行其他语句的一种语句,循
环中重复执行的语句就是循环体 C语句中,每个循环都有一个控制表达式。 每次执行循环体时都要对控制表达式进行
计算。
◦ 如果表达式为真,也就是不为零,那么继续执 行循环。
精品课件
2
重复语句
C 提供三种循环语句:
精品课件
5
while语句
while语句示例:计算大于或等于数n的最小的2次幂:
i = 1; while (i < n)
i = i * 2;
设n为10时,下面跟踪显示了while语句执行情况:
i = 1;
i现在值为1.
i < n成立吗?
是,继续。
i = i * 2;
i现在为2.
i < n成立吗?
表达式即为控制表达式;语句则是循环体。
精品课件
4
while语句
while语句示例:
while (i < n) /* 控制表达式 */ i = i * 2; /* 循环体 */
执行while语句时,首先计算控制表达式的值。 如果值不为零(真),那么执行循环体,接着再次
判定表达式。 这个过程持续进行直到最终控制表达式的值变为零。
是,继续。
i = i * 2;
i现在为4。
i < n成立吗?
是,继续。
i = i * 2;
i现在为8。
i < n成立吗?
是,继续。
i = i * 2;
i现在为16。
i < n成立吗?
不成立,退出循环。
精品课件
6
while语句
虽然循环体必须是单独的一条语句,但这只是个技术 问题。
如果需要多条语句,那么只要用一对大括号构造成单 独一条复合语句就可以了:
#include <stdio.h>
int main(void) {
int i, n;
printf("This program prints a table of squares.\n"); printf("Enter number of entries in table: "); scanf("%d", &n);