zoukankan      html  css  js  c++  java
  • C++---变量、数据类型和运算符

    内存

    • 计算机使用内存来记忆或存储计算时所使用的的数据.
    • 计算机执行程序时, 组成程序的指令和程序所操作的数据都必须存放在某个地方, 而这个地方就是计算机的内存, 也称为主存, 或随机访问存储器(RAM).

    变量

    • 变量是计算机中一块特定的内存空间, 由一个或多个连续的字节组成

    • 不同数据存入具有不同内存地址的空间, 且相互独立.

    image-20200422175527731

    变量的命名规则

    • 通过变量名可以简单快速的找到内存中存储的数据

    • C++中变量的命名规则

      • 变量名只能由字母 下划线 数字三种字符组成

      • 变量名的第一个字符必须是字母或下划线, 不能是数字

      • 变量名不能包含除下划线以外的任何特殊字符, 如% # 逗号等

      • 变量名不能使用保留字

      • 变量名不要使用拼音

      • 变量名尽量不使用单个英文单词, 提倡使用含有正式含义的英文单词

    数据类型

    image-20200430213940265

    常用数据类型

    image-20200430214047220

    注意: 字符型char 实际属于整型int.

    定义初始化变量

    //声明变量			数据类型  变量名;
    int num;
    
    //定义时初始化变量	  数据类型  变量名 = 值;
    int num = 10;
    
    //定义后初识化变量    数据类型  变量名;      变量名 = 值;
    int num;  
    num = 10;
    
    
    //float, 占4个字节, 6~7为有效数字, 不精确, 有误差
    //float类型变量赋值时建议在数值的末尾加一个f
    //声明及初始化
    float flowerPrice = 150.0f;
    
    //练习---已知圆柱体的半径和高, 求体积
    
    #include <iostream>
    #include <iomanip>				//使用setprecision时需要的头文件
    
    using namespace std;
    
    int main()
    {
        cout << fixed;				//正常显示浮点数, 而不是以科学计数法的方式
        cout << setprecision(2); 	//控制浮点数显示的精度
        double r, h;
        cout << "请输入圆柱体的半径: " << endl;
        cin >> r;
        cout << "请输入圆柱体的高: " << endl;
        cin >> h;
        double v = 3.14 * r * r * h;
        cout << "圆柱体的体积为: " << v <<endl; 
        
    }
    

    常用ASCII码

    image-20200430220415062

    常用转移字符

    image-20200430220452923

    输入输出

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    int main()
    {
        double attack1 = 896;
        double attack2 = 678;
        double attack3 = 482;
    
        cout << left;                       //左对齐
        cout << setfill('*');               //指定填充
        cout << setw(8) << attack1 <<
                setw(8) << attack2 <<
                setw(8) << attack3 << endl;
    
    }
    

    运算符

    算数运算符

    • 一元运算符: ++ --

    • 二元运算符: + - * % /

    • i++和++i的区别

      • i++是用原值参与表达式的运算, 运算之后再加1
      • ++i是在运算之前加1, 再参与表达式的运算

    关系运算符

    关系运算符可以比较大小 , 高低, 长短, 有>, <, >=, <=, ==, !=

    逻辑运算符

    运算符 表达式 解释
    && 且 条件1 && 条件2 两个条件同时为真时, 结果为真
    || 或 条件1 两个条件有一个为真时, 结果为真
    ! 非 !条件 条件为真时, 结果为假 条件为假时, 结果为真

    位运算符

    运算符 解释 示例
    & 按位与 两个操作数都为1时结果为1
    | 按位或 两个操作数只要有一个为1, 结果就为1
    ~ 按位取反 操作数为1, 结果为0; 操作数为0, 结果为1
    ^ 按位异或 两个操作数相同, 结果为0; 两个操作数不同, 结果为1
    << 左移 右侧空位补0
    >> 右移 左侧空位补符号位

    注意: 负数的二进制以补码表示

    • 原码: 按照绝对值大小转化成二进制数
    • 反码: 将二进制数按位取反
    • 补码: 反码加1

    sizeof运算符

    • sizeof运算符可以获得数据类型占用内存空间的大小
    • 单位是字节
    sizeof(char)		1
    sizeof(short)		2
    sizeof(int)		4
    sizeof(long)		4
    sizeof(long long)	8
    sizeof(float)		4
    sizeof(double)		8
    sizeof(long double)	12
    

    运算符优先级

    • 单目运算符, 包括 ! , ~, ++, --, sizeof, 优先级别高
    • 优先级别最低的是赋值运算符
    • 可以通过 () 控制表达式的运算顺序, () 的优先级别最高
    • 从右向左结合性的只有赋值运算符, 三目运算符合单目运算符
    • 算术运算符 > 关系运算符> 逻辑运算符

    类型转换

    自动类型转换

    把表示范围小的类型的值转换到表示范围大的类型的值

    short -> int -> long -> float -> double

    强制类型转换

    语法: (类型名) 变量名;

    ​ 类型名(变量名);

  • 相关阅读:
    pytorch中的detach和detach_
    matlab求导
    Introduction to the Tcl command language
    Tcl/Tk学习
    利用char, str2mat, strvcat创建多行字符串数组
    矩阵操作
    matlab创建三对角线矩阵
    TensorFlow v2.0的基本张量操作
    数据科学家应知道的关于数据科学项目的四个关键方面
    使用TensorFlow v2库实现线性回归
  • 原文地址:https://www.cnblogs.com/KX-Lau/p/12814083.html
Copyright © 2011-2022 走看看