程序包含两个基本内容:
数据结构、算法
C++可以支持
基于过程的程序设计、
基于对象的程序设计、(抽象数据类型---->ADT)
面向对象的程序设计、(通过继承和动态绑定扩展ADT)
解决问题的一般策略:
分而治之,逐步求精
函数有四部分组成:
返回类型,函数名,参数列表,函数体
窍门:渐进式生成程序的方法,为控制程序设计中不可避免的错误提供了有效地控制手段,不要试图一气呵成的写完一个完整的程序。
C++标准库中的名字都是在一个被称作std的命名空间中声明的。这些名目在我们的程序中是看不见的,除非包括了相关头文件,以及使用 using namespace std
编译器的第一步工作是分析代码的程序形式的正确性(语法错误,类型错误)
编辑----编译-------调试
编译器的第二步工作是生成能够被计算机所理解代码,典型情况下,生成目标代码和汇编指令代码
C++内置基本数据类型(四种):
整数型(int),浮点数型(float,double),字符类型(char),布尔类型(bool)
类型转换:显式转换与隐式转换
C++还提供了一组扩展的基本数据类型:
字符串(string),复数(complex),向量(vector),列表(list)
类机制:类型自定义工具设施:能够在语言中引入新的类型。string,vector等都被设计 为类。
程序流程控制:
顺序进行,循环迭代,跳转分支
预处理器指示符:#include,#pragma等,通常预处理器被绑在编译器中
#include “myFile.h” 与 #include <myFile.h>
由于存在嵌套包含文件会导致编译错误,条件指示符可防止这种头文件的重复处理
#ifndef BOOKS_H //检查预编译器常量是否在前面已被定义
#define BOOKS_H //将BOOKS_H常量放在ifndef后面,以后ifndef永远假
整个BOOKS_H文件的内容
#endif
#ifdef 指示符常被用来判断一个预编译器常量是否被定义,以便有条件的包含程序代码
编译C++时,编译器自动定义了一个预处理器名字__cpluscplus,根据他来判断该程序是否为C++程序
#ifdef __cpluscplus
extern "C"
#endif
int main(int ,int);
在编译标准C时,编译器自动定义名字_STDC_ 。__cpluscplus与_STDC_不能同时拥有
assert():C语言标准库的预处理器宏,用于判断一个必须的前提条件
#include <assert.h>无需using 而 #include <cassert> 再加 using namespace std
输入输出流标准库: iostream ,面向对象的层次结构
cin,cout,cerr
文件输入输出: fstream