C++ Primer Plus 6th 2.6 复习题 第4题 打印hello world

1198 人浏览 | 时间: 2019-01-20 12:43:08 | 作者: codexia 会员文章,禁止转载

C++Primer Plus 6th 2.6复习题解答 第4题
题目:
4.什么语句可以用来打印短语“Hello, world”,然后开始新的一行?

答案:cout<<"Hello,world\n"; 或 cout<<"Hello,world"<<endl;
    
C++技术网辅导详解解答:

    Hello,World!这是一句最经典的一个问候语。能够在开始一个新的世界的时候,如果能先说出来这个招呼,就是成功了一大步。所以,每次看到这个招呼语,都也别有感觉。
    那么如何把这个招呼打印出来呢?另外还要换一行显示?
    解答这题,我们不只是要一个答案,更需要知道为什么是这样,还要拓展一下。解决这个问题的关键点:打印、打印的内容、新的一行、换行符、打印函数
1.打印
    在没有学习编程之前,我们总会觉得打印是打印机在A4纸上打印文字的意思。然而在学习编程之后,打印还有特指的意思。
    在计算机里,打印不一定只是打印到纸上,还可以打印到屏幕上,还可以打印到文件里,还可以打印到内存里。简单来说,打印其实就是将CPU里处理的结果输出来显示在一个地方而已。是显示到内存里(人看不到、程序结束或断电就没有了)、显示到文件里(需要读取文件才能看到,而且文件可以一直保存着,可以给别人看)、显示在A4纸上(人可以看,但是难得再复制内容)、显示在屏幕上(随时可以在电脑屏幕上看到输出来的结果,也可以复制)。自然,在本题中,指的就是打印到屏幕上,也就是我们常见的黑窗口控制台窗口里,这个也是C/C++打印结果最简单的方式,也是标准的打印方式,只要调用标准命名空间的标准打印函数就可以在屏幕上显示结果了。
2.打印的内容
    而要打印的内容,自然是要输出来显示的。能显示出来的东西,就是最终呈现给我们看到的,再也无需计算了。那么输出来字符串就行了。当然了,对于非文本的内容,就输出来图片、音频、视频之类的。所以被标准打印的内容,一般都是字符串形式。而题目中要打印的"Hello, world",用双引号括起来,就是字符串了。
3.新的一行
    为什么需要新的一行?当我们要显示的文字超过了一行,如果不换行显示,就看不到了。所以此时需要换新的一行。一行在水平上是从左到右的,如果在同一水平线下面显示的,就是下一行了,即新的一行。
4.换行符
    那么如何来确定新的一行呢?有时候我们可以看到,虽然一行字没有到最右边,但是还是从下面显示了,为什么呢?这就要说换行符这个东西了。一串文本,只要遇到换行符,就会在新的一行显示后续的内容,而不管有没有到最右边。而所谓的自动换行,也就是程序自动识别长度,如果到了最右边,自动加入一个换行符,这样就可以轻松控制换行了。
    换行这个动作行为,是显卡内部驱动程序来支持实现的。有了这个换行符,操作系统就会将换行的要求发送给显卡,显卡再在换行符所在的位置下面新起一行显示后续的内容。
    在C/C++语言里,换行符是用\n来表示的。只要将\n放在字符串里,就会形成换行显示的效果。如:
"Hello\nworld"
    打印的结果是:
Hello
world
    如果没有\n,那么打印的结果是:
Helloworld
    另外要注意,在Windows系统里的文本文件txt的格式里,换行符并不是\n,而是\r\n。在Linux和Unix系统中,文本文件的换行符是\n。而在苹果Mac系统中换行符是\r。而且,对于这三种表示,不同的软件支持也有区别,而且还可以切换表示。比如Notepad++。在软件中显示的\r\n分别对应CR和LF。
    \r是\return的缩写,return是回车的意思。也即是我们键盘上的Enter回车键产生的符号。而\n是\newline的缩写,newline是新的一行的意思。这个在键盘上无法产生。而对于\r\n都不是直接的字符,前面加了\。反斜杠\表示后面跟的符号,组合起来是一个特殊的符号,有特殊的意义。
    在C/C++函数里,我们只需要使用\n就可以了。而在C++里,我们还可以通过endl这个名字自动产生换行符。所以C++里有两种加入换行符的做法,即\n和endl。
5.打印函数
    在C++里,打印内容,我们使用cout就可以了。当然这个需要我们事先包含了标准命名空间,因为这个名字是在标准命名空间里定义的,并且要指定使用标准命名空间,才可以使用cout。所以我们要包含iostream头文件,然后使用标准命名空间,如下:
#include <iostream>
using namespace std;
    然后就可以使用cout了。用法就不在这里介绍,书里有。
    当然,在C++中我们还可以使用C语言的标准库函数。所以我们还可以使用printf函数来打印。所以这个答案还可以是:
printf("Hello,world\n");
    printf的定义在iostream头文件里已经被定义了。当然你可以直接使用C语言的头文件stdio.h,包含的代码如下:
#include <stdio.h>
    
    以上就是这题的详细解答了。Get it 了么?!
当前文章为会员文章,请前往[用户中心]开通会员后继续阅读。

C++ Primer Plus 6th习题