C语言循环结构一章演示课件
合集下载
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语言新教材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);
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语言程序设计》同步教学
if (循环条件在进入循环时明确)
使用 while 语句
else /* 循环条件需要在循环体中明确 */
使用 do-while 语句
5、break和continue语句
(1)break关键字 语句格式:break;
例如:编写程序实现,输入一个整数判断此数是否witch结构或者一个 循环体
案例1运行结果:
Input a string:I am a Chinese.↙ Number is: 15
简单循环案例分析
案例2 统计大写字符(do-while) 要求:从键盘输入一串字符(输入回车符时结束),统 计其中大写英文字母的个数。
算法设计:
(1)设置变量ch存放输入的字符;计数器变量 num存放大写英文字母的个数 (2)输入字符ch 若ch是大写英文字母,计数器num+1 重复上述操作,直到输入换行符为止 (3)输出大写英文字母个数
C 语言程序设计
翻转课堂实用教程
循环结构
简单循环结构 嵌套循环结构
简单循环结构
1、while循环
语句格式:
while(表达式) {
循环体(语句块); }
执行描述: (1)计算while后面的表达式值,如
果值为真,则执行步骤(2), 否则跳出循环体,继续执行该结 构后面的语句。 (2)执行循环体语句; (3)重复执行步骤(1)。
案例3程序代码:
int main() {
double mark, max,length; printf("Enter length:"); scanf ("%lf", &length); /* 读入第一个身高值 */ max = length; /* 假设第一个身高值最大 */ while (length >= 0){
《c语言循环结构》课件
while循环的用法与案例分析
1
while循环的语法和用法
while循环先检查条件,再执行循环体中
while循环的案例分析
2
的代码,当条件为假时结束循环。
一个经典的例子是猜数字游戏,直到猜
到答案才退出循环。
3
while循环的常见错误
循环条件不恰当、循环次数过多或过少 等是常见的while循环错误。
c语言中有三种循环结构:for循环、while循环和do-while循环。
for循环的用法与案例分析
for循环的语法和用法
for循环由初始化语句、循环条件 和更新语句构成,可以控制循环 次数。
for循环的案例分析
for循环的优化
一个简单的例子是遍历一个日历, 打印出一年中每一天的日期。
为了提高程序的性能,我们可以 使用循环展开或减少循环嵌套。
do-while循环的用法与案例分析
do-while循环的语法和用法
do-while循环和while循环很像,但至少会执行一次循环体中的代码。
do-while循环的案例分析
一个应用do-while循环的场景是菜单项选择,确保用户至少输入一次。
do-while循环的注意事项
需要注意的是,do-while循环的条件必须放在循环体的末尾。
2 常见问题
如果您有疑问或需要更多的帮助,请联系我们的技术支持。
《c语言循环结构》PPT 课件
本课程将深入讲解c语言的循环结构,帮助您编写更有效率的程序。
循环结构的定义与作用
什么是循环结构?
循环结构是一种程序控制结构,它能够重复执行一段代码。
循环结构的作用是什么?
循环结构可以帮助程序员编写更简洁、更高效的代码。通过循环,程序不需要重复写相同的 代码。
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语言讲课-while循环结构课件
输入:1
输入:101=0
输出:
sum=101
此程序的功能?
什么情况下两者结果相同?
二、do-while语句
5.3 for语句
语句一般格式 for (表达式1;表达式2;表达式3) 语句
功能:计算表达式1的值,再判断表达式2,如果其值为非0(逻辑真),则执行内嵌语句(循环体),并计算表达式3;之后再去判断表达式2,一直到其值为0时结束循环,执行后续语句。
?
-3
do-while语句
语句一般格式 do 语句 while (表达式); 功能:先执行内嵌语句(循环体),之后计算表达式的值,不为0(逻辑真)时,再执行循环体并判断条件,直到表达式的值为 0 结束循环,转去执行while下面的语句。
do-while循环的算法
(
2
)直到型循环(
while循环控制结构
假设一张报纸厚0.1毫米,将报纸从中间对折多少次后,报纸高度会超过珠穆朗玛峰?
#include <stdio.h>void main( ){ float t=0.0001; int n=0; while(t<=8844) { t=t*2; n++; } printf(“ %d\n”,n);}
while循环控制结构
假设一张报纸厚0.1毫米,将报纸从中间对折,报纸会有多厚?
#include <stdio.h>void main( ){ float t=0.0001; t=t*2; printf(“ %f”,t);}
while循环控制结构
假设一张报纸厚0.1毫米,将报纸从中间对折,报纸会有多厚?
学习内容
循环结构的引入
C语言提供了三种循环控制语句,构成了三种基本的循环结构:while语句构成的循环结构do-while语句构成的循环结构for语句构成的循环结构
输入:101=0
输出:
sum=101
此程序的功能?
什么情况下两者结果相同?
二、do-while语句
5.3 for语句
语句一般格式 for (表达式1;表达式2;表达式3) 语句
功能:计算表达式1的值,再判断表达式2,如果其值为非0(逻辑真),则执行内嵌语句(循环体),并计算表达式3;之后再去判断表达式2,一直到其值为0时结束循环,执行后续语句。
?
-3
do-while语句
语句一般格式 do 语句 while (表达式); 功能:先执行内嵌语句(循环体),之后计算表达式的值,不为0(逻辑真)时,再执行循环体并判断条件,直到表达式的值为 0 结束循环,转去执行while下面的语句。
do-while循环的算法
(
2
)直到型循环(
while循环控制结构
假设一张报纸厚0.1毫米,将报纸从中间对折多少次后,报纸高度会超过珠穆朗玛峰?
#include <stdio.h>void main( ){ float t=0.0001; int n=0; while(t<=8844) { t=t*2; n++; } printf(“ %d\n”,n);}
while循环控制结构
假设一张报纸厚0.1毫米,将报纸从中间对折,报纸会有多厚?
#include <stdio.h>void main( ){ float t=0.0001; t=t*2; printf(“ %f”,t);}
while循环控制结构
假设一张报纸厚0.1毫米,将报纸从中间对折,报纸会有多厚?
学习内容
循环结构的引入
C语言提供了三种循环控制语句,构成了三种基本的循环结构:while语句构成的循环结构do-while语句构成的循环结构for语句构成的循环结构
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语言循环结构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语句的使用格式灵活:
表达式类型任意,可省略,但分号“;”不可省
语言程序设计循环结构.pptx
result=num*10;
5 × 10 = 50
printf("%d
×
10
=
%d
\n",num,re67su××l11t00);==
60 70
num++; }
8 × 10 = 80 9 × 10 = 90 10 × 10 = 100
}
4
第5页/共26页
用VC环境的单步执行演示循环过 程
5
第6页/共26页
11
第12页/共26页
for 循环
for 循环的一般语法: for( 表达式1 ; 表达式2 {
语句段; }
; 表达式3 )
1、计算表达式1的值,通常为循环变量赋初值;
2、计算表达式2的值,即判断循环条件是否为真,若值 为真则执行循环体一次, 否则跳出循环;
3、计算表达式3的值,这里通常写更新循环变量的赋值 表达式,然后转回第2步重复执行;
用VC环境的单步执行演示循环过 程
8
第9页/共26页
while 和 do-while
while(循环条件) {
循环体; }
do
{ 循环体;
}while( 循环条件);
9
第10页/共26页
第六章
循环结构 – II
第11页/共26页
目标
熟练使用for循环 理解 break 和 continue 语句的用法 熟练使用嵌套循环
result+=num; num++; } printf("result= %d \n",result);
}
3
第4页/共26页
示例2
#include<stdio.h>
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语言循环结构程序设计 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语言循环解析PPT课件
加数的变化规律: 后一项=前一项+1(即增量为1)
循环变量的规律: 每做一次循环,则增1.
因此可用一个变量i来代表加数和循环 变量.
设置表达式: i<=100
设置循环体: 计算sum+i=>sum 改变加数 改变循环变量 (i++);
第14页/共104页
sum=0 i=1
i<=100 0
1
sum= sum+ i i++
{ fac= fac*i;i++;} printf(“fac=%8.0f”,fac); }
思考:如何求S=1!+2!+3!+…+n! (这是一个累加问题,通项a(n)=n!=n*a(n-1)
第19页/共104页
【例5.7】求2n。
i=1,p=1 输入 n 当 i<=n
p p*2 i i+1 输出 p
第23页/共104页
源程序如下:
#include “stdio.h”
void main()
{ float a0,a1,a2;int i=1;
a0=0;a1=1;printf(“%10.0f,%10.0fd”,a0,a1);
/*循环外给a0,a1赋初值,并输出这两个值*/
while ( i<=19)
7
第7页/共104页
编程求解:1+2+3+……+100=?
main() { int i=1,sum=0; while(i<=100)
{ sum=sum+i; i++;
} printf("%d \n",sum); }
C语言循环结构ppt课件
Lesson 1A / Slide 5 of 27
6.2 goto语句以及用goto语句构成循环
• goto语句——无条件转向语句 goto 语句标号;
• 语句标号用标识符表示, • 例如:goto label_1; 合法;
goto 123; 不合法.
Lesson 1A / Slide 6 of 27
while ( i <= 100 ) { sum = sum + i ;
i+=2 ; } printf ( “Sum = %d \n”, sum ) ; }
循环的初始化 循环控制条件 循环控制变量 循环体
Lesson 1A / Slide 14 of 27
6.4 do-while语句
do-while语句的特点: 先执行循环体,然后判断循环条
循环的初始化 循环控制条件 循环控制变量 循环体
Lesson 1A / Slide 12 of 27
第5章 循环程序设计
2. 计算sum=2+4+6+……+100
#include <stdio.h>
void main( ) { int i=2, sum=0 ;
while ( i <= 100 ) { sum = sum + i ;
#include <stdio.h>
****
void main( )
{ int i, j ;
for(i=1; i <= 4; i++ )
{ for( j = 0; j<i ; j++ )
putchar(' ');
for( j = 1; j<=4 ; j++ )
6.2 goto语句以及用goto语句构成循环
• goto语句——无条件转向语句 goto 语句标号;
• 语句标号用标识符表示, • 例如:goto label_1; 合法;
goto 123; 不合法.
Lesson 1A / Slide 6 of 27
while ( i <= 100 ) { sum = sum + i ;
i+=2 ; } printf ( “Sum = %d \n”, sum ) ; }
循环的初始化 循环控制条件 循环控制变量 循环体
Lesson 1A / Slide 14 of 27
6.4 do-while语句
do-while语句的特点: 先执行循环体,然后判断循环条
循环的初始化 循环控制条件 循环控制变量 循环体
Lesson 1A / Slide 12 of 27
第5章 循环程序设计
2. 计算sum=2+4+6+……+100
#include <stdio.h>
void main( ) { int i=2, sum=0 ;
while ( i <= 100 ) { sum = sum + i ;
#include <stdio.h>
****
void main( )
{ int i, j ;
for(i=1; i <= 4; i++ )
{ for( j = 0; j<i ; j++ )
putchar(' ');
for( j = 1; j<=4 ; j++ )
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
件转向使程序结构无规律、可读性差。一般应避 免使用goto语句,但如果能大大提高程序的执行 效率,也可以使用。
Example 5_1
1. #include <stdio.h>
2. main()
3. { int x;
4. x = 3;
5. ab: x+=2; /* ab: 语句标号 只能写在语句行的最左边*/
main() { int x,y,sun,t;
printf(”请输入两个整数(前大后小):” ); scanf(”%d%d”,&x,&y ); printf(”%d和%d之间所有的偶数的和是:”,x,y); while( x<y) { if( x%2==0 )
sum+=x; x++; } printf(”%d\n” ,sum); }
s+=i; i++; /* 准备判断下一个自然数 */ }while(i<n); /* i<n 表示条件成立,循环执行 */ printf("s=%d\n",s); }
while和do-while循环的比较
main( ) { int i,s=0;
scanf(“%d”,&i); do {s=s+i; i++; }while(i<=10); printf(“s=%d”,s);
do while语句
一般格式: do 语句(循环体) while(表达式);
特点: “直到型”循环结构。先执行一次“语 句”,判“表达式”,当“表达式” 非0,再执行“语句”,直到“表达式” 为0,循环结束。
do while 注意点
do后面没有分号; 语句的位置上只能到第一个分号处,也就是
注意事项
while后面的”()”不能少 表达式的可以使任意合法的表达式 语句的位置上只能有一条语句, while语句范
围只到while后面第一个分号处。超过一条 用“{}”括起来 while语句的循环体可能一次都不执行 循环体中必须有使循环趋于结束的语句, 否则程序进入“死循环”(不结束)。
for语循句环变量赋
初值
循环条件
循环变 量增量
循环体 部分
一般格式 for(表达式1;表达式2;表达式3) 语句
执行过程:
(1)求表达式1; (2)求表达式2,若为 “真”,执行“语句”; 若为假,转第(5)步。 (3)求表达式3。 (4)转第(2)步。 (5)执行for语句下面的语 句。
Example 5_5 计算n以内所有自然数之和
Example 5_2 计算
#include <stdio.h> main() {
int i,sum=0; i = 1; while (i <= 100) { sum = sum + i;
i++; } printf("%d",sum); }
Example 5_3 输入两个整数x和y,计算x和y之间所 有的偶数之和
求1~100的累计和。
根据已有的知识,可以用 “1+2+……+100”来求解,但显然很繁琐。 现在换个思路来考虑:
首先设置一个累计器sum,其初值为0, 利用sum += n来计算(n依次取1、2、……、 100),只要解决以下3个问题即可:
(1)将n的初值置为1; (2)每执行1次“sum += n”后,n增1; (3)当n增到101时,停止计算。此时, sum的值就是1~100的累计和。
main( ) { int i,s=0;
scanf(“%d”,&i); while(i<=10) {s=s+Байду номын сангаас; i++; } printf(“s=%d”,s);
} 运行情况如下:
} 运行情况如下:
说明
在一般情况下,用while和do-while语句解 决同一问题时,若二者的循环体部分是一 样的,它们的结果也一样。但当while后面 的“表达式”一开始就为“假”时,两种 循环的结果不同。这是因为此时while循环 的循环不被执行,而do-while循环的循环体 被执行一次。
只能有一条语句,超过用{}构成复合语句 表达式可以是任意表达式
Example 5_4 计算n以内所有能被3整除或者能被7整除的 自然数之和
/*从3开始,各个自然数i逐个进行比较,直到自然数i不小于n则循环结束*/
#include "stdio.h" main() { int n,i,s;
printf("请输入一个整数:"); scanf("%d",&n); /* 输入一个整数给n */ s=0; /* s用来存放满足条件的自然数之和,和的初值为0 */ i=3; /* 从3开始 */ do { if( i%3==0 || i%7==0 ) /*余数为0表示整除 */
等
i=0;
价 while( i<n )
于
{
}
s+=i; i++;
for语句说明
(1)for 语句中条件测试总是在循环开始时 进行;如果循环体部分是多个语句组成的 ,则必须用左、右花括号括起来,使其成 为一个复合语句。
(2) for语句中的表达式1和表达式3即可以是一 个简单的表达式,也可以是逗号连接的多 个表达式,此时的逗号作为运算符使用。
6. if( x<20 )
7.
goto ab;
8. printf("%d\n",x);
9. }
while 语句
一般形式: while(表达式) 语句
作用:实现“当型”循环。 当“表达式”非0(真) 时,执行“语句”。“语 句”是被循环执行的程序, 称为“循环体”。
特点:先判“表达式(条 件)”。
#include "stdio.h"
main()
{ int n,i,s; printf("请输入一个整数:");
scanf("%d",&n);/* 输入一个整数给n */ s=0; /* s存储和,初值为0 */
for(i=0;i<n;i++)
s+=i;
printf("s=%d\n",s);
}
for(i=0;i<n;i++) s+=i;
第五章 循环结构
1、用goto语句和if语句构成循环。 2、用while语句。 3、用do-while语句。 4、用for语句。
If语句和goto语句构成的循环
一般形式:goto 语句标号; 作用:无条件转向语句标号处执行 语句标号:合法的标识符后面加个冒号”:” 语句标号必须于此goto语句在同一个函数中 goto语句不符合结构化程序设计准则,因为无条
Example 5_1
1. #include <stdio.h>
2. main()
3. { int x;
4. x = 3;
5. ab: x+=2; /* ab: 语句标号 只能写在语句行的最左边*/
main() { int x,y,sun,t;
printf(”请输入两个整数(前大后小):” ); scanf(”%d%d”,&x,&y ); printf(”%d和%d之间所有的偶数的和是:”,x,y); while( x<y) { if( x%2==0 )
sum+=x; x++; } printf(”%d\n” ,sum); }
s+=i; i++; /* 准备判断下一个自然数 */ }while(i<n); /* i<n 表示条件成立,循环执行 */ printf("s=%d\n",s); }
while和do-while循环的比较
main( ) { int i,s=0;
scanf(“%d”,&i); do {s=s+i; i++; }while(i<=10); printf(“s=%d”,s);
do while语句
一般格式: do 语句(循环体) while(表达式);
特点: “直到型”循环结构。先执行一次“语 句”,判“表达式”,当“表达式” 非0,再执行“语句”,直到“表达式” 为0,循环结束。
do while 注意点
do后面没有分号; 语句的位置上只能到第一个分号处,也就是
注意事项
while后面的”()”不能少 表达式的可以使任意合法的表达式 语句的位置上只能有一条语句, while语句范
围只到while后面第一个分号处。超过一条 用“{}”括起来 while语句的循环体可能一次都不执行 循环体中必须有使循环趋于结束的语句, 否则程序进入“死循环”(不结束)。
for语循句环变量赋
初值
循环条件
循环变 量增量
循环体 部分
一般格式 for(表达式1;表达式2;表达式3) 语句
执行过程:
(1)求表达式1; (2)求表达式2,若为 “真”,执行“语句”; 若为假,转第(5)步。 (3)求表达式3。 (4)转第(2)步。 (5)执行for语句下面的语 句。
Example 5_5 计算n以内所有自然数之和
Example 5_2 计算
#include <stdio.h> main() {
int i,sum=0; i = 1; while (i <= 100) { sum = sum + i;
i++; } printf("%d",sum); }
Example 5_3 输入两个整数x和y,计算x和y之间所 有的偶数之和
求1~100的累计和。
根据已有的知识,可以用 “1+2+……+100”来求解,但显然很繁琐。 现在换个思路来考虑:
首先设置一个累计器sum,其初值为0, 利用sum += n来计算(n依次取1、2、……、 100),只要解决以下3个问题即可:
(1)将n的初值置为1; (2)每执行1次“sum += n”后,n增1; (3)当n增到101时,停止计算。此时, sum的值就是1~100的累计和。
main( ) { int i,s=0;
scanf(“%d”,&i); while(i<=10) {s=s+Байду номын сангаас; i++; } printf(“s=%d”,s);
} 运行情况如下:
} 运行情况如下:
说明
在一般情况下,用while和do-while语句解 决同一问题时,若二者的循环体部分是一 样的,它们的结果也一样。但当while后面 的“表达式”一开始就为“假”时,两种 循环的结果不同。这是因为此时while循环 的循环不被执行,而do-while循环的循环体 被执行一次。
只能有一条语句,超过用{}构成复合语句 表达式可以是任意表达式
Example 5_4 计算n以内所有能被3整除或者能被7整除的 自然数之和
/*从3开始,各个自然数i逐个进行比较,直到自然数i不小于n则循环结束*/
#include "stdio.h" main() { int n,i,s;
printf("请输入一个整数:"); scanf("%d",&n); /* 输入一个整数给n */ s=0; /* s用来存放满足条件的自然数之和,和的初值为0 */ i=3; /* 从3开始 */ do { if( i%3==0 || i%7==0 ) /*余数为0表示整除 */
等
i=0;
价 while( i<n )
于
{
}
s+=i; i++;
for语句说明
(1)for 语句中条件测试总是在循环开始时 进行;如果循环体部分是多个语句组成的 ,则必须用左、右花括号括起来,使其成 为一个复合语句。
(2) for语句中的表达式1和表达式3即可以是一 个简单的表达式,也可以是逗号连接的多 个表达式,此时的逗号作为运算符使用。
6. if( x<20 )
7.
goto ab;
8. printf("%d\n",x);
9. }
while 语句
一般形式: while(表达式) 语句
作用:实现“当型”循环。 当“表达式”非0(真) 时,执行“语句”。“语 句”是被循环执行的程序, 称为“循环体”。
特点:先判“表达式(条 件)”。
#include "stdio.h"
main()
{ int n,i,s; printf("请输入一个整数:");
scanf("%d",&n);/* 输入一个整数给n */ s=0; /* s存储和,初值为0 */
for(i=0;i<n;i++)
s+=i;
printf("s=%d\n",s);
}
for(i=0;i<n;i++) s+=i;
第五章 循环结构
1、用goto语句和if语句构成循环。 2、用while语句。 3、用do-while语句。 4、用for语句。
If语句和goto语句构成的循环
一般形式:goto 语句标号; 作用:无条件转向语句标号处执行 语句标号:合法的标识符后面加个冒号”:” 语句标号必须于此goto语句在同一个函数中 goto语句不符合结构化程序设计准则,因为无条