zoukankan      html  css  js  c++  java
  • 2、C++中的变量类型及转换

    C++中的数据类型包括常量与变量,而敞亮和变量都具有类型。有这些数据类型还能构成更加复杂的额数据结构;

    例如利用指针和结构体类型可以构成表、树、栈等复杂的数据结构。

    C++中可以使用的数据类型如下图:

    变量的类型可以互相转换,分为自动转换和强制转换:

    • 自动转换(范围最大化原则):
    1. 若参与运算量的类型不同,则先转换成同一类型,然后进行运算;
    2. 转换按数据长度增加的方向进行,以保证精度不会降低。如int型和long型 运算时,先把int型转换成long型后在进行运算。
    3. 所有的浮点运算 都是以双精度进行的,即使仅含有float单精度量运算的表达式,也要先转换成double型在做运算。
    4. char型和short型参与运算时,必须先转换成int型。
    5. 在赋值运算中,复制好 两边量的数据类型不同时,复制好右边量的类型将转换成左边量的类型。如果右边梁的数据类型长度比左边长时,将丢失一部分数据,会降低精度。
    int a = 1;
    float b = 2.3;
    a = b;        
    cout << "a= " << a << endl;        //输出为2,丢失小数部分
    
    int a1 = 1;
    double b1 = 2.3;
    cout << "a1+b1= " << a1 + b1 << endl;        //输出为a1+b1=3.3
    • 强制转换:
    1. 强制转换通过类型转换运算来实现,其一般表现形式如下:
    int aa = 1;
    float bb = 2.3;
    cout << "aa+bb=" << aa + (int)bb << endl;    //输出为aa+bb=3
    一个初识C++的小白
  • 相关阅读:
    转:全面理解Javascript闭包和闭包的几种写法及用途
    VS2010 AnkhSvn
    silverlight 子UserControl获取父UserControl
    IIS相关
    (转)Javascript中console.log()用法
    (转)Sql Server 保留几位小数的两种做法
    asp.net Web API
    (转)C#中数组、ArrayList和List三者的区别
    PowerDesigner
    (转)jQuery.fn.extend与jQuery.extend到底区别在哪?
  • 原文地址:https://www.cnblogs.com/Real-m/p/13203210.html
Copyright © 2011-2022 走看看