大数据技术与应用专业《第五单元阅读资料》.docx

上传人:b****2 文档编号:3013641 上传时间:2023-05-05 格式:DOCX 页数:15 大小:180.99KB
下载 相关 举报
大数据技术与应用专业《第五单元阅读资料》.docx_第1页
第1页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第2页
第2页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第3页
第3页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第4页
第4页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第5页
第5页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第6页
第6页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第7页
第7页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第8页
第8页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第9页
第9页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第10页
第10页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第11页
第11页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第12页
第12页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第13页
第13页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第14页
第14页 / 共15页
大数据技术与应用专业《第五单元阅读资料》.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

大数据技术与应用专业《第五单元阅读资料》.docx

《大数据技术与应用专业《第五单元阅读资料》.docx》由会员分享,可在线阅读,更多相关《大数据技术与应用专业《第五单元阅读资料》.docx(15页珍藏版)》请在冰点文库上搜索。

大数据技术与应用专业《第五单元阅读资料》.docx

大数据技术与应用专业《第五单元阅读资料》

(1)

第五单元循环结构程序设计

问题引入:

上一单元,我们学习运用选择结构程序设计语句,可以完成判断和选择。

通常情况下我们的判断可以是屡次的,即循环判断,如小型计算器可以重复计算屡次,可以为多个人预测身高,可以为判断任意一个年份为闰年等。

有关循环的例子还有很多,在自然界中,地球绕太阳旋转、每年的四季更替;在生活中,运动的车轮、旋转的电扇等。

我们经常会对输入的多个数据应用相同的计算,使用循环语句就解决了繁琐的重复问题。

如果程序中有需要屡次执行的语句组,就进行循环结构程序设计。

循环结构是结构化程序设计的三种根本结构之一,循环语句序列可重复执行,直到某条件不成立〔或成立〕结束,或完成指定的次数。

循环结构的编写由循环语句来完成,有时我们还希望控制循环的进入和退出,所以还会使用一些循环控制语句。

本单元的五个典型任务讲解和分析了在C语言程序中循环结构的程序设计方法。

知识目标:

1.了解循环结构设计方法

2.熟练掌握当型循环while语句

3.熟练掌握直到型循环do-while语句

4.熟练循环for语句

5.掌握控制循环break和continue语句

6.了解循环嵌套程序结构

技能目标:

1.学会循环结构程序设计的方法与步骤

2.能够运用while语句进行循环结构程序设计

3.能够运用do-while语句进行循环结构程序设计

4.能够运用for语句进行循环结构程序设计

5.能够运用break和continue语句控制循环

6.综合运用三种循环语句进行嵌套循环结构程序设计

任务1:

歌唱比赛平均分——while语句的运用

反复执行的程序段(语句序列)为循环体,给定的条件称为循环条件。

C语言提供了3种循环语句,while、do-while和for语句。

利用它们可以组成各种不同形式的循环结构。

本任务介绍while循环语句。

【工作任务】

学院开展一次小型歌唱比赛,邀请各系组织并推选评委,比赛时一支参赛队伍演唱完毕,由评委打分,最终成绩是所有评委的平均分。

设评委人数不固定,由输入的评委人数决定,每个评委打分,进行求和,打分次数和评委人数不相等继续打分和求和,打分结束计算平均分,最后输出最终成绩。

【思路指导】

输入:

评委人数〔intn〕。

次数统计:

计数器〔inti〕

循环:

循环条件i<=n

循环任务输入评委打分0-100分之间〔intscr〕,求和〔intsum〕,打分次数i增1

求平均分:

平均分(intave)ave=sum/n

输出:

平均分为选手比赛成绩

【相关知识】

〔一〕循环是怎样的

循环结构是结构化程序设计的根本结构之一,它与顺序结构、选择结构共同作为各种复杂程序的根本结构。

〔二〕解决循环问题的根本步骤和方法

循环要完成的任务主要有三个:

〔1〕循环需要确定重复执行的次数,因此要设计一个循环变量,并对它进行初始化;

