内置数据类型,int, float, char, boolean(false/true)
扩展的基本数据类型,string, complex number, vector, list;
对象的定义,
表达式, C++ 中的动作,声明,赋值,运算,输入、输出等等动作,通过一个或多个式子来表达;
语句,以分号结尾的表达式;
函数的定义和使用,函数就是语句构成的解决问题的单元;函数分为四个部分:返回类型、函数名、参数表、函数体;
程序的编译过程,
预处理,
输入、输出,
得:
1) 解决复杂问题的办法,是把这个问题拆开来,分而治之,古来如此;对于每个问题又可以拆成,算法、数据;
2) 对于例子,我的解决办法:
数据: 每本售出的图书的书名和出版社,以时间排序; 两周
需求: 每本书的销售量,每个出版社的销售量; 以出版社名称的首字母排序
第一步: 数据处理,问题一,将书名相同的合并,同时数目加一;
问题二,对出版社排序;
问题三,对同一出版社,书的数目相加;
第二步: 算法实现,问题A,问题一与二哪个放在前面进行效率高;
问题B,如何合并;问题一,三中;
问题C,排序;
与之比较: 我缺少读文件,输出文件的过程;
书中没有考虑问题一、二先后的效率问题;(应该是先对出版社排序,然后合并书比较简单)
3) 后文件后缀的问题: 注意:在DOS中大写和小写的C是相同的;(?大小写的问题)
后缀: .h;.c;.cxx;.cpp;
在C++的不同实现中后缀是不同的,具体情况需要查阅编译器的用户指南;(进一步了解)
4) 编译:编译包含两个过程,一,查错;二,生成代码;查错分为语法错误和类型错误;
这个过程就相当于,我们和计算机说话,错误就是计算机没听懂我们的话,而没听懂的原因,一为我们语法错误, 二为常识错误,比如把小数说成整数;生成代码就相当于计算机自己对话的理解;
5) // 为了使用string 对象下面的头文件是必需的
#include <string>
string current_chapter = "Getting Started";
// 为了使用vector 对象下面的头文件是必需的
#include <vector>
vector<string> chapter_titles( 20);
疑问:
1) using 指示符,2.7&2.8节;
2) 内置类型之间的隐式类型转换 4.14节;