您的位置:首页 > 编程语言 > C语言/C++

C++语言教程(详解,会更新)——第5篇:多种多样的C++类型

2019-08-30 12:06 78 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/Tinx_G/article/details/100152928

文章目录

  • 正文
  • 预习&作业
  • 对于本系列声明

    版权声明

    copyright 2019 XyloZebra 原创,请勿抄袭!
    转发请注明原贴位置
    悄悄地告诉你:这名字分为Xylo和Zebra,是我真名的首字母组成的单词!

    系列内容声明

    • 这个系列适合想学C++的菜鸟或略懂一些的人,大佬请绕路而行。
    • 这个系列基本涵盖所有C++基础知识。
    • 参考文献:《零基础学C++》吉林大学出版社
                        百度百科

    系列文章链接

    正文

    Hello,大家好
    上篇文章我讲了关于C++变量的知识。
    定义变量需要:

    [类型] [标识符];

    这篇文章我们就学习一下C++类型的知识。

    整型

    整型类型是一个大家庭,有很多描述整型数字(就是整数)的类型。

    类型 范围 描述
    [signed] int
    -2147483648-2147483647 整型
    unsigned [int]
    0-4294967295 无符号整型
    [signed] short [int]
    -32768-32767 3ff7 短整型
    unsigned short [int]
    0-65535 无符号短整型
    [signed] long [int]
    -2147483648-2147483647 长整型
    unsigned long [int]
    0-4294967295 无符号长整型
    [signed] long long [int]
    -9223372036854775808-9223372036854775807 超长整型
    unsigned long long [int]
    0-18446744073709551615 无符号超长整型

    如果一个类型存储的数据超出范围(学名叫溢出),就会又从范围中最小的数记起。如:

    int outtaRange_num=2147483648;

    此时

    outtaRange_num
    的值溢出,所以又从最小记起,是-2147483648。

    相信大家一看到“无符号”就晕了吧!这是一个术语。观察一下,所有无符号整型类型的范围,其实无符号只表示正整数和零。

    PS:中括号中的都可以省略。

    实型

    类型 范围 有效位数 描述
    float
    3.4 X 10^-38 - 3.4 X 10^38 6~7 单精度实型
    double
    1.7 X 10^-308 - 1.7 X 10^308 15~16 双精度实型
    long double
    -1.2 X 10^-4932 - 1.2 X 10^4932 18~19 长双精度实型

    注意:实型类型中没有无符号的。

    布尔型

    布尔型

    bool
    用于描述真或假两种状态:

    bool t=true;
    bool f=false;

    字符型

    一般来说,字符型有两种:

    [signed] char //-128-127
    unsigned char //0-255

    为什么要存储字符的类型存储的却是整型数字呢?
    这要从ASCII码说起:
    ASCII字符表将字符表示为0-127的整型数字,而

    char
    unsigned char
    刚好可以表示。如下:

    char A='A'; //char A=65;

    用户自定义类型

    之后会讲到,我们可以自己定义类型供使用,也可以用C++自带库里头的类型。

    string
    类就是一个例子。
    非自定义的类型我们称之为“基本数据类型”。

    编程挑战

    请声明一个char,赋值一个字符。
    再声明一个long,将char复制赋值给这个long。
    再用cout输出流输出这两个变量,用逗号

    ,
    分隔。
    提示:字符要放在两个单引号
    '
    中间,如:

    'C'

    写代码(cpp shell)

    代码示例

    char实现

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    char c='s';
    int c_int=c;
    cout<<c<<','<<c_int<<endl;
    //注意,你不能将在两个双引号中的字符串赋值给char或unsigned char
    //不能:char a="a";
    return 0;
    }

    unsigned char实现

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    unsigned char c='s';
    int c_int=c;
    cout<<c<<','<<c_int<<endl;
    //注意,你不能将在两个双引号中的字符串赋值给char或unsigned char
    //不能:unsigned char a="a";
    return 0;
    }

    预习&作业

    下一节:基本数据类型之间的转换
    预习:隐式转换和显式转换

    作业:将本节课所有学到的类型都定义一个变量,cout输出看看。(除了string和用户自定义变量)

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: