嵌入式系统的开发与应用实习任务书

嵌入式系统的开发与应用实习任务书

ID:19690047

大小:73.50 KB

页数:11页

时间:2018-10-05

嵌入式系统的开发与应用实习任务书_第1页
嵌入式系统的开发与应用实习任务书_第2页
嵌入式系统的开发与应用实习任务书_第3页
嵌入式系统的开发与应用实习任务书_第4页
嵌入式系统的开发与应用实习任务书_第5页
资源描述:

《嵌入式系统的开发与应用实习任务书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式系统的开发与应用实习任务书一、实习目的:通过一个参数个数不固定函数的设计和调试,练习嵌入式系统C程序的设计方法。二、实习内容编写一个简化的仿scanf函数,名为myscanf函数,实现从键盘中输入十进制整数和小数型实数的功能。该函数格式如下intmyscanf(char*formatstr,...)在VC平台上开发。三、实习具体要求1.第一个参数是格式字符串,格式只识别%d和%f这两种格式,分别表示十进制int型数据(32位有符号整数)和小数格式的double型数据。在格式字符串中,如果发现%后有其它字符(非d和非f),认为有错,停止处理,并打印出错信息,返回-1。2.当然

2、输入的整数数据超出范围时,按出错处理,停止处理,并打印出错信息,返回-1。由于小数格式double类型的整数部分最多可以到达三百多位,因此我们不处理超出数据范围的错误。3.在格式的其他字符匹配中,只要有不匹配的字符,按出错处理,停止处理,并打印出错信息,返回-1。4.该函数只处理一行数据,不处理跨行数据。5.当处理正确完成后,返回值就是输入的整数和实数的总个数。6.可以使用C语言本身所带的gets函数。五、实习报告要求1.所提交内容包括程序设计书和程序清单两部分2.所做程序必须保证程序的健壮性。在完成基本功能的同时,能处理各种错误处理以及意外事件。3.提交的程序设计书应该包含各个

3、过程的功能、参数说明。并用流程图表示该过程的算法。4.所提交的程序必须结构清晰,层次分明。程序应该有比较好的可读性。程序清单中至少30%是注解。//test.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include#include#include#defineMAX_LEN200#defineMAX_POSINTSTR"2147483647"//最大整数字符串#defineMAX_NEGINTSTR"2147483648"//

4、最小整数绝对值字符串/*判断一个整数字符串是否越界如果越界则返回1-,否则返回0intstr:用于判断的整数字符串*/intdefineoverflow(char*intstr){intn1,i,n2;charstandstr[15];if(intstr[0]=='-'){//如果是负数,则用最小整数绝对值进行判断strcpy(standstr,MAX_NEGINTSTR);intstr++;//越过负号}else{//如果是负数,则用最小整数绝对值进行判断strcpy(standstr,MAX_POSINTSTR);if(intstr[0]=='+')intstr++;//越过

5、正符号}n1=strlen(intstr);n2=strlen(standstr);//整数字符串位数过长,则定越界,返回-1if(n1>n2)return-1;//整数字符串位数较短,则肯定不越界,返回0if(n1standstr[i])return-1;}//如果刚好是极限值return0;}/*从整型字符串得到整数值intstr:整形字符串返回值是所得到的整数*/intgetintvalue

6、(char*intstr){intsgn;//符号变量,表示该整数的正负intv=0;char*p=intstr;if(intstr[0]=='-'){sgn=-1;p++;}else{sgn=1;if(intstr[0]=='+')p++;}while(*p!=''){v=v*10+(*p-'0');p++;}v=v*sgn;returnv;}/*从实型字符串得到double值doublestr:整形字符串返回值是所得到的实数值*/doublegetdoublevalue(char*doublestr){intsgn;//符号变量,表示该整数的正负doublev=0;cha

7、r*p=doublestr;doublek=10;//小数的比例因子if(doublestr[0]=='-'){sgn=-1;p++;}else{sgn=1;if(doublestr[0]=='+')p++;}while(*p!=''&&*p!='.'){v=v*10+(*p-'0');p++;}if(*p=='.'){p++;while(*p!='0'){v+=(*p-'0')/k;k=k*10;p++;}}v=v*sgn;returnv;}/*匹配普通字符串,要求输入字符

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。