一、基础
1、 变量和常量
变量:方便管理内存空间 (给内存起一个别名 )
常量:记录程序中不可更改的数据
#define 常量名 常量值
const修饰的变量也是常量
2、关键字
3、 数据类型(避免数据浪费)
1)整型
short 2
int 4
long 4(linux 4/8)
longlong 8
2)实型 --默认输出小数只能保留5位有效数字
float 4 7位(总共)有效
float f1 = 3.14f;(c++默认把实行当成double)
double 8 15~16位有效
3)字符型 表示字母
char 1
4)字符串型
char 变量名[] = "字符串值";
string 变量名 = "字符串值"; 需要包含头文件 #include <string>
5)bool类型
bool 1 值为1或0
4、sizeof---统计数据类型所占类型空间
5、转义字符
退格
换行
水平制表(跳行)
\
6、数据的输入
cin >> 变量名;
7、算术运算符
+(正)-(负)+-/*%
两数相除,除数不能为0,同样取模也不能
两个小数可以相除
++ -- 递增递减
8、赋值运算 等同c
9、比较运算符 同c
10、逻辑运算符 同c
11、程序流程结构
1)顺序结构
if else
if else if
if嵌套
2)选择结构
switch(n){
case 1:执行语句 ;break;
}
3) 循环结构
while(){
循环体
}
do{
}while();
for(;;){循环体}
break和continue
12、三目运算符
表达式?表达式2:表达式3
13、goto语句
作用:可以无条件跳转语句
14、数组
1)一维数组
2)二维数组
二、函数
1、返回值类型(函数名) (参数列表)
{
函数体
return表达式
}
2、函数调用
函数名(参数);
3、值传递
三、指针
1、定义 和c一致
四 、动态分配内存
int * p = new int; //p是栈区 new int是在堆区分配了一块int型空间
delete ptr_int; //释放空间 不要释放已经释放的内存,
//不能释放声明变量分配的内存 ,
//不要用delete释放同一内存两次
动态理解:运行时才把内存空间分配给你
ps:不要创建两个指针指向同一个内存 ,可能误删除
int * intArray = new int[10];
delete [] int intArray;
补充:程序的内存分配:
1、栈区(stack):
由编译器自动分配释放 ,一般存放函数的参数值、局部变量等值
操作方式为数据结构中的 栈 先进后出
2、堆区(heap)
由程序员分配,不释放会在结束时可能由操作系统回收
分配方式类似于链表
3、全局区(静态区—static)
全局变量 和静态变量是存储在一起的
程序结束后由系统释放
4、文字常量区
常量字符串就放在这里,程序结束由系统释放
5、程序代码区
存放函数体的二进制代码
五、抽象和类
1、抽象 从具体事物抽取共同的本质特征
2、C++中的类 : 将抽象转换为用户定义类型的工具
将数据表示和操纵数据的方法组合成一个整体
类的实例成为对象
类中 的变量和函数成为成员
例:
地主类:
成员变量:名称、积分手牌
成员函数:摸牌、出牌、查看积分
成员变量和成员函数间的关系就是 成员函数是成员变量所能执行的操作
3、类的声明
使用class/struct关键字
class 类名{}; class LandOwner{};
struct 类名{};struct Hero{};