[农学]C语言第四章中.ppt
《[农学]C语言第四章中.ppt》由会员分享,可在线阅读,更多相关《[农学]C语言第四章中.ppt(69页珍藏版)》请在三一文库上搜索。
1、THE C PROGRAMMING LANGUAGE,0.本章内容,控制语句 选择语句 循环语句 中断控制语句 基本结构程序设计 顺序结构 选择结构 循环结构,0.本章内容,控制结构 循环结构 两种循环形式 当型循环(“前判断”结构) 直到型循环(“后判断”结构) 三种语句格式 while do while for() 中断语句在循环中的作用 嵌套循环结构,1.循环的基本概念,什么是循环 重复做某件事的现象称为“循环” C程序的循环结构就是在满足循环条件时,重复执行某程序段,直到循环条件不满足为止 重复执行的程序段称为循环体 循环进行的条件 循环控制变量 循环控制变量初始值 每次循环过程中用以
2、改变循环控制变量的递增/递减值 用来判定循环是否结束的最终条件值,1.循环的基本概念,循环结构两种形式 当型循环 首先判断循环控制表达式是否为“真” 若为“真”,则反复执行循环体 若为“假”,则结束循环 while语句、for语句 直到型循环 首先执行循环体,然后才判断循环控制表达式 若为 “真”,则反复执行循环体 直到循环控制表达式为“假”时结束循环 do_while语句,1.循环的基本概念,循环结构两种形式,(1) 条件循环 ( while循环 和 do while 循环 ) 条件满足时执行循环, 条件不满足时结束循环,(2) 计数循环 ( for 循环 ) 先确定循环次数, 然后执行循环
3、, 完成循环次数 后结束,注: C语言中的for循环非常灵活, 功能强大, 也可以实现 循环次数不确定的情况, 完全可以代替while循环,2. 当型循环,while语句 语句格式 说明 表达式是控制循环的条件,它可以是任何类型的表达式 循环体语句语法上定义为一条语句,若循环体含有多条语句,则必须用大括号把它们括起来,成为复合语句 while语句的特点 先判断,后执行 若表达式一开始就为“假”,则循环一次也不执行 提示 分号“;”的位置是在语句之后而不是表达式的后面,while (条件表达式) 语句S; ,2. 当型循环,while语句 语句执行过程,先计算表达式的值, 值为真(非零)时执行循
4、环体, 值为假时结束循环,。,#include main() int counter=1; /* 初始化*/ while (counter =10) printf(“%dn”,counter); counter=counter+1; /* counter+;*/ printf(“*n”); 演示50.C,2. 当型循环,while语句 例1 打印 110之间的所有整数,2. 当型循环,while语句 例2 输入一组整数,分别统计正整数和负整数的个数。(0作结束标志),2. 当型循环,提示 循环体中必须存在使循环趋 于结束的语句,以保证循环 的正常结束 否则,会出现“死循环”的现象 多条语句做循
5、环体时必须用括起来形成复合语句形式 否则,只把其中第一条语句当作循环体语句执行 循环体中语句顺序非常重要 while(1)是无限循环格式 while 语句的循环体可以为空 例如 while(getchar()!=Q) ,main() int sum1=0,sum2=0,n; scanf(“%d” , 演示51.C,2. 当型循环,while语句 例3:计算s=1+1/2+1/3+1/100。,#include “stdio.h” main ( ) int i; float s; s=0; i=1; while (i=100) s+=1.0/i; /* 如果s为int,s+=1/i是否会有问题*
6、/ i+; printf (“s=%fn“, s); 运行程序,输出结果是:s=5.187378,2. 当型循环,while语句,例4: 求1100 的和,分析: 输入, 输出分别是什么? 需要几个变量? 程序大体可分为几个步骤?,#include void main ( ) int i , sum; sum=0; i=1; while (i=100) sum=sum+i; i+; printf(“sum=%dn”, sum); ,2. 当型循环,while语句,例5: 求1n 的和, n为任意正整数,#include void main ( ) int i , sum , n ; sum=0
7、; i=1; printf(“Input value n:n”); scanf(“%d”, ,2. 当型循环,while语句,例6: 求某个班英语成绩的平均分, 该班学生人数和每个 学生的成绩由键盘输入,#include void main ( ) int i , n ; float s , sum , ave ; sum=0; i=1; printf(“Input the student number: ”); scanf(“%d”, ,2. 当型循环,for语句 是C语言中最常用、最灵活、最基本的循环控制语句 特别适合已知循环次数的情况 计数式循环 语句格式 说明 e1(表达式1)通常为赋
8、值表达式 用来实现循环结构变量的初始值 e2(表达式2)通常为关系表达式或逻辑表达式 将循环控制变量与某一值进行比较,以决定是否退出循环(循环进行的条件) e3(表达式3)通常采用自增或自减表达式 描述循环控制变量的变化,for (e1;e2;e3) S; ,2. 当型循环,for语句 执行过程,2. 当型循环,for语句,执行过程: (1) 计算表达式1 (2) 计算表达式2, 若值为真则执行循环体, 再执行第(3)步; 若值为假则结束循环 (3) 计算表达式3, 再重复执行第(2)步,例 : 将1100求和的while循环转换为用for循环实现,sum=0; i=1; while ( i=
9、100 ) sum=sum+i ; i+ ; ,sum=0; for( i=1 ; i=100 ; i+) sum=sum+i ;,2. 当型循环,for语句 例:打印110之间的所有整数,#include main() int counter; for (counter=1;counter =10;counter+) printf(“%dn”,counter) ; printf(“*n”) ; 演示53.C,2. 当型循环,for语句 提示 表达式1、表达式2和表达式3中可以包含算术表达式 例如:假定a=2、b=10,语句for(j=a;j=3*a*b;j+=b/a) 等价于语句for(j=
10、2;j=60;j+=5) 表达式3可以是负值,进行递减操作,循环向下计数的 如果表达式2开始就不成立,则不执行循环体,而是执行for结构之后的语句 循环体中允许打印循环控制变量或改变循环控制变量 控制变量用来控制循环,一般不在循环体中使用 尽管可以在for循环中修改控制变量的值,但是可能导致另人费解的错误 for循环结构可以用等价的while循环结构表示,表达式1; while (表达式2) 语句; 表达式3;,for (表达式1;表达式2;表达式3),2. 当型循环,for语句,例: 求某个班英语成绩的平均分,#include void main ( ) int i , n ; float
11、s , sum , ave ; sum=0; i=1; scanf(“%d”, ,#include void main ( ) int i , n ; float s , sum , ave ; sum=0; scanf(“%d”, ,2. 当型循环,for语句 例:计算自然数1到n的平方和,#include #include main() int i,n; float s; printf(“please input n:”); scanf(“%d” , printf(“1*1+2*2+%d*%d=%fn” ,n,n,s); 演示54.c,RUN please input n:5 1*1+2*
12、2+5*5=55.000000,2. 当型循环,2. 当型循环,for语句 for语句中三个表达式可以是任何合法的C表达式 提示 三个表达式可以部分省略或全部省略 其中的两个分号不能省略 注意省略某一表达式形式的运用 for语句的几种特殊格式 例如 for ( i=2; i10; i+ ) printf (“%5d“, i); for(;)语句s; 三个表达式全部省略 是一个死循环 采用条件表达式加break语句在循环体内的适当位置 一旦满足循环条件时,用break语句跳出for循环,i=2; /* 循环变量赋初值 */ for (; ; ) if (i =10) break; /* 循环出口
13、 */ printf (“%5d”, i ); i+; /* 修改循环变量的值 */ ,2. 当型循环,for语句 for语句的几种特殊格式 for(;表达式2;表达式3) 语句s; 省略表达式1 i的初值放在循环执行前确定 通常是循环控制变量的初值不是已知常量,是在循环前通过计算得到 for(表达式1 ;表达式3) 语句s; 省略表达式2 循环无法终止 循环体的第一条语句处安排一条循环出口语句(因为表达式2在循环体之前被执行)以便适时退出循环,i=2; /* 循环变量赋初值 */ for ( ; i10; i+ ) printf (“%5d“, i );,for (i=2; ; i+) if
14、 (i =10) break; /* 循环出口 */ printf (“%5d“, i ); ,2. 当型循环,for语句 for语句的几种特殊格式 for(表达式1 ;表达式2 ; )语句s; 省略表达式3 循环无法终止 一般当循环控制变量呈非规则性变化,而且在循环体中存在更新循环控制变量的语句在使用 for(逗号表达式1;表达式2;逗号表达式3)语句s; 表达式1和表达式3可以是一项或多项 可以与循环有关,也可无关 当有多于一项时,各项用逗号“,”分隔 for (表达式1;表达式2;表达式3 ) ; 用空语句作为循环体语句 产生一段延时 什么也不做,目的就是耗时间,for (i=2; i1
15、0; ) printf (“%5d“, i ); i+; /* 修改循环变量的值 */ ,for (i=2,j=1; ij; i+,j+) . ,2. 当型循环,for语句,说明 (1) 可以省略表达式1 sum = 0 ; for ( ; i=100 ; i+ ) sum = sum+i ;,i=1;,(2) 可以省略表达式3 sum = 0 ; for ( i=1 ; i=100 ; i+ ) sum = sum+i ;,i+ ;,(3) 同时省略表达式1和表达式3 sum = 0 ; i=1 ; for ( ; i=100 ; ) sum = sum+i ; i+ ; ,2. 当型循环,
16、(4) 表达式1 , 表达式3还可以是逗号表达式 for ( sum = 0 , i = 1 ; i=100 ; sum = sum+i , i+ ) ;,空语句,(5) 表达式1 , 表达式3 可以是与循环控制无关的其他表达式 i=1 ; for( sum=0 ; i=100 ; sum=sum+i ) i+ ;,(6) 表达式2一般不会省略, 若省略表达式2循环将不能停止,sum = 0 ; for ( i=1 ; ; i+ ) sum = sum+i ;,sum = 0 ; i=1; for ( ; ; ) sum = sum+i ; i+ ; ,i=1; while(1) sum=su
17、m+i ; i+; ,3. 直到型循环,do while语句 语句格式 说明 do_while语句的表达式是任意表达式,是控制循环的条件 do_while语句的特点 先执行后判断 循环体至少执行一次 do_while语句实现的循环重复执行循环体,直到表达式为“假“才退出循环。,do 语句 s; while(表达式);,3. 直到型循环,do while语句 执行过程 首先执行循环体语句 计算表达式的值 当表达式值为“真”时,返回循环体开始处继续执行循环体语句 当表达式的值为“假”,结束循环,执行下面的语句 提示 在dowhile 结构中,即使循环体为一条语句,也用花括号 括了起来,3. 直到型
18、循环,do while语句 例:打印110之间的所有整数,#include main() int counter=1; /* 初始化*/ do printf(“%dn”,counter); counter=counter+1;/* counter+;*/ while (counter =10); printf(“*n”); 演示52.C,3. 直到型循环,do while语句 例:统计在1100之间的整数中,有多少个数是3的倍数或5的倍数,main() int i=0,n=1; do if (n%3=0|n%5=0) i+; n+; while (n=100); printf(“The tot
19、al number is :%d” ,i); ,3. 直到型循环,do while语句,例: 求1100 的和,#include void main ( ) int i , sum; sum=0; i=1; do sum=sum+i; i+; while (i=100) ; printf(“sum=%dn”, sum); ,while循环和do-while循环的比较,while do-while (1)先判断条件再执行循环体 先执行循环体再判断条件 (2)循环体可能一次也不执行 至少执行一次循环体,#include void mian( ) int sum=0 , i ; scanf(“%d”
20、, ,#include void mian( ) int sum=0 , i ; scanf(“%d”, ,4. 循环的本质,循环是指在循环条件为真时反复执行执行的一组指令 两种循环方式 计数式循环 控制变量用来计算循环的次数 控制变量的值在每次执行完一组循环指令后递增 当控制变量的值表明达到了预定的循环次数时循环终止并继续执行循环结构后的语句。 标记式循环 当事先不知道准确的循环次数 循环体中包含每次循环都要获取数据的语句 标记值是在所有合法的数据项都提供给程序后键入的值 标记值必须不同于正常的数据项,4. 循环的本质,例题,#includestdio.h main() float aver
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 农学 语言 第四
链接地址:https://www.31doc.com/p-2003382.html