欢迎来到天天文库
浏览记录
ID:37724352
大小:31.00 KB
页数:7页
时间:2019-05-29
《Hello World的N种写法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、“HelloWorld!”的N种写法关键字:HelloWorld!,C/C++基础,入门作者:佚名 更新:2006-11-3001:08:48 浏览:19092在初学一门编程语言的时候,写一个“Hello world!”程序是最常见的入门方法。通过写一个成功的“Hello world!”,可以实践这门语言最基本的语法特性,还可以带给自己成就感,真是一举两得。C/C++语言本身有很多特性,如果能够将这些技术分解出来变成一个个的“Hello world!”,并且将这些技术点到为止,貌似也算是一件善事。这里
2、,列举了10个“Hello world!”程序,大家雅俗共赏一下。1. 最经典的“Hello world!”“Hello world!”最经典的写法当然是直接用 printf 输出“Hello world!”这几个字符了。无论用C还是 C++,写起来都非常的简洁明了。这里把最常见的几个全部列在下面。#include #include int main(){ printf("Hello world!"); // 教科书的写法 puts("Hello
3、 world!"); // 我最喜欢的 puts("Hello" " " "world!"); // 拼接字符串 std::cout<<"Hello world!"<4、rld!”在C/C++里,宏是一个神奇的东西。特别是在C语言中,宏可以帮我们做一些“又脏又累”的活,包括拼接代码片断、隐藏繁琐的实现细节等等。其中特别有趣的是“#”的用法,它可以“提取”参数的名字,把它变成字符串。#include #define Say(sth) puts(#sth)int main(){ return Say(Hello world!);}请注意,这个Hello world可是完全没有出现引号哦!3. 断章取义的“Hello world!”字符串是一种常量这当然毫无5、疑问,但是它的类型是什么,这就需要考虑一下了。使用C++的typeid就可以这个问题的答案,而且只要是符合C或C++标准的编译器就应该是一样的结果。比如字符串“Hello world!”,它的类型就是 char const [13]。知道了这个,就可以写出以下的“Hello world!”:#include int main(){ return puts(&"Do not say: Hello world!"[12]);}4. 退出时运行的“Hello world!”大家都知道 mai6、n 函数退出意味着程序结束,可是这并不完全正确,我们完全可以在 main 函数退出以后做很多事呢——比如说,输出“Hello world!”。这个功能依赖于C标准库中提供的函数 atexit(),调用这个函数并注册自己的回调函数就行。需要注意,这个函数可以调用多次,最后注册的函数最先执行。#include #include void say(){ printf("world!");}void sth(){ printf("Hello ");}int main(){7、 return atexit(say), atexit(sth);}5. 读取自己的“Hello world!”C/C++的编译器提供了一些有用的内置宏,最常用的就是 __FILE__ 和 __LINE__ 了。其中,__FILE__ 代表当前的源文件的文件名,嗯,对了,如果我们让这个程序读取自己的源文件,不就可以做一个很有意思的“Hello world!”了么?// Hello world!#include #include #include in8、t main(){ std::ifstream ifs(__FILE__); std::string say, some, word; ifs >> say >> some >> word; std::cout<
4、rld!”在C/C++里,宏是一个神奇的东西。特别是在C语言中,宏可以帮我们做一些“又脏又累”的活,包括拼接代码片断、隐藏繁琐的实现细节等等。其中特别有趣的是“#”的用法,它可以“提取”参数的名字,把它变成字符串。#include #define Say(sth) puts(#sth)int main(){ return Say(Hello world!);}请注意,这个Hello world可是完全没有出现引号哦!3. 断章取义的“Hello world!”字符串是一种常量这当然毫无
5、疑问,但是它的类型是什么,这就需要考虑一下了。使用C++的typeid就可以这个问题的答案,而且只要是符合C或C++标准的编译器就应该是一样的结果。比如字符串“Hello world!”,它的类型就是 char const [13]。知道了这个,就可以写出以下的“Hello world!”:#include int main(){ return puts(&"Do not say: Hello world!"[12]);}4. 退出时运行的“Hello world!”大家都知道 mai
6、n 函数退出意味着程序结束,可是这并不完全正确,我们完全可以在 main 函数退出以后做很多事呢——比如说,输出“Hello world!”。这个功能依赖于C标准库中提供的函数 atexit(),调用这个函数并注册自己的回调函数就行。需要注意,这个函数可以调用多次,最后注册的函数最先执行。#include #include void say(){ printf("world!");}void sth(){ printf("Hello ");}int main(){
7、 return atexit(say), atexit(sth);}5. 读取自己的“Hello world!”C/C++的编译器提供了一些有用的内置宏,最常用的就是 __FILE__ 和 __LINE__ 了。其中,__FILE__ 代表当前的源文件的文件名,嗯,对了,如果我们让这个程序读取自己的源文件,不就可以做一个很有意思的“Hello world!”了么?// Hello world!#include #include #include in
8、t main(){ std::ifstream ifs(__FILE__); std::string say, some, word; ifs >> say >> some >> word; std::cout<
此文档下载收益归作者所有