C++基础知识(二)
壹sizeof关键字 在正式介绍数据类型之前先介绍一个关键字,这个关键字可以用来计算数据类型占用的空间大小,下面的代码是使用sizeof关键字计算整型数据类型占用空间的例子#include <iostream>using namespace std;int main(){ int space = 0; space = sizeof(int); cout <<"int类型数据占用的空间大小为:"<< space<<"字节。" << endl; system("pause"); return 0;} 上面程序返回的结果int类型数据占用的空间大小为:4字节。 后面的内容就用sizeof关键字查看数据类型占用的空间大小。贰整型 整型数据类型用于储存整数型数据,整型数据还可以细分,分别为短整型、整型、长整型和长长整型,他们各自占用的空间大小和具体能表示的数字大小为数据类型标识符占用空间数据大小短整型short int2字节-2^15~2^15-1整型int4字节-2^31~2^31-1长整型long int见注见注长长整型long long int8字节-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。对于其他类型的整型数据,可以按照同样的规律推算大小。下面的程序则返回了各种整型数据占用的空间大小#include <iostream>#include <string>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字节。 叁浮点型数据 浮点型数据用于表示小数,也可以用来表示整数,但是有可能造成空间浪费,,这对于强迫症患者是无法忍受的,更严重会造成数据计算时候数据类型不匹配的问题。浮点型数据也可以进行细分,可分为单精度和双精度,他们占用的空间大小和可表示的有效范围为数据类型标识符占用空间数据大小单精度float4字节7位有效数字双精度double8字节15位有效数字下面的程序则返回了两种浮点数据占用的空间大小#include <iostream>using namespace std;int main(){ cout <<"双精度浮点数据占用的空间大小为:\t"<< sizeof( float)<<"字节。" << endl; cout << "单精度浮点型数据占用的空间大小为:\t" << sizeof(double) << "字节。" << endl; system("pause"); return 0;} 上面程序返回的的结果为双精度浮点数据占用的空间大小为: 4字节。单精度浮点型数据占用的空间大小为: 8字节。 肆字符型数据 字符型数据用来表示单个的字符,话不多说,直接上程序#include <iostream>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码值#include <iostream>#include <string>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声明字符串。#include <iostream>using namespace std;int main(){ char str[] = "I am a tigger!"; cout <<str<< endl; system("pause"); return 0;} 采用char声明字符串的本质是创建了char类型的不定长数组。数组是后面的内容,下面采用string声明字符串。#include <iostream>#include <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 类型数据占用的空间大小为: 28I am a tigger! 以上是本次帖子的所有内容,后续会进行输入输出方面的程序介绍,终于可以和屏幕进行交互了! 来源:有限元先生