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 实型(浮点型)

作用:用于表示小数

  1. 单精度float
  2. 双精度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 字符串型

作用:用于表示一串字符
两种风格

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

注意:C风格的字符串要双引号括起来

  1. 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;
}
posted @   ffengeng  阅读(195)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示