C语言循环语句课件四章


Page 14ຫໍສະໝຸດ while语句(当型循环)
❖例 求自然数1~10之和。
▪ 分析:本题需要用累加算法,累加 过程是一个循环过程,可以用 while语句实现。
▪ 流程图
开始
sum=0 i=1
i<=10 false
true sum=sum+i
i=i+1
输出sum
结束
Page 15
while语句(当型循环)
▪ 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例 如6=1+2+3
8. 求水仙花数:是指一个n(>=3)位数字的数,它等于每个数 字的n次幂之和。
9. 输入两个正整数m和n,求其最大公约数和最小公倍数。
Page 29
3.求1~599中能被3整除,且至少 有一位数字为5的所有整数。
❖ 判断a、b、c中是否有5:将1~599中三位整数i分 解成个位、十位、百位,分别存放在变量a、b、 c中。然后判断这三个变量是否含5。将三位整数i (设i=513)分解成个位、十位、百位的方法是: c=i/100; //百位 b=i%100/10; //十位 a=i%100%10; //个位
❖ 流程图
❖ 注意:在循环体中,一般应该 包含改变条件表达式的语句。
语句
true 表达式
false
Page 19
do…while语句(直到型循环)
❖例 用do…while语句求自然数 1~10之和。
▪ 分析:本题需要用累加算法,累加 过程是一个循环过程,可以用 do…while语句实现。
▪ 流程图
❖ 表达式1和3可以是简单表达式,也可以是逗号表 达式
▪ for(i=0,j=100;i<=j;i++,j--) k=i+j;
Page 9
❖ 执行顺序
(1)计算表达式1的值;
(2)计算表达式2的值,若表达 式2的值为true,则转到(3); 若为false,则结束循环
(3)执行循环体语句;
(4)计算表达式3的值,返回(2) 继续执行。
打印下列图形
❖ #include<stdio.h>
❖ void main()
❖{
❖ int i,j;
❖ for(i=1;i<=5;i++)
❖{

for(j=5;j>=i;j--)

printf("*");

printf("\n");
❖}
❖}
Page 35
打印下列图形
❖ #include<stdio.h>

