往期传送门:
《C++ Primer Plus 第六版 中文版》的研读与学习(三)
《C++ Primer Plus 第六版 中文版》的研读与学习(二)
《C++ Primer Plus 第六版 中文版》的研读与学习(一)
今天,我们继续来学习《C++ Primer Plus 第六版 中文版》,上次我们讲到C++的头文件和命名空间,今天我们下来看看C++中显示消息(输出)的语句。
先贴上样例代码:
#include // a PREPROCESSOR directive 一个预处理器编译指令
int main() // function header 函数头
{ // start of function body 开始函数体
using namespace std; // make definitions visible 编译指令
cout << "Come up and C++ me some time."; // message 输出一条信息
cout << endl; // start a new line 换行
cout << "You won't regret it" << endl; // more output 更多输出
return 0; // terminate main() 终止主函数
} // end of function body 结束函数体
在C++中,我们使用cout
语句进行输出操作,双引号内为输出内容(字符串),符号<<
指出了信息流动的方向。其中,cout
是一个预定义的对象,只需要知道对象的接口,不需知道其具体内容即可使用。
例如:
#include
int main()
{
using namespace std;
string str = "Hello world!"; //C++中字符串的定义使用string
cout << str; //输出str字符串
cout << endl;
return 0;
}
语句cout << str;
并不知道str
的具体内容,只知道其接口,仍然可以成功完成输出操作。
在C++中,输入输出的概念均为“流”,这一点不同于C语言。也就是说,我们将要输出的字符串插入到输出流当中实现了输出。
在本文贴出的两段代码中,都有这样的一条语句:
cout << endl;
在C++中,endl
是一个重要的控制符(manipulator),表示重起一行。同样在头文件iostream
中定义,位于名称空间std
中。
当然,在C++中也兼容传统的C换行符\n
,例如:
#include
int main()
{
using namespace std;
cout << "Come up and C++ me some time.";
cout << "\n";
cout << "You won't regret it\n";
return 0;
}
也可以达到同样的效果。
接下来,我们谈谈关于C++代码的格式化。有些语言(例如Python)是面向行的,每一行仅有一条语句、一条语句仅能占据一行。但是在C++中,由于有分号作为分隔符,同一条语句可以占据若干行、若干条语句也可以放在同一行(即语句中空格、制表位、回车等效)。当然,原始字符串中,也可以包含回车(C++11新增)。
此时,就需要引入C++中的两个重要概念:标记(token)和空白(white space)。标记是一行代码中不可分割的部分,必须用空格、制表位、回车将两个标记分隔开,空格、制表位、回车统称为空白。
因此,如下的代码是合法的:
int main()
return 0;
如下的代码是非法的:
intmain()
return0;
为了代码阅读方便,我们通常采用以下的风格书写C++代码:
每条语句占一行、一行一般只有一条语句 每个函数都有一对花括号在函数体两端,各占一行、缩进相同 函数中的语句相对于花括号缩进一个制表位 函数名称相关的圆括号周围没有空白今天的分享就到此结束,下一期我们将重点讲解C++语句的内容。
弦之弈 原创文章 13获赞 13访问量 401 关注 私信 展开阅读全文