page contents

C++输入输出(cin和cout)

在C语言中,我们通常会使用 scanf 和 printf 来对数据进行输入输出操作。在C++语言中,C语言的这一套...

在C语言中,我们通常会使用 scanf 和 printf 来对数据进行输入输出操作。在C++语言中,C语言的这一套输入输出库我们仍然能使用,但是 C++ 又增加了一套新的、更容易使用的输入输出库。

【例1】简单的输入输出代码示例:



  1. #include<iostream>

  2. using namespace std;

  3. int main(){

  4. int x;

  5. float y;

  6. cout<<"Please input an int number:"<<endl;

  7. cin>>x;

  8. cout<<"The int number is x= "<<x<<endl;

  9. cout<<"Please input a float number:"<<endl;

  10. cin>>y;

  11. cout<<"The float number is y= "<<y<<endl;

  12. return 0;

  13. }

运行结果如下(↙表示按下回车键):
Please input an int number:
8↙
The int number is x= 8
Please input a float number:
7.4↙
The float number is y= 7.4

C++ 中的输入与输出可以看做是一连串的数据流,输入即可视为从文件或键盘中输入程序中的一串数据流,而输出则可以视为从程序中输出一连串的数据流到显示屏或文件中。

在编写 C++ 程序时,如果需要使用输入输出时,则需要包含头文件iostream,它包含了用于输入输出的对象,例如常见的cin表示标准输入、cout表示标准输出、cerr表示标准错误。

iostream 是 Input Output Stream 的缩写,意思是“输入输出流”。

cout 和 cin 都是 C++ 的内置对象,而不是关键字。C++ 库定义了大量的类(Class),程序员可以使用它们来创建对象,cout 和 cin 就分别是 ostream 和 istream 类的对象,只不过它们是由标准库的开发者提前创建好的,可以直接拿来使用。这种在 C++ 中提前创建好的对象称为内置对象。

使用 cout 进行输出时需要紧跟<<运算符,使用 cin 进行输入时需要紧跟>>运算符,这两个运算符可以自行分析所处理的数据类型,因此无需像使用 scanf 和 printf 那样给出格式控制字符串。

第 6 行代码表示输出"Please input a int number:"这样的一个字符串,以提示用户输入整数,其中endl表示换行,与C语言里的\n作用相同。当然这段代码中也可以用\n来替代endl,这样就得写作:

cout<<"Please input an int number:\n";

endl 最后一个字符是字母“l”,而非阿拉伯数字“1”,它是“end of line”的缩写。

第 7 行代码表示从标准输入(键盘)中读入一个 int 型的数据并存入到变量 x 中。如果此时用户输入的不是 int 型数据,则会被强制转化为 int 型数据。

第 8 行代码将输入的整型数据输出。从该语句中我们可以看出 cout 能够连续地输出。同样 cin 也是支持对多个变量连续输入的,如下所示。

【例2】cin 连续输入示例:



  1. #include<iostream>

  2. using namespace std;

  3. int main(){

  4. int x;

  5. float y;

  6. cout<<"Please input an int number and a float number:"<<endl;

  7. cin>>x>>y;

  8. cout<<"The int number is x= "<<x<<endl;

  9. cout<<"The float number is y= "<<y<<endl;

  10. return 0;

  11. }

运行结果:
Please input an int number and a float number:
8 7.4↙
The int number is x= 8
The float number is y= 7.4   

第 7 行代码连续从标准输入中读取一个整型和一个浮点型数字(默认以空格分隔),分别存入到 x 和 y 中。

输入运算符>>在读入下一个输入项前会忽略前一项后面的空格,所以数字 8 和 7.4 之间要有一个空格,当 cin 读入 8 后忽略空格,接着读取 7.4。

初学者可能会觉得 cout、cin 的用法非常奇怪,它们既不是类似 printf()、scanf() 的函数调用,也不是关键字,请大家先保留这个疑问,我们会在《C++运算符重载》一章中为你揭开谜底。

cout、cin 的用法非常强大灵活,本节所展示的只是最基本的功能,更多高级技巧将在后续章节中介绍。在以后的 C++ 编程中,我也推荐大家使用 cin、cout,它们比C语言中的 scanf、printf 更加灵活易用。

attachments-2021-03-B2nFNlYK605457ab5ee30.jpg*来源于网络,如有侵权,告知必删。

  • 发表于 2021-03-19 15:54
  • 阅读 ( 603 )
  • 分类:C/C++开发

0 条评论

请先 登录 后评论
小柒
小柒

1478 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1478 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章