【编程基础】C++ Primer快速学习之二:输入与输出

什么是输入输出,即Input-Output,缩写是很装B的IO?请看经典民间解释:

C++语言的输入输出是指信息从外部输入设备(如键盘、磁盘等)向计算机内部(内存)输入(即Input)和从内存向外部输出设备(显示器、磁盘)输出(即Output)的过程。这种输入输出过程被形象地比喻为“stream--流”。

C++ 并没有直接定义进行输入或输出(IO)的任何语句,这种功能是由标准库提供的。然而,对许多应用,编程者只需要了解一些基本概念和操作。

标准库定义了 4 个 IO 对象。处理输入时使用 istream 类型对象。这个对象也称为标准输入。处理输出时使用ostream 类型对象,这个对象也称为标准输出。

到目前为止,我们已经明白如何编译与执行简单的程序。我们先来看应如何把两数相加。我们可以使 用 IO 库来扩充 main 程序,要求用户给出两个数,然后输出它们的和:

#include <iostream>

int main() {

std::cout << "Enter two numbers:" << std::endl;

int v1, v2;

std::cin >> v1 >> v2;

std::cout << "The sum of " << v1 << " and " << v2 << " is " << v1 + v2 << std::endl;

return 0;

}

程序首先在用户屏幕上显示提示语: Enter two numbers:

然后程序等待用户输入。如果用户输入 3 7

跟着一个换行符,则程序产生下面的输出:

The sum of 3 and 7 is 10

程序的第一行: #include <iostream>

告诉编译器要使用 iostream 库。

写入到流

main 函数体中第一条语句执行了一个表达式。C++ 中,一个表达式由一个 或几个操作数和通常是一个操作符组成。该语句的表达式使用输出操作符(<< 操 作符),在标准输出上输出提示语:

std::cout << "Enter two numbers:" << std::endl;

这个语句用了两次输出操作符。每个输出操作符实例都接受两个操作数:左 操作数必须是 ostream 对象;右操作数是要输出的值。C++ 中,每个表达式都会产生一个结果,通常是将操作符作用到其操作数所 产生的值。当操作符是输出操作符时,结果是左操作数的值。也就是说,输出操 作返回的值是输出流本身。

endl 是一个特殊值,称为操纵符,将它写入输出流时,具有输出换行的效 果。

读入流

在输出提示语后,将读入用户输入的数据。先定义两个名为 v1 和 v2 的 变 量来保存输入:

int v1, v2;

下一条语句读取输入:

std::cin >> v1 >> v2;

输入操作符(>> 操作符)行为与输出操作符相似。它接受一个 istream 对 象作为其左操作数,接受一个对象作为其右操作数,它从 istream 操作数读取 数据并保存到右操作数中。

剩下的就是要输出结果: v1 + v2

std::cout << "The sum of " << v1 << " and " << v2 << " is " << v1 + v2 << std::endl;

请读者自己分析。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-06-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户3030674的专栏

java进制转换(无视正负数的差别)

682
来自专栏小樱的经验随笔

【批处理学习笔记】第二十五课:间接传递

    间接传递参数,即在使用call命令时,在其后面添加参数,形如call {[:label][ChildBatch]} Parameter1 Paramet...

2595
来自专栏程序生活

Leetcode-Easy 876. Middle of the Linked List

结题思路主要是通过快慢指针来找到中间节点:快指针的移动速度是慢指针移动速度的2倍,因此当快指针到达链表尾时,慢指针到达中点。

683
来自专栏HTML5学堂

2015.12.09 HTML5真题练习

HTML5学堂:每天一道题,强壮程序员!今日主要涉及12.08题目(原型、原型链、this属性)的解答,以及一道涉及数据类型基本知识的题目。 HTML5真题【2...

3287
来自专栏机器学习算法与Python学习

Python: 早点知道这些就不会这样了

现在在Python 2的代码中都用import from future来导入Python 3的输出和除法。现在用到的几乎所有库都支持Python 3,因此会很快...

2584
来自专栏前端架构

程序是如何执行的(一)a=a+1

1、计算机中有两个主要的核心部件:CPU和内存,其中CPU负责运算而内存负责存储程序和相关的变量,每一条程序语句和变量都在内存中有对应的内存地址。

792
来自专栏书山有路勤为径

最长回文串-哈希表

已知一个只包括大小写字符的字符串,求用该字符串中的字符可以生 成的最长回文字符串长度。 例如 s = “abccccddaa”,可生成的最长回文字符串长度为9...

632
来自专栏阿凯的Excel

Python读书笔记(数字型数据)

Python与其它编程语言一样,常见的数字型无法整型(int)和浮点型两种(Float)两种。 整型就是整数,浮点型就是小数。 如果在Python中输入一个数字...

3455
来自专栏zaking's

用js来实现那些数据结构09(集合01-集合的实现)

  说到集合,第一个想到的就是中学学到的那个数学概念:集合。在我们开始集合相关的js实现前,我们有必要来了解一下什么是集合以及集合的数学概念。   好吧,我们一...

33010
来自专栏用户3030674的专栏

java写文件读写操作(IO流,字符流)

511

扫描关注云+社区