C++ 上篇

1.语言中的数据成分
2.语言中的运算成分
3.语言中的控制成分
4.语言中的传输成分 函数的传参机制

C++中的数据类型
    1.该类型的所占内存大小
    2.基于该类型的运算方法
    int i;  +-*/%
    float f; +-*/
    3.对数据类型进行检查
    3.14*2*2

关键字 32 19

    signed unsigned static
    sizeof   关键字 运算符
基本数据类型
    整形
        布尔    bool    1byte   8bit
        字符    char    1byte   8bit
        短整形  short   2byte   16bit
        整形    int     4byte   32bit
        长整形  long    4byte   32bit
    浮点
        单精度  float   4byte   32bit
        双精度  double  8byte   64bit
扩展数据类型
    数组    []
    指针    *
    void
    string
    自定义数据类型
        结构体  struct
        枚举    enum
        联合    union
        类      class

变量 -->内存空间
int a = 3+4;
变量名
    不能是关键字
    字母/_ + 字母/_/数字
    区分大小写
    abc   ABC
类型 变量名;

计算机对内存是如何管理组织的

    bit
    8bit    1byte   一个字节
    32/64   一个机器字  Byte

    1G = 1024M = 1024*1024K = 1024*1024*1024byte

    100Mbit/8   12M

    32计算机 访问的最大内存 G  
    4G

    2的32次方  = ?G
    2的10次方  = 1024
    1G=2的30次方

    1k = 1024byte
    1kg = 1000g

变量的输入 ,输出
    cout 输出流对象
    cin  输入流对象

    int a;
变量信息表示
    所有的整形,浮点,字符,图片,视频,语音
    man ascii
==============================================================
基于基本数据类型上的运算

    sizeof 变量 类型 常量
    sizeof(3.14) = 8

算术运算
    + - * / %

    n%7  ==> [0, 6]
    n%10 ==> [0, 9]
    n%32 ==> [0, 31]

    n = rand();
    n%32  [1-32]+
      32/7  [1-32]

      1.0-42亿
      n
    1.运算两边的类型不一致,如果不一致编译器会将其转换同一类型,运算后也是该类型

    2.编译器隐式转换规则
        a.整形转浮点
        b.小的转大的
        c.有符号转无符号
赋值运算 =
    将=右边的值 复制到=左边的变量(内存空间)中

    int i = 3.14;
    char c = i;
    i = 10; ==> 10 = i;
============================================================
关系运算
    > < >= <= != ==

分支语句
    if      单分支
    if(条件语句)
    {
        条件为真执行的语句
    }

    if(条件语句)        双分支
    {
        条件为真执行的语句
    }
    else
    {
        条件不为真执行的语句
    }

    switch case         多分支
    switch(条件)
    {
        case 1:
            break;
        case 2:
            break;

        default:

    }
gg=G 对整个代码进行缩进
逻辑运算
    && || !
==============================================================
自增自减
    ++ --
    i++ ==> i = i + 1

    前置    先自增自减,再赋值使用
    后置    先赋值使用,后自增自减
循环语句
    for(三条语句,由两个分号分隔)
        1.第一条语句,循环变量初始化语句
        2.第二条语句,循环条件语句
        3.第三条语句,循环变量修改语句
    for(int i = 0; i < 100; i++)
    {
        循环条件为真,需要循环执行的语句
    }
    注意:
        1.for()后没有分号
        2.for后面的循环体,如果有多条语句用{}括起来
        3.for()中可以没有语句,里面一定要有分号
        for(;;) ==> 死循环
        break;  循环体中只要执行到break语句,整个循环结束
数组
    int a[10];
    a[0]
    ...
    a[9]
    a[10] 段错误或不确定值
    变量没有初始化,里面的值是不确定的
===============================================================
以窗口方式打开终端 Ctrl + Alt + t
以标签方式打开终端 Ctrl + Shift + t
切换标签 Alt + 数字
补全 tab
终止当前终端的程序 Ctrl + c

1.多个.cpp文件编程
    函数
    实现两个数的和

1.数据成分
2.运算成分
3.控制成分
4.传输成分
  模块之间的数据传递
    
    函数之间的数据传递

        局部变量:声明在函数内部的变量/{}内部的变量
            只能被当前函数所访问==》作用域
            生命周期==》内存什么时候产生,什么时候释放
            {}进入大括号    退出大括号
        全局变量:不在函数内部声明的变量
            能被当前文件所有函数所访问==》作用域
            整个程序==>当程序运行的时候,开始
                       当程序结束的时候,释放
    函数的传参机制
        1.传值
            函数的内部语句,要修改函数外部变量的内容 ?
        2.地址 ==>指针
            int i = 10;
            &i
            int *pi = &i;  // 指针变量
        3.数组
        4.引用 ==>
    文件之间的数据传递 ==>多文件编程
