cplus:数据类型

2 数据类型

C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存。

作用:整型变量表示的是整数类型的数据。

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$)

作用:利用sizeof关键字可以统计数据类型所占内存大小

语法sizeof( 数据类型 / 变量 )

示例

int main() {
 
    cout << "short 类型所占内存空间为: " << sizeof(short) << endl;
 
    cout << "int 类型所占内存空间为: " << sizeof(int) << endl;
 
    cout << "long 类型所占内存空间为: " << sizeof(long) << endl;
 
    cout << "long long 类型所占内存空间为: " << sizeof(long long) << endl;
 
    system("pause");
 
    return 0;
}

整型结论short < int ⇐ long ⇐ long long

作用:用于表示小数

浮点型变量分为两种:

  1. 单精度 float
  2. 双精度 double

两者的区别在于表示的有效数字范围不同。

数据类型 占用空间 有效数字范围
float 4字节 7位有效数字
double 8字节 15~16位有效数字

示例

int main() {
 
    float f1 = 3.14f; // 注意:如果不加f,编译器通常默认为double,加f显式声明为float
    double d1 = 3.14;
 
    cout << f1 << endl;
    cout << d1 << endl;
 
    cout << "float sizeof = " << sizeof(f1) << endl;
    cout << "double sizeof = " << sizeof(d1) << endl;
 
    // 科学计数法
    float f2 = 3e2; // 3 * 10 ^ 2
    cout << "f2 = " << f2 << endl;
 
    float f3 = 3e-2; // 3 * 0.1 ^ 2
    cout << "f3 = " << f3 << endl;
 
    system("pause");
 
    return 0;
}

作用:字符型变量用于显示单个字符。

语法char ch = 'a';

注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号。
注意2:单引号内只能有一个字符,不可以是字符串。
  • C和C++中字符型变量只占用 1个字节
  • 字符型变量并不是把字符本身放到内存中存储,而是将对应的 ASCII编码 放入到存储单元。

示例

int main() {
 
    char ch = 'a';
    cout << ch << endl;
    cout << sizeof(char) << endl;
 
    // ch = "abcde"; // 错误,不可以用双引号
    // ch = 'abcde'; // 错误,单引号内只能引用一个字符
 
    cout << (int)ch << endl; // 查看字符a对应的ASCII码
    ch = 97; // 可以直接用ASCII给字符型变量赋值
    cout << ch << endl;
 
    system("pause");
 
    return 0;
}
  • ASCII 非打印控制字符:ASCII 表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备。
  • ASCII 打印字符:数字 32-126 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。

作用:用于表示一些不能显示出来的ASCII字符

现阶段我们常用的转义字符有: \n \\ \t

转义字符 含义 ASCII码值(十进制)
\a 警报 007
\b 退格(BS),将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF),将当前位置移到下一行开头 010
\r 回车(CR),将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011

代表一个反斜线字符“\” 092
' 代表一个单引号(撇号)字符 039
代表一个双引号字符 034
\? 代表一个问号 063
\0 数字0 000
\ddd 8进制转义字符,d范围0~7 3位8进制
\xhh 16进制转义字符,h范围0~9, a~f, A~F 3位16进制

示例

int main() {
 
    cout << "\\" << endl;
    cout << "\tHello" << endl;
    cout << "\n" << endl;
 
    system("pause");
 
    return 0;
}

作用:用于表示一串字符。

两种风格

1. C风格字符串char 变量名[] = “字符串值”

示例

int main() {
    char str1[] = "hello world";
    cout << str1 << endl;
 
    system("pause");
    return 0;
}
注意:C风格的字符串要用双引号括起来。

2. C++风格字符串string 变量名 = “字符串值”

示例

#include <string> // 必须包含头文件
 
int main() {
    string str = "hello world";
    cout << str << endl;
 
    system("pause");
    return 0;
}
注意:C++风格字符串,需要加入头文件 #include<string>

作用:布尔数据类型代表真或假的值。

bool类型只有两个值:

  • true — 真(本质是1)
  • false — 假(本质是0)

bool类型占1个字节大小

示例

int main() {
 
    bool flag = true;
    cout << flag << endl; // 1
 
    flag = false;
    cout << flag << endl; // 0
 
    cout << "size of bool = " << sizeof(bool) << endl; // 1
 
    system("pause");
 
    return 0;
}

作用:用于从键盘获取数据。

关键字cin

语法cin » 变量

示例

int main(){
 
    // 整型输入
    int a = 0;
    cout << "请输入整型变量:" << endl;
    cin >> a;
    cout << a << endl;
 
    // 浮点型输入
    double d = 0;
    cout << "请输入浮点型变量:" << endl;
    cin >> d;
    cout << d << endl;
 
    // 字符型输入
    char ch = 0;
    cout << "请输入字符型变量:" << endl;
    cin >> ch;
    cout << ch << endl;
 
    // 字符串型输入
    string str;
    cout << "请输入字符串型变量:" << endl;
    cin >> str;
    cout << str << endl;
 
    // 布尔类型输入
    bool flag = true;
    cout << "请输入布尔型变量:" << endl;
    cin >> flag; // 输入非0值代表真,输入0代表假
    cout << flag << endl;
 
    system("pause");
    return EXIT_SUCCESS;
}

该主题尚不存在

您访问的页面并不存在。如果允许,您可以使用创建该页面按钮来创建它。

  • cplus/数据类型.txt
  • 最后更改: 2025/11/27 16:20
  • 张叶安