数据类型(日志4)
一、整型
作用:整型变量表示的是整数类型的数据。
c++中能够表示整型的类型有以下几种,区别在于所占内存空间的不同:
数据类型 占用空间 取值范围
short(短整型) 2字节 -2^15~2^15-1
int(整型) 4字节 -2^31~2^31-1
long(长整型) Windows为4字节 -2^31~2^31-1
long long(长长整型) 8字节 -2^63~2^63-1
注:可以利用sizeof求出数据类型占用内存大小
语法:sizeof(数据类型/变量)
#include <iostream> using namespace std; int main() { int n=1; cout<<"int占用内存空间为:"<<sizeof(int)<<endl; cout<<"int占用内存空间为:"<<sizeof(n)<<endl; return 0; }
二、实型(浮点型)
作用:用于表示小数
浮点类型变量分为两种:
1.单精度float
2.双精度double
两者的区别在于表示的有效数字范围不同。
数据类型 占用字节 有效数字范围
float 4字节 6~7位有效数字
double 8字节 15~16位有效数字
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快。
如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转。
eg:float a = 1.24546f;
科学计数法:
float f1=3e2=3*10^2;
float f2=3e-2=3*0.1^2;
三、字符型
作用:字符型变量用于显示单个字符。
语法:char 变量名称='字符';
例:char ch='a';
注意:
1.在显示字符型变量时,用单引号将字符括起来,不要用双引号。
2.单引号内只能有一个字符,不可以是字符串。
C和C++中字符型变量只占用1个字节。
字符型变量并不是把字符本身放到内存中储存,而是将对应的ASCII编码放入到储存单元。
char ch1 = 'a'; char ch2 = 'A'; cout << ch1 << (int)ch1<<endl; cout << ch2<<(int)ch2<< endl;
大写英文字母和小写英文字母的ASCII编码并不同
小写:
a → 97,b → 98,c → 99,d → 100,e → 101,f → 102,
g → 103,h → 104,i → 105,j → 106,k → 107,l → 108,
m → 109,n → 110,o → 111,p→ 112,q → 113,r → 114,
s → 115,t → 116,u → 117,v → 118,w → 119,x → 120,y → 121,z → 122
大写:
A → 65,B → 66,C → 67,D → 68,E → 69,
F → 70,G → 71,H → 72,I → 73,J → 74,
K → 75,L → 76,M → 77,N → 78,O → 79,
P → 80,Q → 81,R → 82,S → 83,T → 84,
U → 85,V → 86,W → 87,X → 88,Y → 89,Z → 90
#include <iostream> int main() { char chr1; scanf("%c",&chr1); printf("%c",chr1-32); return 0; }
四、转义字符
作用:用于表示一些不能显示出来的ASCII字符
(来源:百度百科)
五、字符串型
作用:用于表示一串字符。
1.C风格字符串:
语法:char 变量名 []="字符串值";
示例:
char str1[]="hello world"; cout<<str1<<endl;
注意:C风格字符串要用双括号。
2.C++风格字符串
语法: string 变量名="字符串值";
示例:
#include <iostream> #include <string> using namespace std; int main() { string str2="hello world"; cout<<str2; return 0; }
注意:在使用C++风格字符串时要包含#include <string>头文件。
六、布尔类型 bool
作用:布尔数据类型代表真或假的值
bool类型只有两个值:
- true ---真(本质是1)
- false ---假(本质是0)
bool类型占1个字节
bool flag=true; cout<<flag<<endl; flag =false; cout<<flag<<endl; return 0;