C++学习(3)数据类型
一、整型
C++在创建变量时,必须指定出相应的数据类型
类型 | 占用空间 |
---|---|
short | 2 |
int | 4 |
long | 4 |
long long | 8 |
例如:
# include <iostream>
void main() {
//整型
//1、短整型
short a = 1;
//2、整型
int b = 2;
//3、长整型
long c = 3;
//4、长长整型
long long d = 4;
std::cout << "a=" << a << std::endl;
std::cout << "b=" << b << std::endl;
std::cout << "c=" << c << std::endl;
std::cout << "d=" << d << std::endl;
}
输出为:
——————————
a=1
b=2
c=3
d=4
——————————
以上的区别在于变量所占用内存空间的不同。
二、sizeof关键字
可以统计数据类型所占用的内存空间。
语法:sizeof(数据类型/变量)
例如:
# include <iostream>
void main() {
//整型
//1、短整型
short a = 1;
//2、整型
int b = 2;
//3、长整型
long c = 3;
//4、长长整型
long long d = 4;
std::cout << "a=" << a << std::endl;
std::cout << "b=" << b << std::endl;
std::cout << "c=" << c << std::endl;
std::cout << "d=" << d << std::endl;
std::cout << sizeof(a) << std::endl;
std::cout << sizeof(b) << std::endl;
std::cout << sizeof(c) << std::endl;
std::cout << sizeof(d) << std::endl;
std::cout << sizeof(short) << std::endl;
std::cout << sizeof(int) << std::endl;
std::cout << sizeof(long) << std::endl;
std::cout << sizeof(long long) << std::endl;
}
输出为:
——————————
a=1
b=2
c=3
d=4
2
4
4
8
2
4
4
8
——————————
三、浮点型
表示小数
分为两种:
- 单精度 float
- 双精度 double
数据类型 | 占用空间 |
---|---|
float | 4字节 |
double | 8字节 |
例如:
# include <iostream>
void main() {
float a = 2.1; // 单精度数据
float b = 2.1f; // 单精度数据(一般会在末尾加上f以表示是单精度的数字,否则编译器会认为是双精度,并且创建时再转换为单精度)
double c = 2.1; // 双精度
std::cout << "a=" << a << std::endl;
std::cout << "b=" << b << std::endl;
std::cout << "c=" << c << std::endl;
}
输出为:
——————————
a=2.1
b=2.1
c=2.1
——————————
还有科学计数法:
# include <iostream>
void main() {
float a = 3e-2; // 单精度数据
std::cout << "a=" << a << std::endl;
}
输出为:
——————————
a=0.03
——————————
四、字符型
表示单个字符
char 变量名 = ’字符‘
字符一定要用单引号,并且单引号里面一定只能有一个字符
字符型变量只占用一个字节
字符型变量并不是将字符本身放置到内存中存储,而是将对应的ASCII码放入存储单元中。
例如:
# include <iostream>
void main() {
char ab = 'a';
std::cout << ab << std::endl;
}
输出为:
——————————
a
——————————
例如:
# include <iostream>
void main() {
char ab = 'a';
std::cout << ab << std::endl;
//字符变量对应的ASCII码
std::cout << (int)ab << std::endl;
}
输出为:
——————————
a
97
——————————
五、转义字符
特殊的字符
转义字符 | 含义 | 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范围09,af,A~F | 3位16进制 |
六、字符串
表示一串字符
字符串必须使用双引号
1、char 变量名[] = "字符串"
例如:
# include <iostream>
void main() {
char ab[] = "Hello world";
std::cout << ab << std::endl;
}
输出为:
——————————
Hello world
——————————
2、string 变量名 = “字符串”
例如:
# include <iostream>
void main() {
std::string ab = "Hello world";
std::cout << ab << std::endl;
}
七、布尔类型
表示True和False
例如:
# include <iostream>
void main() {
bool flag = true;
std::cout << flag << std::endl;
flag = false;
std::cout << flag << std::endl;
}
——————————
1
0
——————————
八、数据输入
从键盘获取数据
关键字:cin
例如:
# include <iostream>
void main() {
int a;
std::cout << "请输入整型数据" << std::endl;
std::cin >> a;
std::cout << "你输入的整型数据为:" <<a<< std::endl;
}