C++基础:全面解析基本数据类型、存储与输入
C++在创建变量或常量时必须指定数据类型以分配内存。本文涵盖整型、浮点型、字符型、字符串型和布尔型的定义、内存大小及取值范围,演示sizeof关键字的使用,并讲解标准输入cin的操作与常用转义字符,为C++编程奠定基础。
整型与内存大小测量
C++规定创建变量必须指定类型。整型用于表示整数,根据数值大小和精度需求分为四种:
- short(短整型):通常占用2字节,范围约 ±3.2万。
- int(整型):通常占用4字节,范围约 ±21亿。
- long(长整型):在32位系统中通常为4字节,64位Linux中可能为8字节。
- long long(长长整型):占用8字节,范围极大。
可以使用 sizeof 关键字查询具体类型在当前平台的内存占用。语法为 sizeof(类型) 或 sizeof(变量)。
#include<iostream>
using namespace std;
int main() {
short num1 = 10;
cout << "short size: " << sizeof(short) << endl;
int num2 = 10;
cout << "int size: " << sizeof(int) << endl;
long num3 = 10;
cout << "long size: " << sizeof(long) << endl;
long long num4 = 10;
cout << "long long size: " << sizeof(long long) << endl;
return 0;
}
实型(浮点型)与科学计数法
实型用于表示小数,分为单精度 float 和双精度 double。两者主要区别在于有效数字位数和内存占用:
- float:占用4字节,提供7位有效数字精度。
- double:占用8字节,提供15~16位有效数字精度。
默认输出小数时,通常会显示6位有效数字。浮点数支持科学计数法表示,如 3e2 代表 $3 \times 10^2$(即300),3e-2 代表 $3 \times 10^{-2}$(即0.03)。
#include<iostream>
using namespace std;
int main() {
float f1 = 3.1415926f;
double d1 = 3.1415926;
cout << "f1 = " << f1 << endl;
cout << "d1 = " << d1 << endl;
// 查看内存占用
cout << "float size: " << sizeof(float) << endl;
cout << "double size: " << sizeof(double) << endl;
// 科学计数法
float f2 = 3e2; // 300
float f3 = 3e-2; // 0.03
cout << "f2 = " << f2 << endl;
cout << "f3 = " << f3 << endl;
return 0;
}
字符型与转义字符
字符型 (char) 用于存储单个字符,占用1字节内存。需注意以下规则:
- 字符必须用单引号括起来,如
'a'。 - 单引号内只能有一个字符,不能是字符串(字符串需用双引号)。
- 字符在内存中以ASCII编码形式存储。例如 'a' 的ASCII码为97,'A' 为65。
#include<iostream>
using namespace std;
int main() {
char ch = 'a';
cout << "Char: " << ch << endl;
cout << "Size: " << sizeof(char) << endl;
cout << "ASCII: " << (int)ch << endl; // 强制转换为整型查看ASCII值
return 0;
}
转义字符用于表示无法直接显示的ASCII字符:
\n:换行。\t:水平制表符(Tab)。\\:反斜线字符本身。#include<iostream> using namespace std; int main() { cout << "Hello\nWorld" << endl; // 换行 cout << "Path: C:\\Users" << endl; // 输出反斜杠 cout << "Name:\tAlice" << endl; // Tab缩进 return 0; }
字符串型
C++提供了两种字符串处理方式:
- C风格字符串:使用字符数组
char str[] = "hello"。注意需包含头文件并使用双引号。 - C++风格字符串:使用
std::string类型。需包含<string>头文件,操作更便捷。
#include<iostream>
#include<string> // 使用string必须包含此头文件
using namespace std;
int main() {
// C风格
char cstr[] = "hello world";
cout << cstr << endl;
// C++风格
string cppstr = "hello world";
cout << cppstr << endl;
return 0;
}
布尔型与数据输入
布尔型 (bool) 仅有两个值:true(真)和 false(假),占用1字节内存。在输出时,true显示为1,false显示为0。
数据输入使用标准输入流对象 cin,配合提取运算符 >> 将键盘输入的值存入变量。
#include<iostream>
#include<string>
using namespace std;
int main() {
bool flag = false;
cout << "Please input bool value (1 or 0): ";
cin >> flag; // 从键盘读取输入
cout << "You entered: " << flag << endl;
// 其他类型输入同理,例如:
// int a; cin >> a;
return 0;
}
总结
掌握C++的基本数据类型是编写程序的第一步。理解不同整型和浮点型的内存占用有助于优化资源使用;熟悉字符、字符串及布尔型的特性可避免语法错误;而熟练使用 cin 则是实现人机交互的基础。以上就是C++基本数据类型的详细内容,更多关于C++入门学习的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









