04 C++从入门到精通-输入与输出
1.I/O流
- 在C++中,将数据从一个对象到另一个对象的流动抽象为“流”。流在使用前要被建立,使用后要被删除。
- 数据的输入与输出是通过I/O流来实现的,cin和cout是预定义的流类对象。cin用来处理标准输入,即键盘输入。cout用来处理标准输出,即屏幕输出
- 从流中获取数据的操作称为提取操作,向流中添加数据的操作称为插入操作。
上面的这些生硬概念不用管它
2.cin&cout
- cin是头文件iostream中的一个类,用作输入数据
- cout也是iostream中的一个类,用于输出数据
#include<iostream>
using namespace std;
int main(){
int x,y;
cin>>x>>y;
cout<<x<<" "<<y<<endl; //endl相当于输出回车
cout<<y<<" "<<x<<endl;
return 0;
}
3.格式输入于输出
这其实也是C语言的内容
首先要了解转义和取模
转义
取模
- scanf()函数:这个是格式输入函数
- printf()函数:这个是格式输出函数
#include<iostream>
#include<cstdio> //对于使用C++99及以下标椎需要加上该头文件,对于较新的版本该头文件已被包含于iostream
#include<bits/stdc++.h> //万能头
using namespace std;
int main(){
int x,y,z;
scanf("%d%d%d",&x,&y,&z); //%d对整数取模
printf("x is:%d,\ny is:%d,\nz is:%d.\n",x,y,z); //%d对整数取模,\n输出回车
return 0;
}
4.输入优化
对于搞竞赛(NOIP,NOI,ACM等)的人,时间复杂度很重要,所以输入数据的时间很重要,由于C++历史遗留的玄学问题scanf()比cin输入要快,所以比赛中scanf()可能要更快一些
(分秒必争)但cin有得优化吗?emmm,是有的。
#include<iostream>
int main(){
std::ios::sync_with_stdio(false); //优化cin输入速度
int data;
std::cin>>data;
return 0;
}
-----------------------------------------------------------end-----------------------------------------------------------