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语言的用法,这些用得不是很多,以后有机会再详细介绍。

相关推荐
JAVA学习通7 分钟前
JAVA多线程(8.0)
java·开发语言
Luck_ff081010 分钟前
【Python爬虫详解】第四篇:使用解析库提取网页数据——BeautifuSoup
开发语言·爬虫·python
学渣6765617 分钟前
什么时候使用Python 虚拟环境(venv)而不用conda
开发语言·python·conda
想睡hhh29 分钟前
c++STL——stack、queue、priority_queue的模拟实现
开发语言·c++·stl
小鹿鹿啊38 分钟前
C语言编程--14.电话号码的字母组合
c语言·开发语言·算法
Sunlight_77739 分钟前
第六章 QT基础:6、QT的Qt 时钟编程
开发语言·qt·命令模式
cloues break.40 分钟前
C++初阶----模板初阶
java·开发语言·c++
wwww.wwww1 小时前
Qt软件开发-摄像头检测使用软件V1.1
开发语言·c++·qt
共享家95271 小时前
栈相关算法题解题思路与代码实现分享
c++·leetcode
Wendy_robot1 小时前
【前缀和计算和+哈希表查找次数】Leetcode 560. 和为 K 的子数组
c++·算法·leetcode