壹
sizeof关键字
在正式介绍数据类型之前先介绍一个关键字,这个关键字可以用来计算数据类型占用的空间大小,下面的代码是使用sizeof关键字计算整型数据类型占用空间的例子
using namespace std;
int main(){
int space = 0;
space = sizeof(int);
cout <<"int类型数据占用的空间大小为:"<< space<<"字节。" << endl;
system("pause");
return 0;
}
上面程序返回的结果
int类型数据占用的空间大小为:4字节。
后面的内容就用sizeof关键字查看数据类型占用的空间大小。
贰
整型
整型数据类型用于储存整数型数据,整型数据还可以细分,分别为短整型、整型、长整型和长长整型,他们各自占用的空间大小和具体能表示的数字大小为
数据类型 | 标识符 | 占用空间 | 数据大小 |
短整型 | short int | 2字节 | -2^15~ 2^15-1 |
整型 | int | 4字节 | -2^31~ 2^31-1 |
长整型 | long int | 见注 | 见注 |
长长整型 | long long int | 8字节 | -2^64~ 2^64-1 |
注:对于long int(长整形)数据,Windows为4字节,Linux为4字节(32位),8字节(64位) ,(-2^31 ~ 2^31-1) 。
一般讲,一个字节占用8位,一位有0和1两种状态,对于短整型占用两个字节,一共是16位,如若不考虑正负号,可以表示数据的大小为:2^16~2^16-1,考虑到整型数字有正负号,则需要单独拿出来一位用于表示正负号,因此短整型可以表示的数据大小为:-2^15~2^15-1。
对于其他类型的整型数据,可以按照同样的规律推算大小。
下面的程序则返回了各种整型数据占用的空间大小
using namespace std;
int main(){
cout <<"短整型数据占用的空间大小为:\t"<< sizeof(short int)<<"字节。" << endl;
cout << "整型数据占用的空间大小为:\t" << sizeof(int) << "字节。" << endl;
cout << "长整型数据占用的空间大小为:\t" << sizeof(long int) << "字节。" << endl;
cout << "长长整型数据占用的空间大小为:\t" << sizeof(long long int) << "字节。" << endl;
system("pause");
return 0;
}
上面程序返回的的结果为
短整型数据占用的空间大小为: 2字节。
整型数据占用的空间大小为: 4字节。
长整型数据占用的空间大小为: 4字节。
长长整型数据占用的空间大小为: 8字节。
叁
浮点型数据
浮点型数据用于表示小数,也可以用来表示整数,但是有可能造成空间浪费,,这对于强迫症患者是无法忍受的,更严重会造成数据计算时候数据类型不匹配的问题。
浮点型数据也可以进行细分,可分为单精度和双精度,他们占用的空间大小和可表示的有效范围为
数据类型 | 标识符 | 占用空间 | 数据大小 |
单精度 | float | 4字节 | 7位有效数字 |
双精度 | double | 8字节 | 15位有效数字 |
下面的程序则返回了两种浮点数据占用的空间大小
using namespace std;
int main(){
cout <<"双精度浮点数据占用的空间大小为:\t"<< sizeof( float)<<"字节。" << endl;
cout << "单精度浮点型数据占用的空间大小为:\t" << sizeof(double) << "字节。" << endl;
system("pause");
return 0;
}
上面程序返回的的结果为
双精度浮点数据占用的空间大小为: 4字节。
单精度浮点型数据占用的空间大小为: 8字节。
肆
字符型数据
字符型数据用来表示单个的字符,话不多说,直接上程序
using namespace std;
int main(){
char str = 'a';
cout <<"双精度浮点数据占用的空间大小为:\t"<< sizeof( char)<<"字节。" << endl;
cout << "字符型变量str表示的字符为:\t"<<str << endl;
system("pause");
return 0;
}
上面程序声明了一个名称为str的字符,并且计算了char数据类型的占用空间,输出的内容为
双精度浮点数据占用的空间大小为: 1字节。
字符型变量str表示的字符为: a
char占用了1个字节的空间,就是8位,每个char只能表示一个字符,每个字符又对应了一个数字,即ASCII码,下面的程序查看了字符a对应的ASCII码值
using namespace std;
int main(){
char str ='a';
cout <<"字符a对应的ASCII值为:\t"<< int(str)<< endl;
system("pause");
return 0;
}
输出的内容为
字符a对应的ASCII值为: 97
所有的特殊字符都有对应的ASCII字符,详细的对应关系可以查看相应的书籍。
壹
字符串型数据
声明字符数据有两种方法,分别是采用char和string,下面先介绍采用char声明字符串。
using namespace std;
int main(){
char str[] = "I am a tigger!";
cout <<str<< endl;
system("pause");
return 0;
}
采用char声明字符串的本质是创建了char类型的不定长数组。数组是后面的内容,下面采用string声明字符串。
using namespace std;
int main(){
string str = "I am a tigger!";
cout << "string 类型数据占用的空间大小为:\t" << sizeof(string) << endl;
cout << str << endl;
system("pause");
return 0;
}
当采用string声明字符串的时候,必须包含string标准库文件,上面程序的第二行就是包含语句。
上述程序的输出结果为
string 类型数据占用的空间大小为: 28
I am a tigger!
以上是本次帖子的所有内容,后续会进行输入输出方面的程序介绍,终于可以和屏幕进行交互了!