一、常量与变量
常量就是值不能被改变的量,如10、5.6、’a’、宏定义定义的常量等。(#define 宏命 常量 #define PI 3.14)
变量就是值可以被改变的量,就是在内存开一块空间,用于数据的存储。(注意要先定义再使用)。
二、变量定义的格式:
数据类型 变量名
数据类型:根据实际需求自己选择数据类型关键字。
变量名:内存空间的名称,自定义,符合标识符的命名规范。
标识符的命名规范:1、数字、字母、_、$
2、不能以数字开头
3、不能和关键字重读
4、见名知意 单词 拼音
三、变量的分类:
按照定义的位置分为:局部变量和全局变量
局部变量不赋值时里面存储的是不确定的值,定义在{}内
全局变量不赋值时是0,定义在所有的{}之外就是全局数据区
四、使用变量:
1、赋值符号 =
2、输入函数 scanf
五、输出函数
输出函数printf - - - stdio.h
Printf输出””里面的内容
“”里面的内容:1、普通的字符:原样输出 2、转义字符:\+字母 具有特殊功能的字符。3、格式控制符:%---该读内存或者运算
六、输入函数
输入函数scanf---stdio.h
scanf接受输入的数据写入到内存中。
scanf(“格式控制符”,内存地址)://内存地址 ---- &变量名
//地址决定起始位置,格式控制符决定一次性写多少空间
使用scanf写数据:前提:定义变量后再输入。
七、进制转换
常用进制:二进制、八进制、十进制、十六进制
二进制数据:存储到内存中的,操作寄存器每一位上的数字0~1。
八进制:了解 每一位上0~8。
十进制:0~9。
十六进制:数值表示或者地址 每一位上的0~9 a b c d e f
进制的前缀:十进制 没有前缀
八进制 前缀0
十六进制 前缀0X
二进制 前缀0B
其他进制的格式控制符:
short int long long long
十进制 %hd %d %ld %lld
八进制 %ho %o %lo %llo
十六进制 %hx %x %lx %llx
二进制没有格式控制符
%#x-----显示前缀
八、进制转换规则
a、十进制转其他进制
b、其他进制转十进制
c、十进制快速转二进制
d、 二进制、八进制、十六进制之间的转换
- 十进制转其他进制:除以进制数的其余数,直到商为0,将余数逆序排列
- 其他进制转十进制
权重
十进制权重: 3 4 5 6
1000 100 10 1
10^3 10^2 10^1 10^0
八进制权重: 0 1 4 1
8^2 8^1 8^0
十六进制权重: 0x 6 1
16^1 16^0
二进制权重: 0b0 1 1 0 0 0 0 1
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
规则:
相应位上的数字*权重,相加
0141 = 1*8^2 + 4*8^1 + 1*8^0 = 64+32+1 == 97
c、十进制快速转二进制
加法:靠近小的权重, > 小的权重
31 --- 32 16 8 4 2 1
√ √ √ √ √
1 1 1 1 1
51 --- 64 32 16 8 4 2 1
√ √ √ √
1 1 0 0 1 1
减法:数值比较靠近大的权重, < 大的权重
31 --- 32 16 8 4 2 1
1 0 0 0 0 0
0 1 1 1 1 1
278:
512 256 128 64 32 16 8 4 2 1
√ √ √ √
1 0 0 0 1 0 1 1 0
500:
512 256 128 64 32 16 8 4 2 1
0 1 1 1 1 1 1 1 1 1 --- 511
0 1 1 1 1 1 0 1 0 0 --- 500
常用的0~16必须会
0 --- 0000
1 --- 0001
2 --- 0010
3 --- 0011
4 --- 0100
5 --- 0101
6 --- 0110
7 --- 0111
8 --- 1000
9 --- 1001
10 --- 1010
11 --- 1011
12 --- 1100
13 --- 1101
14 --- 1110
15 --- 1111
d、二进制、八进制、十六进制之间的转换
3位二进制 == 1位八进制 (4 2 1)
4位二进制 == 1位十六进制 (8 4 2 1)
十六进制和二进制转换
0xaf6 === 0b101011110110
0b0000100101001010 == 0x094a
八进制和二进制进行转换
0345 === 0b011100101
0b000 000 100 101 001 010 === 0004512
九、数据存储
存储单位:字节 位 1个字节=8位
一个十六进制=4位二进制 一个字节=8位二进制
十、正数和负数的二进制表示形式
数据存储一律采用补码存储 原码 反码 补码
正数:原码=反码=补码
负数:
原码:就是一个数据本身的二进制表示形式 ,从原码上看能够看出一个数据是多少
反码:保持符号位不变其他位取反
补码:反码 + 1 , 最终粗才能入到计算机里面的二进制数据
十一、数据溢出
数据类型有范围,超出这个范围就存不下
数据溢出遵循环形转换规律
计算规律:数值如果是正向超出就 - 一圈的数据个数 看是不是在数据类型的范围内。
如果在就找到对应的数值
如果不在继续 - 一圈的数据个数 直到找到一个数据在在数据类型的范围内。
数值如果是负向超出 + 一圈的数据个数 看是不是在数据类型的范围内。
如果在就找到对应的数值
如果不在继续 + 一圈的数据个数 直到找到一个数据在在数据类型的范围内。