当前课程知识点:C++语言程序设计基础 > 第2章 C++简单程序设计(二) > 数据的输入和输出 > 数据的输入和输出
数据的输入和输出
l 在C++中,将数据从一个对象到另一个对象的流动抽象为“流”。流在使用前要被建立,使用后要被删除。
l 数据的输入与输出是通过I/O流来实现的,cin和cout是预定义的流类对象。cin用来处理标准输入,即键盘输入。cout用来处理标准输出,即屏幕输出。
l 从流中获取数据的操作称为提取操作,向流中添加数据的操作称为插入操作。
l “<<”是预定义的插入符,作用在流类对象cout上便可以实现项标准输出设备输出。
n cout << 表达式 << 表达式...
l 标准输入是将提取符作用在流类对象cin上。
n cin >> 表达式 >> 表达式...
l 提取符可以连续写多个,每个后面跟一个表达式,该表达式通常是用于存放输入值的变量。例如:
n int a, b;
n cin >> a >> b;
操纵符名 | 含 义 |
dec | 数值数据采用十进制表示 |
hex | 数值数据采用十六进制表示 |
oct | 数值数据采用八进制表示 |
ws | 提取空白符 |
endl | 插入换行符,并刷新流 |
ends | 插入空字符 |
setsprecision(int) | 设置浮点数的小数位数(包括小数点) |
setw(int) | 设置域宽 |
例:cout << setw(5) << setprecision(3) << 3.1415;
大家好
欢迎继续学习C++语言程序设计
这一节我给大家介绍
数据的输入与输出
相信大家在前面的例题中
已经都见过我们从键盘输入数据
或者向显示器输出数据了
那么这个在C++中输入输出数据
用的是什么方法呢
用的是输入输出流的操作
在C++中
我们将数据的输入与输出
看作是信息的流动
如果从程序空间之外
将数据读入到程序空间里面来
那么这是一个输入的过程
在程序进行运算以后
将结果送到显示器
或者其他外部设备上去
这个又是一个输出的过程
C++中没有输入输出语句
而输出输出的功能呢
却是预先为我们定义好了
我们才程序中可以直接调用的
这就是输入输出流类里面的
大量有用的
预先定义好的类
那么我们要进行输入输出
操作的时候呢
就要定义输入输出流类的对象
用这个输入输出流类的对象
来进行输入输出的操作
现在我们来看在C++中
数据它的输入输出
在C++中将数据从一个对象
到另一个对象的流动
抽象为流
流在使用之前要被建立
使用之后要被删除
我们前面例题和习题中
遇到的cin cout
它都是预先定义好的输入流对象
输出流对象
也就是说它默认情况下
建立了这个输入流输出流
我们叫标准输入流对象
输出流对象
如果我们需要的
不是标准输入流输出流
而是其他比如说存取文件的
这种输出流输入流的话
我们就要自己来建立
那么如何定义一个流类的对象
并且用这个对象
去操作文件的存取
将在11章给大家介绍
这一章我们会使用
标准输入流输出流就可以了
标准的输出流大多数时候
是指向屏幕的
标准的输入流
大多数时候是指向键盘的
如果你想改变
标准输入设备输出设备
既可以从操作系统这儿去改变
比如用操作系统的命令去改变
也可以通过C++程序
它的相应的函数调用去改变
从C++中去改变
标准输入流输出流对象
所指向的目标
我们将在第11章介绍
当我们使用标准输入流
输出流对象的时候
我们是通过什么方式
来从键盘读取数据
并将数据写到显示器上呢
最常用的方式是用运算符
读取的时候用提取运算符
写的时候用插入运算符
插入运算符是预定义好的
作用在流这个对象cout上
那么就可以实现
将我们指定的内容
给送到标准输出设备
比如
我们在前面很多例题中都看到
是这样来用的
cout然后后面跟有插入运算符
然后并有表达式
我们还可以写这种级联的形式
连续使用插入运算符
后跟表达式
这样就依次把这些表达式
都送到标准输出设备上去了
标准输入呢
就是将提取运算符
这也是一个预定义好的预算符
作用在流类对象cin上面
cin之后跟提取运算符和表达式
就能够将键盘里面的数据
提取出来存放到这个表达式
所指定的空间中去
它也可以用级联的方式
有连续的提取运算符
每一个提取运算符
后跟一个表达式
比如说我们在这个例子里面看到
定义两个变量a和b
然后用cin呢
依次从键盘提取数据
把它存放到a里面
然后再提取一个数据
存放到b里面
在进行这种提取和插入的时候
我们还可以控制它的格式
我们来看
这个表里面列出了常用的
I/0流类库的操纵符
这个操纵符
它的英文名称是Manipulator
所以我们不叫它操作符
操作符对应的是operator
加减乘除这些
那我们来看这个操纵符的名字
就是manipulator的名字
很像函数名或者是变量名一样
但是不是
它是操纵符的名字
有些资料上也叫操纵算子
用它们就可以来控制
输出输入的格式
比如我们看这个例子里面
用这个setw
就设置了紧接着它之后的
那一项内容
它的宽度
也就是说
它占几个字符的位置来输出
这个setprecision
是用来设置精度的
可以用来设置精度的
设置宽度 精度
还有几进制这些
都是可以很简单的
在这个输出流中表示出来的
在输入流中呢
我们很少用格式控制
一般只会控制你按照八进制
十六进制还是十进制输入
而其他的格式控制呢
用的比较少
因为如果你给用户规定了
很严格的输入格式的话
用户使用起来
反而会觉得不够方便
-导学
--第1章导学
-计算机系统简介
--计算机系统简介
--计算机系统简介 测试题
-计算机语言和程序设计方法的发展
--计算机语言和程序设计方法的发展 测试题
-面向对象的基本概念
--面向对象的基本概念 测试题
-程序的开发过程
--程序的开发过程
--程序的开发过程 测试题
-信息的表示和储存
--计算机的数字系统
--数据的编码表示
--信息的表示和储存 测试题
-实验指导
-导学
--第二章导学
-C++语言概述
--C++语言概述 测试题
-基本数据类型、常量、变量
--程序举例
--基本数据类型、常量、变量 测试题
-运算与表达式
--运算与表达式 测试题
-实验二:简单程序设计(上)
-数据的输入和输出
--数据的输入和输出
--数据的输入和输出 测试题
-选择结构
--if语句
--switch语句
--选择结构 测试题
-循环结构
--for语句
--循环结构 测试题
-自定义类型
--自定义类型
--自定义类型
-第2章小结
--第二章小结
-实验二:C++简单程序设计(下)
-导学
--导学
-函数定义
--函数定义
--函数定义 测试题
-函数调用
--例3-2
--例3-3
--例3-4
--例3-5
--例3-6
--函数调用 测试题
-嵌套与递归
--例3-9
--例3-10
--嵌套与递归 测试题
-函数的参数传递
--函数的参数传递
--函数的参数传递 测试题
-引用类型
--引用类型 测试题
-含有可变参数的函数
--含有可变参数的函数 测试题
-内联函数
--内联函数 测试题
-constexpr函数
--CONSTEXPR函数课后习题
-带默认参数值的函数
--带默认参数值的函数 测试题
-函数重载
--函数重载 测试题
-C++系统函数
--C++系统函数习题
-第3章小结
--第三章小结
-实验三(上)函数的应用
-实验三(下)函数的应用
-导学
--导学
-面向对象程序的基本特点
--面向对象程序的基本特点 测试题
-类和对象
--类和对象的定义
--类和对象 测试题
-构造函数
--构造函数基本概念
--委托构造函数
--复制构造函数
--构造函数 测试题
-析构函数
--析构函数
--析构函数 测试题
-类的组合
--类的组合
--类的组合程序举例
--前向引用声明
--类的组合 测试题
-UML简介
--UML简介
--UML简介课后习题
-结构体与联合体
--结构体与联合体 测试题
-枚举类
--枚举类
--枚举类 测试题
-第4章小结
--第四章小结
-实验四(上)
--实验四(上)
-实验四(下)
--实验四(下)
-导学
--导学
-标识符的作用域与可见性
--标识符的作用域与可见性 测试题
-对象的生存期
--对象的生存期
--对象的生存期 测试题
-类的静态成员
--类的静态成员 测试题
-类的友元
--类的友元 测试题
-共享数据的保护
--共享数据的保护 测试题
-多文件结构和预编译命令
--多文件结构和预编译命令 测试题
-第5章小结
--小结
-实验五
--实验五
-导学
--导学
-数组的定义与初始化
--数组的定义与使用
--一维数组应用举例
--数组的定义与初始化 测试题
-数组作为函数的参数
--数组作为函数的参数 测试题
-对象数组
--对象数组
--对象数组 测试题
-基于范围的for循环
-指针的定义和运算
--指针的定义和运算 测试题
-综合实例
--综合实例
-实验六(上)
--实验六上
-指针与数组
--指针数组
--指针与数组 测试题
-指针与函数
--指针类型的函数
--指向函数的指针
--指针与函数 测试题
-对象指针
--对象指针
--对象指针 测试题
-动态内存分配
--动态内存分配 测试题
-智能指针
--智能指针
-vector对象
--vector对象
--vector对象 测试题
-对象复制与移动
--移动构造
--对象复制与移动 测试题
-字符串
--C风格字符串
--string类
--字符串 测试题
-第6章小结
--第六章小结
-综合实例
--综合实例
-实验六(下)
--实验六(下)