数据类型及分类
-
基本类型
整形:(unsigned)short;(unsigned)int;(unsigned)long;(unsigned)long long;
字符型:(unsigned)char;
实型:float double
枚举型:enum -
构造类型
数组
结构体:struct
共用体:union -
指针类型
-
空类型:void
short类型详解
- 占用字节数:2
- 2个字节,1个字节8位,2个字节16位
- 操作存储空间,最高位表示正负,0为正数,1为负数,16位去掉一位为15位,(-32768到32767)(10000000不是0,稍后的部分会讲到)
- 正数最高位和负数最低位为衔接循环,超过范围的数会从32768往上输出
- 无符号short,unsigned short,只有正数,若超过范围,同样循环衔接从最小值0开始
- %u用于打印无符号数
- 一些其他关键字:int 4个字节,long 和long long 8个字节
整数常量
- 十进制:24 %d
- 八进制:0开头:052(%d打印为十进制)八进制打印为%o
- 十六进制:0x开头:0x2a,十六进制打印为%x
- 如果整数常量long超过int范围,要在后面加上L或l,建议只要是long型都加
局部变量与函数
- 声明变量就赋值,叫做变量的初始化
- 不初始化的变量值不确定
- 可重复赋值
- 其他函数 void f1()
linux传输
- 一般情况可以直接拖动或复制到虚拟机
- 在共享设置选中共享文件夹,该文件夹位于/mnt/hgfs/
- 一般情况可悬着网络适配器为桥接模式,此模式可保证虚拟机的网络被当作一个独立电脑设置
char字符
- 本质为整数,也可以做字符用,字符输出为%c
浮点型字符
- float, double, long double
- 字符输出为%f,%g
类型转化
- 自动类型转换,变量给变量赋值,但变量类型不同时,如被赋值变量的值域为父集则可自动类型转化
- 强制类型转换,被赋值变量值域不为父集时,如int l = 128, char c = (char) l;
补码
- 整数的存储是以二进制的补码形式存储的
- 五符号整数的补码等于原码
- 有符号正整数的最高位一定是0,表示正号,补码等于原码
- 有符号负数最高位一定是1,先反码(除最高位取反),补码等于反码+1
- 最大负数除符号数全是0,char c1 = -128,其补码为10000000