自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 过渡和动画

过渡过渡的基本使用过渡的缓动效果过渡效果实战动画动画的定义和调用动画效果实战课

2021-08-09 14:27:24 115

原创 2D和3D图形转换

2D变形旋转变形缩放变形斜切变形位移变形3D变形3D旋转空间移动

2021-08-08 16:30:19 198

原创 背景与渐变

背景基础知识背景颜色基础知识背景图片基础知识背景图片高级属性背景图片的重复模式背景尺寸背景裁切背景固定背景图片位置background的综合属性渐变背景线性渐变径向渐变

2021-08-08 15:05:01 108

原创 边框和圆角

边框边框三要素常见的线型.box{width: 0px;height: 0px;/* transparent透明色 */border: 20px solid transparent;border-left-color: #000;border-right-color: green;border-bottom-color: yellow;border-top-color: red;}圆角盒子阴影...

2021-08-08 12:26:04 73

原创 盒子模型CSS

盒模型基本概念认识盒模型width和height属性详解padding属性详解margin属性的详解margin的塌陷现象。一些元素有默认的margin盒子水平居中盒模型计算box-sizing属性(大量应用于移动应用当中)行内元素和块级元素display属性行内元素不能设置宽高(width和height)行内块 (img,input)可以设置宽高。行内元素和块级元素的相互转换元素的隐藏...

2021-08-05 18:20:18 48

原创 文本和字体属性

常用文本样式属性color属性红 绿 蓝 光学三元色font-size属性font-weight属性:font-style属性:text-decoration属性:字体属性详解font-family属性:阿里巴巴普惠体段落和行相关属性text-indent属性:line-height属性:font合写属性:继承性就近原则继承的权重可以看做是0.id>类>标签>继承(0)...

2021-08-05 16:36:40 50

原创 CSS选择器

标签选择器和ID选择器class选择器复合选择器后代选择器:伪类爱恨准则:元素关系选择器序号选择器属性选择器CSS新增伪类伪元素层叠性和选择器权重计算

2021-08-05 14:47:58 54

原创 认识CSS3

css31. CSS:重叠式样式表。用来给HTML标签**添加样式**的语言2. 前端三层: 选择器:CSS本质* css样式是要背诵的。CSS的书写位置 * 内嵌式书写 * 外链式书写 * 导入式书写(不常用)* 行内式书写(不常用)...

2021-08-04 16:11:18 60

原创 认识HTML5

W3C:万维网联合会。定义HTML和CSS的制定者。标签 属性 值字符集:title标签:设置网页的标题。title也是搜索引擎收录网站时,显示的标题,为了吸引客户点击合理设置title是必要的合理设置网页的网页关键词和页面描述,也是SEO的重要手段。SEO: 搜索引擎优化,利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名,获得品牌收益。HTML: 超文本标记语言 标记就是标签* 标签可以给文字设置不同的语义。单标签:比如meta标题和段落标签:标题: h1-h6:分别是一级

2021-08-04 15:37:26 70

原创 有效沟通--把握好关系,沟通更顺畅

清晰角色和目的沟通建立在之前糟糕的关系之上.关系基础没有打好,导致后面不可收拾的局面.不管是解决现在的沟通问题,还是发展新的沟通关系,关系的基础,最开始的部分一定要做好.沟通的2个前提关系 对关系没有清晰的把握,沟通一定不会顺畅.关系问题没定位清楚.关系的模式都是一样的吗?关系的定义: 是指对情感的认知和投入程度,亲密性和协调性交浅言深如果沟通出现偏差,要以低关系层级为准. 1. 把握情感深度 2. 关系具有流动性 3. 关系具有不可逆性身份你是下属..

2021-07-15 09:46:08 286

原创 数据结构--图

图(Graph)是由顶点的有穷非空集合和顶点之间的边的集合组成,通常表示为G(V,E),其中G表示一个图,V是图G顶点的集合,E是图G中边的集合.图定义的明确:* 线性表中的数据元素叫做元素,树中叫节点,在图中数据元素我们称之为顶点(Vertex)* 线性表可以没有数据元素,称为空表,树中可以没有节点,叫做空树,而图强调顶点时有穷非空集合.* 线性表中相邻的数据元素之间具有线性关系,树结构中,相邻两层的节点具有层次关系,而图结构中,任意两个节点都可能有关系,顶点之间的逻辑关系用边来表示,边集..

2021-07-06 08:17:10 127

原创 赫夫曼树的定义

赫夫曼编码是首个实用压缩编码方案.根据字符出现的频率利用赫夫曼编码可以构造出一个不等长的二进制,使用编码后电文长度最短,且保证不产生二义性.赫夫曼树先把两颗二叉树简化成叶子节点带权的二叉树.(树节点之间的连线相关的数叫做权,weight).节点的路径长度: 从根节点到该节点的路径连接数.树的路径长度: 树中每个叶子节点的路径长度之和.节点带权路径长度: 节点路径长度和节点的权值的乘积树的带权路径长度:(WPL) 是树中所有叶子节点的带权路径长度之和.WPL的值越小,说明构造出的二叉树的性能.

2021-07-05 15:02:57 137

原创 树、森林和二叉树的相互转换

1.树到二叉树的转换a. 在树中所有兄弟节点之间加一连线.b. 对每个节点保留与其长子的连线外,去掉该节点与其他孩子的连线.树的遍历顺序是先左后右的.2.森林到二叉树的转换.a. 先将森林中的每棵树变成二叉树.b. 再将各二叉树的根节点视为兄弟,从左到右连在一起.就形成了一个二叉树.二叉树到树和森林的转换a. 若节点x是其双亲y的左孩子,则把节点x的右孩子,右孩子的右孩子,…,都与y用连线连起来.b. 去掉双亲到右孩子之间的连线.树的遍历先根遍历和后根遍历先根遍历: 先访问树

2021-07-05 07:43:57 62

原创 算法的复杂度

什么是算法?算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。算法具有:输入、输出、有穷性、确定性、可行性。输入表示一个算法要有0个或多个输入。至少有一个或多个输出。有穷性算法设计的要求:正确性算法的设计没有语法错误算法对合法的输入能输出能够满足要求的输出算法对非法输入能够产生满足规格的说明算法对故意刁难的测试输入都有满足要求的输出结果。可读性算法的设计另一目的就是便于阅读、理解和交流。健壮性..

2021-06-28 14:58:48 56

原创 数据结构-01

什么是数据结构?数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的科学。程序设计 = 数据结构+算法数据结构就是关系,就是元素相互之间存在的一种或多种特定关系的集合。2.逻辑结构和物理结构逻辑结构:是指数据对象中数据元素之间的相互关系,也是我们今后最需要关注和讨论的东西。物理机构: 是指数据的逻辑结构在计算机中的存储形式。四大逻辑结构:* 集合结构(当今的我是最优秀的)* 线性结构: 数据元素之间是一对一的关系* 树形结构:数据元素之间存.

2021-06-28 14:27:47 46

原创 动态内存分配

malloc函数向系统申请分配size个字节的内存空间,并返回一个指向这块空间的指针。申请这块空间并没被清理(初始化为0)。如果size的值为0,那么返回值会因标准库实现的不同而不同,可能是NULL,也可能返回一个指针值,稍后可以传给free函数。 #include <stdlib.h> ... void *malloc(size_t size);size是以字节为单位。...

2021-06-25 11:02:46 41

原创 生存期和存储类型

生存期C语言变量拥有两种生存期,分别是静态存储期(static storage duration)和自动存储期(automatic storage duration)。 具有文件作用域的变量具有静态存储期(比如全局变量),函数名也具有静态存储期。具有静态存储期的变量在程序执行期间将一直占据存储空间,直到程序关闭才释放;具有代码块作用域的变量一般情况下具有自动存储期(比如局部变量和形式参数),具有自动存储期的变量在代码块结束时将自动释放存储空间。存储类型前边我们分别介绍了C语言变量的作用域、..

2021-06-22 09:34:24 398

原创 局部变量和全局变量

局部变量不同函数之间的变量是不可以相互访问的。C语言允许在程序的任意位置声明变量。允许变量在需要时才声明是一件非常棒的事情。在函数里面定义的叫局部变量,在函数外面定义的叫外部变量,又叫全局变量。全局变量初始化,不对全局变量初始化,默认为0当局部变量和全局变量同名的时候,会屏蔽全局变量。如果一个全局变量在使用之后才被定义可以对该全局变量在访问之前,使用extern关键字对该变量进行修饰。这样可以告诉编译器在后面声明了。...

2021-06-18 16:24:27 123

原创 参数和指针

参数和返回值函数在定义的时候通过参数列表来指定参数的类型和数量,参数使得函数更灵活.传入不同的参数可以丰富函数的功能.如果你的函数不需要参数,请使用void来进行强调.函数的类型名实际上就是指定函数的返回值,如果函数没有返回值则使用void,表示不返回.形参和实参形参就是形式参数,函数定义的时候写的参数就叫形参,因为那个时候他只是一个占位符,而实参就是你真正掉用这个函数时,传进去的值.形参和实参的功能说白了就是数据传送,当发生函数调用时,实参的值会传送给形参,并且这种传输是具有单向性的,形..

2021-06-17 22:31:53 180

原创 函数---C语言

为什么要自己定义函数?* 随着程序的变大都避免不了下面的问题。* main函数变得相当冗杂,程序可读性差。* 程序的复杂性不断升高,编程就编程头脑风暴了。* 代码前后关联性高,修改代码往往牵一发而动全身* 为了在程序中多次使用某个功能,不得不重复多次写相同的代码。* 。。。。。。标准库函数C语言标准库中为我们提供了很多实现各种功能的函数,有处理字符串的,有数学计算的,有输入输出的,有进程管理的,有信号、接口处理的…有了这些函数,我们就不用去关注内部的实现细节,只要将注意力在实现的逻..

2021-06-17 16:23:21 54

原创 指向指针的指针

指向指针的指针 ```c#include <stdio.h> int main() { int num = 520; int *p = &num; int **pp = &p; …… return 0; } ``` 指向指针的指针就是指向地址的地址。就是指针变量的地址。指向指针的指针解引用是可以作为左值的。指针数组和指向指针的指针使用指向指针的指针来指向数..

2021-06-17 11:10:58 197

原创 void指针和NULL指针

void 类型:void即字面意思“无类型”。定义变量的时候我们通过类型来决定该变量所占的内存空间。无类型,不可以定义一个变量。void指针:void指针我们把它称之为通用指针,就是可以指向任意数据类型的指针,也就是说任意类型的指针都可以赋值给void类型指针。提示:不要直接对void类型的指针进行解引用,因为编译器不知道它所指向的数据类型。使用void指针一定要小心,由于void指针可以保罗万象的特性,间接使得不同类型的指针转换变成合法。void指针的步长和char指针的步长是一致.

2021-06-17 10:24:43 340

原创 指针和二维数组

C语言没有真正意义上的二维数组。在C语言中,二维数组的实现,只是简单的通过“线性扩展”的方式进行。如图所示,int b[4][5]; 就是定义 4 个元素,每个元素都是一个包含 5 个整型变量的一维数组。它在内存中依然是以线性的形式存储。弄清楚下边三个问题:假设我们定义了二维数组 int array[4][5] array表示的是什么?array表示的是一个数组指针,她的跨度是5个整型内存大小,一般是5*4*(array+1)表示的是什么?表示的是array[1][0]的地址(指针),.

2021-06-17 09:56:15 61

原创 C语言---指针数组和数组指针

指针和数组的区别指针式左值,左值就是识别或定位一个存储位置,是可改变的.数组名是一个地址常量不可改变,所以不是左值.指针数组指针数组是一个数组,每个元素存放一个指针.#include <stdio.h>int main(){ char *p1[5] = { "让编程改变世界 -- 鱼C工作室", "Just do it -- NIKE", "一切皆有可能 -- 李宁.

2021-06-14 17:03:33 90

原创 C语言 12----指针

1. 内存是如何存放变量的.通过变量名对变量进行访问和存储是为了方便程序员而设计的,其实内存中完全没有存取变量名的必要.因为编译器知道具体每一个变量名对应的存放地址,所以当你读取某一个变量名之后,编译器会找到变量名所在的地址,并根据变量的类型读取相应范围的数据.2. 指针和指针变量通常我们说指针就是地址的意思.C语言中有专门的指针变量存放指针,跟普通变量不同**,指针变量存放的是一个地址.**指针变量也有类型,它的类型就是存放的地址指向的数据类型在编译系统中,指针变量占四个字节的空间,也就是说一个

2021-06-13 14:56:31 97

原创 C语言左值和右值 ----10

左值: 识别和定位存储位置的标识符右值: 任何可读取的值。max= a>b?a:b; 取最大值。goto语句,尽量少用,但是如果有多个break可以用goto代替注释 // /* */

2021-06-10 16:24:06 56

原创 C语言09 -- 循环语句

循环结构要重复执行的结构称为循环结构。while语句(入口条件循环)while (表达式) 循环体表达式为真就不停的执行循环体。3. do…while语句(出口条件循环)do 循环体while (表达式);先执行循环体再进行判断。4. getchar从标准输入流中获取字符。重标准输入流(stdin)中获取下一个字符。返回值如果是 EOF,表示该函数调用失败:* 如果标准输入流位于处于结束的位置,该函数返回 EOF,并设置标准输入流的结束标志符。* 如果出现其.

2021-06-10 15:54:25 72

原创 C语言08 -- if语句和switch分支结构

分支结构的作用就是将C语言的代码引入歧途。处理多分支结构,可以考虑使用语法更加简洁的switch:…… // 其它语句switch (表达式){ case 常量表达式1: 语句或程序块 case 常量表达式2: 语句或程序块 …… case 常量表达式n:语句或程序块 default: 语句或程序块 }…… // 其它语句* 这里的每个常量匹配switch表达式得值* case后边必须跟一个常量而不是一个表达式。* 如果所有的case都没有匹配.

2021-06-09 16:25:22 188

原创 C语言07 -- 关系运算符合逻辑运算符

关系运算符在C语言中使用关系运算符来比较两个数的大小关系。关系运算符是双目运算符,它的结合性是从左到右。优先级 赋值运算符<关系运算符<算数运算符关系表达式用关系运算符将两边的变量、数据或表达式连接起来,称之为关系表达式。* a <b关系表达式得到的结果是一个逻辑值,真(1)和假(0)逻辑运算符逻辑表达式用逻辑运算符将数据、变量和表达式连接起来的表达式。* 结果是一个逻辑值(0,1)* 判断一个数是否为真的时候,为0时为假,其他任何非0的数据都是真。5.短路.

2021-06-09 12:58:54 468

原创 C语言06 ---算术运算符

算术运算符:C语言提供和了大量运算符来处理数据算数运算符:几点要注意:用*号和/号代替乘法和除法对于整数部分采用舍弃小数的方式,不是四舍五入。对于浮点数的除法能够获取一个相对逼近的值。%是求余数的意思,两边的操作数必须是整数。“目”的解释我们把运算符作用的运算对象称之为操作数,运算符是单目运算符还是双目运算符,取决于他们能操作的操作数。表达式用运算符和括号将操作数连接起来的式子,我们称之为表达式。* 1+1* a+b* ‘a’+‘b’* a+b+pow(a,b)+‘c.

2021-06-09 08:55:28 74

原创 C语言05---字符和字符串

字符类型其实是一个特殊的整数类型.字符类型是一个特殊的整数类型,因此它也有取值范围. signed char -128-127。和 unsigned char 0-255字符类型和普通整数类型的不同之处.C语言规定来整数的默认修饰符石signed,但是char型没有默认,所以声明的时候根据需要最好加上signed和unsigned修饰.存放在字符类型中的变量,都可以被解释为ASCII码字符表中对应的字符.https://fishc.com.cn/thread-67427-1-1.html字.

2021-06-09 08:07:01 260

原创 C语言04 --- 取值范围

1.比特位和字节CPU能读懂的最小单位是比特位,只能存储0和1内存单位的最小寻址单位是字节,1B = 8bit2. 二进制、十进制、十六进制3.进制的转换:1.按权相加法:2.有符号位:如果第一位是1,则该位的权不变,但是要乘以-13.十进制 -》 二进制除以2,取余数。4.二进制 -》 十六进制3. 符号位存放signed类型的存储单元,由左边第一位表示。1表示负数,0表示正数。5.补码计算机用补码的方式来存储整数值。负数的补码计算方式:* 先取得该数绝对值的二进制形

2021-06-08 16:50:03 625

原创 C语言03--数据类型

数据类型指定变量坑(内存单元)的大小。int float char _Bool 的基本类型。布尔值得定义为什么是_Bool?可以引入<stdbool.h>来使用bool来定义。#include <stdio.h>#include <stdbool.h>#define NUM 99int main(){ bool isOdd; if(NUM%2) isOdd = 1;.

2021-06-08 12:32:09 40

原创 C语言 --- 打印和常量

设计一门编程语言,其实就是设计一套规则和约定.只要用户按照正确的规则和约定来输入,那么程序就能正确执行.常量:整型常量: 520,1314,123实型常量: 3.14,5.12字符常量:*普通字符: ‘L’ ‘o’ ‘v’ ‘e’转义字符: ‘\n’ ‘\t’ ‘\b’字符串常量: ”hhdxzz“符号常量: 使用之前必须先定义3.宏定义,定义符号常量#define 标识符 常量其中#define是一条预处理命令(预处理命令都是以“#”开头),我们称之为宏定义命令,它的作用.

2021-06-08 10:40:31 515 2

原创 C语言--变量

变量定义: 确定目标并提供存储空间.&& 在Linux中是前面的运行成功后面的命令才会运行& 在Linux中是gcc test.c -o test && ./test变量和常量是程序处理的两种基本对象.我们把要让CPU处理的数据放在内存中,但如果你没有给它安排一个位置,随意存放,那么你在后面需要再次用到这个数据的时候就再也找不到它了.所以变量的意义就是确定目标并提供存储空间2.变量名为了确定目标,我们需要给变量命名,变量一旦命名,我们就可以通过

2021-06-07 21:16:22 212

原创 端口 110

端口的读写CPU可以直接读写3个地方的数据:* CPU内部的寄存器* 内存单元* 端口端口的读写指令只有两条: in和out分别用于从端口读取数据和往端口写入数据。CMOS RAM芯片主要存放时间信息。shl和shr指令CMOS RAM中存储的时间信息...

2021-06-06 14:53:46 111

原创 INT指令

调用中断程序int 0成对编程。CPU执行int 7chpushfpush CSpush IP执行iretpop IPpop CSpopfint和iret配合使用, call和ret指令配合使用。有了函数有了过程就有了栈,因为函数有局部变量。BIOS和DOS中断例程的安装过程BIOS:base input output system 基础输入输出系统DOS:读内存 刷新内存 检查内存...

2021-06-06 14:29:53 200

原创 内中断10

内中断的产生中断是CPU处理外部突发事件的一个重要技术。它能使CPU在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行CPU原来的工作。引起中断的原因或者说发出中断请求的来源叫中断源。根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断又可以分为外部中断和内部中断两类。外部中断一般是指由计算机外设发出的中断请求,如:键盘中断、打印机中断、定时器中断等。外部中断是可以屏蔽的中断。也就是说,利用中断控制器可以屏蔽这些外部设备的中断请求。内部中断是指

2021-06-05 18:02:03 116

原创 汇编语言 --- 05

bx si di bp 才能用在[] 中括号中。只能以四种组合出现:bx+si bx+di bp+si bp+dibp没有显示的给出段寄存器,则默认的段地址在ss中。绝大部分机器指令都是进行数据处理的指令,处理大致可分为三类:读取、写入、运算。处理的数据在什么位置处理的数据大小如何。在机器指令这一层来讲,并不关心数据的值是多少,而关心指令执行前一刻,它将要处理的数据所在的位置。指令执行前,所要处理的数据可以在三个地方:CPU内部,内存,端口。..

2021-06-05 13:03:47 51

原创 04 寄存器 内存访问

内存中字的存储任何两个连续的内存组成一个字单元 字单元= 2b=16bitDS和[address]CPU要读取一个内存单元的时候,必须先给出这个内存单元的地址。DS:数据段寄存器,通常用来存放要访问的数据的段地址。mov指令可以完成的两种传送功能:1.将数据直接送入寄存器2.将一个寄存器中的内容送入另一个寄存器中3.还可以将一个内存单元中的内容送入一个寄存器。[0]代表偏移地址。8086CPU不支持将数据直接送入段寄存器的操作,ds是一个段寄存器。可以直接送入通用寄存器。数据

2021-06-05 13:03:16 105

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除