c语言for循环ppt
合集下载
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;
C语言程序设计第六章课件

6.3嵌套循环
使用嵌套循环的注意事项 使用复合语句,以保证逻辑上的正确性 – 即用一对花括号将各层循环体语句括起来 内层和外层循环控制变量不能同名,以免造 成混乱 采用右缩进格式书写,以保证层次的清晰性
2017/9/7
27/62
选择三种循环的一般原则
如果循环次数已知,计数控制的循环 – 用for
1!, 2!, 3!, … , n!
2017/9/7
24/62
【例6.4】输入n值,计算并输出
1! + 2! + 3! + … + n!
利用前项 计算后项
2017/9/7
25/62
【例6.4】输入n值,计算并输出
1! + 2! + 3! + … + n!
每次单独计算 累加项
2017/9/7
26/62
counter<6 true input n sum ← sum + n counter++ output sum
n
2 3 5 6 4
counter-controlled 计数器每次增1
使用了3个变量
2017/9/7
end
6/62
6.2计数控制的循环
counter ← initial value
test counter true
2017/9/7
end
条件控制的循环
当 型 循 环
假 假 真 假
条 件P
A
条 件P
真
A
直 到 型 循 环
2017/9/7
10/62
while循环语句
C语言课件之逻辑思维与逻辑问题(循环)

使用逻辑表达式表示4个人说的话
说话人 A B C D 说的话 写成逻辑表达式
“不是我们队,也 winner != 'A' && winner != 'C' 不是C队。” “是我们或者D队” winner == 'B' || winner == 'D' “是A,不是B队” winner == 'A' && winner != 'B' !(winner == 'B' || winner “B猜错了。” == 'D')
0 0 0
0 1 0
1 0 0
1 1 1
逻辑运算
逻辑或
|| a || b
a与b只要有1个为真,则表达式为真,否则为假
A B A||B
0 0 0
0 1 1
1 0 1
1 1 1
逻辑运算
逻辑非
! !a
a为假,则表达式为真,否则为假
A !A
0 1
1 0
优先级上!最高,&&比||高 不记得就全部打上括号
winner == 'A' && winner != 'B'
'C' == 'A' && 'C' != 'B'
0
1
!(winner == 'B' || winner !( 'C' == 'B' || 'C' == 'D') == 'D')
北京大学计算概论(C语言)经典课件Lecture 9——循环语句复习及数组(上)页PPT文档

18
数组元素的赋值
每个数组元素,就是一个变量。 每个数组元素占用的空间大小是由定义数组
变量时给定的类型决定的。例如:
cards每个元素占1字节(char类型的长度) distance每个元素占8字节(double 类型的长度)。
19
数组元素的赋值
在给数组元素赋值时,可以把数组元素看作 单个变量,例如:
给数组元素赋值,数据类型必须匹配。
20
数组元素的访问
数组元素可以用在任何单个变量可能出现的地 方。例如:
int max, min; max = score [0]; min = score[3];
17
数组元素
定义一个数组变量相当于定义一组变量,这组 变量中的每一个都可以通过“数组变量名[下 标]”形式来访问。例如:score[0], score[1], score[2] 等等。
这组变量在内存中是连续存放的,它们的下标 从0开始计数。
在数组中(设N是数组的元素总数)
第一个数组元素的下标是0 最后一个数组元素的下标是N-1
continue;
8
课堂练习
1.已知:int a=5;执行语句while(a>0)
{
a--;
}
a的值是(
)。
A. 5
B. 0 C. –1 D. -2
2.已知:int a=5;执行语句while(--a>0)
{
a--;
}
a的值是(
)。
A. 5
B. 0 C. –1 D. -2
3.已知:int a=5;执行语句while(a-->0)
表达式必须是数值表达式 一次循环
计算表达式的值 如果表达式值为真,执行循环体,为假退出
数组元素的赋值
每个数组元素,就是一个变量。 每个数组元素占用的空间大小是由定义数组
变量时给定的类型决定的。例如:
cards每个元素占1字节(char类型的长度) distance每个元素占8字节(double 类型的长度)。
19
数组元素的赋值
在给数组元素赋值时,可以把数组元素看作 单个变量,例如:
给数组元素赋值,数据类型必须匹配。
20
数组元素的访问
数组元素可以用在任何单个变量可能出现的地 方。例如:
int max, min; max = score [0]; min = score[3];
17
数组元素
定义一个数组变量相当于定义一组变量,这组 变量中的每一个都可以通过“数组变量名[下 标]”形式来访问。例如:score[0], score[1], score[2] 等等。
这组变量在内存中是连续存放的,它们的下标 从0开始计数。
在数组中(设N是数组的元素总数)
第一个数组元素的下标是0 最后一个数组元素的下标是N-1
continue;
8
课堂练习
1.已知:int a=5;执行语句while(a>0)
{
a--;
}
a的值是(
)。
A. 5
B. 0 C. –1 D. -2
2.已知:int a=5;执行语句while(--a>0)
{
a--;
}
a的值是(
)。
A. 5
B. 0 C. –1 D. -2
3.已知:int a=5;执行语句while(a-->0)
表达式必须是数值表达式 一次循环
计算表达式的值 如果表达式值为真,执行循环体,为假退出
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语句实现循环
C语言程序设计:第5章 循环结构

