C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存
1、整型
作用:整型变量 表示的是 整数类型 的数据
C++ 中能够表示整型的类型由一下几种方式,区别在于所占内存空间不同:
数据类型 | 占用空间 | 取值范围 |
---|---|---|
short(短整型) | 2字节 | -2^15 -- 2^15 - 1 |
int(整型) | 4字节 | -2^31 -- 2^31-1 |
long(长整型) | Windows为4字节,Linux为4字节(32位),8字节(64位) | |
long long(更长的整型) | 8字节 |
取值范围的计算:1字节 = 8个bit位,即0000 0000,则有2的8次方的变化,由此可以推算出取值范围
1.2 sizeof 关键字
作用:利用sizeof关键字可以统计 数据类型所占内存大小
语法: sizeof(数据类型 / 变量)
#include <iostream> using namespace std; /* sizeof 的用法: sizeof(数据类型 / 变量 / 常量) */ int main() { short num1 = 10; int num2 = 10; long num3 = 10; long long num4 = 10; const int num5 = 11; cout << "num1 所占内存空间为:" << sizeof(num1) << endl; // 2 cout << "num2 所占内存空间为:" << sizeof(num2) << endl; // 4 cout << "num3 所占内存空间为:" << sizeof(num3) << endl; // 4 cout << "num4 所占内存空间为: " << sizeof(num4) << endl; // 8 cout << "num5 所占内存空间为: " << sizeof(num5) << endl; // 4 cout << "short 类型所占内存空间为: " << sizeof(short) << endl; // 2 cout << "int 类型所占内存空间为: " << sizeof(int) << endl; // 4 cout << "long 类型所占内存空间为:" << sizeof(long) << endl; // 4 cout << "long long 类型所占内存空间为: " << sizeof(long long) << endl; // 8 }
1.3 实型
作用:用于表示小数
浮点型变量分为两种:
1、单精度float
2、双精度double
两者的区别在于表示的有效数字范围不同。
数据类型 | 占用空间 | 有效数字范围 |
---|---|---|
float | 4字节 | 7位有效数字 |
double | 8字节 | 15 - 16 位 有效数字 |
默认情况下 输出一个小鼠,会显示出6位 有效数字,可以通过配置改变有效数字长度;
1.4 字符型
作用:字符型变量用于显示单个字符
语法: char ch = 'a';
|注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号;
|注意2: 单引号内只能有一个字符,不可以是字符串;
C和C++中字符型变量只占用 1 个字节;
字符型变量并不是把字符本身放到内存中存储,而是将对应的 ASCII 编码 放入到存储单元。
#define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> using namespace std; int main() { char ch = 'a'; char ch1 = 'zzac'; //char ch2 = "c"; 字符变量不能用双引号 cout << ch << endl; // 输出 a cout << ch1 << endl; // 输出 c, 但是当 单引号中的字符超过 4个 时,编译就会报错 cout << (int)ch << endl; //查看字符对应的ASCII码 cout << (int)ch1 << endl; //查看字符对应的ASCII码 return 0; }
1.5 转义字符
作用:用于表示一些不能显示出来的ASCII字符
现阶段我们常用的转义字符有: \n \\ \t
转义字符 | 意义 | ASCLL码值(十进制) |
---|---|---|
\a | 响铃(BEL) | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\' | 代表一个单引号 | 039 |
\" | 代表一个双引号字符 | 034 |
\ | 代表一个反斜线字符''' | 092 |
? | 代表一个问号 | 063 |
\0 | 空字符(NUL) | 000 |
\ddd | 1到3位八进制数所代表的任意字符 | 三位八进制 |
\xhh | 十六进制所代表的任意字符 | 十六进制 |
1.6 字符串类型
作用:用于表示一串字符
两种风格
1、C风格字符串:char 变量名[] = "字符串"
示例: char str1[] = "Hello C++";
注意:C风格的字符串要用双引号括起来
2、C++风格字符串:string 变量名 = “字符串”
示例:string str2 = "Hello C++";
注意:使用string需要包含头文件,vs2022中不使用也可以
1.7 布尔类型 bool
作用:布尔数据类型代表真或假的值
bool类型只有两个值:
true -- 真(本质是1)
false -- 假 (本质是0)
bool类型占1个字节大小
#define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> using namespace std; int main() { bool flag = true; cout << flag << endl; // 输出 1 flag = false; cout << flag << endl; //输出 0 cout << "bool 类型所占的内存大小为:" << sizeof(bool) << endl; //1 return 0; }
1.8 数据的输入
作用:用于从键盘获取数据
关键字:cin
语法:cin >> 变量
#define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> using namespace std; int main() { //整型输入 int a = 0; cout << "请输入整型变量:" << endl; cin >> a; cout << "整型a = " << a << endl; //浮点型输入 float f; cout << "请输入单精度浮点型数字:" << endl; cin >> f; cout << "单精度浮点型f = " << f << endl; //字符输入 char ch; cout << "请输入字符类型ch:" << endl; cin >> ch; cout << "字符ch = " << ch << endl; //bool类型,对于布尔类型,非 0 的数值都代表为真,即输出为1,输入字符串输出为0,例如:asdfasd bool b; cout << "请输入布尔类型b:" << endl; cin >> b; cout << "布尔类型 b = " << b << endl; //字符串类型 string str; cout << "请输入字符串类型str:" << endl; cin >> str; cout << "字符串类型 str =" << str << endl; return 0; }
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。