c语言循环结构75859ppt课件
合集下载
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课件
int main() {
return 0;
}
10
5.2 for语句
for语句的一般形式如下:
for(表达式1;表达式2;表达式3) 循环体语句
说明:for语句属于“计数”型循环。
表达式1
表达式2 真(非0)
循环体语句
假(0)
表达式3
for语句流程图
12
For语句最常用、最简单的形式
• for(循环变量赋初值;循环条件;循环变量增值)
C语言中 循环结构
第五章 循环控制结构
2
本章知识点:
–while语句的一般形式及应用 –for语句的一般形式及应用 –do...while语句的一般形式及应用 –多重循环结构的使用
•break语句和continue语句
3
5.1 while语句
语句的一般形式如下: while (表达式) 循环体语句
return 0;
}
6
• 需要注意的几个问题:
(1)累加求和算法。这个程序采用的算法思想 称为累加求和,即:不断用新累加的值取代变 量的旧值,最终得到求和结果,变量sum也叫 “累加器”,初值一般为0。
(2)必须给变量赋初值。 (3)正确判断条件的边界值。 (4) 避免出现“死循环”。 (5)可能出现循环体不执行。 (6)while后面圆括号内的表达式一般为关系表
【例5.1】 求前100个自然数的和 。
#include <stdio.h> int main() {
int n,sum=0; for (n=1;n<=100;n++)
sum=sum+n; printf("sum=%d\n",sum); retur,计算并输出S(n)的值。 S(n)=(1*2)/(3*4)-(3*4)/(5*6)+(5*6)/(7*8)+…+(-1)(n-
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语言程序设计课件》第四章-循环语句
scanf("&d",&n); while(n!=0)
{ sum+=n; scanf("%d",&n); }
printf("The sum is :%d\n",sum);
return 0; }
从任意 n 个实数中选出最大数 和最小数
从任意 n 个实数中选出最大数和最小数
#include <stdio.h> int main( ) {
/*程序4-1*/ #include <stdio.h> int main() {
int i,sum=0; i=1; while(i<=100) {
sum += i; i++; } printf("sum=%d\n",sum); return 0; }
【例4-2】输入一行字符以回车键结束,分别 统计出其中英文字母、空格、数字和其它字符 的个数。
#include <stdio.h> int main( ) {
int i,n;
printf("This program prints a table of squares.\n"); printf("Enter number of entries in table:");
scanf("%d",&n); i=1; while (i<=n)
【例】求整数1~100的累加和,使用for语句实 现。
#include <stdio.h> int main() {
int i,sum=0; for(i=1;i<=100;i++)
{ sum+=n; scanf("%d",&n); }
printf("The sum is :%d\n",sum);
return 0; }
从任意 n 个实数中选出最大数 和最小数
从任意 n 个实数中选出最大数和最小数
#include <stdio.h> int main( ) {
/*程序4-1*/ #include <stdio.h> int main() {
int i,sum=0; i=1; while(i<=100) {
sum += i; i++; } printf("sum=%d\n",sum); return 0; }
【例4-2】输入一行字符以回车键结束,分别 统计出其中英文字母、空格、数字和其它字符 的个数。
#include <stdio.h> int main( ) {
int i,n;
printf("This program prints a table of squares.\n"); printf("Enter number of entries in table:");
scanf("%d",&n); i=1; while (i<=n)
【例】求整数1~100的累加和,使用for语句实 现。
#include <stdio.h> int main() {
int i,sum=0; for(i=1;i<=100;i++)
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语言程序设计第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课件
void main() {
int i,sum=0;
设置循环 条件
for(i=1;i<=100;i++)
{
sum+=i;
}
printf("Sum = %d\n",sum);
}
程序的运行结果:
Sum = 5050
2021/3/26
C语言循环结构程序设计 ppt课件
9
C语言循环结构程序设计
说明:
(1) for语句的一般形式中的“表达式1”可以省略,此 时应在for语句之前给循环变量赋初值。注意省略表 达式1时,其后的分号不能省略。如 for(;i<=100;i++) sum=sum+i; 执行时,跳过“求解表达式1”这一步,其他不变。
while (表达式) 语句 当表达式为非0值时,执行while语 句中的内嵌语句。其特点是:先判断 表达式,后执行语句。
2021/3/26
C语言循环结构程序设计 ppt课件
23
例:用while循环求1~100的和。
#include <stdio.h> void main() {
设置循环条 件
int i=1,sum=0;
}
程序的执行结果:
Sum = 5050
2021/3/26
C语言循环结构程序设计 ppt课件
28
C语言循环结构程序设计
4.5.1 for语句和while语句
for循环语句比较灵活,可以将循环控制变量初始、循环变量修改和循环 控制表达式集中在一个for语句中,比较适合循环次数可预测的情况。 while循环适合不通过递增或递减循环控制变量的循环。
说明:
最新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;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语句程序员有时故意用非零常量作为控制表达式来 构造无限循环:
while (1) …
除非循环体含有跳出循环控制的语句(break, goto, return)或调用了导致程序终止的函数,否则上述这 种形式的while语句将永远执行下去。
.
10
程序:显示平方值的表格
程序square.c用一个while语句显示平方值表格。
运行结果:5050
例6.2 求1到100的和
#include <stdio.h>
void main()
说明:(1)循环体如果包含一个以上的语句,
{int i,sum=0; i=1; while (i<=100)
{ sum=sum+i;
应该用花括弧括起来,以复合语句形式 出现.(2)在循环体中应有使循环趋向于 结束的语句
程序需要使用循环,循环采用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): ");
◦ while语句:用于判定控制表达式在循环 体执行之前的循环。
◦ do语句:用于判定控制表达式在循环体执 行之后的循环。
◦ for语句:对于自增或自减计数变量的循环 十分方便。
.
3
while语句
使用while语句是最简单、最基本的设置 循环方法。
While语句格式如下:
while ( 表达式) 语句
printf("T minus %d and counting\n", i); i--; }
整个过程持续到显示信息为“T minus 1 and counting”。
.
8
while语句
关于while语句的一些讨论:
◦ 在while循环终止时,控制表达式的值为假。因此,当通过 表达式i > 0控制循环终止时,i必须是小于或等于0的。
用户指定平方值表格的行数:
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 (i > 0) { printf("T minus %d and counting\n", i); i--;
}
即使没有严格要求的时候,一些程序员始终使用大括 号括住循环体:
while (i < n) { i = i * 2;
}
.
7
while语句
下面的语句显示一串“倒数计数”信息:
i = 10; while (i > 0) {
◦ 可能根本不执行while循环体。因为控制表达式是在循环体 执行之前进行判定。
◦ while语句常常可以有多重写法。更加简明的递减计数循 环如下:
while (i > 0) printf("T minus %d and counting\n", i--);
.
9
无限循环
如果控制表达式的值始终是非零值的话,while语句 将无法终止。
.
5
while语句
while语句示例:计算大于或等于数n的最小的2次幂:
i = 1; while (i < n)
i = i * 2;
设n为10时,下面跟踪显示了while语句执行情况:
i = 1; i < n成立吗?
i = i * 2;
i < n成立吗?
i现在值为1. 是,继续。 i现在为2.
#include <stdio.h>
int main(void) {
int i, n;
printf("This program prints a tatf("Enter number of entries in table: "); scanf("%d", &n);
第六章
循环
.
1
重复语句
C语言的重复语句用于设置循环。 循环是重复执行其他语句的一种语句,循
环中重复执行的语句就是循环体 C语句中,每个循环都有一个控制表达式。 每次执行循环体时都要对控制表达式进行
计算。
◦ 如果表达式为真,也就是不为零,那么继续执 行循环。
.
2
重复语句
C 提供三种循环语句:
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
表达式即为控制表达式;语句则是循环体。
.
4
while语句
while语句示例:
while (i < n) /* 控制表达式 */ i = i * 2; /* 循环体 */
执行while语句时,首先计算控制表达式的值。 如果值不为零(真),那么执行循环体,接着再次
判定表达式。 这个过程持续进行直到最终控制表达式的值变为零。
是,继续。
i = i * 2;
i < n成立吗?
i = i * 2;
i < n成立吗?
i = i * 2;
i < n成立吗?
i现在为4。
是,继续。
i现在为8。
是,继续。
i现在为16。
不成立,退出循环。
.
6
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
n
n 1
while (1) …
除非循环体含有跳出循环控制的语句(break, goto, return)或调用了导致程序终止的函数,否则上述这 种形式的while语句将永远执行下去。
.
10
程序:显示平方值的表格
程序square.c用一个while语句显示平方值表格。
运行结果:5050
例6.2 求1到100的和
#include <stdio.h>
void main()
说明:(1)循环体如果包含一个以上的语句,
{int i,sum=0; i=1; while (i<=100)
{ sum=sum+i;
应该用花括弧括起来,以复合语句形式 出现.(2)在循环体中应有使循环趋向于 结束的语句
程序需要使用循环,循环采用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): ");
◦ while语句:用于判定控制表达式在循环 体执行之前的循环。
◦ do语句:用于判定控制表达式在循环体执 行之后的循环。
◦ for语句:对于自增或自减计数变量的循环 十分方便。
.
3
while语句
使用while语句是最简单、最基本的设置 循环方法。
While语句格式如下:
while ( 表达式) 语句
printf("T minus %d and counting\n", i); i--; }
整个过程持续到显示信息为“T minus 1 and counting”。
.
8
while语句
关于while语句的一些讨论:
◦ 在while循环终止时,控制表达式的值为假。因此,当通过 表达式i > 0控制循环终止时,i必须是小于或等于0的。
用户指定平方值表格的行数:
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 (i > 0) { printf("T minus %d and counting\n", i); i--;
}
即使没有严格要求的时候,一些程序员始终使用大括 号括住循环体:
while (i < n) { i = i * 2;
}
.
7
while语句
下面的语句显示一串“倒数计数”信息:
i = 10; while (i > 0) {
◦ 可能根本不执行while循环体。因为控制表达式是在循环体 执行之前进行判定。
◦ while语句常常可以有多重写法。更加简明的递减计数循 环如下:
while (i > 0) printf("T minus %d and counting\n", i--);
.
9
无限循环
如果控制表达式的值始终是非零值的话,while语句 将无法终止。
.
5
while语句
while语句示例:计算大于或等于数n的最小的2次幂:
i = 1; while (i < n)
i = i * 2;
设n为10时,下面跟踪显示了while语句执行情况:
i = 1; i < n成立吗?
i = i * 2;
i < n成立吗?
i现在值为1. 是,继续。 i现在为2.
#include <stdio.h>
int main(void) {
int i, n;
printf("This program prints a tatf("Enter number of entries in table: "); scanf("%d", &n);
第六章
循环
.
1
重复语句
C语言的重复语句用于设置循环。 循环是重复执行其他语句的一种语句,循
环中重复执行的语句就是循环体 C语句中,每个循环都有一个控制表达式。 每次执行循环体时都要对控制表达式进行
计算。
◦ 如果表达式为真,也就是不为零,那么继续执 行循环。
.
2
重复语句
C 提供三种循环语句:
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
表达式即为控制表达式;语句则是循环体。
.
4
while语句
while语句示例:
while (i < n) /* 控制表达式 */ i = i * 2; /* 循环体 */
执行while语句时,首先计算控制表达式的值。 如果值不为零(真),那么执行循环体,接着再次
判定表达式。 这个过程持续进行直到最终控制表达式的值变为零。
是,继续。
i = i * 2;
i < n成立吗?
i = i * 2;
i < n成立吗?
i = i * 2;
i < n成立吗?
i现在为4。
是,继续。
i现在为8。
是,继续。
i现在为16。
不成立,退出循环。
.
6
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
n
n 1