〔2〕设计循环条件即循环变量的终值,控制循环的结束;

〔3〕设计循环反复执行的任务即循环体。

〔三〕当型循环while语句

1.while语句的语法格式

while(表达式)

{循环语句组}

2.while语句的执行过程

当表达式的值为真true〔非0〕时,执行while语句中的循环语句组,否那么执行循环体后续语句,while语句结构如下列图所示。

图5-1while语句流程

3.while语句的进一步说明

〔1〕循环体如果包含一个以上的语句,应该用大括号括起来,以复合语句的形式出现。

〔2〕在循环中应有使循环趋向于结束的语句,即设置修改条件的语句。

例如:

本例中的次数变量i++;

〔3〕while语句的特点是先判断表达式的值,然后决定是否执行循环体中的语句,如果表达式的值一开始为假〔即值为0〕,那么退出循环,并转入循环体的后续语句执行。

如果表达式的值始终为真〔即值为1〕,那么是永久循环“死循环〞。

【任务实施】

1.流程图:

图5-2任务1流程图

2.程序代码:

#include

voidmain()

{intn,i=1,scr,sum=0,ave;

printf(“请输入评委的人数:

〞);

scanf(“%d〞,&n);

while(i<=n)//循环输入打分并求和

{printf(“请为参赛队打分:

0-100之间〞);

scanf(“%d〞,&scr);

sum+=scr;

i++;}

ave=sum/n;

printf(“参赛队总成绩是评委打分平均分:

%d〞,ave);

}

程序运行结果如下所示:

图5-3任务1运行结果图

【特别提示】

(1)循环变量要有初值。

(2)在循环体中,循环变量要有变化,并且使得循环条件可以为假,跳出循环,防止“死循环〞。

(3)打分和sum初值为0。

任务2:

翻牌游戏——do-while语句的运用

【工作任务】

有这样的一个纸牌小游戏,三个人一起玩,不分花色,一人选择奇数牌,一人选择偶数牌,一人负责唱分,A-1分……K-13分,直到两人抽到大王或小王按0分对待,游戏结束,最终两人积分高者胜出。

【思路指导】

循环输入:

由唱分人负责输入分值

循环条件:

不是大小王〔0分〕

输出:

两人总得分

判断输赢:

比拟奇数和偶数和的大小

【相关知识】

1.“直到型〞循环do-while语句

do-while语句语法格式:

do

{循环语句组}

while〔表达式〕;

2.do-while语句执行过程

先执行一次指定的循环体语句,然后判断表达式的值,当表达式的值为非0时,返回重新执行该语句,如此反复,直到表达式的值等于0为止,此时循环结束。

do-while语句结构如图5-4所示。

图5-4do-while语句流程

3.do-while语句进一步说明

〔1〕do-while语句是先执行语句序列一次,后判断表达式的值。

〔2〕如果do-while语句的循环体局部是多个语句组成,那么必须用左右大括号括起来,使其形成复合语句。

〔3〕书写时不要忘记while圆括号后面有一个分号“;〞。

【任务实施】

1.流程图:

图5-5任务2流程图

2.程序代码:

#include

voidmain()

