第五章 C语言多重循环语句ppt课件

合集下载

C语言第五章PPT课件

C语言第五章PPT课件
第16页/共23页
【例6.6】把数316分为两个数之和,其 中一个为13的倍数,一个为11的倍数。
main() { int i=0; for(;;i++)
if(!((316-i*13)%11))break; printf("13*%d+11*%d=316\n",i,(316-13*i)/11); }
i=1,p=1 输入 n 当 i<=n
p p*2 i i+1 输出 p
main() { int i=1,n; long int p=1; scanf("%d",&n); while(i<=n)
图6_3
{ p*=2; i++; }
5
第5页/共p23r页i n t f ( " % d \ n " , p ) ;
• 从多层循环体的内层循环跳到外层循环。
只有不得已(如能大大提高效率)时才能使用goto!
20
第20页/共23页
【例6.8】用if和goto语句构成循环, 求100 n 。
main()
n 1
{
int i=1,sum=0;
loop: if(i<=100)
{
sum=sum+i;
i++;
goto loop;
• 三种循环都可以用来处理同一问题,一般情况下它们可以互相代替。 • 用while和do …while循环时,循环变量初始化的操作在while 和do …
while语句前完成;for语句可以在表达式1中完成。
10
第10页/共23页
三种循环的比较(续):
• while和do …while循环只在while后面指定循环条件,且在循环体中应包 含使循环趋于结束的语句;for循环可以在表达式3中包含使循环趋于结束的 操作,甚至可以将循环体中的操作全部放到表达式3中,功能更强。

C语言第5章循环结构PPT课件

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语句实现循环

C语言循环语句PPT课件

C语言循环语句PPT课件
i=1; while(i<=100) { sum=sum+i;
i++; } printf("%d",sum); }
循环条件
循环终值 循环体语句
27.12.2020
.
6
例: 显示1~10的平方
#include <stdio.h> main() { int i=1;
while(i<=10) { printf("%d*%d=%d\n",i,i,i*i);
}
while()
{ ……
}
…...
27.12.2020
.
}
14
例: 我国古代数学家张丘建在《算经》中出了一道题“鸡翁一, 值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡, 问鸡翁、鸡母、鸡雏各几何?”
解题思路:
利用以前学过的数学知识列方程。 假设鸡翁数为x,鸡母数为y,鸡雏数为z。列方程为:
x+y+z=100 ……① 5x+3y+z/3=100……②
do
……
continue;
…...
真(非0)
while 表达式
表达式 假(0) 真(非0)
…… continue;
……
表达式3
假(0)
27.12.2020
.
25
例:把100~200之间的不能被3整除的数输出
main()
{
int n;
for(n=100;n<=200;n++)
{if(n%3==0)
continue;
3、 while和do-while循环的循环变量初值应在 while和do-while循环之前完成。

C语言中 循环结构 ppt课件

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课件

C语言中 循环结构ppt课件

精选ppt课件2021
12
【例5.4】设n=30,编写程序,计算并输出S(n)的值。 S(n)=(1*2)/(3*4)-(3*4)/(5*6)+(5*6)/(7*8)+…+(-1)(n-
1)*[(2n-1)*2n]/[(2n+1)*(2n+2)] +…
#include<stdio.h>
#include<math.h>
{
sum=sum*i; /*累乘求积*/
i++;
/*修改基本数据项i*/
}
printf("%d!=%.0f\n",n,sum);
return 0;
}
精选ppt课件2021
7
• 循环三要素之间的关系。
循环变量赋初值、判断控制表达式和修改循环变 量是所谓的“循环三要素”。
一般来说,进入循环之前,应该给循环变量赋初 值,确保循环能够正常开始;在控制表达式中判断循 环变量是否达到循环的终止值;在循环体中对循环变 量进行修改,以使循环正常的趋向终止。在编写程序 时要注意他们的位置关系。
for(循环变量赋初值;循环条件;循环变量增值)
关于for语句的几点说明:
(1)循环体语句可以是简单语句也可以是使用一对花 括号括起来的复合语句。如果是一个语句,也可以和 for写在一行上,这样使程序看起来更加简洁;如果 循环体包含多条语句,最好是另起一行,采用一对花 括号括起来的复合语句形式,增加程序的可读性。
return 0;
}
精选ppt课件2021
9
5.2 for语句
for语句的一般形式如下:
for(表达式1;表达式2;表达式3) 循环体语句

C语言第五章循环结构程序控制PPT教学课件

C语言第五章循环结构程序控制PPT教学课件

PF
T
A
i++; 说明:}
其中prinwtfh(i“lesu是m=关%键d字, a;ver(表=%达f式\n”)通,su常m是,su关m系/20表.0达) ;式 或逻} 辑表达式;<语句>作为 while 循环语句的循环体, 可以是一条语句,也可以是复合语句。
2020/12/10
上一页
下一页 1
注意: 1.只有 <表达式> 的值是非0时,才执行< 语句 > 给出的循环体。
2020/12/10
上一页
下一页 8
例: 1要.点fo说r 明语例例例例:句::::fi=o中r1if=o(;的r1i=(;1表i;=;i1<达i<;==式;1i10+010+可0;;)i)以+s{u+省ms)us略m=u=m(susum分=m+s号u+i mi;不;+i能i+;+省;)} 。 2.如果例省f:o略rfo(表r; i(达<;=式;1)0{20s,u; m)将{=形ss成uumm无+=限i s;u循}m环+i。; i++ ; } 3.表达例式:3fo也r(s可um以=省0; 略i<=。100 ;i++)sum = sum+i ; 45..可3 个以表同达时pffcfooorh式省rrira((nisr同(略=tuf;0cm(时表,;“(j==\cn0省达1=,T0ig=略0式he1et;;,c1iic<h和<h=此a=a1表rjr0(时;0达)iis;)+相i++!:式=%,+当j)3‘sc-\。于ur\-nm’)”;wk=),h=sciulie)m+(;+j1i;); …

