数据为什么有类型
数据类型是指数据以何种方式储存在内存中,不同的类型储存方式不一样。
C语言数据类型概述
C语言中有5大类数据类型
基本类型、构造类型、指针类型、空类型,定义类型
常见的数据类型有:int、float、double、 char
1、不同的数据类型占用不同的储存空间
|
16位编辑器 |
32位编辑器 |
64位编辑器 |
char |
1 |
1 |
1 |
int |
2 |
4 |
4 |
float |
4 |
4 |
4 |
double |
8 |
8 |
8 |
short |
2 |
2 |
2 |
long |
4 |
4 |
8 |
longlong |
8 |
8 |
8 |
void*(指针变量) |
2 |
4 |
8 |
2、不同数据类型表示范围
关键字 |
所占字节数 |
数的表示范围 |
int |
4 |
—231 ~ 231-1 |
[signed]short[int] |
2 |
—215 ~ 215-1 |
[signed]long[int] |
4 |
—231 ~ 231-1 |
unsigned int |
4 |
0 ~ 232-1 |
unsigned short[int] |
2 |
0 ~ 216-1 |
unsigned long[int] |
4 |
0 ~ 232-1 |
关键字 |
所占字节数 |
数的表示范围 |
精确的数字个数 |
float |
4 |
绝对值E-37 ~ E+38 |
7 ~ 8 |
double |
8 |
绝对值E-307 ~ E+308 |
16 ~ 17 |
|
|
|
|
常量的分类
- 整型
二进制
以0b(0B)开头
0b11111111111111111111111111111111;//32位的1 就是"-1"
八进制
以0开头
015;//这是一个8进制的整数误区:不是10进制的15
十进制
十六进制
以0x开头
0x438fa;
- 实型(浮点型)
单精度
以f结尾 //表示单精度的小数 占用4个字节
2.3f
双进度
2.3; //计算机中默认的以双精度的形式表示一个小数
- 字符型
字符型常量
用单引号('')括起来的单个字符,里面可以是字符、数字、符号
'a'; '1'; '&';
'ab'; //不合法的必须单个字符
字符串常量
用双引号括起来,里面可以是字符、数字、符号
"abc"; //a b c \0
"a"; //a \0 2
"**";
转义字符
变量
变量的命名规范
变量名命名规则:
1.只能使用字母、数字、下划线、美元符号为变量命名,不能使用其他字符。
2.不能以数字开头。
3.不能和C语言关键字同名。
4.要遵守命名规范。
命名规范:
1.做到见名知意,就是看到变量名就能大概猜出这个变量是有什么用。
2.使用驼峰命名法,就是多个单词就第一个首字母小写,其他首字母大写的命名方法。
3.使用前缀加_的方式命名一些功能差不多的变量。
变量的声明和赋值
变量就是可变化的量!第一次给变量赋值叫变量的初始化,后面再重新为变量赋值,就会覆盖掉原先的值。
声明一个变量,就是在内存中申请一块字节空间,并给空间取个别名,这个别名就叫变量名
1 |
inta; |
给变量赋值,就是储存数据到变量中
1 2 |
inta; a =10;//为int类型的变量a赋值10 |
注意:每条语句末尾都要加半角分号,也就是英文状态下的分号,并且如果要为变量赋值,必须先声明变量才能为变量赋值。
//此时a有没有值?有值
//值的可能性:1)系统的数据 2)上一个程序遗留的数据 3)垃圾数
//因为变量定以后,是有值得,为了防止变量的原来的值对我们的程序产生影响,我要初始化
//初始化:给变量赋初值
作用域:可以理解为变量可以使用的范围
变量按照作用域分类:局部变量和全局变量