【C++】2.C++的输入与输出

文章目录

  • 前言
  • 一、C++的输入\出头文件
  • 二、C++的输入&输出关键字
    • 2.1 输出cout
    • 2.2 输入cin
  • 三、c++输入输出与c语言的输入输出


前言

c语言中我们使用scanf,printf等来进行输入、输出操作,在C++中我们是否有其他方式呢?答案是有的,下面我们来介绍c++的输入&输出。


一、C++的输入\出头文件

同c语言的标准输入输出#include 一样,c++输入输出也需要包含头文件#include
注:iostream - input output stream 输入输出流。

  1. 观察c语言与c++的头文件,你会发现什么?c++的头文件没有.h的后缀。
    答:在早期c++中,c++的头文件是有.h的后缀的,你在一些很老的编译器上可以使用#include 这种头文件,比如VC6.0。但后来,c++有了命名空间,有很多标识符被放在c++的标准命名空间std中,为了与之前老版本的头文件(带.h)区分,新版本的头文件就取消了.h后缀。后来更是直接舍弃了老版本的头文件,于是现在的c++头文件不带.h后缀。
  2. 流是什么?
    答:在计算机中,流是指在输入/输出(I/O)操作中将数据从一个地方传输到另一个地方的连续数据序列。流可以是字节流(Byte stream)或字符流(Character stream),并且可以是单向流(输入或输出)或双向流。常见的流有文件流、网络流、管道流等。流的使用可以使程序的输入输出变得更为高效和灵活。

二、C++的输入&输出关键字

2.1 输出cout

【C++】2.C++的输入与输出_第1张图片

说明:

  1. 使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含< iostream >头文件以及按命名空间使用方法使用std。(std是c++官方的标准命名空间,使用官方库里面的函数/类/变量……需要使用这个命名空间)
  2. cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含< iostream >头文件中。
  3. <<是流插入运算符,>>是流提取运算符。它们同时也是c语言的左移操作符和右移操作符。使用时,编译器会根据上下文来识别它们代表的含义。
  4. 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。C++的输入输出可以自动识别变量类型。
  5. 实际上cout和cin分别是ostream和istream类型的对象。

形象的解释:
【C++】2.C++的输入与输出_第2张图片
cout后面 << 是可以累加的,打印时会自动识别变量类型。如下图
【C++】2.C++的输入与输出_第3张图片


2.2 输入cin

【C++】2.C++的输入与输出_第4张图片
cin会自动识别变量的类型。
注意:cin >> cout这样写是错误的


三、c++输入输出与c语言的输入输出

上面说到c++的输入&输出会自动识别变量类型,那如果我输出时要控制精度怎么办?cout也可以做到,但不推荐。

float a=0.123;
cout<<a<<endl;//输出 0.123
cout<<setprecision(5)<<a<<endl;//输出 0.123

cout.setf(ios::fixed);
cout<<setprecision(5);
cout<<a<<endl;//输出 0.12300

写这么麻烦干什么?c++兼容c,因此我们可以直接使用printf来控制。

同时c语言的输入输出函数快于c++的cin和cout.
这是由于c++兼容c,而输入输出函数是有缓冲区,因此c++的输入输出函数使用时要检查c语言的输入输出函数的缓冲区,这一定程度会降低它的性能。当然你可以通过关闭c++的同步来解决。


你可能感兴趣的:(c++,c语言,开发语言)