C语言程序设计第5章-循环结构程序设计ppt课件

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 中。

第五章循环结构程序设计.ppt

第五章循环结构程序设计.ppt
循环体
2020/4/16
5.1.1 while语句(举例)
7
【例5.1】编写程序,求100个自然数的和 即: s=1+2+3+ … +100
思路:寻找加数与求和的规律
加数i——从1变到100,每循环一次,使i增1,直到i的 值超过100。i的初值设为1。
求和——设变量 sum 存放和,循环求sum=sum+i, 直至i超过100。
5.1.1 while语句(举例)
11
【例5.2】编写程序,从键盘输入字符,直到输入
的字符为0时停程止序,统计输入的字符个数。
思路:
#include <stdio.h> void main( )
{ 求累加和:确定c变ha量r clehn;,初值为0
确定循环条件:in输t 入len字=符0;不为0,即getchar()!=‘0’ printf("请输入字符:\n");
自学: P58例4-1; P61例4-2。
while((ch=getchar())!=‘0’) { putchar(ch);
len++; } printf("字符个数为:%d\n", len);
} 2020/4/16
5.1.2 do-while语句
12
语句一般格式 do 语句 while (表达式);
{ sum=sum+i; i++; }
printf("sum=%d\n",sum); }
2020/4/16
注意:
9
如果while的 (表达式) 值为0,则循环体一次也不执行 (例如当i的初值=101) 。

c语言第5章循环结构程序设计课件

