【C++】C++程序设计入门三-灵析社区

跟着小潘学后端

一、数据类型

1.1 什么是数据类型?

在上一节中我们讲到变量是计算机程序中用于存储和表示数据的一种命名方式。我们可以把变量和生活中的箱子一起理解。

并且为了计算机能够方便快速找到它,还会为变量绑定一个地址。

现在我们就可以把东西放在变量里面了,可是有一个问题我们需要装的东西可能大小是不一样的。

这个时候我们应该造一个苹果大小的箱子还是楼房大小的箱子呢?

简单,我们直接全部造大箱子不就好了吗?
但是你们考虑过苹果的感受吗?

那我们给每一个东西都设计一个箱子不就好了。

我们可以对它们进行分类,再根据分类后的结果造箱子。比如苹果属于水果,那我们可以造个水果类的箱子,按照水果里面最大的尺寸去设计,是不是所有的水果都可以用。

所以数据类型决定了变量或表达式可以存储的数据的种类范围

二、基本数据类型

2.1 整型(short、int、long、longlong)

C++中的整型变量是一种用来存储整数值的数据类型。整数就是没有小数部分的数字。

以下是一些常见的C++整数变量类型:

2.1.1 short:短整型

占用2个字节,范围为-32768到32767。

声明一个short类型的变量a,并将其初始化为-123:

short a = -123;

2.1.2 int:整型

它通常占用4个字节(32位),可以表示从-2147483648到2147483647之间的整数。

声明一个int类型的变量a,并将其初始化为-123:

int a = -123;

2.1.3 long:长整型

占用4个字节或8个字节,可以表示的最大值为2147483647,最小值为-2147483648。当处理边界情况时,需要注意long变量可能会发生溢出的情况,例如long a = 2147483647; a++的操作,a的值会变成-2147483648。

#include <iostream>
using namespace std;

int main() {
    long a = 2147483647;
    a++;
    cout << "a = " << a << endl; // 输出:a = -2147483648
    return 0;
}

2.1.4 long long:长长整型

long long是一种整数类型,它可以存储更大的整数值。long long类型的变量至少占用8个字节(64位),可以存储的最大值为9223372036854775807,最小值为-9223372036854775808。

#include <iostream>
using namespace std;

int main() {
 
    long long b = 9223372036854775807;
    b++;
    cout << "b = " << b << endl; // 输出:b = -9223372036854775808

    return 0;
}

short、int、long和long long在运行速度上没有明显的区别,它们的区别在于占用的空间大小和能够表示的整数范围。

2.2 浮点型(float和double)

浮点数是小数点在逻辑上是不固定的数,并不一定等于小数。

2.2.1 float

float用于存储单精度浮点数,通常占用4个字节(32位),可以表示的有效位数为7位。

声明一个float类型的变量num,并将其初始化为3.14159:

#include <iostream>
using namespace std;

int main() {
    float num = 3.14159;
    cout <<  num << endl;//输出:3.14159
    return 0;
}

2.2.2 double

double是一种双精度浮点数类型,通常占用8个字节(64位),提供大约15到16位十进制数的精度。相较于float类型具有更高的精度。
由于double类型具有更多的位数来表示数字,它能够在计算过程中保留更多的有效数字,减少舍入误差的累积,因此在复杂计算中通常提供更高的运算精度。

以下是一个C++中使用double类型进行计算和int比较的例子:

#include <iostream>


using namespace std;

int main() {
    double a = 1.0 / 3.0;
    double b = 2.0 / 3.0;
    
    int c = 1 / 3;
    int d = 2 / 3;
    
    double e = a + b;
    int f = c + d;

    cout<<e<<" "<<f;//输出: 1 0

    return 0;
}

2.3 布尔型(bool)

C++中的布尔型它只有两个取值:true和false。在C++中,true被定义为1,false被定义为0。可以使用bool类型的变量来存储和操作布尔值。

以下是一个简单的例子:

#include <iostream>
using namespace std;

int main() {
    bool isTrue = true;
    bool isFalse = false;
    cout << "isTrue = " << isTrue << endl; // 输出:isTrue = 1
    cout << "isFalse = " << isFalse << endl; // 输出:isFalse = 0
    return 0;
}

在C++中,可以使用逻辑运算符(&&、||、!)来操作布尔值。例如:

#include <iostream>
using namespace std;

int main() {
    bool isTrue = true;
    bool isFalse = false;
    cout << "(isTrue && isFalse) = " << (isTrue && isFalse) << endl; // 输出:(isTrue && isFalse) = 0
    cout << "(isTrue || isFalse) = " << (isTrue || isFalse) << endl; // 输出:(isTrue || isFalse) = 1
    cout << "(!isTrue) = " << (!isTrue) << endl; // 输出:(!isTrue) = 0
    return 0;
}

2.4 字符型(char)

C++中的char类型用于表示单个字符。char类型的变量只能存储一个字符,可以用单引号括起来表示。例如,'a’表示字符a,'1’表示数字1。在C++中,char类型的变量占用1个字节的内存空间,可以存储ASCII码表中的任何一个字符。

下面是一个使用char表示一个字符的例子:

#include <iostream>
using namespace std;

int main() {
    char a='a';
    
    int b=a+1; 
    
    cout<<a<<endl;//输出:a 
    
    cout<<b;//输出:98 

    return 0;
}

C++中的字符串是由一系列字符组成的,可以使用char类型的数组来表示。字符串以空字符’\0’结尾,因此char类型的数组必须足够大,以便存储字符串中的所有字符和空字符。可以使用C++标准库中的string类来处理字符串,string类提供了许多方便的方法来操作字符串。

下面是一个使用char类型的数组表示字符串的例子:

#include <iostream>
using namespace std;

int main() {
    char str1[] = "Hello";
    char str2[] = "World";

    cout << str1<<","<<str2 << endl;//输出:Hello,World 

    return 0;
}

三、 总结

以上就是今天要讲的内容,本文简单介绍了C++中常见的基本数据类型及其用法。根据不同的需求,选择合适的数据类型可以提高程序的效率和可读性。

阅读量:514

点赞量:0

收藏量:0