
数据类型数据类型是什么数据的类型根据数据的特点划分了不同的种类1 2 //整数1.0 2.0 //小数一、C语言提供的数据类型1.基本类型整型 //整数的类型浮点型 //小数字符型 //文字符号枚举类型 *2.构造类型3.指针类型4.空类型1整数类型常量 //在程序运行中其值不能被改变的量称为常量变量 //在程序运行中其值能被改变的量称为变量1、整数常量123 //十进制数据0x123 //十六进制数据0123 //八进制数据进制 --- 进位的制度进制转换十进制 二进制方法短除法辗转相除法 / 除2取余法eg 2|17——2|8 ......1低——2|4 ......0——2|2 ......0——2|1 .......0——2|0 ......1高——17 10001二进制 十进制方法加权求和eg:100011*2^41*2^0 17十进制 转 N进制 方法除N求余法N进制 转 十进制 方法加权求和十六进制 二进制方法一位十六进制数对应四位二进制数eg0111 10117 B八进制 二进制方法一位八进制数对应三位二进制数eg001 111 0111 7 32、整型变量语法数据类型 变量名 //定义变量整型数据类型int //整型short //短整型long //长整型long long //长长整型其中分为有符号数signed和无符号数unsigned变量名标识符 --- 给变量起一个名字方便使用原则见名知意规则1.数字、字母、下划线组成2.不能以数字开头3.不能与关键字重名4.名字区分大小写5.不要和库函数的名字以及预处理的命令重名变量定义 --- 本质就是内存开空间int a //开空间a 10//赋值int b 10//初始化 --- 定义变量的同时赋值3、类型的大小sizeof(int) 4 字节sizeof(short) 2 字节sizeof(long) 8 字节sizeof(long long) 8字节4、数据存储数据存储到几个字节中字节序分为大端模式 //高位数据存放在低位低位数据存放在高位小端模式 //高高低低---高位数据存放在高位低位数据存放在低位电脑都是小端模式51单片机为大端模式arm芯片默认为小端可以设置为大端所有的整数存储在计算机用的都是 补码的形式正数:补码 原码 反码负数:补码 反码 1 反码 原码 按位取反 (符号不变)egsigned int0000 0000 0000 0000 0000 0000 0000 0000unsigned int0|000 0000 0000 0000 0000 0000 0000 0000 符号位 |数值位补码运算规则: 对补码 再求补码 会得到原码5、类型的数据范围int //默认为signed integunsigned int [0 , 2^32 - 1]signed int [-2^31 ,2^31 - 1]数据溢出最大数1最小数最小数-1最大数2浮点型1、常量形式1.2341.234e3 //指数 --- 1.234 * 10^31.234e-32、变量浮点类型float //单精度double //双精度long doublesizeof(float) 4sizeof(double) 8sizeof(long double) 16egfloat f //定义一个float类型的变量ff 1.23 //赋值float f 1.23 //初始化3、浮点数的存储存储规则IEEE754标准egfloat f -6.25step1将十进制小数转换为二进制的小数-6.25整数部分 --- 除2取余法小数部分 --- 乘2取整法6 --- 01100.25 * 2 0.5 ……00.5 * 2 1.0……1-6.25 --- -110.01step2将二进制小数写成科学计数法形式-110.01 --- -1.1001 * 2^2step3按照IEEE754标准进行存储float 4字节符号位 | 指数位8位 | 尾数位23位1 | 2 127偏移量|1001double 8字节符号位 | 指数位 11位 | 尾数位52位 //指数位偏移量1023PSC语言中常量和变量都是有其对应的数据类型浮点数比较保障精度一致 --- 类型一致0.9 //存储到计算机默认为double0.9f //指定0.9为float3字符型计算机中表示文字符号a、b、c、d……ASCII编码在linux中使用 man ascii查看手册ascii内容ASCII表0~32 //不可见字符控制字符48~57 //数字字符‘0’~‘9’65~90 //‘A~’Z‘97~122 //’a‘~’z‘1、字符常量’a‘ //字符串常量’ ‘中只能放一个字符2、字符变量char //一个字节也是一种整型char ch //定义了一个字符型变量ch ’a‘ //存放的实际是’a对应的编码值char ch ’a‘eg‘a’---编码值---97----补码值存放到内存大小写转换‘A’65 32 ‘a’973、转移字符‘\n’ // \表示转义转换了含义换行‘\t’ //制表符一个tab占8个字符‘\b’ //退格\r //回车