数据类型及其运算
算法和数据结合才是程序。
而数据又包括基本数据和数据结构,你会问数据结构是什么?数据结构就是数据的组织形式,例如数组,结构体。
一、数据类型:
1.基本数据类型:整型、字符型、浮点型、枚举类型。
2.构造类型:结构体、共用体、数组。
3.指针类型。
4.空类型。
5.指针和结构体组成的更复杂的堆栈、表、树
二、常量和变量:
1.不变的量就是常量,分为字面常量和符号常量,字面常量如7、4.5、‘1’,符号常量就是#define替代一个字面常量,符号常量的作用域从定义开始。
2.变量在内存中开辟出一个地址,地址里的数据可以变化,所以说变量是变化的量。使用前必须先定义,同时类型确定。
3.标识符是什么,就是命名,宏的命名,函数的命名,变量的命名,结构体类型的命名等等,规则是必须字母数字下划线,其次排首只能是字母或下划线,大小写有区别。
三、整型数据:
1.常量表示方法:十进制,八进制0,十六进制0x。
2.整型变量在内存中的存放方式:多数占据2个字节,正的补码还是原码,负的是绝对值原码的反码+1.
3.整型分类:short int,int,long int,unsigned -32768-32767/0-65535
4.溢出:32767+1=-32768
5.常量:属于哪个范围,就赋值给哪个类型变量;后缀u将数据强制为无符号型;后缀l将数据强制为long。
四、浮点型数据:
1.分类:单精度,双精度,长双精度。
2.舍入误差:单精度只能保证7位有效数字,并不能说明第八位是不准确的。
3.默认把浮点型常量当做双精度处理。
五、字符型数据:
1.字符变量:只能放一个字符,同时一个字符占据一个字节。char:-128-127 unsigned char:0-255 。
2.在内存中的存储形式,ASCII码,导致可以字符数据和整型数据相通。
3."a"='a'+‘\0’,字符串常量只能放在数组里。
4.字符常量:字面字符,转义字符。
六、混合运算:
运算前,先转换成同一类型:char,short------int--------unsigned--------long------double<-------float,往更多数据空间的数据转化。
例如10+'a'+i*f-e/d,其中i为整型,f为float型,d为double型,e为long型,首先计算i*f双方数据都转换成double型计算结果为double型;其次计算e/d,都转换成double型,计算结果为double型;整个结果为double型。
七、运算符:
1.全部运算符基本意义理解。
2.算术运算符:%必须是整型数据。算术运算符的结合性为左结合性,例如a-b+c,b左右都有运算符,先执行左边的;例如a=b=c,b是右结合性,先执行b右边的。
3.强制类型转换:(类型)。
八、赋值运算符:
1.整型=浮点型,把浮点型的整数部分进行赋值。
2.单、双精度=整型,把整型扩展到7位或者16位
3.单=双,截取双的前七位。
4.双=单,扩展单为16位。
5.整=字符,如果无符号字符,低八位放数,高八位0;如果为有符号数,正数高八位0,负数高八位1 。
6.字符=整,只给低八位。
7.long=int,高位全补1或者0 。
8.综述,按存储单元的存储形式直接传送,以补码的形式。
九、逗号运算符:
将表达式连接起来