C++基础(一)

一、基础
    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、转义字符
        \b 退格
        \n 换行
        \t 水平制表(跳行)
        \\ \
        
    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{};
       

posted @ 2021-04-22 10:28  NK-cat  阅读(64)  评论(0编辑  收藏  举报