C++没有定义任何的输入和输出语句,而是使用了 标准库来提供IO机制---iostream;

标准库iostream定义了4种不同的IO对象:

  1. cin:     标准输入对象:instream类型的对象;
  2. cout:  标准输出对象:outstream类型的对象;
  3. cerr:   标准错误输出对象:outstream类型的对象,用于输出错误和警告信息
  4. clog:  日志信息输出对象:outstream类型的对象,用于输出程序运行的一般信息

知识点:

1. 头文件

头文件中包含一些函数的接口,需要使用include可以告诉编译器想要使用那些函数库,导入的方式如下所示。

<>号中包含的是头文件的名字。

#include <iostream>

2. 向流中写入数据

在C++中,一个表达式的产生往往由多个对象和运算符组成。这里的需要使用<<和>>运算符。

<<运算符需要接受两个对象: 左侧是outstream对象,右侧是输出的字符串

这样就可以把要写的字符放入流对象里面了。既然如此,我们也是可以是可以嵌套的:


2.1 解析 endl

endl的意思就是end line, 这是一个被称为操纵符的特殊值,执行endl的效果是:

1. 结束当前行,并且换行

2.将与设备关联的缓冲区中的内容刷到设备中 。缓冲刷新操作是可以保证到目前为止所有的输出都真正的写到了输出流中,而不是停留缓冲区里面;

在日常操作中,我们应该在每次打印输出的时候加上endl,否则可能会因为缓冲区已经满了出现程序崩溃

2.2 解析std

细心的同学会发现每次使用cin和cout的时候都需要写成 std::cin或者std::cout, 这是因为cin,cout是定义在std的命名空间里面的。

通过名命空间使用标准怒的时候需要显示的写出来自哪个名命空间,如下:

  1 #include <iostream>
2
3 int main()
4 {
5 std::cout << "Hello, World!" << std::endl;
6 }

当然也可以,使用using 一次性的声明:

  1 #include <iostream>
2 using std::cout;
3 using std::endl;
4
5 int main()
6 {
7 cout << "Hello, World!" << endl;
8 return 0;
9 }
10

3. 使用输入流

在标准库中输出流的对象有cout,cerr,clog,而输入流的对象只有cin

cin是可以从设备读入到内存的输入流对象。

  1 #include <iostream>
2 using std::cout;
3 using std::endl;
4 using std::cin;
5
6 int main()
7 {
8 cout << "Hello, World!" << endl;
9 cout << "读取数量不定的数字,求和"<<endl;
10
11 int sum=0,value=0;
12 while(cin>>value)
13 {
14 sum+=value;
15 cout << "读取数字 " << value << endl;
16 }
17
18 cout << "sum is "<< sum << endl;
19 return 0;
20 }

C++ Primer: 1. 初识输入和输出的更多相关文章

  1. 《C++ Primer Plus》第17章 输入、输出和文件 学习笔记

    流是进出程序的字节流.缓冲区是内存中的临时存储区域,是程序与文件或其他I/O设备之间的桥梁.信息在缓冲区和文件之间传输时,将使用设备(如磁盘驱动器)处理效率最高的尺寸以大块数据的方式进行传输.信息在缓 ...

  2. C++ primer plus读书笔记——第17章 输入、输出和文件

    第17章 输入.输出和文件 1. 对键盘进行输入缓冲可以让用户在将输入传输给程序之前返回并更正.C++程序通常在用户按下回车键时刷新输入缓冲区. 2. 一些I/O类 streambuf类为缓冲区提供了 ...

  3. c语言学习笔记第四章——字符串和格式化输入、输出

    B站有视频演示 本章学习printf函数的输入输出,字符串的定义与实用. 字符串 字符串(character string)是一个或多个字符的序列,如下所示: "Zing went the ...

  4. 了解一下C++输入和输出的概念

    我们经常用到的输入和输出,都是以终端为对象的,即从键盘输入数据,运行结果输出到显示器屏幕上.从操作系统的角度看,每一个与主机相连的输入输出设备都被看作一个文件.除了以终端为对象进行输入和输出外,还经常 ...

  5. [总结] I/O输入,输出

    I/O输入,输出第一:先判断到底是输入还是输出,站在程序的立场第二:判断是传递字节,还是字符,决定管道粗细,字节流是最基本的数据输出管道.字符类型管道专门用来传送文本数据.Java流的四大父类:1.字 ...

  6. C#语言基础— 输入与输出

    C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...

  7. Shell编程基础教程3--Shell输入与输出

    3.Shell输入与输出    3.1.echo        echo命令可以显示文本行或变量,或者把字符串输出到文件        echo [option] string             ...

  8. 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出

    [源码下载] 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 预处理命令 输入 ...

  9. 输入和输出的总结(c语言)

    c语言中有多种的输入和输出方式,下面就简单总结一下: 一.输入的三种方式 (1)scanf scanf 函数可以在变量中使用,也可以在数组中使用,当然指针上也能用到,是一个很好的输入函数.scanf是 ...

随机推荐

  1. C# 写日志的方法

    public void WriteLog(string msg)        {            string filePath = AppDomain.CurrentDomain.BaseD ...

  2. mongodb性能测试:long时间戳与string格式时间

    string格式时间写入数据: { "_id" : ObjectId("5d314731a96f332d6c3193d4"), "news_id&qu ...

  3. CF1043F Make It One 容斥+dp+组合

    考试的时候考的一道题,感觉挺神的. 我们发现将所有数去重后最多只会选不到 $7$ 后 $gcd$ 就会变成 $1$. 令 $f[i][k]$ 表示选 $i$ 个数后 $gcd$ 为 $k$ 的方案数. ...

  4. 【PKUSC2019】树染色【线段树合并】【树形DP】

    Description 给出一棵n个点的树,现在有m种颜色,要给每个节点染色,相邻节点不能同色. 另外有k条限制,形如x号点不能为颜色y 同一节点有可能有多条限制. 求方案数对998244353取模的 ...

  5. 二分mid的取法

    二分的两种形式: 1.范围缩小时,r = mid,l = mid + 1,取中间值时,mid = (l + r) >> 1. 2.范围缩小时,l = mid,r = mid - 1,取中间 ...

  6. C++入门经典-例4.1-声明、定义和使用函数

    1:代码如下: // 4.1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  7. vue项目内嵌入到app input type=file 坑(文件上传插件)

    w问题描述: 我用vue-cli完成的一个移动端项目,内嵌到app当中,用原生的input type=file 来完成文件上传.在安卓下没有问题但是在苹果手机 上传第二次手机就会发生白屏 并无缘无故跳 ...

  8. python3笔记六:for语句

    一:学习内容 for语句 二:for-in语句 1. 格式 for 变量名 in 集合:    语句 2.逻辑 按顺序取集合中的每个元素赋值给变量,再去执行语句,如此循环往复 3.举例 for i i ...

  9. mysql数据库集群

    mysql数据库集群主要有2种常用方案: replication:速度快.弱一致性.适合保存低价值的数据,主要应用于日志.新闻.帖子等系统. PXC:速度慢.强一致性.适合保存高价值的数据,主要应用于 ...

  10. SQL Server高可用实现方案

    名词解释: WSFC:Windows Server Failover Cluster,在Windows Server操作系统上,由WSFC提供高可用性.故障检测和SQL Server AlwaysOn ...