- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(3)字符数组 若一个数组的元素是字符型的,则该数组就是一个字符数组。例如: char a[10]= {‘B’,‘E’,‘I’,‘ ’,‘J’,‘I’,‘N’,‘G’,‘/0’}; 上面定义了一个字符型数组a[ ],有10个数组元素,并且将9个字符(其中包括一个字符串结束标志‘\0’)分别赋给了a[ 0]~a[8],剩余的a[9]被系统自动赋予空格字符。 C51还允许用字符串直接给字符数组置初值,例如: char a[10]= {“BEI JING”}; 用双引号括起来的一串字符,称为字符串常量,C51编译器会自动地在字符串末尾加上结束符‘\0’。 用单引号括起来的字符为字符的ASCII码值,而不是字符串。例如‘a’表示a的ASCII码值为61H,而“a”表示一个字符串,由两个字符a和\0组成。 一个字符串可以用一维数组来装入,但数组的元素数目一定要比字符数多一个,以便C51编译器自动在其后面加入结束符‘\0’。 3.6.2 数组的应用 在C51编程中,数组的一个非常有用的功能是查表。例如数学运算,编程者更愿意采用查表计算而不是公式计算。又如,对于传感器的非线性转换需要进行补偿,使用查表法就要有效得多。再如,LED显示程序中,根据要显示的数值,通过查表找到对应的显示段码送到LED显示器显示。 【例3-4】使用查表法,计算数0~9的平方。 #define uchar unsigned char uchar code square[10]={0,1,4,9,16,25,36,49,64,81}; //0~9的平方表,在程序存储器中 uchar fuction(uchar number) { return square[number]; //返回要求得其平方的数 }; main() //主函数 { uchar result; result= fuction(7); //函数fuction()的返回值为7的平方49,存入result变量中 } 自增和自减运算符的功能是使变量自动加1或减1。自增和自减运算符放在变量之前和变量之后是不同的。 ++i,--i:在使用i之前,先使i值加(减)1。 i++,i--:在使用i之后,再使i值加(减)1。 例如:若i=4,则执行x=++i时,先使i加1,再引用结果,即x=5,运算结果为i=5,x=5。 再如:若i=4,则执行x=i++时,先引用i值,即x=4,再使i加1,运算结果为i=5,x=4。 3.4.2 逻辑运算 逻辑运算操作符主要包括: (逻辑与),||(逻辑或),!(逻辑非)。 逻辑运算结果为真时取1,否则取0。 3.4.3 关系运算 关系运算主要用于比较操作数的大小关系,包括: (小于),=(小于等于),(大于),=(大于等于), = =(等于),!=(不等于)。 若关系成立,结果为1;若关系不成立,结果为0。 3.4.4 位运算 位运算是将两个操作数按二进制数展开,然后对应位进行逻辑运算。 位运算操作符包括:(按位与),|(按位或),^(按位异或),~(按位取反),(位左移),(位右移)。 位运算的操作对象只能是整型和字符型数据。这些位运算和汇编语言中的位操作指令十分类似。 1. 左移运算符() 该运算符用来将一个数的各二进制位全部左移若干位,左高位溢出,右低位补0。例如: b=a2;a=a2;a=2; 高位左移后溢出,舍弃掉。在该数左移时被溢出舍弃的高位不为1时,左移1位相当于该数乘以2。例如: 152=60; 又如,1432=60,原因是最高位为1,左移后被溢出,不能等同于乘以2。 2. 右移运算符() 该运算符用来将一个数的各二进制位全部右移若干位,左高位补0,右低位溢出。例如: b=a2;a=a2;a=2; 低位右移后溢出,舍弃掉。在该数右移时被溢出舍弃的低位不为1时,右移1位相当于该数除以2。例如: 162=4 又如,632=15,原因是最后2位为1,右移后被溢出,不能等同于除以4。 3. 按位异或运算符(^) 异或运算的规则是:参加运算的两个二进制位相同时结果为0(假),相异时结果为1(真)。即 0^0=0;0^1=1;1^0=1;1^1=0; 例如:0x2D^0x0F=0x22,将十六进制数0x2D与十六进制数0x0F进行按位异或运算,则高四位保持
原创力文档


文档评论(0)