一、vim编辑器的进阶使用
打开vim编辑器,进入命令模式:
1.复制
(1)yy+p:复制光标所在的行,按p键粘贴一行字符到光标所在行的下一行
(2)Nyy+Mp:复制从光标所在的N行,按p键粘贴M份到光标所在的下一行
(3)shift+v:选择某一行 //配合方向键选中多行,然后按一下y进行复制
2.删除
(1)dd:删除光标所在的那一行
(2)Ndd:删除光标开始的N行内容
(3)shift+v:选择某一行 //配合方向键选中多行,然后按一下d进行删除
(4)Ndd+p:剪切
3.撤销:u
4.反撤销:ctrl+r
二、C语言基础知识
(一)
1.什么叫数据类型?为什么要划分数据类型?
数据类型是指数据的分类,它定义了数据的性质、取值范围、存储方式以及可以对数据进行的操作。
划分数据类型的主要目的有:确定数据的存储方式、限制数据的取值范围、便于进行数据操作、提高程序的可靠性。
2.C语言中数据类型
(1)基本数据类型:整型、字符型、浮点型
(2)构造数据类型
(3)指针类型
(4)空类型
3.进制
进制是一种计数方式,也称为进位制。它规定了在计数时,逢几进一的规则。
(1)十进制(DEC):逢十进一,数字由 0、1、2、3、4、5、6、7、8、9 组成。
二进制(BIN):逢二进一,数字只有 0 和 1 组成
八进制(OCT):逢八进一,数字由 0、1、2、3、4、5、6、7 组成。
十六进制(HEX):逢十六进一,数字由 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 组成, 其中 A - F 分别表示 10 - 15。
(2)进制转换:
①十进制转二进制:除 2 取余法
二进制转十进制:将二进制数的每一位乘以 2 的相应幂次,然后将所有结果相加。
②十进制转八进制:除 8 取余法
八进制转十进制:将八进制数的每一位乘以 8 的相应幂次,然后将所有结果相加。
③十进制转十六进制:除 16 取余法
十六进制转十进制:将十六进制数的每一位乘以 16 的相应幂次,然后将所有结果相加。
4.数据类型( 常量 vs 变量 )
常量 "在程序运行过程中", 不能改变的量
变量 "在程序运行过程中", 能被改变的量
(二)整型
1. 整型常量形式:
123 //十进制的整型常量
0x123 //十六进制的整型常量
0123 //八进制的整型常量
2.整型变量形式:
语法 :
定义变量: 数据类型 变量名;
(定义变量表示开出一块空间)
(1)整型数据类型的大小 :
int(4字节)
short(2字节)
long(8字节)
long long(8字节)
unsigned / signed :无符号/有符号
(2)变量名起名规则:
①由数字、字母、下划线组成
②开头不能是数字
③不能与关键字重名
④不要和预处理命令及库函数名重名
(3)整型数据的存储(小端存储 )
整数 --- 计算机最终存储的都是 他们的补码形式
①正数:原码、反码、补码都是一样的
②负数:补码=反码 + 1, 反码是原码的符号位不变,其余按位取反
//补码:同余模
//无符号 --- 表示所有的二进制位 都是数值位
//有符号 --- 表示有一位(最高位)充当了符号位,其余位是数值位
//符号位:0---正 1---负
(4)整型类型取值范围 :
①int 4字节 unsigned int :0~2^32-1
signed int :-2^31 ~ 2^31- 1
②short 2字节 unsigned short :0~2^16-1 //65535
signed short : -32768 ~ 32767
③long 8字节 unsigned long:取值范围取决于系统位数,在 32 位系统中是 0 ~ 2^32 - 1,在 64 位系 统中是 0 ~ 2^64 - 1。
signed long:取值范围也取决于系统位数,在 32 位系统中是 -2^31 ~ 2^31 - 1,在64 位系统中是 -2^63 ~ 2^63 - 1。
④long long 8字节 unsigned long long: 0 ~ 2^64 - 1
signed long long: -2^63 ~ 2^63 - 1
(二)浮点型
1.浮点型常量形式 :
1.23
1.23e-4 //科学计数法形式 1.23 * 10^-4
1.23E-4
2.浮点型变量 :
(1)关键字:
float 单精度
double 双精度 --- 精度
long double
(2)定义变量:
float f;
3.浮点型数据类型的大小:
①float 4字节
②double 8字节
③long double 16字节
4.浮点数的存储 :
step1: 首先将十进制形式的小数,写成二进制形式的小数
整数部分:除2取余法
小数部分:乘2取整法
step2: 将二进制形式的小数写成科学计数法形式
step3: 按照 IEEE 754 标准存放
// IEEE 754 标准:
float 4字节 32个位
1位符号位 | 8位 指数位 | 23位 尾数位
double 8字节 64个位
1位 符号位 |11位 指数位 |52位 尾数位
5.浮点数的比较:
保证精度一致、类型一致
//代码中出现的 浮点型常量 默认识别为 double 类型
(三)字符型
1.字符型常量 :
'a' //字符常量 a这个常量
2.字符型变量 :
(1) char
//char ch = 'a';
ch这个变量中最终放的放的实际上是 'a' 对应的ascii码值 (整型)
(2)char //tiny int --小整型
char 也一种整型类型----char和整型之间是通用的
unsigned char ch; //[0 ~ 255]
signed char a = 10; //[-128 ~ 127]
3.字符型数据类型的大小:
char 1个字节
4. 应用
ASCII表中:
0~32 -------控制字符(不可见字符)
48~57 ------数字字符 '0' ~ '9'
65 ~90 -----英文的26个大写字母的符号
97 ~122 ----英文的26个小写字母的符号
(四)其他
1.sizeof(运算数):
计算运算数所代表的数据类型占用的内存空间的字节数 。运算数可以是一个类型名、变量名、常量或表达式。
2.计算机存储数据的两种不同方式:
小端和大端
小端模式:高位数据存储在高地址处,低位数据存储在低地址处,符合“高高低低”的原则。
大端模式:高位数据存储在低地址处,低位数据存储在高地址处。
x86 体系结构 --- 小端模式
51 单片机 -------大端模式
3.数据溢出:
在进行数据运算或存储时,超出了数据类型所能表示的范围 。
4.常量也可以指定类型:
0.9f //表示被识别为 float类型
123 //默认识别为 int类型
123L //识别为long类型
123LU //unsigned long
123LL //long long
123LLU //unsigned long long
5.fabs() 函数
fabs() 函数是一个用于计算浮点数绝对值的函数。fabs() 函数返回的是一个浮点数。
6.格式说明符:
(1)%hd:用于读取或输出一个 short(短整型)数据,‘h’代表half。
(2)%d:表示以有符号十进制整数形式输出或读取一个整数数据。
(3)%#x:以十六进制形式输出整数,并且在前面加上 0x 前缀。
(4)%f:用于以浮点数(十进制记数法)形式输出一个浮点数。
(5)%c:输出一个字符。
(6)%#o:以八进制形式输出整数,并且在前面加上数字 0 前缀。