AVR单片机C语言编程资料.ppt

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 4. 字符串和字符串结束标志 在C语言中,将字符串作为字符数组来处理。 有效字符串的长度:为测定字符串的实际长度,C语言有一个“字符串结束标志”(‘\0’) 。例:有一个字符串,其第10个字符为‘\0’,则此字符串的有效字符为9个。系统对字符串常量也自动加一个‘\0’作为结束符。 在定义字符数组时应估计实际字符串长度,使数组长度始终保证大于字符串实际长度。 char str1[6]={ ’h’, ’e’, ’l’, ’l’, ’o’}; 系统对字符串常量也自动加一个’\0’来作为结束符 例: “program”共有7个字符,但内存中占8个字节,最后一个字节’\0’是由系统自动完成的 6 数组及指针 字符数组 机电系统控制电路设计 * * 6 数组及指针 字符数组 可以用字符串常量来使字符数组初始化。例如: char c[ ]={I am happy}; 也可以省略花括号,直接写成: char c[ ]=I am happy; 此时数组c的长度为多少? 注:数组的长度为11,而不是10,这是因为字符串常量 的最后由系统加上一个’\0’ 上面的初始化与下面的初始化等价: char c[ ]={’I’,’ ’, ’a’,’m’,’ ’,’h’,’a’,’p’, ’p’,’y’,’\0’}; 4. 字符串和字符串结束标志 机电系统控制电路设计 * * 6 数组及指针 字符数组 4. 字符串和字符串结束标志 需要说明的是: 1)字符数组并不要求它的最后一个字符为‘\0’,甚至可以不包含‘\0’。象以下这样写完全是合法的: charc[5]={C,h,i,n,a}; 是否需要加入‘\0’,,完全根据需要决定。但是只要用字符串常量就会自动加一个‘\0’。 2)人们为了使处理方法一致,便于测定字符串的实际长度以及在程序中作相应的处理,在字符数组中也常常人为地加上一个‘\0’。如: char c[6]={C,h,i,n,a,\0}; 机电系统控制电路设计 * * 5. 字符数组与字符串的输入输出 6 数组及指针 字符数组 假设有定义 char a[10]; 1)用格式符”%c”逐个字符输入输出: scanf(”%c”,a[0]); printf(”%c”, a[0]); /*每次输入输出一个字符*/ 2)用格式符“%s”整个字符串输入输出: char c[10]; scanf(%s,c); /*注意此处用数组名c*/ printf(%s, c); /*注意此处用数组名c*/ 机电系统控制电路设计 * * 5. 字符数组与和字符串的出入输出 6 数组及指针 字符数组 用“%s”格式输出字符数组时,遇\0结束输出,且输出字符中不包含\0。若数组中包含一个以上\0,则遇第一个\0时即结束输出。 用“%s”格式输入或输出字符数组时,函数scanf的地址 项、 函数printf的输出项都是字符数组名。这时数组名前 不能再加“”符号,因为数组名就是数组的起始地址。 用语句“scanf (“%s”,s);为字符数组s输入数据时,遇空格键或回车键时结束输入。并且所读入的字符串中不包含空格键或回车键,而是在字符串末尾添加\0。 用一个scanf函数输入多个字符串,输入时应以空格键或回车键作为字符串间的分隔。 机电系统控制电路设计 * * 6 数组及指针 机电系统控制电路设计 浙江省邮电职业技术学院 求是 立德 尚学 精业 * 机电系统控制电路设计 * * 4 函数及其调用 C程序的变量存储类别 ■ static型(静态变量型) 变量值存放在主存储器的静态存储区 程序执行开始至结束,始终占用该存储空间 ■ extern型(外部变量型) 同上,其值可供其他源文件使用 以上两种均属于“静态存储”性质,即从变量定义处开始,在整个程序执行期间其值都存在(≠都可用!!) 机电系统控制电路设计 * * 4 函数及其调用 auto(默认) 所在函数调用结束时,其值自动消失 局部变量 register 如不赋初值,取不确定值为初值 static 所有函数调用结束,其值仍保留 如不赋初值,取初值

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档