二级C语言PPT教学课件,03_循环语句的执行流程
c语言循环课件资料
例:求100 ~200之间的全部素数。 算法:枚举100 ~200之间的素数。
#include <stdio.h> int main() { int i,m; for(m=101; m<200; m=m+2) for (i=2 ; i<=m-1 ; i++) if (m % i==0) break; if (i==m) printf("Yes\n"); else printf("No\n"); return 0; }
使用说明:
1)循环变量应该在循环体外初值;
2)在while的循环体中一定要有改变循环变量的 值以使循环条件为假的语句,否则将形成死循 环;
1)循环变量、累加变量、累乘变量都 要在循环体外初值; 2)在循环体中要有改变循环变量的值 的语句。
例:累加
求:1+22+32+……+102 的值 #include "stdio.h" int main()
计算下一项t
pi=pi*4 输出pi
#include "math.h" int main( ) { int s; float n, t, pi; n=1.0; s=1; t=1.; pi=0; { pi=pi+t; n=n+2.0; s=-s; t=s/n; } printf("PI=%10.6f\n", pi*4); return 0; }
例3.14 5 6 7 8 9 10 for (x=0; x<=20; x++) for (y=0; y<=33; y++) { z=100-x-y; if (z%3==0 && 5*x+3*y+z/3==100)
while循环c语言程序,C语言程序设计while循环语句while循环语句.pptx
while循环c语⾔程序,C语⾔程序设计while循环语句while循环语句.pptx解决迭代问题好帮⼿——循环结构while语句主讲⼈:周芸掌握while语句的语法结构;理解while语句的执⾏过程;会读、编写简单的while程序。
引⼊⼗字路⼝的红绿灯每天都在不停地循环闪烁从⽽使得⼈们能有序出⾏。
⽤C语⾔如何模拟实现此场景呢?#includemain( ){printf(“下⾯进⼊红绿灯演⽰程序\n");printf(“红灯亮\n");printf(“绿灯亮\n");printf(“黄灯亮\n");……}⽆限制地循环闪烁,程序应该如何实现呢?含义:在⼀定条件下,重复执⾏某些操作。
与顺序结构、选择结构三⼤结构。
优势:使得代码更加简洁,易读⼀、while语法结构while (条件表达式){语句组;}循环条件循环体含义:当条件表达式为真就重复执⾏语句组。
while循环⼜称“当型循环”,即先测试循环条件再执⾏循环体。
当条件成⽴时才执⾏后⾯的循环体语句,否则不执⾏。
⼀、while语法结构while (条件表达式){语句组;}条件表达式结果:真或假1.可以是关系表达式或逻辑表达式2.可以是单个常量或变量C语⾔规定:⾮零即真while(-3)真i=0;假while(0)假while(i)i=‘a’;真while(i)⼀、while语法结构while (条件表达式){语句组;}循环体语句组是⼀条语句时,花括号可以去掉。
while (条件表达式)语句;while (条件表达式)语句;⼆、while流程图while (条件表达式){语句组;}该语句的程序流程如下图所⽰。
语句组条件表达式真假先测试循环条件再执⾏循环体,循环体有可能⼀次都不能执⾏。
三、任务分析及关键代码条件:设备正常且有电。
重复动作: 红灯亮 绿灯亮 黄灯亮while (条件表达式){循环体语句组;}while (设备正常且有电){红灯亮;绿灯亮;黄灯亮}i==1表⽰设备正常且有电;i==0表⽰不正常while (i==1){printf(“红灯亮\n”);printf(“绿灯亮\n”);printf(“黄灯亮\n”);}四、完整程序实现#includemain(){int i=1;//1正常且有电,0不正常printf(“请输⼊1(表⽰设备正常有电)0(不正常)\n"); scanf(“%d”,&i);while(i==1){printf(“红灯亮\n");printf(“绿灯亮\n");printf(“黄灯亮\n");}}i的值为1,则为死循环;五、程序运⾏六、程序改进条件:显⽰10次。
C语言循环语句PPT课件
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语言for循环 ppt课件
例: 问程序输出的结果?
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);
}
21
(2). 表达式2一般是关系表达式或逻辑表达式,但也可以是 其它类型表达式,只要其值为非零,就执行循环体.
如:
for(i=0; ( c=getchar( ) ) != ‘\n’ ; i+=c) ;
不断输入字符,将ASCII码累加, 直到输入一个换行符.
16
(3). f or循环的条件检查总是在循环开始前进行的,如果
{ int i=1, sum=0;
for( ; ; ) { sum+=i;
i++; if( i>10000) break ; }
}
这种无限循环可用 break 语句来终止循环, 避免产生死循环.
10
补充: 逗号运算符(顺序运算符):
级别最低的一种。用它将二个表达式联起来,形成逗号
表达式。如:
表达式1,表达式2
for(sum=psum=0.0, i=0 ; i<10 ; i++)
{
注 意
scanf("%f",&x);
若输入为0 ,结束.
这 if(fabs(x)<1e-4) break;
个
sum+=x;
表
//求这些数的总和
达
C语言循环结构程序设计2PPT教学课件
if(m%i==0) break;
if(i<=k)
printf("%d不是一个素数\n",m);
else
printf("%d是一个素数\n",m);
if(b%3==1) {b+=3; continue;} } printf("%d\n",a); }
2020/12/10
程序运行结果: 4
10
循环程序设计(循环嵌套)
例7:打印如下所示等腰三角形() * ***
***** ******* *********
2020/12/10
11
循环程序设计(循环嵌套)
结果的输出:
如果循环是中途退出的,则i<=k,输出m不是素 数;否则,m是一个素数。
2020/12/10
23
例6.6 程序
#include<stdio.h>
#include<math.h>
main( )
{
int i,m,k;
scanf("%d",&m);
k=(int)sqrt(m);
for(i=2;i<=k;i++)
(2)语句作用:
结束本次循环。
(3)语句执行流程:
continue语句可以结束本次循环,即不再执
行循环体中continue 语句之后的语句,转入
下一次循环条件的判断与执行。
2020/12/10
8
【例6:ch6_006】 求300以内能被17整除 的所有整数。
#include "stdio.h"
void main()
... }
《C语言程序设计课件》第四章-循环语句
{ 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课件
while(n<=100) 问:循环体共执行了几次?
18
第2页/共18页
5.2 do-while语句和用do-while语句构成的循 环结构
5.2.1 do-while语句构成的循环结构
do-while循环结构的一般形式:
关键字
do 循环体
while(表达式);
C 26 68
D 39 81
第13页/共18页
习题
二.填空题 5.11 当执行以下程序段后,i的值是____5___.j的值是____4__.k的值是____6___. int a,b,c,d,i,j,k; a=10;b=c=d=5;i=j=k=0; for( ;a>b;++b) i++; while(a>++c) j++; do k++; while(a>d++); 5.12 以下程序段的输出结果是___1_0_2_4____. int k,n,m; n=10;m=1;k=1; while(k++<=n) m*=2; printf("%d\n",m); 5.13 以下程序的输出结果是____-1____. #include <stdio.h> main() {int x=2; while(x--); printf("%d\n",x); }
}
printf("%d\n",s);
程序段的输出结果是
A9
B1
C 11
5.2 有以下程序段: C
int i,j,m=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语言程序设计--循环例子ppt课件
void main()
对应的等{级。
int n;
printf("请输入成绩:");
scanf("%d",&n);
switch ((int)(n/10))
{
case 10:
printf("成绩%d的等级为优秀\n",n);
case 9:
printf("成绩%d的等级为优秀\n",n);
case 8:
printf("成绩%d的等级为良好\n",n);
重复上述过程,共经过n-1趟冒泡排序后,排序结束
2020/4/27
printf("%d is a prime number\n", m);
else
printf("%d is not a prime number\n", m);
return(0);
} 2020/4/27
.
C语言程序设计
7.4 程序举例
【例7.6】模拟自动饮料机
——基础篇
#include "stdio.h" void main() {
C 语言程序设计 —基础篇
第 7 章 简单程序设计之二
——基础篇
本章内容提要
多分支选择结构—switch语句 循环嵌套 break语句和continue语句 程序举例
2020/4/27
.
C语言程序设计
教学目标
——基础篇
在三种基本结构的基础上,结合本章介绍流 程 控 制 的 其 他 几 个 语 句 : switch 语 句 、 break语句和continue语句及循环的嵌套, 实现复杂的算法,设计出结构清晰、功能强大 的程序,对C语言程序开发设计有比较深刻的 认识。
c语言循环语句PPT课件
6.1 While 语句
#include<stdio.h>
void main()
{ int sum,day;
day=9;
sum=1;
while(day>=1)
{
sum=2*(sum+1);
d=%d\n”,sum);
}
运行结果: sum=1534
6-12
6.2 do-while 语句
6-15
6.3 for 语句
for 语句
是 C 语言和任何其他计算机语言中最为灵活,使用
最广泛的循环语句。 格式
for(表达式1;表达式2;表达式3)
求解表达式1
表达式2 假 真
语句
{ 循环体语句; }
求解表达式3
执行过程
for语句的 下一语句
6-16
6.3 for 语句
例 用 for 语句构成循环,求
运行结果: 1*1=1 2*2=4 3*3=9 4*4=16 5*5=25 6*6=36 7*7=49 8*8=64 9*9=81 10*10=100
6-7
6.1 While 语句
例3: 统计从键盘输入一行字符的个数。
#include<stdio.h>
void main( )
{ int n=0;
此表达式的意义是什么?
do-while ( “直到型”循环)语句
格式
do {
循环体语句;
} while(表达式) ;
循环体语句 非0
表达式
执行过程
0
功能:先执行循环体,然后判断表达式。若为真则再 次执行循环体,否则退出循环。
6-13
6.2 do-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的。
循环语句的执行流程
组合问题
嵌套循环可以用于解决 组合问题,例如排列、 组合、子集生成等。
THANKS FOR WATCHING
感谢您的观看
循环语句的分类
01 02 03 04
按照循环条件的不同,循环语句可以分为while循环、for循环和dowhile循环等类型。
while循环在条件满足时重复执行代码块,直到条件不再满足为止。
for循环通过指定初始值、条件和后续操作,控制代码块的重复执行 次数。
do-while循环先执行一次代码块,然后检查条件,只要条件满足就重 复执行代码块。
在每次循环结束后,更新循环控制 变量的值。
04
for循环的执行流程
初始化:设置循环控制变量 的初始值。
条件判断:检查循环控制变 量的当前值是否满足条件。
02
01
如果条件满足,则执行循环
体内的代码。
03
更新:更新循环控制变量的 值。
04
05
重复上述步骤,直到条件不 再满足为止。
for循环的应用场景
while循环的应用场景
需要重复执行某段代码直到满足特定 条件为止的场景:例如,计算1到10 的累加和、输出1到10的数字等。
需要根据用户输入或其他动态条件来 重复执行某段代码的场景:例如,根 据用户输入的数字来输出对应的斐波 那契数列等。
03
do-while循环
do-while循环的语法
语法格式
• 当需要至少执行一次循环体时,可以使用 do-while循环,例如初始化变量、读取输 入等操作。
04
for循环
for循环的语法
全国计算机二级C语言程序设计讲义循环的嵌套ppt课件
for (n=3;n<=100;n=n+1)
程序 :
main( ) {int n,i; for (n=3;n<=100;n=n+1)
{for (i=2;i<=n-1;i=i+1) if (n%i==0) break;
……
输出外循环n=3 1) 输出内循环 i =1
……
例7.6 输出九九乘法表
1*1=1 1*2=2 1*3=3
······ 1*9=9
2*2=4 2*3=6
2 * 9 =18
3*3=9
······
9 * 9 = 81
~ ~ ~ ~
相 同
递 增
为1
19
相 同
递 增
为2
29
相 同
递 增
为3
39
相 同
递 增
{ printf( " 2) 输出内循环 j = %d\n", j ); j ++ ; }
n ++ ; }
输出结果:
输出外循环n=1 1) 输出内循环 i =1 1) 输出内循环 i =2 2) 输出内循环 j =1 2) 输出内循环 j =2 2) 输出内循环 j =3
输出外循环n=2 1) 输出内循环 i =1 1) 输出内循环 i =2 2) 输出内循环 j =1
为9
99
外 循 环
内 循 环
i= 1 假
i≤ 9 真
j= 1 假
j≤ i 真
输出乘法表
j = j+ 1
i = i+ 1
图 5.10
程序 :