2020年3月28日
学习进度
这两天看了第一章和部分第二章
第一章 开始
前面没什么好说的,1.5和1.6要稍微理解一下。
1.5节 类简介+1.6节 书店程序
文件重定向: $ addItems <infile >outfile
这条语句可以在命令行使用,功能是:执行addItems.exe,把infile文件内容作为输入,输出到outfile文件中。
练习 1.25
addItems.cpp:
#include <iostream>
#include "MS_pre_C11/1/Sales_item.h"
using namespace std;
int main(){
Sales_item total; // 保存下一条交易记录的变量
//读入笫一条交易记录,并确保有数据可以处理
if (cin >> total) {
Sales_item trans ;
//读入并处理剩余交易记录
//保存和的变量
while (cin >> trans) {
//如果我们仍在处理相同的书
if (total.isbn() ==trans.isbn())
total += trans; // 更新总销售额
else {
//打印前一本书的结果
cout << total << endl ;
total = trans ; //total 现在表示下一本书的销售额
}
}
cout << total<< endl ; // 打印最后一本书的结果
}else {
//没有输入,警告读者
cerr << "No data?! " << endl ;
return -1; // 表示失败
}
return 0 ;
}
命令行操作步骤:
第二章 变量和基本类型
其他知识点记录
一章中的一些知识点
cin, cout, cerr, clog分别是istream和ostream的对象
<< 输出运算符,>> 输入运算符
endl 操纵符
:: 作用域运算符
namespace 命名空间
{} 语句块
当我们使用一个istream 对象作为条件时,其效果是检测流的状态
include标准库用<>,非标准库用""
常见编译错误:语法错误,类型错误,声明错误
二章知识点
有符号数和无符号数
当我们赋给无符号类型一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数
当我们赋给带符号类型一个超出它表示范围的值时,结果是未定义的(undefined ) 。此时,程序可能继续工作、可能崩溃,也可能生成垃圾数据。
表达式中同时存在带符号数和无符号数时,带符号数会自动地转换成无符号数。
类型
转义序列表
字面值表
初始化与赋值
初始化不是赋值, 初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值掠除,而以一个新值未替代。