printf("\n");
❖}
❖ for (i=n-1;i>0;i--) //画下半个棱形
❖ { for(j=1;j<=40-i;j++) printf(" ");
❖ for(j=1;j<=2*i-1;j++) printf("*");

printf("\n");
❖}
❖}
Page 36
打印下列图形
运行结果: sum=55
Page 21
do…while语句书上例子及练习
❖P62 例4-3 ❖P64 练习4-5
Page 22
do…while和while语句的区别
❖ 相同点:都是实现循环结构的语句 ❖ 区别:
▪ while语句先判断表达式的值,为true时,执行循环体; (先判断,后执行)
▪ do…while语句先执行循环体,再判断表达式的值。 (先执行,后判断)
❖P68 例4-6 ❖P70 练习4-8
循环嵌套书上例子及练习
Page 26
循环结构
本章总结
就是在给定条件成立的情
循环结构概况述下,重复执行一个程序 段;当给定条件不成立时,
退出循环,再执行循环下 while(表达式)
面的程序。
语句
while语句
语法形式
先判断后执行
do…while语句 先执行后判断
❖例 求自然数1~10之和的源程序。
#include<stdio.h> void main() {
int i=1,sum=0; while(i<=10) {
sum+=i; i++; } printf(“sum=%d\n”,sum); }
运行结果: sum=55
Page 16
while语句书上例子及练习
思考题:在什么情况下,while和do…while 语句的条件表达式和循环体相同,而循环次数却 不同?
Page 23
循环结构的嵌套
❖ 在程序设计中,一个循环语句的循环体又包含一 个完整的循环结构时,构成多重循环,又称为循 环语句的嵌套。
for() {
do { }while();
for() {
do { } }while();
sum+=i;
printf(“sum=%d\n”,sum);
}
省略表达式1的写法 同时省略表达式1和3时的写法
Page 11
for语句书上例子及练习
❖P30 例2-7 ❖P32 例2-8 sum=1-1/3+1/5-1/7+…1/n ❖P33 例2-9 求n! ❖P34 练习2-13到2-17 ❖复习分支语句和for语句的综合例题:
❖ #include<stdio.h>
循环语句练习
练习4-9到4-14
Page 28
经典例题
1. 求斐波那契数列(P74 例4-10) 2. 中国古典算术问题(P75 例4-11)
▪ 相关问题:种数问题、百鸡问题
3. 求1~599中能被3整除,且至少有一位数字为5的所有整 数。
4. 输出9*9口诀表 5. 求1!+2!+3!+4!+…+10! 6. 打印图形 7. 找出1000以内的所有完数。
▪ 语句称为循环体,可以是单个语句,也可以是多个语 句。
▪ do…while语句以分号结束。
Page 18
do…while语句(直到型循环)
❖ 执行顺序
▪ 先执行语句,后判断表达式的值
▪ 若表达式的值为true,则继续执 行循环体(语句)
▪ 若表达式的值为false,则结束 循环,执行do…while语句后的 语句
❖ 为什么用循环结构? ❖ 循环的基本步骤是什么? ❖ 循环结构的定义?
Page 4
为什么用循环结构?
❖ 在程序设计中经常会遇到在某一条件成立时, 重复执行某些操作。
❖例如,求: sum=1+2+3+4+…+n
Page 5
赋值
循环
(1)给sum赋值0, i赋值1;
循环的基本步骤
输出
(2)令sum=sum+i, i=i+1;
循环结构
李晓玲
循环结构
循环结构概述 for语句 while语句 do…while语句 循环结构的嵌套
Page 2
本章结构
本章目标
❖ 了解循环结构、循环语句 ❖重点掌握for语句、 while语句和do…while语句的
语法形式、执行顺序及用法 ❖ 掌握循环结构的嵌套使用方法
Page 3
循环结构概述
▪ 语句称为循环体,可以是单个语句,也可以是多个语 句。
Page 8
for语句
❖ 表达式1可以省略
▪ for( ;表达式2;表达式3)
❖ 表达式1和3都可以省略
i=1; for(;i<=100;i++)
sum=sum+i;
▪ for(;表达式2;)
▪ 如果表达式3省略,则在循环体内应该有改变循环条件 的语句
printf("%d能被3整除且包含5\n",i); } }
Page 31
4.输出9*9口诀表
❖ #include<stdio.h>
❖ void main()
❖{
❖ int i,j;
❖ for(i=1;i<=9;i++)
❖{

for(j=1;j<=i;j++)

printf("%d*%d=%2d ",i,j,i*j);
Page 30
#include<stdio.h> void main() {
int i,a,b,c; for(i=1;i<=599;i++) {
c=i/100; //百位 b=i%100/10; //十位 a=i%100%10; //个位 if(i%3==0 && (a==5||b==5||c==5))
Page 13
while语句(当型循环)
❖ 执行顺序
▪ 判断表达式(循环控制条件) 的值
▪ 若表达式的值为true,则执 行循环体(语句)
▪ 若表达式的值为false,则执 行while语句后的语句
❖ 流程图
❖ 注意:在循环体中,一般 应该包含改变循环条件表 达式的语句。
表达式
true
false
语句
▪ P46 例3-4 ▪ P50 例3-6 ▪ P54 例3-9
Page 12
while语句(当型循环)
❖ 语法形式:
循环控制条件
while(表达式)
循环体
语句
❖ 说明:
▪ 表达式称为循环控制条件表达式,一般为关系表达式 或逻辑表达式,必须用一对圆括号“()”括起来。
合集下载

C语言新教材PPT课堂课件-4(2)-循环结构

C语言新教材PPT课堂课件-4(2)-循环结构
件跳转到循环语句后面执行。 可用于switch语句和循环结构中。
continue语句
格式: continue; 功能: 结束本轮循环,即在本轮循环中,不
再执行循环体中continue后面的语句。 只能用于循环结构。
24
break语句和continue语句的比较(P105举例)
void main( ) { int n;
例:求1~100之间的整数之和
#include <stdio.h> void main( ) { int i,sum;
sum=0; i=1;
for( i=1 ; i<=100;
表达式1、表达式3可同时 缺省,但表达式2前后的 分号都不能省略。
i++ )
while(i<=100)
sum=sum+i;
i++;
✓ 累加算法之累加通式: 累加和变量=累加和变量+累加项
如 sum = sum + i ; (i为循环变量) sum = sum + x ; (x为输入值或某计算结果) num = num + 1; 即 num++; (计数)
✓ 连乘算法之连乘通式: 连乘积变量=连乘积变量*连乘项
如 fac = fac * i ; (i为循环变量) fac = fac * x ; (x为输入值或某计算结果)
sum=sum+i
while( i<=100)
i = i +1
{ sum=sum+i; i++;
输出sum的值
}
printf("1+2+3+…+100=%d\n", sum);

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

C语言程序设计课件 第4章 循环结构.ppt
10
while语句
语法形式:
while (表达0(式假)) 表达式?循环体;
非0(真) 循环体
后续语句
11
执行过程:
step1:求解表达式,若 为0(假),则退出循 环执行后续语句。若 为非0(真),则执行 循环体。
step2: 转回step1继续 判断。
while语句应用实例
【例4.3】从键盘上读入一个非0的整数,统计该数的
语句功能
{count++; number=number/10;
?
}
printf ("It contains %d digits.\n",count);
}
12
while语句应用实例
【例4.4】计算表达式a+aa+aaa+…+aaa…a,其中a与x的值从 键盘上输入。
int a,x;
long sum=0,n=1,tn;
scanf("%d,%d", &a,&x);
tn=a; while(n<=x) {sum+=tn; tn=tn*10+a; n++;
循环次数 第1次 第2次 第3次 第4次
循环条件 1<=4为真 2<=4为真 3<=4为真 4<=4为真
}
第5次
5<=4为假
sum值
tn值
n值
0+2
2*10+2
2
2+22
C语言程序设计
第4章 循环结构
本章主要内容
1. 循环结构设计理念 2. for循环语句 3. while循环语句 4. do…while循环语句 5. 循环嵌套 6. 流程控制语句

《C语言程序设计课件》第四章-数组

《C语言程序设计课件》第四章-数组
提示:程序在读入数时将其存储在一个数组中, 然后通过数组反向开始一个接一个地显示出数组 元素。
#include <stdio.h> #define N 10 int main(void)
{ int a[N], i; printf("Enter %d numbers: ", N);
for (i = 0; i < N; i++)
for(i=0;i<1;i++) if (a[i]>a[i+1]) { t=a[i];a[i]=a[i+1];a[i+1]=t; }
a[0]
20
a[1]
02
a[2]
44
a[3]
55
a[4]
88
a[5]
99
for(i=0;i<5;i++) if (a[i]>a[i+1]) { ……}
for(i=0;i<4;i++) if (a[i]>a[i+1]) { ……}
4.2 一维数组
一维数组主要用来存储一组类型相同并且数量一定 的数据。其中,每个数据称为数组的一个元素。
4.2.1 一维数组定义 一维数组的定义形式如下: 类型名 数组名[常量表达式]; int x[100]; char string[10]; double data[10];
常量表达式给出了数组的长度,在C语 言中定义数组时必须确定数组的长度。
600
xxx[[[654]]]
700
xxx[[[765]]]
800
xxx[[[876]]]
900
xxx[[[987]]]

《C语言程序设计课件》第四章-循环语句

《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++)

C语言for循环说课课件

C语言for循环说课课件
说教学反思
C语言说课
说教材
职业中等教育“十一五”国家级规划 教材《语言基础——C语言》(第5 版),教材由高等教育出版社出版。
此教材的特点是:在提出问题的同时 给出示例程序,而示例程序尽量将主 要的知识点演示出来,使读者对解决 同类问题的程序设计思想有比较全面 的认识。从而满足初学者以及对程序 要求不是很高的读者的需求,正好适 合中职层次的人才培养目标
■ 针对学生这一基本特征,教学模式和教学 方法要进行相应的调整
C语言说课
说课导航
说课程性质和地位 说教材 说教学目标 说教学重难点 说教学资源 说学情 说教法学法 说教学过程
说教学反思
C语言说课
教法分析
教学方法
情境导入法 案例导入法 对比教学法 任务驱动法 项目式教学法
C语言说课
教法分析
例如用案例“自然数1~100的和”来导入循 环结构
考核评价
考核 分类
考核内容
实训 学习态度
课堂
技能 30%
不迟到 率
30%
纪率 10%
作业 20%
提问 10%
评 分
项目1:初识C程序设计
项目2:C程序设计基础——数据类型转换
项目3:选择结构程序设计——学生成绩评定
项目4:循环结构程序设计——乘法表
过程 考核 40%
项 项 项目目目过(567: : :程10字数 指考0符组 针%串— —核)— ——成 图—=绩 书字(统 查符技3计询分0能类%)
课程性质
必修课
软考的重点
其它专业的前导课
C语言
软件设计的主要语言
网络专业重要语言
计控、电子的重要语言
C语言说课
课程性质和地位

c语言-4 循环结构

c语言-4 循环结构
分析
怎样获得[1,100]区间的随机数? 调用rand()函数:rand()%n返回一个[0,n)之间的随机 的非负整数。 x=min+rand()%(max-min+1)
怎样限定最多猜7次?
设已猜次数变量cs=0,当cs<7时执行循环,每循环一次猜一个数, cs++,若猜中,则跳出循环,否则显示与被猜数的大小关系。
flag=- flag;
i=i+2; } printf("π=%.4lf!\n", 4*s ); return 0; }
经典循环结构的三要素
循环变量初始化

循环条件P
真 …… 循环变量值修正 [……]
循环变量初始化 循环条件P
…… 循环变量值修正
……
循环体
循环变量初始化 循环条件判断 循环变量值修正
}
printf("s=%lf\n", s);
}
定义s=0,n,i,flag 输入n
i=1,flag=1; i <= 2*n-1
s=s+flag / i
flag = - flag
i =i+2 输出s
课堂练习:2-15(P38)
程序
#include <stdio.h> int main() { int n, i;
问题:统计一个整数的位数值
要求:输入一个整数,求该数的位数 。
分析:
定义zs,ws=0;
输入zs

