02章-数据类型--C++基础入门学习笔记
2 数据类型
C++规定在创建一个变量或常量时,必须要指定出相应的数据类型,否则无法分配内存
2.1整型
作用: 整型变量表示的是数据类型的数据
意义:给变量分配合适的内存空间
C++中能够表示整型的类型有以下集中,区别在于所占内存空间不同:
数据类型 | 占用空间 | 取值范围 |
---|---|---|
short(短整型) | 2字节 | (-2^15 ~ 2^15 -1) |
int(整型) | 4字节 | (-2^31 ~ 2^31 -1) |
long(长整型) | Windows为4字节,Linux为4字节,8字节(64位) | (-2^31 ~ 2^31 - 1) |
long long(长整型) | 8字节 | (-2^63 ~ 2^63 - 1) |
示例
#include<iostream> using namespace std; int main() { //整型 //1、短整型 short num1 = 10; //2、整型 int num2 = 10; //3、长整型 long num3 = 10; //4、长长整型 long long num4 = 10; cout << "num = " << num1 << endl; cout << "num = " << num2 << endl; cout << "num = " << num3 << endl; cout << "num = " << num4 << endl; system("pause"); return 0; }
2.2 sizeof 关键字
作用:利用sizeof关键字可以统计数据类型所占内存大小
语法:sizeof
(数据类型/变量)
示例:
#include<iostream> using namespace std; int main(void) { //整型:short(2);int(4);long(4);long long(8) //可以利用sizeof求出数据类型占用大小 //语法:sizeof(数据类型/变量) short num1 = 10; cout << "short 占用内存空间为:" << sizeof(short) << endl; cout << "num1 占用内存空间为:" << sizeof(num1) << endl; cout << "int 占用内存空间为:" << sizeof(int) << endl; cout << "long 占用内存空间为:" << sizeof(long) << endl; cout << "long long 占用内存空间为:" << sizeof(long long) << endl; system("pause"); return 0; }
2.3 实型(浮点型)
作用:用于表示小数
- 单精度float
- 双精度double
两者的区别在于表示有效数字范围不同
数据类型 | 占用空间 | 有效数字范围 |
---|---|---|
float | 4字节 | 7位有效数字 |
double | 8字节 | 15~16位有效数字 |
示例
#include<iostream> using namespace std; int main() { //1、单精度 float //2、双精度 double float f1 = 3.1415926; cout << "f1 = " << f1 << endl; double d1 = 3.1415926; cout << "d1 = " << d1 << endl; //统计float和double占用内存空间 cout << "float 占用内存空间为:" << sizeof(float) << endl; cout << "double 占用内存空间为:" << sizeof(double) << 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; }
2.4 字符型
作用:字符型变量用于单个字符
语法:char ch = 'a'
;
注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号
注意2:单引号只能有一个字符,不可是字符串
- C和C++中字符型变量只占用1个字节
- 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
#include<iostream> using namespace std; int main() { //1、字符型变量创建方式 char ch = 'a'; cout << ch << endl; //2、字符型变量所占内存大小 cout << "char 字符型变量所占的内存:" << sizeof(char) << endl; //3、字符型变量常见错误 //char ch2 = "b"; //创建字符型变量时候,要用单引号 //char ch2 = 'abcdef'; //创建字符型变量时候,单引号只能一个字符 //4、字符型变量对应ASCII编码 //a - 97 //A - 65 cout << (int)ch << endl; system("pause"); return 0; }
ASCII码表格百度一下
- ASCII 非打印控制字符;ASCII表上数字0-31分配给了控制字符,用于控制像打印机等一些外围设备
- ASCII打印字符:数字32-126分配给了能在键盘上找到的字符,当查看或打印文档时就会出现
2.5 转义字符
作用:用于表示一些不能显示出来的ASCII字符
现阶段常用的字符\n \\ \t
转义字符 | 含义 | ASCII码值(十进制) |
---|---|---|
\a | 警报 | 007 |
\n | 换行(LF),将当前位置移到下一行开头 | 010 |
\t | 水平制表(HT),跳到下一个TAB位置 | 009 |
其他百度查一下 | ||
例程 |
#include<iostream> using namespace std; int main() { //转移字符 //换行符\n cout << "hello world" << endl; cout << "hello world \n"; //反斜杠 cout << "\\" << endl; //水平制表符\t //作用整齐的输出数据 cout << "aaaaaaa\taaa" << endl; cout << "aaa\taaaaa" << endl; cout << "aaaaa\taaaa" << endl; system("pause"); return 0; }
2.6 字符串型
作用:用于表示一串字符
两种风格:
- C风格字符串:
char 变量名[] = "字符串值"
注意:C风格的字符串要双引号括起来
- C++风格字符串:
string 变量名="字符串值"
示例
#include<iostream> #include<string> //用C++风格字符串时候要用该头文件 using namespace std; int main() { //1、C风格 //注意事项 char 字符串名+[] //注意事项2 等号后面要用双引号 包含起来字符串 char str[] = "hello world"; cout << str << endl; //2、C++风格字符串 //注意事项 包含头文件 #include<string> string str2 = "hello world"; cout << str2 << endl; system("pause"); return 0; }
2.7布尔类型 bool
作用:布尔数据类型代表真或假的值
bool类型只有两个值:
- true --真(本质是1)
- false --假(本质是0)
bool类型占1个字节大小
示例
#include<iostream> using namespace std; int main() { //1、创建bool数据类型 bool flag = true; cout << flag << endl; flag = false; cout << flag << endl; //本质上 true 1 false 0 //2、查看bool类型所占内存空间 cout << "bool类型所占内存空间" << sizeof(bool) << endl; system("pause"); return 0; }
2.8数据的输入
作用:用于从键盘获取数据
关键字:cin
语法: cin >> 变量
示例
#include<iostream> #include<string> using namespace std; int main() { //1、整型 int a = 0; cout << "请给整型变量a赋值:" << endl; cin >> a; cout << "整型变量a=" << a << endl; //2、浮点型 float f = 3.14f; cout << "请给浮点型变量f赋值" << endl; cin >> f; cout << "浮点型变量f=" << f << endl; //3、字符型 char ch = 'a'; cout << "请给字符型变量ch赋值" << endl; cin >> ch; cout << "字符型变量ch = " << ch << endl; //4、字符串型 string str = "hello"; cout << "请给字符串str赋值" << endl; cin >> str; cout << "字符串str = " << str << endl; //5、布尔型 bool flag = false; cout << "请给bool类型 flag赋值" << flag << endl; cin >> flag; //非零值都代表真 cout << "布尔类型bool = " << flag << endl; system("pause"); return 0; }
分类:
C++学习笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!