STM32单片机仿真开发实例 课件 2.3 C语言循环结构.pptx

STM32单片机仿真开发实例 课件 2.3 C语言循环结构.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;能力目标:

理解数组的概念,掌握一维数组的定义及使用方法,能利用while语句、do…while语句、for语句实现循环结构程序。

任务要求:

任务A:随机输入5个正整数,找出其中的最大值、最小值。

任务B:随机输入2个正整数,求出它们的最大公约数、最小公倍数。;2.3.1数组

数组是同类型数据的有序集合

(1)一维整型数组

一维数组的定义:类型说明符数组名[整型常量表达式];

其中,类型说明符就是组成数组的各个元素的数据类型,数组名类似于变量名,即用于表达数组的标识符,方括号中的整型常量表达式表示数组元素的个数,或者说数组的长度。

一维数组定义之后即可使用其元素,元素格式为:数组名[下标]。

比如:

注意:如果数组长度为N,则数组元素的下标取值范围为0~N-1;数组在定义的时候也可以同时直接初始化初值,比如:

一维数组在初始化的时候,甚至可以不必指定数组长度,编译器在编译的时候,能根据初始化元素的个数自动判断数组长度,比如:

(2)一维浮点型数组

浮点型数组的定义及使用与整型数组类似,可以先定义再赋值,比如:

也可以定义的同时进行初始化初值,比如:;(3)一维字符型数组

字符型数组的定义和使用除了与整型数组、浮点型数组类似之外,也有自己的特点。可以先定义再赋值,比如:

以上程序定义了一个长度为6的字符型数组并赋值“Hello”字符串,注意最后一个字符“\0”是字符串结束标志。也可以定义的同时进行初始化初值,比如:

也可以在初始化的时候直接赋予字符串,比如:;2.3.2循环语句

循环结构又称重复结构,可以完成重复性、规律性的操作,比如求若干数的和、迭代求根等等。

(1)while语句

通用格式:

循环语句若由多条语句构成,必须以大括号“{”、“}”括起来构成复合语句。;例如,计算1+2+3+…+100=?

运行结果:;(2)do…while语句

通用格式:

同样,1+2+3+…+100=?

运行结果:;(3)for语句

通用格式:

for语句的执行过程:;实际使用的时候,for语句的常用格??:

同样,1+2+3+…+100=?

运行结果:;(4)continue语句与break语句

●continue语句的作用是提前结束当次循环进行下一次循环。

举例说明:

运行结果:;●break语句的作用则是直接跳出循环

举例说明:

运行结果:;2.3.3任务程序的编写

任务A:

以找出五个随机正整数中的最大值为例,先假定第一个数就是最大值,然后跟第二个数比较,若假定的最大值比第二个数小,则将第二个数替换为假定的最大值,否则什么也不做。以此类推,接着将假定的最大值与第三个、第四个、第五个数比较,最后假定最大值必然为五个数中真实的最大值。

找出五个随机正整数中的最小值也是采用类似方法。

(现场操作演示...);任务B:

两个正整数的最大公约数未必存在,比如两个质数就不存在最大公约数,但最小公倍数是必然存在的,比如两个质数的乘积就是两者的最小公倍数。

以求解两个随机正整数的最大公约数为例,先假定较小的数字就是两者的最大公约数,将两数同时除以假定最大公约数,若能整除则假定最大公约数就是两者实际的最大公约数,结束求解过程,若不能整除,则将假定最大公约数递减一次,再将两数同时除以假定最大公约数,依次类推,直到求得最大公约数。对于两个质数而言,依照此流程最后求得的结果是1,但显然1不能作为两个正整数的最大公约数。

求解两个随机正整数的最小公倍数也是采用类似的方法,但假定的最小公倍数是较大的数字。

(现场操作演示...);Tobecontinued...

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档