C++ Primer Plus读书笔记

第五章 循环和关系表达式

1、

2、类别别名:

(1)   #define FLOAT_POINTER float *

FLOAT_POINTER pa, pb; 预处理器置换将该声明转换成  float * pa, pb; // pa 是指针,pb就是一个float

(2)  typedef char byte 不会出现上述问题是最佳的选择

3、  cin.get(name, arSize).get() // 输入长度为arSize的name接受换行

// 发送给cin的输入被缓冲。这意味着只有用户按下回车之后,他输入的内容才会发送给程序
所以 # 后面可以跟其他的字符。
// cin 将忽略空格和换行符,统计时候不算空格
   char ch;
    int cnt = 0;
    cin >> ch;
    while(ch != ‘#‘)
    {
        cout << ch;
        ++cnt;
        cin >> ch;        // cin.get(ch); 此时就可以读取空格了
    }
    cout << endl << cnt << "characters read\n";

4、文件尾条件

检测到EOF后,cin将两位(eofbit 和 failbit ) 都设置为1。可以通过成员函数 eof() 来查看 eofbit 是否被设置;如果检测到 EOF ,则 cin.eof() 将返回bool 值true,同样eofbit 和 failbit 被设置成1,则 fail() 成员函数返回 true

注意,eof() 和 fail() 方法报告最近读取的结果;也就是说,他们在事后报告,而不是预先报告

ctrl + z + 回车 结束

while ( cin.fail() == false )
{

}

 int ch = cin.get() //返回的是一个整数 EOF时为-1

cin.get(ch) //返回的是 true or false

时间: 2024-10-20 19:37:24

C++ Primer Plus读书笔记的相关文章

C++ Primer 3rd 读书笔记

C++ Primer 3rd 读书笔记1/2 分类: C/C++/VC2014-04-08 20:43 318人阅读 评论(0) 收藏 举报 第一章    开始 1.       C++中标准的头文件是不带.h后缀的.如下代码值得注意: #include <iostream.h> void sayHello() { cout<<"Hello World!"; } void main() { sayHello(); } #include <iostream&

《C++ Primer》读书笔记—第十三章 控制拷贝

声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程 第III部分,类设计者的工具 1.类是C++的核心概念.每个类都定义了一个新类型和在此类型对象上可执行的操作. 2.当定义一个类时,我们显式或隐式地指定在此类型的对象的拷贝.移动.赋值和销毁时做什么.一个类通过定义五种特殊的成员函数来控制这些操作,包括:拷贝构造函数(copy construcor),拷贝赋值运算符(copy-assignment operato

《C++ Primer》读书笔记—第一章 开始

声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程. 1.一个函数的定义包含四个部分:返回类型(return type).函数名(function name).一个括号包围的形参列表(parameter list,允许为空)以及函数体(function body). 2.cin.cout的使用 1 #include<iostream> 2 int main() 3 { 4 std::cout <

《C++ Primer》读书笔记—第十六章 模板与泛型编程

---恢复内容开始--- 声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程 1.面向对象编程和泛型编程都是处理在编写程序时不知道类型的情况,不同之处在于,OOP能处理类型在程序运行之前都未知的情况,而在泛型编程中,在编译时就能获知类型了. 2.泛型编程与面向对象编程一样,都依赖于某种形式的多态性.面向对象编程中的多态性在运行时应用于存在继承关系的类. 3.在泛型编程中,我们所编写的类和函数能够多态地用于跨越编译

《C++ Primer》读书笔记—第四章 表达式

声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程 1.表达式由一个或多个运算对象组成,对表达式求值将得到一个结果.字面值和变量是最简单的表达式,其结果就是字面值和变量的值.把一个运算符和一个或多个运算对象组合起来可以生成复杂的表达式. 2.指针不能转换成浮点数. 3.一个左值表达式的求职结果是一个对象或者一个函数,然而以常量对象为代表的某些左值实际上不能作为赋值语句的左侧运算对象. 4.在除法运算中,如果两个运

C Primer Plus读书笔记-预处理器指令

代码中经常看到  #define ,#ifdef #define :明显常量 一般的指令长度仅限与一行代码,除了\(反斜杠线)可以拓展到下一行外. 一般情况下,每个#define行由三个部分组成. 第一部分为#define 指令本身 第二部分为所选择的缩略语,这些缩略语称为宏(macro).  宏的名字中不允许有空格!只能使用字母,下划线(_),和数字之间的组合,第一个字符不能为数字 第三部分(#define行除了第一第二部分外的部分).称为替换列表或主体. 预处理器在程序中发现宏的实例后,总会

C++ Primer 4th 读书笔记(第一部分)

虽然,有一定的c++基础(因为本科就学会了这一种,哈哈),但是还是决定系统的读一遍这本书(之前有零星看过数次..汗). 留作自己以后参考.(内容会不定期更改,不断学习(此处应为长音~~)) 大部分都是自己掌握的不够扎实的地方和以前没有注意的一些细节. 书中好多地方,详述了知识出现的缘由,最起码是指出为了解决什么问题而出现的!! 前言部分 1."...大量使用了前后交叉引用..."(挺适合自己的,我想知道原文是怎么的,希望以后有机会对原版的时候补充~) 2.作者对本书的定位是本指南性读物

C primer plus 读书笔记第九章

本章的标题是函数.C的设计原则是把函数作为程序的构成模块. 1.函数概述 函数的定义:函数是用于完成特定任务的程序代码的自包含单元. 使用函数的原因:1.函数的使用可以省去重复代码的编写.2.使得程序模块化,更有利于阅读.修改和完善.以这种方式看待函数有利于把精力投入到程序整体设计而不是实现其细节. 函数同变量一样有多种类型.任何程序在使用函数之前都需要声明该函数类型. 函数参数.函数类型没啥说的,其他语言都会讲到. PS:函数的结尾最好只使用一次return,这样更有利于阅读程序的人明白函数的

C primer plus 读书笔记第五章

本章的标题是运算符,表达式和语句.主要研究如何处理数据. 示例代码展示了一个使用简单的while循环的代码,难度不大. 下面简单介绍本章的基本概念. 1.基本运算符. 基本运算符有:赋值运算符(C语言可以多重赋值,例如cheeta = tarzan = 68),加法运算,减法运算符,符号运算符(也称为一元运算符),乘法运算符,除法运算符(整数除法结果的小数部分会丢弃,而整数除浮点数的时候,编译器是先将整数转换为浮点数) 2.其他运算符 有sizeof,size_t,%(注意负数的情况),++,-