单片机的C语言应用设计答案.ppt

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

习题参考答案(P.142) 习题1. C语言中,函数的存储类型和数据类型的意义是什么? 答:一,函数存储类型有extern(外部函数)和static(内部函数或静态函数)。在没有任何存储类说明的情况下函数都是全程序可见的,即函数的默认存储类特性为extern。Static存储类使函数对对其所在的文件定义之前的部分和非定义文件是不可见的,不能调用的。 二,数据类型是说明函数的返回值类型。包括简单类型(char,unsigned char,int,unsigned int,long,unsigned long,float,bit),复合型(struct,union)和无类型(void) 习题参考答案(P.142) 习题3. 作为函数形式参数使用的数组名具有什么特征?它们的使用特点是什么? 答: 1、当用数组作为函数的参数时,应当在调用函数和被调用函数中分别定义数组; 2、实参数数组与形式参数数组的类型应当一致; 3、实参数数组与形式参数数组的大小可以一致,也可以不同,用户需自行考虑数组的边界问题。 习题5. 当一个函数需要返回多于一个值时,可以怎么做? 答: 可以通过返回指针实现,先把需要返回的所有数据连续存放在一段存储空间中,让该指针指向其首地址,然后返回该指针。 7.编写字符串字符替换函数replchr(s,c1,c2),把字符串s中的c1置换为c2 void replchr(char* s,char c1,char c2) { char i=0,temp; while(s[i] !=\0) { if(s[i]==c1) { temp=c1; c1=c2; c2=temp;} else s++; // 下一个字符 } } void main() { char* str=ABCDabcd; replchr(str,D,d); } 8.编写把十六进制字符串s变换成整数值返回的函数htoi(s) #include “stdio.h” #include “string.h” int translat(char c) //每个字符转换为十进制数 { if(c=‘9’c=‘0’) return c-48; //’9’(0x39)变成9,就是hex39-30, //30表示 ‘0’,依此类推 if(c=‘a’ c=‘f’) return c-87; //a变成10,就是十进制97-87,依此 //类推 if(c=‘A’ c=‘F’) return c-55; //A变成10,就是十进制65-55,依此 //类推 return -1;//其它字符返回-1 } int htoi(char *str) { int length=strlen(str); if(length==0) return 0; int i,n=0,stat; for(i=0;ilength;i++) { stat=translat(str[i]); //每个字符占2个字节 if(stat=0) n=n*16+stat; } return n; } } ASCII码 ASCII : 0 ~ A ~ F a ~ f HEX: 30-39H 41-46H 61-66H 十进制: 48-57

文档评论(0)

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

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

1亿VIP精品文档

相关文档