第4章单片机c语言程序的设计.ppt

  1. 1、本文档共115页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【例4-27】用数组计算并输出Fibonacci数列的前20项。 Fibonacci数列在数学和计算机算法中十分有用。Fibonacci数列是这样的一组数:第一个数字为0,第二个数字为1,之后每一个数字都是前两个数字之和。设计时通过数组存放Fibonacci数列,从第三项开始可通过累加的方法计算得到。 程序如下: #include reg52.h //包含特殊功能寄存器库 #include stdio.h //包含I/O函数库 extern serial_initial(); main() { int fib[20],i; fib[0]=0; fib[1]=1; serial_initial(); for (i=2;i20;i++) fib[i]=fib[i-2]+fib[i-1]; for (i=0;i20;i++) { if (i%5= =0) printf(“\n”); printf(“%6d”,fib[i]); } while(1); } 程序执行结果: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4148 二.字符数组 用来存放字符数据的数组称为字符数组,它是C语言中常用的一种数组。字符数组中的每一个元素都用来存放一个字符,也可用字符数组来存放字符串。字符数组的定义下一般数组相同,只是在定义时把数据类型定义为char型。 例如:char string1[10]; char string2[20]; 上面定义了两个字符数组,分别定义了10个元素和20个元素。 在C51语言中,字符数组用于存放一组字符或字符串,字符串以“\0”作为结束符,只存放一般字符的字符数组的赋值与使用和一般的数组完全相同。对于存放字符串的字符数组。既可以对字符数组的元素逐个进行访问,也可以对整个数组按字符串的方式进行处理。 【例4-28】对字符数组进行输入和输出。 #include reg52.h //包含特殊功能寄存器库 #include stdio.h //包含I/O函数库 extern serial_initial(); main() { char string[20]; serial_initial(); printf(“please type any character:”); scanf(“%s”,string); printf(“%s\n”,string); while(1); } 4.9.2 指针 指针是C语言中的一个重要概念。指针类型数据在C语言程序中使用十分普遍,正确地使用指针类型数据,可以有效地表示复杂的数据结构;可以动态地分配存储器,直接处理内存地址。 一.指针的概念 在C语言中,可以通过地址方式来访问内存单元的数据,但C语言 作为一种高级程序设计语言,数据通常是以变量的形式进行存放和 访问的。 变量在使用时分清两个概念:变量名和变量的值。前一个是数据的 标识,后一个是数据的内容。变量名相当于内存单元的地址,变量 的值相当于内存单元的内容。 对于内存单元的数据访问方式有两种, 对于变量也有两种访问方式:直接访问方式和间接访问方式。 直接访问方式: 对于变量的访问,直接给出变量名。 例如:printf(“%d”,a), 直接给出变量a的变量名来输出变量a的内容。在执行时,根据变量名得到内存单元的地址,然后从内存单元中取出数据按指定的格式输出。这就是直接访问方式。 间接访问方式: 例如要存取变量a中的值时,可以先将变量a的地址放在另一个变量b中,访问时先找到变量b,从变量b中取出变量a的地址,然后根据这个地址从内存单元中取出变量a的值。这就是间接访问。从变量b中取出的不是所访问的数据,而是访问的数据(变量a的值)的地址,这就是指针,变量b称为指针变量。 变量的指针: 变量的指针就是变量的地址。对于变量a,如果它所对应的内存单元地址为2000H,它的指针就是2000H。 指向变量的指针变量: 一个专门用来存放另一个变量地址的变量,它的值是指针。上面变量b中存放的是变量a的地址,变量b中的值是变量a的指针,变量b就是一个指向变量a的指针变量。 如上所述,指针实质上就是各种数据在内存单元的地址 二.指针变量的定义 指针变量的定义与一般变量的定义类似,定义的一般形式为: 数据类型说明符 [存储器类型] *指针变量名; “数据类型说明符”说明了该指针变量所指向的变量的类型。 “存储器类型” 如果带有此选项.指针被定义为基于存储器的指针。无此选项时,被定义为一般指针,这两种指针的区别在于它们占的存储字节不同。 例如: int *

文档评论(0)

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

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

1亿VIP精品文档

相关文档