控制台这个词是一个老旧的计算机术语,计算机操作员通过在终端上打字来与系统进行交互的日子。终端由简单的屏幕和键盘组成,被称为控制台。
在现代计算机上,运行的是 Windows 或 Mac OS 等图形操作系统,控制台输出通常显示在如图 1 所示的窗口中。C++ 提供了一个名为 cout 的对象,用于产生控制台输出。cout 这个词可以看作是来源于 console output(控制台输出)。
图 1 控制台窗口
// A simple C++ program #include <iostream> using namespace std; int main() { cout << "Programming is great fun!"; return 0; }<< 操作符用于将字符串"Programming is great fine!"发送到 cout。当以这种方式使用 << 符号时,它被称为流插入运算符。运算符右侧的项目被插入到输出流中,该输出流将被发送到 cout 以在屏幕上显示。
cout<<"Hello";
cout<—"Hello";
// A simple C++ program #include <iostream> using namespace std; int main() { cout << "Programming is " << "great fun!"; return 0; }可以看到,流插入运算符可以用于发送多个项目到 cout。该程序的输出与之前同。
// A simple C++ program #include <iostream> using namespace std; int main() { cout << "Programming is "; cout << "great fun!"; return 0; }该程序的输出结果与前面程序是一样的。
// A unruly printing program #include <iostream> using namespace std; int main() { cout << " The following items were top sellers"; cout << "during the month of June:"; cout << "Computer games"; cout << "Coffee"; cout << "Aspirin"; return 0; }程序输出结果:
The following items were top sellersduring the month of June:Computer gamesGoffeeAspirin
实际输出的结果看起来并不像源代码中字符串的排列方式。首先,可以发现在单词“sellers”和“during”之间以及“June:”和“Computer”之间都没有显示空格。cout 严格按发送的字符串显示消息,所以,要显示空格,则它们必须出现在字符串中。//An unruly printing program #include <iostream> using namespace std; int main() { cout << "The following items were top sellers" << endl; cout << "during the month of June:" << endl; cout << "Computer games" << endl; cout << "Coffee" << endl; cout << "Aspirin" << endl; return 0; }程序输出结果:
The following items were top sellers
during the month of June:
Computer games
Coffee
Aspirin
注意,endl 的最后一个字符是字母 L 的小写形式,不是数字 1。
//An unruly printing program #include <iostream> using namespace std; int main() { cout << "The following items were top sellers\n"; cout << "during the month of June:\n"; cout << "Computer games\nCoffee"; cout << "\nAspirin"; return 0; }程序输出结果:
The following items were top sellers
during the month of June:
Computer games
Coffee
Aspirin
转义序列 | 名 称 | 说 明 |
---|---|---|
\n | 换行 | 将光标移到下一行进行后续打印 |
\t | 水平制表 | 将光标跳到下一个制表位置 |
\a | 报警 | 使计算机发出蜂鸣 |
\b | 退格 | 使光标后退(例如向左移动)一个位置 |
\r | 回车 | 将光标移到当前行(不是下一行)的开头 |
\\ | 反斜杠 | 打印一个反斜杠字符 |
\* | 单引号 | 打印一个单引号字符 |
\" | 双引号 | 打印一个双引号字符 |
cout << "Four score/nAnd seven/nYears ago. /n"; // 错误!
因为程序员不小心写了 /n 而不是 \n,所以 cout 只会在屏幕上显示 /n 字符,而不是开始一个新的输出行。此代码将创建以下输出:Four score/nAnd seven/nYears ago./n
另一个常见的错误是忘记把 \n 放在引号内。例如,以下代码将无法编译。
cout << "Good" << \n; // 错误!
cout << "Morning" << \n; //该代码不会被编译
cout << "Good\n"; //这才是正确的
cout <<"Morning\n";
"One\nTwo\nThree\n"
图 2 中的示意图将该字符串分解成了单个字符,这样就可以清楚地看到每个 \n 转义序列是如何被认为只是一个字符的。
图 2 字符串分解示意图
本文链接:http://task.lmcjl.com/news/13112.html