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. CSS3 的动画属性

    通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片.Flash 动画以及 JavaScript. ㈠@keyframes 规则 ⑴浏览器支持 Firefox 支持替代的 @-moz-ke ...

  2. node之events 模块,并通过实例化 EventEmitter 类来绑定和监听事件

    例子来源:http://www.runoob.com/nodejs/nodejs-event-loop.html http://www.runoob.com/nodejs/nodejs-event.h ...

  3. Vue页面刷新方法(子组件改变数据后兄弟组件刷新,不闪烁)

    todo https://blog.csdn.net/qq_40571631/article/details/91533248

  4. [CTS2019]氪金手游

    [CTS2019]氪金手游 各种情况加在一起 先考虑弱化版:外向树,wi确定 i合法的概率就是wi/sw sw表示子树的w的和,和子树外情况无关 这些概率乘起来就是最终合法的概率 如果都是外向树, f ...

  5. RedisTemplate 用法

      Redis 数据结构简介 Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串).List(列表).Set(集合).Hash(散列)和 Zset(有 ...

  6. Spring boot之添加JSP支持

    大纲 (1) 创建Maven web project: (2) 在pom.xml文件添加依赖 (3) 配置application.properties支持jsp (4) 编写测试Controller ...

  7. WebView的基础用法

    新建一个WebView项目,然后修改activity_main.xml布局文件中的代码,如下所示: <LinearLayout xmlns:android="http://schema ...

  8. 【转】Java压缩和解压文件工具类ZipUtil

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  9. 第十一周Java学习总结。

    java UI 图形界面知识梳理: ATM: 在整个AWT包中提供的所有工具类主要分为以下3种. (1)组件:Component. (2)容器:Container. (3)布局管理器:LayoutMa ...

  10. DS博客大作业--树 (陈梓灿组)

    1.树的存储结构说明 定义的结构体中,name是用于存放文件名称,string类型是字符串类型,定义了child孩子结点和brother兄弟结点. 2.树的函数说明 1.main函数 main函数中主 ...