• C++学习day2


    变量就是程序员可以操作的存储区的名称。
    C++每一种变量都有 对应的类型类型的决定了变量存储的大小和布局,
    在类型玩味里面的值得都可以存储在 内存中。 运算符号就作用在内存上面。
    变量的定义就是告诉编译器在什么地方存储以及怎么存储。
    extern声明变量,在某个文件 ,函数,代码块中 被声明一次。
    函数声明,提供一个函数名。
    指向内存位置的表达式左值,存储在 内存中某些地址的数值 。。
    在三个地方声明变量 :
    函数或者代码块内部声明变量,局部变量。
    函数参数位置声明的变量是形式参数,函数外部声明 的变化量是全局变量。
    局部变量可以跟全局变量同值,局部变量会覆盖全局变量。
    整数常量可以是十进制,八进制,十六进制。
    0x表示十, 0表示八进制,没有前缀默认 就是十进制。
    常量也可以带后缀U或者L
    常见的转义字符:
    \
    ’ ’
    " "
    ? ?
    \a 警报铃声
    \b 退格键
    \f 换页符
    \n 换行符号
    \r 回车
    \t 水平制表符号
    \V 垂直制表 符
    \OOO 三位的八进制数字
    \xhh 一个或者多个数字的十六进制数

    字符串常量包含在"“中,一个字符串常量包含多个字符常量,转义 字符,或者其他的通用的字符
    两定义 常量的方式
    #define定义常量
    #define hight 10;
    预处理在主函数外面
    const定义常量
    const int a=3;

    auto 存储类是所有局部变量的默认存储类
    register存储类定义存储在寄存器中的而不是存储在RAM 中的变量,变量的最大尺寸是寄存器大小。
    static 在程序的生命周期内保持局部变量存在。
    extern 提供一个全局变量的引用, 对于无法初始化的变量,会把变量 指向一个之前定义过的位置。extern用来定义另一个 文件中生命的函数或者变量。
    通常用于两或者多个文件中共享函数或者变量。
    在一个文件中用extrern声明在前一个文件中已经声明的变量。

    算数运算符: + - * / % ++ ,–
    关系运算符: > < == != >= b <=
    逻辑运算符: && || !
    位运算符:
    p q p & q p | q p ^ q
    0 0 0 0 0
    0 1 0 1 1
    1 1 1 1 0
    1 0 0 1 1

    c++支持所有位运算符

    运算符 描述 实例
    & 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 (A & B) 将得到 12,即为 0000 1100
    | 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 (A | B) 将得到 61,即为 0011 1101
    ^ 如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中。 (A ^ B) 将得到 49,即为 0011 0001
    ~ 二进制补码运算符是一元运算符,具有"翻转"位效果。 (~A ) 将得到 -61,即为 1100 0011,2 的补码形式,带符号的二进制数。
    << 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 A << 2 将得到 240,即为 1111 0000

    二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 A >> 2 将得到 15,即为 0000 1111

    赋值运算符

    运算符 描述 实例
    & 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 (A & B) 将得到 12,即为 0000 1100
    | 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 (A | B) 将得到 61,即为 0011 1101
    ^ 如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中。 (A ^ B) 将得到 49,即为 0011 0001
    ~ 二进制补码运算符是一元运算符,具有"翻转"位效果。 (~A ) 将得到 -61,即为 1100 0011,2 的补码形式,带符号的二进制数。
    << 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 A << 2 将得到 240,即为 1111 0000

    二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 A >> 2 将得到 15,即为 0000 1111
    实例

    运算符 描述 实例
    = 简单的赋值运算符,把右边操作数的值赋给左边操作数 C = A + B 将把 A + B 的值赋给 C
    += 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 C += A 相当于 C = C + A
    -= 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数 C -= A 相当于 C = C - A
    *= 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 C *= A 相当于 C = C * A
    /= 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 C /= A 相当于 C = C / A
    %= 求模且赋值运算符,求两个操作数的模赋值给左边操作数 C %= A 相当于 C = C % A
    <<= 左移且赋值运算符 C <<= 2 等同于 C = C << 2

    = 右移且赋值运算符 C >>= 2 等同于 C = C >> 2
    &= 按位与且赋值运算符 C &= 2 等同于 C = C & 2
    ^= 按位异或且赋值运算符 C ^= 2 等同于 C = C ^ 2
    |= 按位或且赋值运算符 C |= 2 等同于 C = C | 2
    实例

    其他运算符
    sizeof 返回变量的大小
    condition?a:b 满足 条件输出A不满足条件输出b
    ,逗号运算符,会 顺序执行一系列运算
    .引用类,结构体,共用体的成员
    cast 将一种数据类型转化为 另外一种数据类型
    &指针运算符号,返回变量的地址

    • 指针运算符号,,指向一个变量
      三种基本循环:
      while
      do while
      for
      嵌套

    三种循环控制语句
    break 直接跳出循环
    cotinue ,跳过循环主体的剩余部分重新开始测试
    go to 无条件转移到被标记的语句或者函数

    ctrl+c 停止无限循环

    五种判断语句
    if
    if else
    嵌套的if
    switch
    嵌套的switch

    函数:
    函数声明,告诉编译器函数的返回值类型。函数的参数,函数名称。
    返回类型+ 函数名称+参数+函数主体
    执行操作但不需要返回的用void
    随机数: srand(time()) 调用一个rand 返回一个伪随机数

    数组: 声明数组,数组赋初值。
    字符数组:c++在声明的时候自动把“” null放进数组中, 以null结尾,c++字符数组的大小比实际大小+
    在一个{}里面声明每一个字符组成一个字符数组

    c++提供的操作字符串的函数
    strcpy(s1,s2) 复制字符串2到字符串1
    stract(s1,s2) 将s2连到s1的尾部
    strlen(s1 ) 返回字符串长度
    strcmp(s1,s2) 1 2 相等返回0,1小于2返回复数,1大于2返回正数
    strchr(s1,ch) 返回一个指针,指向s1 中ch第一次 出现的位置

  • 相关阅读:
    企业如何高效平滑迁移数据?火山引擎DataLeap上线整库搬迁解决方案
    第九章 无线网络和移动网络 | 计算机网络(谢希仁 第八版)
    infoNCE损失和互信息的关系
    Python:实现reverse letters反向字母算法(附完整源码)
    问chatgpt最近生活的困难
    国外大神制作的史上最精简Win10系统,真有那么好用吗?
    【手写协程】带你从底层实现一个最小协程调度器
    TypeScript + react 中 TypeScript 的加入后 , 有哪些优化项目
    MySQL系列之隔离级别
    Pulsar-Pulsar 之 Functions
  • 原文地址:https://blog.csdn.net/TYJ20170916/article/details/126281316