c语言第5章循环结构程序设计课件
6
第五章 循环结构程序设计
典型例题(例5-8) :求两个整数的最大公约数、最小公倍数
12 8 4 mn r
84
0
mn r
最大公约数 4 最小公倍数 12*8/4=24
求最大公约数的N-S流程图
辗转相除法
7
第五章 循环结构程序设计
void main( )
{ int n, m, nm, r, t; printf( " Enter m, n= ? " ) ; scanf( " % d% d" , & m, & n) ; nm= n* m; if ( m< n)
例如: for(i=1;i<=n;) { t=t*i; i++; } (4)可以省略表达式1和表达式3,只有表达式2 , 即只给循环条件。
i=1; for(;i<=n;)
{t=t*i; i++;}
14
第五章 循环结构程序设计
(5) 3个表达式都可省略。 例如: for(;;) 语句 相当于 while(1)语句。
3
第五章 循环结构程序设计
例: 编程序求: s=1+2+3+……+100
main()
{ int s=0,i=1;
while (i<=100) { s=s+i;
思考:如何求n!
i++; }
printf("S=%d",s); }
4
第五章 循环结构程序设计 二、 do...while语句
Do-while语句的一般形式为:
(1) while( ) {… while( ) {…}

第五章 C语言for循环ppt课件

第五章  C语言for循环ppt课件
for表达式1循环体表达式2求解表达式1内嵌语句for语句后下一条语句求介表达式3设置循环变量初值判断表达式循环变量增值求100之内各数之和
c语言基础
-For 循环语句
精品课件
1
5.1
1.FOR循环的引入 2.FOR循环语句的形式 3.表达式缺省的FOR循环语句 4.含有逗号运算符的FOR循环语句 5.关于FOR循环的几点补充说明 5.FOR循环语句的嵌套
}
for( ) {┆
while( ) {…} ┆ }
注: 但循环 嵌套不允许交 叉
精品课件
20
例: 问程序输出的结果?
main() { int i=1,a=0;
for(; i<=5; i++) {
do { i++; a++;
} while(i<3);
输出:
a=3 ,i=8
i++; }
printf(“a=%d,i=%d\n”,a,i);
#include<stdio.h> #include<math.h> int main( ) {
float sum,psum,x;
int i=1;
….
精品课件
14
for(sum=psum=0.0, i=0 ; i<10 ; i++)
{


scanf("%f",&x);
若输入为0 ,结束.
这 if(fabs(x)<1e-4) break;
其精品中课件的这些
12
逗号就不是。
四.含逗号运算符的for语句
for语句中 ,表达式1、表达式3可以使用逗号运算符:

C语言程序设计课件第5章 循环结构程序设计

C语言程序设计课件第5章 循环结构程序设计

完整版ppt
19
➢break语句的一般形式为: break;
只能用于循环语句和switch 语句之中,而不能单独使用
完整版ppt
20
5.5.2 用continue语句提前结束 本次循环 P126
➢ continue语句的一般形式为:
continue;
➢其作用为结束本次循环,即跳过循环体 中下面尚未执行的语句,接着进行下一 次是否执行循环的判断。
循环体
完整版ppt
7
while语句的一般形式如下:
while (表达式) 语句
循环条件表达式
“真”时执行循环体语句 “假”时不执行
表达式
0(假)
while循环的特点是: 先判断条件表达式 后执行循环体语句
非0(真) 语句
完整版ppt
8
P117
5.2.2 用do…while语句实现循环
➢do---while语句的特点:先无条件地执
第5章 循环结构程序设计 P115
5.1 程序中需要用循环结构
5.2 用while语句和do…while语句实现循环 5.3 用for语句实现循环
5.4 循环的嵌套
5.5 提前结束循环
5.6 几种循环的比较
5.7 程序举例
5.8 提高部分
完整版ppt
1
5.1 程序中需要用循环结构 P115
➢现实生活中许多问题是需要重复处理
➢for语句的一般形式为 for(表达式1;表达式2;表达式3) 语句
作为循环的调整器,例如 使循环变量增值,它是在 执行完循环体后才进行的
完整版ppt
14
➢for语句的执行过程:
(1) 先求解表达式1 (2) 求解表达式2,若其值为真,执行循环体, 然后执行下面第(3)步。若为假,则结束循环, 转到第(5)步 (3) 求解表达式3 (4) 转回上面步骤(2)继续执行 (5) 循环结束,执行for语句下面的一个语句

《C语言程序设计》课件 《C语言程序设计》课件 第5章-循环结构程序设计

《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语言程序设计第5章循环结构程序设计简明教程PPT课件

C语言程序设计第5章循环结构程序设计简明教程PPT课件
第5章
循环结构程序设计
第5 章
循环结构程序设计
当你对C语言程序设计有了一定了解和掌握后,若 想要处理一些更复杂的任务时,当满足某一条件想反 复执行某个程序时,该如何处理呢?
控制语句能够控制程序的流程,根据判断决 定重复运行什么。
程序的三种结构
•顺序结构 •选择结构 •循环结构
本章所
学Байду номын сангаас目标
了解循环结构的特点; 掌握while语句、do-while语句、for语句; 掌握while循环结构、do-while循环结构、for循 环结构 掌握break和continue语句的使用; 理解循环嵌套。 掌握各种循环的应用;
C语言程序设计
第5章 循环结构程序设计
4
【例5.1】输入10个数,求它们的和并输出。
#include <stdio.h> int main() { float x,sum=0; int k=0; while(k<10) { printf("please input x:\n"); scanf("%f",&x); //输入一个数 sum=sum+x; //进行累加 k++; } printf("sum=%f\n",sum); return 0; } 运行结果: please input x:5↙ please input x:7↙ please input x:8↙ please input x:14↙ please input x:53↙ please input x:12↙ please input x:35↙ please input x:9↙ please input x:10↙ please input x:47↙ sum=200
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
scanf(“%f”,&Weight); /*第7个儿童的体重*/ total=total+ Weight; /*前7个儿童的总体重*/
scanf(“%f”,&Weight); /*第8个儿童的体重*/ total=total+ Weight; /*前8个儿童的总体重*/
scanf(“%f”,&Weight); /*第9个儿童的体重*/ total=total+ Weight; /*前9个儿童的总体重*/
unsigned n,sum=0; scanf(“%u”,&n); do { sum+=i ;
int i; float Weight, total=0, aver;
*输入N个儿童的体重并计算总体重*/
for(i=1;i<=N;i++) {
scanf(“%f”,&Weight); /*第i个儿童的体重*/ total=total+ Weight; /*i个儿童的总体重*/
}
aver=total/N;
scanf(“%f”,&Weight); /*第1个儿童的体重*/ total=total+ Weight; /*前1个儿童的总体重*/
scanf(“%f”,&Weight); /*第2个儿童的体重*/ total=total+ Weight; /*前2个儿童的总体重*/
scanf(“%f”,&Weight); /*第3个儿童的体重*/ total=total+ Weight; /*前3个儿童的总体重*/
/*10个儿童的平均体重*/
printf(“%d个儿童的平均体重是:%.2\n”,N,aver); }
循环结构是结构化程序设计的基本结构之一。 C语言中的循环结构可以用以下语句实现: 1. while 循环 2. do-while 循环 3. for 循环
while循环
一、while语句的语法格式:
while(表达式) 循环体
表达式 0
非0
循环体
while循环控பைடு நூலகம்流程图
二、执行过程:
1.计算while后圆括号内表达式的值,为非0则执行第② 步,否则执行第③步;
2.执行循环体,然后返回第①步; 3.结束循环,执行while语句的下一语句。
例6-2:从键盘输入正整数n,求 1+2+3+...+n。
3.在循环体中应有使循环趋于结束的语句。
i=1; sum=0; while(i<10) { sum+=i;
++i; }
考虑以下while循环的执行情况: i=1; sum=0; while(i<10) sum+=i;
do-while循环
一、do-while语句的语法格式:
do 循环体 while( 表达式 );
复习循环控制结构
学习内容:
1、循环控制概述 2、goto语句和goto循环 3、while循环 4、do-while循环 5、for循环 6、循环的嵌套 7、几种循环结构的比较
8、辅助控制语句 9、循环结构程序设计举例
学习目标:
1、熟练掌握while、do-while和for语句及三种循环之间 的嵌套和区别。
1.while 语句的特征是”先判断后执行”;允许0次循环。
2.如果循环体包含一个以上的语句,那么应该用复合语 句“{ }”的形式。
例如,程序段1: sum=i=0 ; while (i<10) ++i ; sum+=i ;
程序段2:
sum=i=0; while(i<10) { ++i;
sum+=i; } 想一想执行程序段1和程序段2后 i、sum的值?
#include <stdio.h> void main( ) { int n,i,sum=0;
scanf(“%u”,&n); i=1; while(i<=n) { sum+=i ;
i++; } printf(“1—%u sum=%d",n,sum); }
例:从键盘输入正整数n,求n!
#include <stdio.h> main( ) { unsigned n,i=1;
循环体语句
真 表达式 假
do-while循环控制流程图
二、执行过程:
1.执行循环体; 2.求解while后圆括号内的表达式,若为非0则返回第1步;否
则执行第3步; 3.结束循环,执行do-while语句的下一语句。
例6-4:从键盘输入正整数n,求 1+2+3+...+n。
#include <stdio.h> void main( ) { int i=1;
scanf(“%f”,&Weight); /*第4个儿童的体重*/ total=total+ Weight; /*前4个儿童的总体重*/
scanf(“%f”,&Weight); /*第5个儿童的体重*/ total=total+ Weight; /*前5个儿童的总体重*/
scanf(“%f”,&Weight); /*第6个儿童的体重*/ total=total+ Weight; /*前6个儿童的总体重*/
scanf(“%f”,&Weight); /*第10个儿童的体重*/ total=total+ Weight; /*10个儿童的总体重*/
aver=total/N;
/*10个儿童的平均体重*/
printf(“%d个儿童的平均体重是:%.2\n”,N,aver); }
#define N 10 #include “stdio.h” main( ) { /*定义变量存放某儿童体重、总体重和平均体重*/
long factorial=1; scanf(“%u”,&n); while( i<=n ) { factorial=factorial*I;
i++; } printf( “%u!=%ld”,n, factorial ); }
三、while语句的功能:
当表达式为非0时重复执行循环体。
四、注意事项:
重难点:
1、 while语句、do-while语句和for语句及三种循环之间 嵌套和区别。
循环控制概述
引例:给出N个儿童的体重,要求计算平均体重
#define N 10 #include “stdio.h” main( ) { /*定义变量存放某儿童体重、总体重和
平均体重*/ float Weight, total=0, aver; *输入N个儿童的体重并计算总体重*/
相关文档
最新文档