C语言项目3循环语句讲课教案.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C 语言项目 3 循环语句 三、相关知识 ( 一 ) 常见的三种循环语句 1. while 循环 【语法】 (1) 一般格式: while( 循环继续条件 ) { 循环体语句组 ;} (2) 执行过程 1) 求解“循环继续条件”,如果其值为非 0 ,则转 2) ;否则转 3) 。 2) 执行循环体语句组,然后转 1) 。 3) 退出 while 循环。 i=1; while(i<=10) {scanf(“%d”,&score); sum=sum+score; i=i+1; } 首先 i 的初值为 1 ,显然 1<=10 ,满足循环条件, 即输入 score ,然后将 score 加入到 sum 中, i=2 ;由于 2<=10 ,还是满足循环条件, 执行第二次循环体。即输入 score , 然后将 score 加入到 sum 中, i=3 ; …… 这样一直重复, 直到 i=11 ,不再满足循环继续条件;从而跳出循环体。 所以这段程序的意思是输入 10 次 score , 并将每一次输入的 score 加入到 sum 中。 任务情景中的程序及流程图 椣据畬敤尠瑳楤?屨 main() {int score,i,sum=0; float avg; i=1; printf( 请输入本小组 10 个学生的成绩: ); while(i<=10) {scanf(%d,&score); sum=sum+score; i=i+1; } avg=sum/10.0; 牰湩晴尨 本小组 10 个学生的总分为: %d\n,sum); 牰湩晴尨 本小组 10 个学生的平均分为: %.2f\n,avg); } while 的进一步练习 【例 3-1 】本学期期末考试进行了三门课程的测试。成绩单下来后, 8 个室友兄弟 要一比高低,这就要得到每个人三门课程的总分和平均分,用 C 语言实现之。 分析: (1) 定义五个实型变量 x , y , z , s 和 avg , 依次放每一名学生的三门课程成绩、 这三门课程的总成绩和平均分; (2) 每次取出一名学生的三门课程成绩, 依次给 x , y , z ,然后再一起放到 s 中, 就可以得到该同学的三门课的总分和平均分。 (3) 以上步骤重复执行 8 次。 椣据畬敤尠瑳楤?屨 main() {int i; float x,y,z,sum,avg; i=1; while(i<=8) 灻楲瑮? 请输入第 %d 个同学三门课的成绩 ,i); scanf(%f%f%f,&x,&y,&z); sum=x+y+z; avg=sum/3; 牰湩晴尨 第 %d 个同学的总分为 %.2f, 平均分 %.2f\n,i,sum,avg); i=i+1; } } 【例 3-2 】用 while 语句求 sum=1+2+3+……+100 。 分析:求 sum=1+2+3+……+100 ,可以分解成: sum=0; sum=sum+1; sum=sum+2; …… sum=sum+i …… sum=sum+100 所以,可以看成 sum=sum+i 重复了 100 次,而 i 恰好等于 1 ~ 100 #include <stdio.h> main() {int i,sum=0; i=1; while(i<=100) {sum+=i; i++; } printf(“1+2+3+……+100 的和 为 :%d\ n”,sum); } 【例 3-3 】将 1 ~ 100 之间不能被 3 整除的数输出。 分析:定义变量 i 其初值为 1 ,验证 1 是否能被 3 整除?若不能整除,则输 出 i ,然后将 i 累加到 2 ,再次验证 2 是否被被 3 整除?若不能整除,则 输 出 i ,这样一直重复,直到 i 值 >100 。 #include <stdio.h> main() {int i; i=1; while(i<=100) {if(i%3!=0)printf(“=”,i); i++;} } 程序如下 do …while 语句 (1) 一般形式 : do { 循环体语句组 ; }while( 循环继续条件 ); (2) 执行过程 1) 执行 do 后面的循环体语句组; 2) 求解 while 后面的“循环继续条件”,如果其值为非 0 ,则转 1) ;否则 转 3) 。 3) 退出 while 循环。 循环变量赋初值 循环体语句组 while( 循环继续条件 ); 求一个小组学生成绩的总分及平均分的程序可改写为: 椣据畬敤尠瑳楤?屨 main() {int score,i,sum=0; float avg; i=1; printf( 请输入本小组 10 个学生的成绩: ); do {scanf(%d,&score);

文档评论(0)

jinchenl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档