程序员考试补课笔记(6) .docxVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序员考试补课笔记(6) 今天的整个课程只有这么的一道题,但是学到的东西确很多。下面给出这条题目: 字符数字转为整数数值(字符可以任意:比如342A)遇到其它否数字取前数。 我所写的程序如下,自认为写得不错: #define N 10; int catio(const char *str) /*const 的作用是常数,所以这里的地址不会返回到实参里*/ { int num[N]; int i=0;j=1,n=0; for(;*str++;i++) { if(*str48 || *str57) break; /*判断是否数字数值*/ num[i]=*str-48; } for(i-=1;i=0;i--) { n+=num[i]*j; j*=10; } return n; } 你们说是不是比较简单呢?现在看不出等看完以下的另一个程序先断定吧。如下: long catio(char c[]); { int n,d; char *q,*p; long e=1,s=0; for(q=p=c,n=0;*p!=\0 *p=0 *p=9;p++,n++,e*=10); while(n0) { d=*q++; switch(d) { case 48: d=0;break; /*太长了,略*/ : : case 57: d=9;break; } s+=d*(e/=10); n--; } return (s); }    现在比较来看看,不过虽然这条程序是比我那个复杂,但是也有他的思路和可取之处。像在那个for循环了,一条命令带过很方便也很简洁。其实我们可以继续改造这个程序,我们跟着老师的思路一步一步的把它进化,现在看看如下: long catio(char c[]); { int n,d; char *q,*p; long e=1,s=0; for(q=p=c,n=0;*p *p=0 *p=9;p++,n++,e*=10); while(n0) { d=*q++-0; s+=d*(e/=10); n--; } return (s); }    这样是不是更简化了,那么还可以再简化下去吗?前面的我们是可以做出来啊,当是老师说还可以更简单,我们都只好怀着期待的心情去听了。他一步一步的说出来,第一就是在s+d*(e/10)这里可以变为另一种形式,s=s*10+d,如果按照这样又可以去掉一个多余的变量了,变量e就没有了。接下来的更不可意议了,我不知道怎么说,看看程序先吧。 long catio(char *c); { long s=0; for(;*p *c=0 *c=9;s=s*10+*c++-0); return (s); }   大家看到了吗?原来这么长的程序可以一再简化到这个地步,这就是C语言的灵活了(我好像已经说了好几遍了,真的没有办法,不得不赞叹)。   今天就是这么一题,可真的有意外惊喜呢!好了,现在不写了,还有十道练习题等着我去做呢,大家也要努力喔!

文档评论(0)

简历,PPT,表格专业定制 + 关注
官方认证
服务提供商

毕业于中南财经政法大学,十二年office学习经验。 微软MOS认证专家,曾予供销社、中国银行、国家电网等企事业单位定制财务模板与PPT模板。 头条百家数十万粉丝作者,WPS稻壳儿优秀设计师。

认证主体孝感市城区墨若枫文化传媒中心
IP属地湖北
统一社会信用代码/组织机构代码
92420900MA4CKBU48M

1亿VIP精品文档

相关文档