执行过程: 先执行循环体语句,再检查 循环条件表达式的值是否为真, 如果为真则继续执行循环体语句, 否则结束循环。
12
do...while语句(cont...)
课堂练习: 1.输出1---n之间的数,其中n从键盘输入。
int main(void) {
//1.定义变量i和n //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:输出i的值 return 0; }
} 相当于 while(1) {
}
26
小结
❖for(i=m;i<n;i++)//循环次数:n-m次 ❖for(i=m;i<=n;i++)//循环次数:n-m+1次
27
循环语句的练习
课堂练习: 1.输出n---1之间的数,其中n>1且n从键盘输入。 2.计算1*2*3*...*n的值(n的阶乘n!), 其中n从键盘输入。 3.计算10- 1/2 - 1/3 -....1/n的值 以上练习分别以while、do...while、for语句实现
int main(void) {
//1.定义变量i,n,sum //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:累加i的值 //7.输出计算结果 return 0; }
24
for语句(cont...)
{
sum = sum + i;
if(sum > 100)break;
12
do...while语句(cont...)
课堂练习: 1.输出1---n之间的数,其中n从键盘输入。
int main(void) {
//1.定义变量i和n //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:输出i的值 return 0; }
} 相当于 while(1) {
}
26
小结
❖for(i=m;i<n;i++)//循环次数:n-m次 ❖for(i=m;i<=n;i++)//循环次数:n-m+1次
27
循环语句的练习
课堂练习: 1.输出n---1之间的数,其中n>1且n从键盘输入。 2.计算1*2*3*...*n的值(n的阶乘n!), 其中n从键盘输入。 3.计算10- 1/2 - 1/3 -....1/n的值 以上练习分别以while、do...while、for语句实现
int main(void) {
//1.定义变量i,n,sum //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:累加i的值 //7.输出计算结果 return 0; }
24
for语句(cont...)
{
sum = sum + i;
if(sum > 100)break;
第五章 C语言多重循环语句ppt课件
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); }
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); }
第5章 循环结构程序设计PPT课件
}
C语言程序设计
第5章 循环结构程序设计
§ 5.2 用while语句实现循环i=1w; hile (i<=100)
2、while语句的注意事项
{ sum=sum+i;
注意:
i++; }
(1) 循环体如果包含一个以上的语句,应该用花括弧括
起来,以复合语句形式出现
(2) 在循环体中应有使循环趋向于结束的语句。如果无
C语言程序设计
第5章 循环结构程序设计
§ 5.2 用while语句实现循环
1、while语句的一般形式
while语句用来实现“当型”循环结构 一般形式: while (表达式)
循环体语句
当表达式为非0值时,执行while 语句中的循环体语句 其特点是:
先判断表达式,后执行语句
C语言程序设计
第5章 循环结构程序设计
} 运行结果:
}
1↙ sum=55 再运行一次:
}说明:当while后面的表达式的第一次的
值为“真”时,两种循环得到的结果相
11↙ sum=0
同。否则,二者结果不相同
C语言程序设计
第5章 循环结构程序设计
§ 5.4 用for语句实现循环
1、for语句的一般形式
C语言中的for语句使用最为灵活,不仅可以用于 循环次数已经确定的情况,而且可以用于循环次数 不确定而只给出循环结束条件的情况,它完全可以 代替while语句
语句,转到第(5)步
(3) 求解表达式3
(4) 转第(2)步骤继续执行
(5) 循环结束,执行for语句下面的一个语句
C语言程序设计
第5章 循环结
执行表达式1
循环初始条件
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语言说课
说教材
职业中等教育“十一五”国家级规划 教材《语言基础——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语言课件第5章循环结构程序设计2
18
思考 1、如果去掉循环体 中的大括号会怎样? 2、在循环体中,使 循环条件趋向于不满 足(假)的语句是哪 条?
第5章
循环结构程序设计
举例
while和do-while循环的比较。
此程序的 功能?
#include <stdio.h> int main() { int i,sum=0; scanf("%d",&i); while(i<=10) { sum=sum+i; i++; } printf("sum=%d\n",sum); return 0; }
第5章
循环结构程序设计
举例
现有某班20名学生的C语言成绩,求该班学生的C语 言的平均成绩。即:输入20个学生的成绩,计算平 均值,输出平均值。
分析:定义变量表示学生的成绩、全班总和、平均成绩。 如果定义20个变量保存20 算法设计: 个成绩,程序中计算成绩 第一步:输入20个学生的成绩 总和会有什么问题? 第二步:计算成绩总和 (用累加求和的方法)
运行结果:凵2550
#include <stdio.h> int main() { int i=1, n; float fac=1; printf("请输入n:"); scanf ("%d",&n); while (i<=n) { fac=fac*i; i++; } printf("%.0f\n",fac); return 0; } 请输入n:5
分析
求1~100的累加和。
换一种思路:
sum=sum+n;
首先设置一个累计器sum,其初值为0,利用sum += n来计算(n依次 取1、2、……、100),只要解决以下3个问题即可: (1)将n的初值置为1; (2)每执行1次“sum += n;”后,n增1; (3)当n增到101时,停止计算。此时,sum的值就是1~100的累 计和。
思考 1、如果去掉循环体 中的大括号会怎样? 2、在循环体中,使 循环条件趋向于不满 足(假)的语句是哪 条?
第5章
循环结构程序设计
举例
while和do-while循环的比较。
此程序的 功能?
#include <stdio.h> int main() { int i,sum=0; scanf("%d",&i); while(i<=10) { sum=sum+i; i++; } printf("sum=%d\n",sum); return 0; }
第5章
循环结构程序设计
举例
现有某班20名学生的C语言成绩,求该班学生的C语 言的平均成绩。即:输入20个学生的成绩,计算平 均值,输出平均值。
分析:定义变量表示学生的成绩、全班总和、平均成绩。 如果定义20个变量保存20 算法设计: 个成绩,程序中计算成绩 第一步:输入20个学生的成绩 总和会有什么问题? 第二步:计算成绩总和 (用累加求和的方法)
运行结果:凵2550
#include <stdio.h> int main() { int i=1, n; float fac=1; printf("请输入n:"); scanf ("%d",&n); while (i<=n) { fac=fac*i; i++; } printf("%.0f\n",fac); return 0; } 请输入n:5
分析
求1~100的累加和。
换一种思路:
sum=sum+n;
首先设置一个累计器sum,其初值为0,利用sum += n来计算(n依次 取1、2、……、100),只要解决以下3个问题即可: (1)将n的初值置为1; (2)每执行1次“sum += n;”后,n增1; (3)当n增到101时,停止计算。此时,sum的值就是1~100的累 计和。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
循环控制变量的更新。
}
二 for循环语句形式:
C语言中的for循环语句比较复杂些,也比较灵活,功能较 强.
虽然主要用于定数循环,但也可以用于不定数循环,它完 全可以替代while循环.
for 循环语句的一般形式:
for(表达式1 ; 表达式2 ; 表达式3) {
循环体 }
4
for(表达式1 ; 表达式2 ; 表达式3)
{ if(n%3 ==0)
continue ;
/*能被3整除的数,不打印*/
printf(“%5d” , n);
}
}
当然函数体也可改成:
if(n%3!=0) printf(“%d”, n ) ;
使用Continue仅是为了说明其的语法作用。
7
三、说明: 表达式缺省的for( )语句:
for( )语句中的三个表达式可以省略其中一个, 二个,甚至 三个。
{ int i=1, sum=0;
for( ; ; ) { sum+=i;
i++; if( i>10000) br 避免产生死循环.
10
补充: 逗号运算符(顺序运算符):
级别最低的一种。用它将二个表达式联起来,形成逗号
表达式。如:
表达式1,表达式2
main( )
{int x=1; (表达式1) 分析用while语句来完成
s=0;
的程序,主要完成1到
while(x<=100) (表达式2) 100的累加和,对一个
{s=s+x;
x=x+1; (表达式3)
循环程序来说最关键的 三个部分:循环变量的
}
赋初值、控制循环条件、
printf(“%d”,s);
{ 循环体 }
设置循环 变量初值
判断表达式
循环变 量增值
求解表达式1
假
表达式2
真
内嵌语句
求介表达式3
for语句后下 5 一条语句
例: 求100之内各数之和: #include<stdio.h>
int main( )
{ int i , sum=0;
for( i=1;i<=100; i++)
{ sum+=i ; }
for(sum=psum=0.0, i=0 ; i<10 ; i++)
{
注
意
scanf("%f",&x);
若输入为0 ,结束.
这 if(fabs(x)<1e-4) break;
个
sum+=x;
表
//求这些数的总和
达
if(x<0) continue;
输入小于0 不累加.
式
psum+=x;
//其中正数之和
printf(“1+2+…100=%d”,sum);
return 0; }
单条语句时, 大括号可以不要.
i=1
假
i<=100?
真
sum+=i
i++
ch5_5_1.c
for语句后下 一条语句 6
例:把100~200之间的不能被3整除的数输出。
main( )
{ int n;
for(n=100; n<=200; n++)
用两个或两个以上的变量 共同实现对循环的控制。
13
例 输入不多于10个实数,求这些数的和及其中 正数之和.(若不足10个数,以0 为结束标志)
#include<stdio.h> #include<math.h> int main( ) {
float sum,psum,x; int i=1; ….
14
例:
a = 3*5 , a*4
求解过程是: 先求解表达式1,再求解表达
式2。整个逗号表达式的值用表 达式2的值代表。
逗号表达式
先求解3*5,得a的值为15,然后求解第二表达式a*4, 得60。
11
一般形式还可扩展: 表达式1,表达式2 , …… ,表达式n
整个表达式的值用表达式n的值代表。
注:
a. 在很多情况下,使用逗号表达式的目的只是想得
但无论省略几个,其中的二个分号不能省。
如果在for语句之前,给循环变量已赋值,表达 式1可省去。分号不能省。如:
sum=0; i=1; for( ; i<=100 ; i++)
sum=sum+i ; 表达式1可省去。
8
1. 表达式3也可省去:
如:for(i =1 ; i <=100 ; )
表达式3可省去
一开始条件为假(为零),则循环一次也不执行.
void main( ) { int x, y=10;
一开始条件就为假!
for(x=10; x<10; --y)
printf(“%d”,y);
printf(“%d”, x);
到(计算)各个表达式的值,并非一定要得到或使用整个 表达式的值。
b. 并不是任何出现逗号的地方都是逗号运算符. 如:
printf(“%d,%d,%d”, a,b,c);
其中的这些
12
逗号就不是。
四.含逗号运算符的for语句 for语句中 ,表达式1、表达式3可以使用逗号运算符: 如:
for( i=1, j=20 ; i <j ; i++ , j--)
}
printf("sum=%f\n",sum);
printf("psum=%f\n",psum);
return 0;
}
ch5_5_4.c 15
五、对于for语句的进一步说明:
(1). 表达式1可以是设置变量初值的赋值表达式,也可是与 循环变量 无关的其它表达式.
如:
for(sum=0; i<100; i++) sum=sum+i;
c语言
For 循环程序设计
1
5.1
1.FOR循环的引入 2.FOR循环语句的形式 3.表达式缺省的FOR循环语句 4.含有逗号运算符的FOR循环语句 5.关于FOR循环的几点补充说明 5.FOR循环语句的嵌套
一、FOR循环的引入
1、复习前两节课我们学习的循环语句—— while~do语句的基本格式和执行过程和特征。
(2). 表达式2一般是关系表达式或逻辑表达式,但也可以是 其它类型表达式,只要其值为非零,就执行循环体.
如:
for(i=0; ( c=getchar( ) ) != ‘\n’ ; i+=c) ;
不断输入字符,将ASCII码累加, 直到输入一个换行符.
16
(3). f or循环的条件检查总是在循环开始前进行的,如果
{
sum=sum+i; i++; }
可把变量增值部 分放在循环体内.
2. 如果表达式2省略,C编译程序认为其值恒为真, 无限循环下去。如: for(i=1 ; ; i++) sum=sum+ i ; 表达式2可省去
9
3. 甚至三个表达式都可省略: for( ; ; ) 语句 ;
例: void main()