zoukankan      html  css  js  c++  java
  • 02数据类型

    数据类型

    C++规定在创建变量或常量时,必须要指出相应的数据类型,否则无法给变量分配内存空间,因此称C++是一个强类型语言。

    1. 整型

    作用:整形变量表示的是整数类型的数据。
    C++中有如下几种类型:

    数据类型 占用空间 取值范围
    short 2字节 (-2^15 ~ 2^15 - 1)
    int 4字节 (-2^31 ~ 2^31-1)
    long Windows为4字节,Linux为4字节(32位),8字节(64位) (-2^31 ~ 2^31 - 1)
    long long 8字节 (-2^63 ~ 2^63 - 1)

    示例:

    // 1. 短整型 (3万的数量级,-32768 ~ 32767)
    short a = 10;
    
    // 2. 整性 (20亿的数量级,-2147483648 ~ 2147483647)
    int b = 20;
    
    // 3. 长整型 (数量级为9*10^19)
    long c = 30;
    long long d = 40
    

    2. sizeof关键字

    作用:用于求出数据类型所占用的内存空间

    示例:

    short a = 10;
    cout << "sizeof(a)" << sizeof(a) << endl
    
    int b = 20;
    cout << "sizeof(b)" << sizeof(b) << endl
    
    long c = 30;
    cout << "sizeof(c)" << sizeof(c) << endl
    
    long long d = 40;
    cout << "sizeof(d)" << sizeof(d) << endl
    

    运行结果:

    sizeof(a) = 2
    sizeof(b) = 4
    sizeof(c) = 8
    sizeof(d) = 8

    3. 实型

    作用:用于表示实数类型

    种类:单精度浮点数float、双精度浮点数double

    类型 占用空间 精度
    float 4个字节 7位有效数字
    double 8个字节 15~16位有效数字

    示例:a

    // 加f的原因是小数字面值默认为double类型
    // 在赋给float类型的变量前会先转化为float类型的变量
    // 加上f后小数的字面值变为float类型,节省类型转换这一步骤
    
    float f1 = 3.14f;
    double f2 = 3.14
    
    // 科学计数法表示
    float f3 = 3e-2;
    
    cout << "f1 = " << f1 << endl;
    cout << "f2 = " << f2 << endl;
    cout << "f3 = " << f3 << endl;
    

    运行结果:

    f1 = 3.14
    f2 = 3.14
    f3 = 0.03

    4. 字符类型

    作用:用于表示单个字符
    语法:char ch = 'a';

    // 1. 定义字符变量的方法
    char ch = 'a';
    
    // 2. 字符变量所占内存大小
    cout << sizeof(char) << endl;
    
    // 3. 区分字符串和字符的定义
    // 字符变量类型为char,用单引号包括起来
    // 字符串的类型为char[],用双引号包括起来
    char ch = 'a';
    char str[10] = "abc"
    
    // 4. 字符按某种编码以二进制值存储在内存中,如ASCII码、Unicode码
    // 如a的码值为97
    cout << (int)ch << endl;
    

    5. 转义字符

    作用:用于表示一些不能显示出来的ASCII字符
    常用的有:\n, \t, \\

    // 1. 换行符
    cout << "hello, world\n";
    
    // 2. 反斜杠
    cout << "this is \\" << endl;
    
    // 3. 水平制表符(tab)
    cout << "this \t is a tab." << endl;
    

    6. 字符串

    作用:用于表示一串字符
    两种风格:

    1. C风格字符串:char 变量名[] = "字符串字面量"
    2. C++风格的字符串:string 变量名 = "字符串字面量"

    示例:

    // 1. C风格的字符串
    // C风格的字符串的末尾会添加一个'\0'
    // 如字符串"hello"的组成元素为'h','e','l','l','o','\0'
    char string1[] = "hello";
    
    // 2. C++风格的字符串
    // 使用string类型前需要包含头文件#include<string>
    string string2 = "hello";
    
    1. 布尔类型bool
      作用:布尔类型代表真和假
      布尔类型有两个值(占一个字节大小):
    • true:表示真(本质是1)
    • false:表示假(本质是0)

    示例:

    bool flag = true;
    cout << flag << endl;
    
    flag = false;
    cout << flag << endl;
    
    cout << sizeof(flag) << endl;
    

    8. 数据的输入

    作用:从键盘获取数据
    关键字:cin
    语法:cin >> 变量名

    示例:

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    // 整型输入
    int a = 0;
    cout << "请输入一个整数" << endl;
    cin >> a;
    cout << a endl;
    
    // 浮点数输入
    float f = 3.14f;
    cout << "请输入一个浮点数" << endl;
    cin >> f;
    cout << f << endl;
    
    // 字符型输入
    char ch = 'a'
    cout << "请输入一个字符" << endl;
    cin >> ch;
    cout << ch << endl;
    
    // 字符串输入
    string str = "hello";
    cout << "请给字符串str赋值" << endl;
    cin >> str;
    cout << str << endl;
    
    // 布尔类型的输入
    // 显然,只有0值转化为布尔类型后为0
    // 否则,其他任意值都会转化为1
    bool flag = false;
    cout << "输入一个布尔类型" << endl;
    cin >> flag;
    cout << flag < endl;
    
    CS专业在读,热爱编程。
    专业之外,喜欢阅读,尤爱哲学、金庸、马尔克斯。
  • 相关阅读:
    Python环境的安装
    tar.xz如何解压:linux和windows下tar.xz解压命令介绍
    设置SVN忽略文件和目录(文件夹)
    C#【Thread】Interlocked 轻量级锁
    手把手教你做个AR涂涂乐
    理解UV贴图
    unity animation readonly 无法加事件?
    LUA Metatables
    增强现实阴影
    unity shader tags
  • 原文地址:https://www.cnblogs.com/jmhwsrr/p/15736911.html
Copyright © 2011-2022 走看看