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. CSS的五种基本选择器

    要使用css对HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器. ㈠什么是选择器? 每一条css样式定义由两部分组成,形式如下: [code] 选择器{样式} [/co ...

  2. Centos 由字符界面 init 3 切换图形界面 init 5

    Centos6 和 Centos7 由字符界面切换成 图形界面方法不同,下面分别介绍. 一.Centos6 切换方法 yum -y install xorg* yum -y groupinstall ...

  3. C# 3.0

    序言 自动实现的属性 匿名类型 查询表达式 Lambda 表达式 从 C# 3 开始,lambda 表达式提供了一种更简洁和富有表现力的方式来创建匿名函数. 使用 => 运算符构造 lambda ...

  4. 查准率(precision)和召回率(recall)

    1.定义 查准率(precision):预测患有癌症且预测正确的人数 / 预测有多少人患有癌症 召回率(recall):预测患有癌症且预测正确的人数 / 实际有多少人患有癌症 2.关系 他俩的关系如下 ...

  5. charts_03

    table 数值获取: 1.http://www.w3school.com.cn/jsref/dom_obj_all.asp 2.http://blog.csdn.net/xs_zgsc/articl ...

  6. sonarqube修改自己的图像avatar

    https://community.sonarsource.com/t/how-can-i-change-my-avatar/11457/2 Hi, User icons are provided b ...

  7. PHP CI框架数据库常用操作

    例子 <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Menu extends CI_Co ...

  8. android中如何自动获取短信验证码

    package com.loaderman.smsbroadcastreceiver; import java.util.regex.Matcher; import java.util.regex.P ...

  9. Windows下C/C++内存泄露检测机制

    1.概述 在Windows下微软给我们提供了一个十分强大的C/C++运行时库,这个运行时库中包含了很多有用的功能.而众多强大功能之一就是内存泄露的检测. C/C++提供了强大的内存管理功能,不过随之而 ...

  10. React之生命周期函数

    1.新增知识点 /* https://reactjs.org/docs/react-component.html React生命周期函数: 组件加载之前,组件加载完成,以及组件更新数据,组件销毁. 触 ...