• C++学习 之 变量和常量的使用(笔记)


    一、变量

    1.对变量含义的理解:

      变量就像是经过工厂加工后有一定容量的容器。在变量定义时,系统充当了工厂的角色,按照类型为变量分配相应的空间。定义完成的变量可以存放相应类型的值,存放的值大于变量所能接受的范围时变量会发生溢出。顾名思义,变量里的值一般是可以修改的,体现在该变量存储区的值可以复写。

    2.C++中变量的声明:

      C++定义变量的语法:

          variable_type(变量类型) variable_name(变量名称);

          或

          variable_type(变量类型) variable_name(变量名称) = initial_value(初始值);

    如:

    int v1;
    char v2='a';

      声明多个类型相同的变量:

          variable_type(变量类型) variable_name(变量名称),variable_name(变量名称),...,variable_name(变量名称);

          variable_type(变量类型) variable_name(变量名称) = initial_value(初始值),...,variable_name(变量名称) = initial_value(初始值); 

          variable_type(变量类型) variable_name(变量名称),...,variable_name(变量名称) = initial_value(初始值);

    如:

    int a,b,c,d;
    int e=0,f=0,g=0;
    int h,i=0;

    3.理解变量作用域:

      每个变量都有作用域,变量的作用域决定了变量定义的生效范围,就如同法律条文一样,一般不同国家的法律条文仅作用于本国,变量仅生效于其作用域。函数内定义的变量的作用域为该函数内,全局变量的作用域为全局。不同函数内定义的变量被视为独立实体,当该函数执行完毕便释放变量所占用的内存空间,即便不同函数内定义的变量名称相同也不会相互影响。

      全局变量定义示例:

    #include<iostream>
    using std::cout;
    using std::endl;
    int a=20;
    void Print()
    {
        cout<<a<<endl;    
    }
    int main()
    {
       Print(); cout
    <<a<<endl; }

      局部变量定义示例:

    #include<iostream>
    using std::cout;
    using std::endl;
    int a=20;
    void Print()
    {
        int b=30;
        cout<<b<<endl;  
        cout<<a<<endl;    
    }
    int main()
    {
        Print();
        cout<<a;
        //cout<<b;
    }

      注意:main函数中的注释行"//cout<<b;"如果去掉注释符号会有类似于'b' was not declared in this scope的报错信息。因为变量 "b"只在Print函数中定义了,在main函数中没有定义。

    4.C++中常见变量类型和取值范围:

      4.1 bool变量

      C++中专门为存储布尔值true和false而创建的变量类型,bool变量的取值为true或false。

      布尔变量定义示例:

    bool running=false;

      4.2 char变量

      char变量用于存储单个字符。char的取值为256个字符值,在ASCII码中用7位二进制表示字符,可表示128个不同的字符值;在扩展ASCII码用一个字节中的高一位做扩展位,其余7位表示128个不同的字符

      加上高位的一位共8位可表示256个字符值。

      

    char input_char='Y';//定义名为input_char的变量,并设置初始值为Y。

      4.3 unsigned int 和 int变量

      unsigned int 中有 unsigned short int 和 unsigned long int ,unsigned short int为二进制16位表示范围为0~65535,unsigned long int 为二进制32位表示范围为0~4294967295。在大多C++编译器中int被认

      为拥有4个字节共32位,即直接使用unsigned int时 其取值范围大多时候为0~4294967295,部分编译器会把它。unsigned long long int 的范围为unsigned long int的两倍。int 中有short int 和 long int 以及

      long long int,它们的二进制表示最高位为符号位,所以 short int 的取值范围 -32768~32767,long int 的取值范围为-2147483648~2147483648,long long int 的取值范围是 long 的基础上扩展两倍。

      4.4 浮点类型 float 和 double

      浮点数就是实数,可以是正,也可以是负,还可以包含小数值。如果要存储小数就可以声明浮点类型的变量,如:float Pi=3.1416;声明双精度浮点数(double)变量如:double Pi=3.14159265,注意想存

      储两个整数相除得到的小数结果时,不能直接相除,而应在把整数换成类似"22.0"这样的小数。

    5. typedef替换变量类型

      C++允许我们将变量类型替换为我们认为方便或更具描述性的名称,为此可使用关键字 typedef。例如:typedef unsigned int Integral_type;给 unsigned int 一个别名 Integral_type。

    二、常量

    1. 常量的定义:

      不被人为改变的量叫做常量,换句话说常量的值不能被修改。如果我们想定义了一个具有和变量一样带有名称的常量,我们可以使用const来定义,也可以使用enum声明枚举常量。在C++11版本中新增了

      常量表达式,声明时使用constexpr。不推荐使用#define定义变量,因为其定义的是宏常量,只是字符替换,编译器不关心常量的类型,没法进行语法的检查。const比#define更安全并且更加简洁高效;    #define兼容性更好。

    2.枚举常量的定义:

      使用enum为一种变量设置特定一组取值。

        例如枚举常量包含彩虹的颜色:

    enum RainbowColors
    {
        Violot = 0,
        Indigo,
        Blue,
        Green,
        Yellow,
        Orange,
        Red
    };

      声明的枚举常量,编译器会把它转化为整数,其默认起始值为0,我们也可以给定初始值如上例中显式给出初始值为0,我们还可以给每个枚举常量赋指定值(使用默认值时每个值都比前一个大1,当然除

      了第一个)。

      注意:变量命名要符合规范,要站在别人的角度考虑,要使得变量名或常量名具有描述性。

  • 相关阅读:
    paper 66: MATLAB函数—disp的使用
    paper 65 :尺度不变特征变换匹配算法[转载]
    paper 64:尺度空间(Scale space)理论
    paper 63 :函数比较:imfilter与fspecial
    paper 62:高斯混合模型(GMM)参数优化及实现
    paper 61:计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接
    paper 60 :转载关于视觉SCI期刊
    paper 59:招聘
    paper 58 :机器视觉学习笔记(1)——OpenCV配置
    paper 57 :颜色直方图的代码
  • 原文地址:https://www.cnblogs.com/dulm/p/11218781.html
Copyright © 2020-2023  润新知