C++语法基础之输入输出(易理解巨详细)

Unit 1 C++语法基础之基本输入输出
本次分享属于C++语法基础系列课,标准输入输出的理解和使用



标准输入输出

介绍

程序的意义是,利用交互进行效果的展示,对于初学者,我们要进行数据的交互,离不开输入和输出(我们如何给计算机输入?如何拿到计算机输出的效果?带着这两个问题,我们开始探索吧!)

(一)输入输出流(概念比较抽象,可先理解代码,回头进行理解性记忆)

1、概念

输入输出流(Input/Output Streams,简称I/O Streams)是计算机科学中的一个基本概念。
用于在程序与外部世界(如文件、内存、网络、键盘、显示屏等)之间传输数据。它们提供了一种抽象的方式来处理数据的读取(输入)和写入(输出),使得程序不必关心数据具体是如何存储或传输的。
在C++中,输入输出流(I/O Streams)是通过一系列类来实现的,这些类封装了数据的输入和输出操作。C++标准库中的 <iostream>(我们重点讲解)<fstream><sstream>等头文件提供了丰富的流类,用于处理不同的输入输出场景。

2、输入流(Input Streams)

在C++中,输入流(Input Streams)和输出流(Output Streams)是通过一系列类来抽象化数据的读取和写入过程的。这些类定义在C++标准库的不同头文件中,但主要的是<iostream><fstream><sstream>,它们分别用于处理标准输入输出、文件输入输出和字符串输入输出。

输入流用于从某个数据源(如文件、内存中的字符串、用户输入等)读取数据。在C++中,输入流类通常是继承自std::istream或其派生类(如std::ifstream用于文件输入)。输入流提供了一系列的成员函数和操作符重载(如>>),用于从数据源中读取数据。

  • std::cin:是std::istream类的一个实例,用于从标准输入(通常是键盘)读取数据。
  • 在设定好命名空间后,无需每个指令加 std:
#include <iostream>
using namespace std;
int main(){
	int a;
	cin >> a;  //无需std:cin
	return 0;
}

3、输出流(Output Streams)

输出流用于将数据写入到某个目的地(如文件、内存中的字符串、标准输出设备等)。在C++中,输出流类通常是继承自std::ostream或其派生类(如std::ofstream用于文件输出)。输出流也提供了一系列的成员函数和操作符重载(如<<),用于将数据写入到目的地。

  • std::cout:是std::ostream类的一个实例,用于向标准输出(通常是屏幕)写入数据。
  • 在设定好命名空间后,无需每个指令加 std:
#include <iostream>
using namespace std;
int main(){
	cout << "一个数据";  //无需std:cout
	return 0;
}

以上概念过于晦涩,大家重复观看记忆,接下来我们上代码,进行实战指导


(二)标准输出

1、输入

(1)流插入操作符

定义: 向流中添加数据的操作叫做插入操作,其对应的运算符就称为插入操作符。
符号:>>
作用: 将数据向标准输出设备进行输出,如终端(黑窗口)。

(2)标准输入流应用
  • cin >> a >> b >> c;表示依次输入三个值,分别赋值给a、b、c三个变量(变量已存在);
  • 回车键空格键tab键分割相邻的两个数据,全部输入完按回车键结束;
  • 以上案例以三个变量为例,变量的数量不仅限于3个。

2、输出

(1)流提取操作符

定义: 从流中获取数据的操作叫做提取操作,其对应的运算符就称为提取操作符。
符号:<<
作用: 从标准输入设备获取输入数据,进行赋值。

(2)标准输出流应用
  • cout << 表达式1 << 表达式2 << 表达式3;表示依次输出表达式1、表达式2、表达式3(之间无空格输出);
  • cout << a << b << b;表示依次输出a、b、c三个变量的值(之间无空格输出);
  • cout << 表达式1 << " " << 表达式3;表示依次输出表达式1、空格、表达式3(之间有空格输出);
  • cout << 表达式1 << endl << 表达式3;表示依次输出表达式1、换行、表达式3(两个表达式之间换行输出);
  • 回车键空格键tab键分割相邻的两个数据,全部输入完按回车键结束;
  • 以上案例以三个变量为例,变量的数量不仅限于3个。

3、代码示例

#include <iostream>
using namespace std;

int main(){
	int a;
	double b;
	cin >> a >> b;
	cout << a << b;
	// 输入 10 2.5
	// 输出结果为 102.5
	cout << a << " " << b;
	// 输出结果为 10 2.5
	cout << a << endl << b;
	/* 
	输出结果为 
	10
	2.5
	*/
	/*
	输入输出,可多行使用
	cin >> a;
	cin >> b;
	等价于 cin >> a >> b;
	同理,
	cout << "你好 " ;
	cout << endl;
	cout << "谢谢 ";
	等价于cout << "你好" << endl << "谢谢";
	*/
	return 0;
}

总结

标准输入输出比较简单,无基础者多练多写,有基础者重攻概念,理解缓存机制(初学者不讲解,后续进行缓存区讲解)。

  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

么索

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值