c++入门——c++输入cin和输出cout的简单使用

c++输入cin、输出cout

  • [1 cin](#1 cin)
  • [2 cout](#2 cout)
  • [3 cin和cout说明](#3 cin和cout说明)

c++在c语言的输入、输出函数的基础上进行了封装。

1 cin

c可以理解为控制台,in可以理解为输入。

参考代码:

cpp 复制代码
void f(){
    int a;float b;double c;char d;
    cin>>a>>b>>c>>d;//这里和scanf是一样的功能
}

void f2(){
    char st[20]={"\0"};
    cin>>st;//不读空格
    cin.getline(st,20);//读取一行的20个字符,包括空格,不包括换行符
    (cin>>st).get();//不读空格,读完后吸收多余换行符
}

2 cout

参考代码

cpp 复制代码
void f(){
    int a=1;float b=2.2f;
    cout<<a<<b;//输出变量,类似printf
    
    char st[]="Hello, world.";
    cout<<"Hello, world.";//输出字符串
    cout<<st;//输出字符串
    cout<<endl;//输出换行符endl,endl会刷新流
}

#include<iomanip>
//格式输出字符串
void f2(){
    float b=2.2f;
    cout<<fixed<<setprecision(3)<<b;//按3位小数输出浮点数
    int a=4;
    cout<<step(5)<<a;
}

其中endl:end of line。在c语言的换行的基础上新增了很多东西,例如刷新输出流等。

3 cin和cout说明

说明:

  1. 使用cout 标准输出对象(控制台)和cin 标准输入对象(键盘)时,必须包含< iostream >头文件以及按命名空间使用方法使用std。

  2. cout和cin是全局 的流对象,endl 是特殊的C++符号,表示换行输出 ,他们都包含在包含<iostream>头文件中。

  3. <<是流插入运算符,>>是流提取运算符(从控制台提取一个数据,将数据的值给>>后面的变量)。如果有学过运算符重载,可以知道这个提取运算符本质就是一个函数。

测试样例:

cpp 复制代码
#include<iostream>
using namespace std;

int main() {
	int a, b;
	double c;
	cin.operator>>(a);//可以理解为cin的成员函数
	cin.operator>>(b).operator>>(c);
	(cout.operator<<(a) << b).operator<<(c);//加()调整优先级
	return 0;
}
  1. 使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。C++的输入输出可以自动识别变量类型。但在操作的数据量比较大时cin和cout会消耗更多的时间,所以使用再方便也要分情况使用。

  2. 实际上cout和cin分别是ostream和istream类型的对象,>>和<<也涉及运算符重载等知识,

注意:早期标准库将所有功能在全局域中实现,声明在.h后缀的头文件中,使用时只需包含对应

头文件即可,后来将其实现在std命名空间下,为了和C头文件区分,也为了正确使用命名空间,

规定C++头文件不带.h;旧编译器(vc 6.0)中还支持<iostream.h>格式,后续编译器已不支持,因

此推荐使用<iostream>+std的方式:

cpp 复制代码
#include<iostream>
using namespace std;

ps:关于cout和cin还有很多更复杂的用法,比如控制整形输出进制格式等等。因为C++兼容C语言的用法,这些用得不是很多,以后有机会再详细介绍。

相关推荐
普罗米修斯11 分钟前
C++ 设计模式理论与实战大全【共73课时】
c++·后端
普罗米修斯14 分钟前
C++ 设计模式原理与实战大全-架构师必学课程 | 完结
c++·后端
greentea_201338 分钟前
Codeforces Round 65 C. Round Table Knights(71)
c语言·开发语言·算法
小秋学嵌入式-不读研版1 小时前
C61-结构体数组
c语言·开发语言·数据结构·笔记·算法
Evand J1 小时前
组合导航的MATLAB例程,二维平面上的CKF滤波,融合IMU和GNSS数据,仿真,观测为X和Y轴的坐标,附代码下载链接
开发语言·matlab·平面·imu·组合导航
蔗理苦1 小时前
2025-10-07 Python不基础 20——全局变量与自由变量
开发语言·python
夜月yeyue2 小时前
个人写HTOS移植shell
c++·mcu·算法·性能优化·架构·mfc
ajassi20002 小时前
开源 C++ QT QML 开发(九)文件--文本和二进制
c++·qt·开源
-森屿安年-2 小时前
C++ 类与对象
开发语言·c++
ajassi20002 小时前
开源 C++ QT QML 开发(八)自定义控件--圆环
c++·qt·开源