上面这张图片列出了定义数据类型的关键字,并且标明了不同类型在32位机的占位以及取值范围。接下来大致介绍一下这三种数据类型。
1,整型:整型分为大致分为两种,一种是有符号整型和无符号整型,有符号整型可以看成是可以兼容负整数的,而无符号的只能兼容正整数。
①有符号整型可分为短整型(short int)、长整型(long int)、长长整型(long long int)、整型(int),行对比较不同,他们在电脑里面的占位长度不同,取值范围也不同,在有符号整型当中短整型(shut int)取值范围是最小的,长长整型取值范围是最大的(long long int),在编辑程序时,没有特殊情况下一般都是用整型(int)来做定义变量或者是常量的前缀。当计算量大时,可以用长长整型(long long int)来做定义数据储存变量的前缀。
#include<stdio.h> //引用头文件 int main() //主函数 { short int num=1; //定义一个短整型常量num,赋值为1 long int num2=2; //定义一个长整型常量num2,赋值为2 long long int num3=521; //定义一个长长整型常量num3,赋值为521 int iNUM=1314; //定义一个整型常量iNum,赋值为1314 return 0; //运行结束返回0 }
②无符号整型可以细分为无符号短整型(unsigned short int),无符号长整型(unsigned long int)、无符号长长整型(unsigned long long int)、无符号整型(unsigned int),相对比较有符号整型,他们不能取负值和正整数取值范围有区别外,在相同位数电脑里的占位字节是相对应的。一般情况下我们都是用有符号整型(int)来定义变量和常量。
#include<stdio.h> //引用头文件 int main() //主函数 { unsigned short int num=1; //定义一个无符号短整型常量num,赋值为1 unsigned long int num2=2; //定义一个无符号长整型常量num2,赋值为2 unsigned long long int num3=521; //定义一个无符号长长整型常量num3,赋值为521 unsigned int iNUM=1314; //定义一个无符号整型常量iNum,赋值为1314 return 0; //运行结束返回0 }
2,实型:实型数据类型也浮点类型,主要用于储存精度高的数据,浮点型一般分为单精度浮点型(float)和双精度浮点型(double float),两种类型都是有符号的。
①单精度浮点型(float):单精度浮点型在32位机中占4字节,取值精度为小数点后六位。
#include<stdio.h> //引用头文件 int main() //主函数 { float fNum=521.1314; //定义一个单精度浮点型常量fNum,赋值为521.1314 return 0; //运行结束返回0 }
②双精度浮点型(double float):双精度浮点型在32位机中的占8个字节,取值精度为小数点后十五位。
#include<stdio.h> //引用头文件 int main() //主函数 { double float fNum=521.4; //定义一个单精度浮点型常量fNum,赋值为521.4 return 0; //运行结束返回0 }
3,字符型:字符型分有符号字符型和无符号字符型,两种类型在32位机里都是占一个字节,两种类型的不同在于一个是有符号,一个是无符号,无符号的取值范围会比有符号的大,字符类型的作用就是用于储存字符的,他可以储存符号、数字、字母、文字、ASCII......。扩展:在字符类型的数据储存中,还细分了字符和字符串,当要定义的数据是字符串时,字符串要包含在一对双引号里面,当要定义的数据是字符时,字符要包含在一对单引号里面
#include<stdio.h> //引用头文件 int main() //主函数 { //定义一个字符串型常量Array,赋值:我叫jhx,16years old char Array="我叫jhx,16years old"; //定义一个无符号字符串型常量cArray,赋值:Today is 2021.10.30 unsigned char cArray="Today is 2021.10.30"; //定义一个字符型常量temp,赋值:A cahr temp='A'; //定义一个无符号字符型常量cTemp,赋值:b unsigned char cTemp='b'; return 0; //运行结束返回0 }
4,总结:在基本数据类型中,我们在平常训练敲代码只会用到整型(int)、单精度浮点型(float)、字符型(char),其它类型用到的频率不多,但是也要记住他们在电脑里的占位和取值范围,数据类型的核心作用就是定义一个常量或是变量的类型,整型和浮点型的数据都是数字,而字符型的数据都是以字符为主,但是在Ascll表里,相应数字是对应相应的字符的
#include<stdio.h> //引用头文件 int main() //主函数 { char array='A'; //定义一个字符型常量array,赋值:A int num=array; //定义一个整型变量num,将字符常量array赋值给整型变量num return 0; //运行结束返回0 }
像上面的代码一样,字符常量A在Ascll表里对应的十进制数字是65,所以当将字符型常量array里储存的值A赋值给整型变量num时,所得到的结果是num=65。
下一章预告:C语言输入、输出格式控制符、转义字符。