zs<0

zs=-zs ws++
zs=zs/10
zs>0 输出ws
程序:
#include <stdio.h> void main( ) { int zs, ws=0;

C语言循环语句课件四章


Page 10
while语句(当型循环)
语法形式: while(表达式) 语句 说明:
循环控制条件
循环体
表达式称为循环控制条件表达式,一般为关系表达式 或逻辑表达式,必须用一对圆括号“()”括起来。 语句称为循环体,可以是单个语句,也可以是多个语 句。
Page 11
while语句(当型循环)
Page 8
for语句
执行顺序
(1)计算表达式1的值; (2)计算表达式2的值,若表达 式2的值为true,则转到(3); 若为false,则结束循环 (3)执行循环体语句; (4)计算表达式3的值,返回(2) 继续执行。
求解表达式1
false
表达式 2
true
语句 求解表达式3
流程图
Page 9
循环结构概述
为什么用循环结构? 循环的基本步骤是什么? 循环结构的定义?
Page 4
为什么用循环结构?
在程序设计中经常会遇到在某一条件成立时, 重复执行某些操作。 例如,求: sum=1+2+3+4+…+n
Page 5
循环的基本步骤
赋值 循环 输出
(1)给sum赋值0, i赋值1;
for(表达式1;表达式2; for语句 最灵活 语法形式 表达式3) 语句 在程序设计中,一个循环 语句的循环体又包含一个 循环结构的嵌套 完整的循环结构时,构成 多重循环
Page 22
作业:打印下列图形
Page 23
语句
true
表达式
false
流程图 注意:在循环体中,一般应该 包含改变条件表达式的语句。
Page 16

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);

