C primer plus 读书笔记第八章
本章的标题是字符输入/输出和输入确认。主要内容是讨论用于I/O的标准函数。
1.getchar()和putchar()
这两个函数之前用过,我们通过这两个函数来讨论下缓冲区。
#include "stdio.h" int main (void) { char ch; while ((ch = getchar()) != '#') putchar(ch); ; }
当你所输入的文本能立刻回显时,这是非缓冲或者直接输入的一个实例,它表示你所输入的字符对正在等待的程序立刻变为可用。相反,延迟回显是缓冲输入的实例,这种情况下,你所输入的字符被收集并存储在一个被称为缓冲区的临时存储区域中。按下回车键可使你所输入的字符块对程序变为可用。
缓冲区的作用:1.将若干个字符作为一个块传输比逐个发送这些字符消耗的时间少。2.如果输入有误,可以用键盘来更正错误。3.一些交互性的程序需要非缓冲输入。
2.终止键盘输入
这部分内容主要讲C处理文件的方式。从概念上来说,C程序处理一个流,而不是直接处理文件。流是一个理想化的数据流,实际输入或输出映射到这个数据流。C语言对待输入和输出设备与其对待存储设备上的普通文件相同。这样能够不用管具体的操作系统细节。C语言对文件的结尾是getchar()返回EOF,一般EOF在stdio.h文件中定义如下:
#define EOF (-1)
不过我们不用定义EOF,因为stdio.h会定义它。
后面的内容似乎对C语言本身的语言介绍不多。快速略过。。编程练习也不难。好吧,后面的函数和指针是大头,要好好看了
to be continued。。。
C primer plus 读书笔记第八章的更多相关文章
- 《C++ Primer》读书笔记 第一章
读<C++ Primer>才知道,自己对C++知之甚少... 写个博客记录下自己C++的成长,只是读书笔记,不是对<C++ Primer>知识点的总结,而是对自己在书上看到的以 ...
- C primer plus 读书笔记第一章
写在前面: 算法和数据结构是计算机学习的基础,而大部分书籍是用C/C++编写.所以有了把C语言重新学一遍的想法.这个系列主要是记录看C primer plus的一些笔记和部分课后习题的答案,不会总结的 ...
- Getting Started With Hazelcast 读书笔记(第八章-第十章)
第八章到第十章就是一些介绍性的描述,吹的就是Hazelcast能使用在各种地方.. 第八章 -从外面看 1.Hazelcast做了一个memcache的java实现,方便py和php使用. 2.可 ...
- C++ Primer Plus读书笔记
第五章 循环和关系表达式 1. 2.类别别名: (1) #define FLOAT_POINTER float * FLOAT_POINTER pa, pb; 预处理器置换将该声明转换成 flo ...
- 《C++ Primer》读书笔记—第二章 变量和基本类型
声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程. 1.8比特的char类型计算机表示的实际范围是-12 ...
- 《C++ Primer》读书笔记—第一章 开始
声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程. 1.一个函数的定义包含四个部分:返回类型(retur ...
- CSAPP读书笔记--第八章 异常控制流
第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...
- 《利用python进行数据分析》读书笔记--第八章 绘图和可视化
http://www.cnblogs.com/batteryhp/p/5025772.html python有许多可视化工具,本书主要讲解matplotlib.matplotlib是用于创建出版质量图 ...
- C primer plus 读书笔记第十四章
这一章主要介绍C语言的结构和其他数据形式,是学习算法和数据结构的重点. 1.示例代码 /*book.c -- 仅包含一本书的图书目录*/ #include <stdio.h> #defin ...
随机推荐
- Android 的 Relative Layout 常量
android:layout_above 将该控件的底部置于给定ID的控件之上 --Rule that aligns a child's bottom edge ...
- Css四种样式
1. 2 3 4 5 6.
- 微信 token 验证
package org.sxl.weixin; import java.security.MessageDigest; import java.security.NoSuchAlgorithmExce ...
- iOS面试小题集锦
1.Object-C有多继承吗?没有的话用什么代替? cocoa 中所有的类都是NSObject 的子类 多继承在这里是用protocol 委托代理 来实现的你不用去考虑繁琐的多继承 ,虚基类的概 ...
- 如何修改Linux系统下的PATH(如何添加自己的路径到PATH)
修改Linux的PATH方法有三(添加用户的路径到PATH): 方法一: 直接在命令行中输入:#PATH=$PATH:/etc/apache/bin.这种方法只对当前会话有效,也就是说每当登出或注销系 ...
- JavaScript的“闭包”到底是什么
在JavaScripot函数闭包的定义中,一般都有一个outer 函数,一个inner函数.那么“闭包”到底是指outer函数呢,还是指inner函数? 从官方定义来看,并不清楚:A closure ...
- [jQuery编程挑战]003 克隆一个页面元素及其相关事件
挑战: a) 绑定一个点击方法到这个div,点击后此元素会淡出消失 b) 同时克隆一个新的div元素到页面,元素内容是前面div文字内容反向书写(即,sgatbg olleh),同样也具有上面的点击事 ...
- Linux下安装LANMP环境
记录下来,方便下次再用时从头查找资料 首先是操作系统和php环境:CentOS 6.5 64位(之所以不是7.0是因为本身对linux不熟,而7.0改变挺大的,搜索查询资料也不好搜索),Php版本:5 ...
- HTML&CSS基础学习笔记1.30-颜色的表达
颜色的表述 在网页中的颜色设置是非常重要,CSS的属性有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 ...
- 直接插入排序(Straight Insertion Sort)的C语言实现
原创文章,转载请注明来自钢铁侠Mac博客http://www.cnblogs.com/gangtiexia 直接插入排序(Straight Insertion Sort)的基本思想是将新记录插入到 ...