基本数据类型
1.C语言的基本数据类型
1.1变量
1.1.1变量的解释
变量类似一个盒子,你可以先把东西放里面(赋值),等用时再取出来。一个变量“盒子”理论上能放一个任何东西。但是我们需要贴上标签告诉别人这个盒子装的是什么东西(声明)。另外变量“盒子”有点特殊,他只能放入一个东西。如果一个“盒子”里已经有一个东西,但是你又放入了一个东西,原本东西就会被挤出去。
所以在c语言中变量的声明和赋值有两种方法:
- 声明并赋值
- 先声明后赋值
1.1.2变量命名规则
c语言中变量名是不能随便起的,他也要遵循一定的规则。
- 变量名中只能出现英文,数字,下划线和美元符号。
- 变量名不能以数字开头
- 大小写敏感。A和a是两个变量。
- 变量名不能和关键字相同。
1.1.3拓展
c语言中的32个关键字。
- auto、double、int、struct;
- break、else、long、switch;
- case、enum、register、typedef;
- char、extern、return、union;
- const、float、short、unsigned;
- continue、for、signed、void;
- default、goto、sizeof、volatile;
- do、if、while、static;
1.2基本数据类型
编译器要处理数据,就需要知道数据的存储大小和存储方式,即数据类型。
常用的基本数据类型有
- 字符char,字符型在本质上就是整型,在c语言中用char表示一个字符型。他表示占用一个字符的存储空间。当我们读出时将会得到一个整形数据,而我们输出时会得到一个字符是因为我们人为的定义了一个对照表,这个表规定字符a的数值就是97,所以当我们遇到97时我们有两种读出方式,第一种以整数形式读出就是97,另一种就是以字符型读出,使用%c指定读出形式,则对照表则为a。
- 整数int,整数又称作整数型,就是我们平时看到的准确的整数,一般占4个字节(32位)。最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647。
- 浮点型,浮点型又称实型。
- 单精度浮点数float,系统中基本的浮点类型。我们在c语言中使用float表示一个单精度浮点类型。一个float类型占用4个字节储存位。使用%f作为其格式说明符,而且float一般精确到小数点后6位。
- 双精度浮点数double,范围更大的浮点类型。比float类型表示更多的有效数字以及更大的指数。我们在c语言中使用一个double类型表示一个双精度的浮点类。一个double类型占用8个字节,其内存消耗是double的两倍,double运算速度比float慢得多。double的格式说明符仍然是%f,而且double类型一般精确到小数位后15位。long double范围更大的浮点类型。我们使用%lf作为其格式说明符。
基本上c语言最常用的就是这四个数据类型。
1.3数据类型汇总表格
名称 | 全称类型说明符 | 缩写类型说明符 | 位数 | 范围 |
---|---|---|---|---|
整型 | int | int | 16位 | -32768至+32767 |
无符号整型 | unsigned int | unsigned | 16位 | 0 至 65535 |
短整型 | short int | short | 16位 | -32768至+32767 |
无符号短整型 | unsigned short int | unsigned short | 16位 | 0 至 65535 |
长整型 | long int | long | 32位 | -2^63 ~ 2^63-1 |
无符号长整型 | unsigned long int | unsigned long | 32位 | 0至4,294,967,295 |
单精度浮点型 | float | float | 32位 | -3.410(-38)至3.410(38) |
双精度浮点型 | double | double | 64位 | -16 -1.710(-308)~1.710(308) |
长双精度浮点型 | long double | long double | 128位 | -1.210(-4932)~1.210(4932) |
1.4基本类型的注意事项
1.4.1表示其他进制
只有整数可以表示其他进制。
- 十六进制。以0x或0X开头(0是阿拉伯数字0)
- 八进制。以0开头(0是阿拉伯数字0)
- 二进制。以0b或0B开头(0是阿拉伯数字0)
1.4.2 科学计数法
只有double类型可以进行科学计数法。
double a = 3E2; //表示3 x 10^2,所以a = 300
1.4.3 长整型long的问题
声明长整型时数的后面要加上L
long a = 666L; //L大小写都可以,但为了便于区分,一般使用大写L
1.4.4 浮点型float问题
声明float时数的后面要加上F,因为默认的浮点型都是double
float a = 3.14F; //F大小写都可以
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!