===============================================================
库 .o
    printf()-->printf.o-->libc
动态内存分配
    标准C库函数
    malloc  ==> new
    free    ==> delete
    sizeof
===============================================================
struct声明的成员和函数,默认为public 公开
class声明的成员和函数,默认为private 私有
成员变量:属性
成员函数:方法/行为
函数的默认参数
    声明函数的时候,加默认参数
    定义函数的时候,不需要指定默认参数
    如果没有实参,使用默认参数的值
    如果有实参,使用实参的值
    默认参数可以赋值为全局变量,全局表达式,函数调用
    有默认参数的形参必须在最右边
函数的重载
    函数名相同,形参类型不同,这样的函数形成重载
    函数名相同,形参个数不同,这样的函数形成重载
    函数名相同,返回值类型不同,这样的函数不能形成重载
回顾:
    类 和对象

    构造函数
        没有返回值
        函数名跟类名一致
        可以重载
        如果用户没有自定义一个拷贝构造函数,
        编译器会准备一个默认的拷贝构造函数
    析构函数
=================================================================
回顾:
今天:
    拷贝构造
    系统默认的为浅拷贝
    可以自定义一个深拷贝
    对象指针
    对象数组

    this 指针
    静态成员static(静态数据成员,静态函数成员)
    static 修饰变量:
            局部变量:作用范围限定在当前作用域{},
                      生命周期是整个程序的生命周期
            全局变量:生命周期是整个程序的生命周期,
                      作用范围只限定于当前文件访问
                      不会对其他文件的命名产生冲突,
                      不污染全局命名的空间
            
            修饰函数:生命周期是整个程序的生命周期
                      作用范围只限定于当前文件访问
                      不污染全局命名空间

     类 成员
     static  成员变量
                存储特性跟static修饰的局部变量一样,
                全局生命周期,即可以通过类名作用域访问,
                也可以通过对象访问
                Student::count;
                Student s;
                s.count

    static 成员函数
                静态成员函数只能操作静态成员变量,
                没有this指针,不能操作普通成员变量
    友元
        友元函数
        友元类
==================================================================
继承 extends
    类一般声明方式:
        class 类名 :<继承方式> <基类>{
        <访问属性> public private protected(没讲)

        声明一个类的时候,没有说明访控属性,默认是什么?
        class   ==> private
        struct  ==> public
        };
        有哪些<继承方式>:public private protected
        如果没写继承方式,默认的继承方式是private 
父类的访控属性      继承方式        子类的访控属性
public              public          public
protected           public          protected
private             public          不可访问
--------------------------------------------------
public              private         private
protected           private         private
private             private         不可访问
--------------------------------------------------
public              protected       protected
protected           protected       protected
private             protected       不可访问
--------------------------------------------------
总结:
    1.父类是private,无论通过什么方式继承,子类均不可访问
    2.无论父类public或protected,经过private,子类都是private
      无论父类public或protected,经过protected,子类都是protected
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
郁金香是一种美丽的花卉,常被人们用来作为装饰和观赏。它的种植方法相对简单,以下是郁金香种植的入门教程。 首先,选择适合种植郁金香的地点。郁金香喜欢充足的阳光和排水良好的土壤,因此选择有透气性的土壤,并确保种植的地方能够充分暴露在阳光下。 接下来,准备土壤。郁金香需要营养丰富的土壤,可以在种植前施加有机肥料来改善土壤质量。确保土壤的PH值在6-7之间,不过酸性土壤也可以适度种植。 然后,选择适合的郁金香品种。郁金香有很多品种可供选择,不同品种的颜色和花型都各具特色。根据自己的喜好选择适合的品种,也可以根据气候条件选择早春、中春或晚春的品种。 接下来就是种植了。在土壤中挖一个深度适当的坑,将郁金香球茎放入坑中,注意球茎的凹凸面应朝上。然后将土壤轻轻填入坑中,留出一些空隙以便球茎扎根。 最后,适当浇水和施肥。刚种植完毕后,要给郁金香充足的水分以帮助其扎根。接下来的几周内,定期浇水保持湿度,但不要过度浇水以免引起病害。郁金香在生长期也可以施加一些磷、钾等营养物质的肥料。 注意,郁金香在生长期间需要保持适当的温度和湿度,避免过度晒太阳和过度湿润。同时,及时除去枯叶和花朵,以保持植株的健康状态。 通过以上步骤的耐心操作,我们就可以成功种植出美丽的郁金香了。希望这个简单的郁金香种植教程能够帮助到您。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jasonakeke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值