Hello World的N种写法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hello World的N种写法

“Hello World!”的N种写法 关键字:Hello World!,C/C++基础,入门 作者:佚名? ? 更新:2006-11-30 01:08:48? ? 浏览:19092 #include?stdio.h #include?iostream int?main() { ? ? printf(Hello?world!);? ? ? ? ? ? ? ? ? ?//?教科书的写法Hello?world!);? ? ? ? ? ? ? ? ? ? ?//?我最喜欢的Hello???world!);? ? ? ? ? ? ? ?//?拼接字符串Hello?world! std::endl;?//?C++风格的教科书写法return?0; } 特别需要注意的是,在C/C++里,如果两个字符串之间除空白符以外没有任何东西,编译器会自动认为这两个字符串是连在一起的字符串。这样,如果一个字符串过长,可以用这种方法换行来写,既不浪费性能,又美观。 2.?用宏写的“Hello?world!” 在C/C++里,宏是一个神奇的东西。特别是在C语言中,宏可以帮我们做一些“又脏又累”的活,包括拼接代码片断、隐藏繁琐的实现细节等等。其中特别有趣的是“#”的用法,它可以“提取”参数的名字,把它变成字符串。#include?stdio.h #define?Say(sth)?puts(#sth) int?main() { ? ? return?Say(Hello?world!); } 请注意,这个Hello?world可是完全没有出现引号哦! 3.?断章取义的“Hello?world!” 字符串是一种常量这当然毫无疑问,但是它的类型是什么,这就需要考虑一下了。使用C++的typeid就可以这个问题的答案,而且只要是符合C或C++标准的编译器就应该是一样的结果。比如字符串“Hello?world!”,它的类型就是?char?const?[13]。 知道了这个,就可以写出以下的“Hello?world!”: #include?stdio.h int?main() { ? ? return?puts(Do?not?say:?Hello?world![12]); } 4.?退出时运行的“Hello?world!” 大家都知道?main?函数退出意味着程序结束,可是这并不完全正确,我们完全可以在?main?函数退出以后做很多事呢——比如说,输出“Hello?world!”。这个功能依赖于C标准库中提供的函数?atexit(),调用这个函数并注册自己的回调函数就行。需要注意,这个函数可以调用多次,最后注册的函数最先执行。 #include?stdio.h #include?stdlib.h void?say() { ? ? printf(world!); } void?sth() { ? ? printf(Hello?); } int?main() { ? ? return?atexit(say),?atexit(sth); } 5.?读取自己的“Hello?world!” C/C++的编译器提供了一些有用的内置宏,最常用的就是?__FILE__?和?__LINE__?了。其中,__FILE__?代表当前的源文件的文件名,嗯,对了,如果我们让这个程序读取自己的源文件,不就可以做一个很有意思的“Hello?world!”了么? //?Hello?world! #include?iostream #include?fstream #include?string int?main() { ? ? std::ifstream?ifs(__FILE__); ? ? std::string?say,?some,?word; ? ? ifs??say??some??word; ? ? std::cout some ? word; ? ? return?0; } 6.?话分两头的“Hello?world!” 有了C++的类,我们就可以光明正大的在?main?函数执行之前和之后做感兴趣的事情了。我们可以声明一个全局的类的实例,这样,在?main?函数执行之前会调用这个类的构造函数,结束之后则会调用析构函数。 #include?iostream // 本文转自 C++Builder研究 - /article.asp?i=999d=v433i2 class?say { public: ? ? say() ? ? { ? ? ? ? std::cout Hell; ? ? } ? ? ~say() ? ? { ? ? ? ? std::cout world!; ? ? } }hello; int?main() { ? ? std::cout o?; ?

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档