栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++基本数据类型

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++基本数据类型

C++基本数据类型 查看数据类型或变量的内存大小

不同的操作系统下即使是同一种数据类型,它们所站用的内存空间也是有所区别的。使用sizeof()可以查看数据的内存空间,使用方法:sizeof(类型名或变量名)

#include
using namespace std;

int main(){
    int num1 = 10;
    short num2 = 10;
    
    cout << "int类型所占用的空间是" << sizeof(int) << "字节" << endl;
    cout << "short类型所占用的空间是" << sizeof(short) << "字节" << endl;
    
    system("pause");
    return 0;
}
整数类型:short、int、long、long long

short类型所占用的内存空间为2字节
int类型所占用的内存空间为4字节
long类型在windows所占用的内存空间为4字节,在Linux 32位系统中占用的是4字节,64位占用的是8字节
long long类型所占用的内存空间为8字节

#include
using namespace std;

int main(){
    // 定义变量格式:类型关键字 变量名 = 初始数据;
    short num1 = 10;
    int num2 = 10;
    long num3 = 10;
    long long num4 = 10;
    
    cout << "short类型数据的内存空间是" << sizeof(num1) << "字节" << endl;
    cout << "int类型数据的内存空间是" << sizeof(num2) << "字节" << endl;
    cout << "long类型数据的内存空间是" << sizeof(num3) << "字节" << endl;
    cout << "long long类型数据的内存空间是" << sizeof(num4) << "字节" << endl;
    
    system("pause");
    return 0;
}

数据类型按所占用的内存排序:

short < int <= long <= long long

实数类型(浮点型):float、double

float:4字节,7位有效数字

double:8字节,15到16位有效数字

有效数字是从数值的第一位非零数字开始算

#include
using namespace std;

int main(){
    
    float f1 = 3.14f;
    double d1 = 3.14;
    
    cout << "float类型数据占用内存空间为" << sizeof(float) << "字节" << endl;
    cout << "double类型数据占用内存空间为" << sizeof(double) << "字节" << endl;
    
    float f2 = 3.14159263f;
    double d2 = 3.1415926;
    
    // 默认情况下计算机只展示6位有效数字
    cout << "f2 = " << f2 << endl;
    cout << "d2 = " << d2 << endl;
    
    // 科学计数法,e或者E后面的数表示10的多少次方,再乘以e前面的数,得到的就是该数字的值
    float f3 = 3e2;
    cout << "f3 = " << f3 << endl;
    float f4 = 314e-2;
    cout << "f4 = " << f4 << endl;
    
    system("pause");
    return 0;
}
字符型:char

字符型数据是指单个的字符,定义字符型数据时字符只能使用单引号括起来,其存储逻辑是将字符转换为ASCII码值,再转换成二进制存储。

#include
using namespace std;

int main(){
    char ch1 = 'a';
    cout << ch1 << endl;
    cout << sizeof(ch1) << endl;
    
    // 将ch1强转为整型,查看ASCII码值
    cout << (int)ch1 << endl;
    
    system("pause");
    return 0;
}
转义字符

以反斜杠开头具有特殊含义的字符,常见的有n、t、\等等

#include
using namespace std;

int main(){
    // n换行,用在字符串末尾可代替endl使用
    cout << "aaaaaaaaan";
    
    // t视前文字节数填充空格共同构成一个缩进距离(8位)
    cout << "aatHelloWorld" << endl;
    
    // \表示输出,一般用于文件路径
    cout << "aaa\bbb" << endl;
    
    // b退格一格
    cout << "aaaabHelloWorld" << endl;
    
    // r退格至首行
    cout << "aaaarHelloWorld" << endl;
    
    system("pause");
    return 0;
}
字符串:string、char

字符串即用于表示一串字符,字符串数据用双引号括起来。字符串有两种定义方式:

C语言风格定义方式:char 变量名[] = “字符串”;

C++语言风格定义方式:string 变量名 = “字符串”;

C++语言本身就对C++有兼容性,所以以上两种定义方式在C++中均可

#include
#include
using namespace std;

int main(){
    char ch1[] = "Hello World";
    cout << ch1 << endl;
    
    // 使用C++风格定义字符串时,需要加入一个头文件#include
    string str1 = "You see you, one dayday";
    cout << str << endl;
    
    system("pause");
    return 0;
}
布尔类型:bool

bool类型只有两个值:true代表真(本质上是1),false代表假(本质上是0)。bool类型数据占用内存空间为1字节

定义格式:bool 变量名 = 值;

#include
using namespace std;

int main(){
    bool flag = true;
    cout << flag << endl;    // 输出结果为1
    
    flag = false;
    cout << flag << endl;    // 输出结果为0
    
    system("pause");
    return 0;
}
数据的输入

用于从键盘获取数据,获取输入信息的方式是:

1、定义变量

2、cin >> 变量名;

上述第二步可以理解为有外部对变量重新赋值。所以,输入的数据只能跟定义变量的数据类型相同。

#include
#include
using namespace std;

int main(){
    int num1 = 0;
    cout << "num1 = " << num1 << endl;
    cout << "请对num1重新赋值" << endl;
    cin >> num1;
    cout << "num1 = " << num1 << endl;
    
    float num2 = 3.14f;
    cout << "num2 = " << num2 << endl;
    cout << "请对num2重新赋值" << endl;
    cin >> num2;
    cout << "num2 = " << num2 << endl;
    
    char ch1 = "a";
    cout << "ch1 = " << ch1 << endl;
    cout << "请对ch1重新赋值" << endl;
    cin >> ch1;
    cout << "ch1 = " << ch1 << endl;
    
    string str = "hello";
    cout << "str = " << str << endl;
    cout << "请对str重新赋值" << endl;
    cin >> str;
    // cin不能识别空格,若输入的内容包括空格,str将只储存第一个空格以前的数据
    cout << "str = " << endl;
    
    bool flag = false;
    cout << "flag = " << flag << endl;
    cout << "请对flag重新赋值" << endl;
    cin >> flag;
    cout << "flag = " << endl;  // 所有非0非空的值都是true,反之为false
    
    system("pause");
    return 0;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/444184.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号