《C#4循环结构》课件

性。
循环的分类
01
02
03
04
根据循环条件的不同,循环可 以分为while循环、do-while
循环和for循环等类型。
while循环在条件满足时重复 执行代码块,直到条件不再满
足为止。
do-while循环先执行一次代 码块,然后检查条件,只要条
件满足就继续重复执行。
for循环通过计数器变量来控 制循环的次数,通常用于已知
while循环
总结词
适用于未知循环次数的情况
详细描述
while循环只有一个条件语句,只要这个条件为真,就会一直执行循环体。因此 ,循环的次数是不确定的,取决于条件何时变为假。
do-while循环
总结词
至少执行一次循环体,适用于至少需 要执行一次循环的情况
详细描述
do-while循环与while循环类似,但是 循环体至少会执行一次,然后再检查 条件语句。如果条件为真,循环体会 继续执行,直到条件为假。
总结词
用于提前结束循环
详细描述
当满足某个条件时,使用break语 句可以立即终止当前循环,跳出 循环体,不再执行后续的迭代。
continue语句的使用
总结词
用于跳过当前循环迭代
详细描述
当满足某个条件时,使用continue语句可以跳过当前循环迭代的剩余语句,直接开始 下一次迭代。
return语句的使用
使用条件语句代替循环
在某些情况下,可以使用条件语句代替循环 来减少循环次数,提高代码效率。
使用break和continue优化循环
使用break跳出循环
在循环中,如果满足某个条件,可以使用 break语句跳出循环,避免不必要的迭代。
使用continue跳过循环

《C语言程序设计》2教学课件 第4章 循环结构程序设计


—7—
4.1 while循环
【例4.1】
计算从1到100的和。
#include<stdio.h> int main() {
int i,sum; sum=0; i=1; while(i<=100) {
sum=sum+i; i=i+1; } printf("1+2+3+...+99+100=%d",sum); return 0; }
表达式3
一般被称为“步长”,用于循 环变量的修改,该表达式是在 每次循环体执行完以后、下一 次循环条件判断之前执行的, 使循环变量经过多次循环的累 积而发生改变,最终因为不满 足循环条件退出循环。
— 26 —
4.3 for循环
【例4.7】
编程计算1到49之内的奇数和。
#include<stdio.h> int main() {
可将for循环语句改写为如下的while循环形式:
表达式1; while(表达式2) {
语句; 表达式3; }
例如:
for(i=1;i<=100;i++) sum=sum+i;
相当于:
i=1; while(i<=100) {
sum=sum+i; i++; }
— 28 —
4.3 for循环
因此,可以将例4.7用while语句进行改写如下:
/*定义及初始化变量*/ /*输出提示语*/ /*输入整数*/ /*如果输入的为负整数则取反*/
/*number整除10,即去掉最低位*/ /*位数加1*/ /*number不为0时循环*/ /*输出位数*/
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档