<C++ Primer 5th 学习笔记>1

1.1 编写一个简单的C++程序
重要概念:类型:不仅定义了数据元素的内容,还定义了这类数据上可以进行的运算。
1.1.1 编译、运行程序
了解所用编译器 Intergrated Developed Environment, IDE。

1.2 初识输入输出 (IO)
  • 标准输入输出对象
标准输入(istream类型):cin
标准输出(ostream类型):cout
其他两个 ostream 类型:cerr, clog

  • 一个使用 IO 库的程序
头文件(header)

  • 向流写入数据
表达式(expression)→使用输出运算符(<<)
std::cout << "XXX" << std::endl;
第一个输出运算符给用户打印一条消息。这个消息是一个字符串字面值常量(string literal)。
第二个运算符打印 endl,这是操纵符(manipulator)→写入目的:结束当前行并将与设备关联的缓冲区(buffer)中的内容刷到设备中。

  • 使用标准库中的名字
前缀 std:: 指出名字 cout 和 endl 是定义在名为 std 的命名空间(namespace)中的。
通过命名空间使用标准库,当使用标准库中一个名字时,必须显式说明 std::cout,通过使用作用域运算符(::)来指出想使用定义在命名空间 std 中的名字 cout。

  • 从流读取数据
输入运算符(>>)
  • 完成程序

1.3 注释简介
  • C++中注释的种类:1. 单行注释(//) 2. 界定符对注释(/**/)

  • 注释界定符不能嵌套,请使用单行注释方式注释掉代码段每一行。

1.4 控制流
1.4.1 while 语句
while 语句反复执行一段代码,直至给定条件为假为止。
while (condition)
    statement
while 语句的执行过程是交替地检测 condition 条件和执行关联的语句 statement, 直至 condition 为假时停止。
条件(condition)就是一个产生真或假的结果的表达式。

小于等于运算符号(<=)
复合赋值运算符(+=):本质上与一个加法结合一个赋值(assignment)是相同的。
前缀递增运算符(++)

1.4.2 for 语句
每个 for 语句都包含两部分:循环头循环体
循环头控制循环体的执行次数,他由三部分组成:一个初始化语句(init-statement)、一个循环条件(condition)以及一个表达式(expression)。
循环体每次执行前都会先检查循环条件,条件为真,就会执行 for 循环体。表达式在 for 循环体之后执行。执行完表达式后,for 语句重新检测循环条件。若条件仍为真, 再次执行 for 循环体。执行完循环体后, 再次执行循环头中的表达式。
循环过程持续至循环条件为假。

在循环次数已知的情况下,for 循环的形式更简洁。
在循环次数未知的情况下,while 循环实现更适合。

1.4.3 读取数量不定的输入数据
例如:
while (std::cin >> value)
ctrl+z代表文件结束符(end-of-file)

1.4.4 if语句
相等运算符(==)
重要概念:C++程序的缩进和格式
风格很重要

1.5 类介绍
类类型(class type)
需要了解:
  • 类名是什么?
  • 它是在哪里定义的?
  • 它支持什么操作?
1.5.1 Sales_item 类
关键概念:类定义了行为
一般而言,类的作者决定了类类型对象上可以使用的所有操作。

  • 读写Sales_item
包含不来自标准库的头文件,用双引号("")包围

  • Sales_item 对象的加法

使用文件重定向
$ addItems <infile >outfile
假定$是操作系统提示符,我们的加法程序已经编译为名为 addItems.exe 的可执行文件(在UNIX中是 addItems),则上述命令会从一个名为 infile 的文件读取销售记录, 并将输出结果写入到一个名为 outfile 的文件中,两个文件都位于当前目录中。

1.5.2 初识成员函数
  • 什么是成员函数(member  function)?
成员函数是定义为类的一部分的函数,有时也被称为方法(method)。
通常,以一个类对象的名义来调用成员函数。例如:
item1.isbn()
使用点运算符(.)来表达我们需要“名为 item1 的对象的 isbn 成员”。点运算符只能用于类类型的对象。其左侧运算对象必须是一个类类型的对象,右侧运算对象必须是该类型的一个成员名,运算结果为右侧对象指定的成员。
当用点运算符访问一个成员函数时,通常调用该函数。我们使用调用运算符(())来调用一个函数。
调用运算符是一对圆括号,里面放置实参(argument)列表。

1.6 书店程序
#include <iostream>
#include "Sales_item.h"
int main()
{
Sales_item total;
if (std::cin >> total)
    {
        Sales_item trans;
        while (std::cin >> trans)
            {
             if (total.isbn() == trans.isbn())
             total += trans; 
             else   
                 {
                  std::cout << total << std::endl;
                  total = trans;
                 }
            }
            std::cout << total << std::endl;
   }
else
    {
     std:: cerr << "No Data" << std::endl;
     return -1;
    }
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值