编程语言
0101 1010 // 机器代码 ---> 汇编语言 (助记符) ----> C语言(高级语言)
从机器代码转成汇编语言到人民能读写得高级语言。
什么是数据类型?
数据的类型 --- 数据的分类
C语言数据的分类
基本数据类型
整型 //整数这种类型
浮点型 //小数这种类型
字符型 //"tom" --字符
数据类型必要性:
1.方便编程解决现实问题
2.不同类型的数据可能导致最终使用的计算机硬件的差异
常量:
在程序运行过程中,其值不能被改变的量
变量:
在程序运行过程中,其值可以被改变的量
变量:
整型:
int 4字节
short 2字节
long 8字节
long long 8字节
定义变量: //语法
数据类型 变量名;
eg:
int a; //表示定义了一个整型类型变量 名字叫啥a
数据类型的转换:
十进制 到 2进制 --- 除2取余法 (辗转相除法)
二进制 到 十进制 --- 加权求和
十进制 到 n进制 --- 除n取余法
n进制 到 十进制 --- 加权求和
八进制 <==> 二进制 1位八进制数 对应 3位二进制数
十六进制 <==> 二进制 1位十六进制数 对应 4位二进制数
整数 存在计算机中 存的都是补码
正数的补码:
原码 反码 补码 一样的
123
原码 0000 0000|0000 0000|0000 0000| 0111 1011
反码 0000 0000|0000 0000|0000 0000| 0111 1011
补码 0000 0000|0000 0000|0000 0000| 0111 1011
负数的补码:
等于 反码 + 1 //符号不变
-123
原码:
1|000 0000|0000 0000|0000 0000| 0111 1011
反码: 符号位不变,数值位按位取反
1|111 1111|1111 1111|1111 1111| 1000 0100
补码: 反码+ 1
1|111 1111|1111 1111|1111 1111| 1000 0101
1111 1111|1111 1111|1111 1111| 1000 0101
f f f f f f 8 5
1.浮点型变量
float
double
long double
2.浮点型的常量
1.23
1.23e3
1.23e-3
1.23E3
3.浮点数测存储
a.写将十进制的 小数 ,写成二进制形式的小数
b.将二进制形式的小数,写成科学计数法形式
c.按照IEEE754标准 进行存储
4.浮点数的比较 (精度问题)
比较时,可能无法做到准确比较。
比较时,做好 类型统一
字符型:
"tom"
计算机中能存储的数据 --- 0101 二进制
'a' <--编码---> 0101010 //代表 'a'
ASCII --- 用 数字 对128个符号 进行了编码
0~32 不可见字符 主要起到控制作用
33~127 可见字符
1.字符型变量
char
2.字符型常量
'a' //单个字符
3.字符型数组,是怎么存储在计算机的
char c = 'a';
'a' <---> ascii 编码值(整型数字)
所谓的 'a' 字符存到计算机,实际上存的是 'a' 字符对应 ascii码的值 (二进制形式)
4.本质上其实还是 整型数据
char类型其实是一个 整型 (tiny int)
char类型与整型是通用的
0~32 不可见字符 主要起到控制作用
33~127 可见字符
48~57 '0'~'9' //字符形式的0~9
65~90 'A'~'Z'
97~122 'a' ~ 'z'