{

inti,k,sum1=0,sum2=0;

do//循环

{printf(“请输入奇数分值〞);

scanf(“%d〞,&i);//输入

if(i%2!

=0)//奇数分值求和

sum1+=i;

}while(i!

=0);

Do//循环

{printf(“请输入偶数分值〞);

scanf(“%d〞,&k);//输入

if(k%2==0)//偶数分值求和

sum2+=k;

}while(k!

=0);

printf(“奇数分值是%d偶数分值是%d〞,sum1,sum2);

if(sum1>sum2)

printf(“奇数玩家赢!

〞);

else

if(sum1

printf(“偶数玩家赢!

〞);

else

if(sum1=sum2)

printf(“平局!

〞);

}

程序运行结果如下所示:

图5-6任务2运行结果图

【特别提示】

while语句和do-while语句的区别:

在循环条件和循环体相同的情况下while后面的表达式第一次的值为“真〞时,两种循环得到的结果相同。

当while后面的表达式第一次的值为“假〞时,while语句一次也不执行,而do-while语句可以顺利执行一次。

任务3:

彩票中奖——for语句的运用

【工作任务】

一个小型模拟彩票中奖机,彩票中奖号码是一个固定的3位数即原始号码。

对任意一个三位数,取出它的每位数字和原始号码的每位数字比拟,共有1位数相同中三等奖,2位数相同中二等奖,3位数都相同中一等奖。

在所有的三位数中进行比拟,输出所有中奖数字。

【思路指导】

初始化:

原始号码123

循环:

循环变量i是100-999的数字,个位a=i%10,十位b=i/10%10,c=i/100%10。

计数器:

k

条件判断:

判断a,b,c是否1,2,3,有一个相等k++

条件输出:

判断k=1输出“三等奖+数字〞

k=2输出“二等奖+数字〞

k=3输出“一等奖+数字〞

【相关知识】

1.for语句语法格式:

for(表达式1;表达式2;表达式3)

{循环语句组}

2.for语句执行过程:

〔1〕先计算表达式1的值。

〔2〕再计算表达式2的值,假设其值为真,那么执行循环体一次;否那么跳转第〔5〕步。

〔3〕然后计算表达式3的值。

〔4〕回转上面第〔2〕步。

〔5〕结束循环,执行for语句的后续语句。

for语句结构如图下列图所示。

图5-7for语句结构

3.for语句说明:

〔1〕表达式1一般为赋值表达式,用于进入循环之前给循环变量赋初值,后面有“;〞分隔。

〔2〕表达式2一般为关系表达式或逻辑表达式,用于执行循环的条件判定,它与while、do-while循环中的表达式作用完全相同,后面用“;〞分隔。

〔3〕表达式3一般为赋值表达式或自增(i=i+1可表示成i++)、自减(i=i-1可表示成i--)表达式,用于修改循环变量的值。

〔4〕如果循环体局部是多个语句组成的,那么必须用大括号括起来,使其成为一个复合语句。

【任务实施】

1.流程图:

图5-8任务3流程图

2.程序代码:

#include

voidmain()

{

inti,a,b,c,k=0,num=0;

intn=123;//中奖原始号码

printf(“输出所有中奖〞号码:

\n〞);

for(i=100;i<=999;i++)//循环判断三位数中中奖数字

{a=i%10;//求个位

b=i/10%10;//求十位

c=i/100%10;//求百位

if(a==3)k++;//个位是3,k=1

if(b==2)k++;//十位是2,k=2

if(c==1)k++;//百位是1,k=3

if(k==1){printf(“三等奖%-5d〞,i);num++;k=0;}//根据k的值判定获奖等级

if(k==2){printf(“二等奖y%-5d〞,i);num++;k=0;}

if(k==3){printf(“一等奖%-5d〞,i);num++;k=0;}

if(num==6){printf(“\n〞);num=0;}//一行显示6个数字

}

}

程序运行结果如下所示:

图5-9任务3运行结果图

【特别提示】

〔1〕for语句的一般形式中的“表达式1〞可以省略。

但要注意省略表达式1时,其后的分号不能省略。

举例:

i=1;

for(;i<=100;i++)

sum=sum+i;

〔2〕如果省略表达式2,即表示表达式2的值始终为真,循环将无终止地进行下去。

举例:

for(i=1;;i++)

printf("%d",i);

〔3〕如果省略表达式3,也将产生一个无穷循环。

因此,应另外设法保证循环能正常结束,可以将循环变量的修改局部〔即表达式3〕放在循环语句中控制。

举例:

for(i=1;i<=100;)

{printf("%d",i);

i++;

}

〔4〕可以同时省略表达式1和表达式3,即省略了循环的初值和循环变量的修改局部,此时完全等价于while语句。

举例:

i=1;

for(;i<=10;)

{printf("%d",i);

i++;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2