学习笔记
文章平均质量分 60
wxx258369
这个作者很懒,什么都没留下…
展开
-
JavaScript---1
运算符:**:幂次方 >>>:无符号右移数据类型:数字、字符串、数组、对象 通过new讲string定义为对象字符串方法:length -> 字符串长度 indexOf(X) -> X首次出现的位置 lastIndexOf(x) -> X最后出现位置 search() slice(x,y) -> 从第x个byte到第y个byte substr(x,y) -> 从第x个byte起y个byte replace(x,y) -> y替换原创 2020-12-28 09:21:49 · 147 阅读 · 0 评论 -
单片机精确延时几种方式
目前在单片机中有不少延时的方法:1、使用循环函数延时:void delay1ms(void) //误差 0us,延时1ms{ unsigned char a,b; for(b=199;b>0;b--) for(a=1;a>0;a--);}可以用单片机精灵来获取更多延时,下载地址https://pan原创 2017-12-29 11:10:32 · 11742 阅读 · 1 评论 -
微机原理之跑马灯课程设计设计报告及相关汇编代码(包含原理图)
微机原理课程设计设计报告花式跑马灯一、设计目的1、熟悉Protues ISIS的基本操作,及基本电路绘制;2、能根据电路修改理解程序;3、能根据程序分析各种功能;二、设计内容用七段数码管组成日期显示电路,由开关控制的发光二极管流水灯电路和由8253控制的定时闪烁电路。三、设计要求K0K1K2K3原创 2017-01-01 18:48:11 · 25362 阅读 · 10 评论 -
C语言初级练习——编写一个乘法表,呈倒三角形、输入一串字符,要求输出这串字符中的数字最多的那段的位置以及这段数字的个数
一、输入一个数,输出一个反序数:分析:要得到一个数的反序的数,例如输入123输出321,刚开始有可能会想到,直接把这个数取余,然后再去整,最后循环输出余数,虽然这样能得到一样的结果,但最终是输出若干个数,并不是一个数,所以此方法不通。如果要是一个数,那就得把取的那个余数乘10加上当前余数,最后输出大致是:j=j*10+i%10; i/=10;最后所写成的代原创 2017-01-20 20:48:18 · 1616 阅读 · 0 评论 -
有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.
题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.提示:用数组完成方式(1)#include #define n 10int main(){int a[n];int i,quit_num,k;for(i=0;i a[i]=i+1; quit_num = 0;原创 2017-01-23 20:48:42 · 1396 阅读 · 0 评论 -
细说malloc()函数
一、malloc()函数是什么 malloc()函数是一个用来动态分配空间标准的C语言库函数。 malloc()至少分配所需的空间大小 malloc()返回值是一个指针,指向分配过来的空间 malloc()在分配的地址被释放前无法再次使用这块区域二、malloc()在分配空间时是怎么做的从上图中,我们可以看到其实mal原创 2017-12-15 14:56:07 · 482 阅读 · 0 评论 -
malloc函数详解之自己用C语言写出实现malloc()和free()功能的函数
改进版传送:(空间复杂度比较低的版本)---------------------------------------------------------------------------------------------malloc()函数使用来动态分配内存空间,free()用来释放内存空间,两者搭配使用,若忘记free,则可能引起内存泄漏。为什么要自己编写malloc()函数:...原创 2017-12-06 17:43:28 · 17188 阅读 · 3 评论 -
++num和num++哪个执行速度更快,++num为什么会比num++速度快
num++在执行过程中是需要经历两个过程的,首先是将num读到寄存器,再将num对应的内存地址的值进行加一操作,调用的时候是使用的是寄存器中的值,而不是直接用地址中的值。++num在执行的时候是直接对num所对应的内存地址进行加一操作,调用的时候是直接使用该内存地址中的值进行操作。所以在使用++num时速度会相对来说要快那么一点点。原创 2017-12-21 14:09:03 · 788 阅读 · 2 评论 -
MOV,MOVC,MOVX的异同
MOV:对内部RAM数据传输(包括SFR)MOVX:对外部RAM数据传输MOVC:对ROM的读取原创 2017-11-30 13:46:16 · 4295 阅读 · 0 评论 -
C51中data、idata、bdata、xdata、pdata的区别
data:RAM低128字节,响应速度最快,采用直接寻址方式idata:RAM全256字节,采用间接寻址方式,速度相对较慢bdata:片内RAM,位寻址方式xdata:外部扩展RAM,采用DPTR访问pdata:外部扩展RAM低256字节,分页寻址(一页256byte)code:程序存储区原创 2017-11-30 13:30:11 · 9347 阅读 · 0 评论 -
OSI七层网络模型和四层网络模型
OSI七层网络模型第一层 物理层 第一层负责最后将信息编码成电流脉冲或其它信号用于网上传输。它由计算机和网络介质之间的实际界面组成,可定义电气信号、符号、线的状态和时钟要求、数据编码和数据传输用的连接器。如最常用的RS-232规范、10BASE-T的曼彻斯特编码以及RJ-45就属于第一层。所有比物理层高的层都通过事先定义好的接口而与它通话。如以太网的附属单元接口(AUI),一个DB转载 2017-08-09 11:34:48 · 469 阅读 · 0 评论 -
约瑟夫问题的解决(有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.)
有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位?#include <stdio.h>#define MAX 1000int main(){ int a[MAX]; int n, i, out = 0, num, j = 0; printf("Enter the number of people:");...原创 2017-07-19 20:28:35 · 3828 阅读 · 0 评论 -
算法 --- 插入排序、冒泡排序、选择排序
一、插入排序:主要分为两个部分:1、移动数组 2、插入数据void insertSort(int* a,int n){ int i,j,temp; for(i = 1;i < n;i++) { temp = a[i]; j = i-1; while( j >= 0 && a[j] > te...原创 2018-01-04 13:39:36 · 883 阅读 · 0 评论 -
eMMC5.1学习--术语和定义
CID(Device IDentification register):设备识别号寄存器CLK:时钟信号CMD:commandCRC(Cyclic Redundancy Check):循环冗余检验CSD(Device Specific Data register):数据寄存器DSR(Driver Stage Register):驱动寄存器OCR(Operation Condition Regist...原创 2018-06-14 20:16:55 · 5042 阅读 · 0 评论 -
归并排序法
先将一个数组分解成多个小数组,每个小数组进行排序操作,最后合并数组,形成排好序的数组void merge(int* a,int left,int right,int mid){ int n1 = mid - left; int n2 = right - mid; for(int i = 0;i < n1;i++) { L[i] = a[left + i]; } for(in...原创 2018-01-15 09:50:07 · 255 阅读 · 0 评论 -
常用的Git命令行指令以及图形化界面的简单操作
命令行操作常用指令 指令 作用 指令 作用 cd 打开目录 pwd 绝对路径 ls 列出清单 mkdir 新建目录 cp 拷贝 mv 移动 rm 移除 touch 创建文档一、git版本管理的指令1、设置账号用户名git config –global user.na...原创 2018-03-29 17:16:53 · 4020 阅读 · 0 评论 -
HighSpeedCharting简单的使用
HighSpeedCharting动态绘图点击下载动态绘图一、创建工程第一步:将ChartCtrl放入工程文件夹之中,并导入ChartCtrl文件夹 点击下载第二步:添加控件:custom Control第三步:修改属性第四步:添加变量二、简单的使用1、 创建坐标轴: CChartAxis *pAxis = NULL;pAxis= m_ChartCtrl.CreateStandardAxis(...原创 2018-04-11 12:07:18 · 6563 阅读 · 0 评论 -
MFC中TeeChart5的基本操作(图片的保存,坐标轴的调整)附下载地址
一、图片的保存1、头文件:CExport.h、CBMPExport.h、CJPEGExport.h、CPNGExport.h等 除了第一个以外,其他的根据自己需要保存的图片类型进行选择2、操作:(以bmp格式为例)CExport m_Print = m_chart.get_Export(); //定义CExport类,目的:获取输出结果CBMPExport m_BMP...原创 2018-02-23 13:21:53 · 3575 阅读 · 2 评论 -
ARM裸机学习(GPIO)
一、底层函数解析1、端口初始化函数typedef struct{ U32 pinx; GPIO_MODE mode; GPIO_UDP udp; }GPIO_INIT_typedef; //(端口针脚号、端口模式、上拉下拉模式)void GPIO_INIT(GPIO_PORT portx,GPIO_INIT_typedef gpio_init) /原创 2017-07-08 20:58:17 · 334 阅读 · 0 评论 -
C语言编写可以实现malloc() & free()功能的函数(空间/时间复杂度低)
#include <stdio.h>typedef struct _BLOCK //定义一个结构体,用于记录所有可用区块的大小及位置{ unsigned int size; struct _BLOCK xdata* pLink;}BLOCK,xdata* PBLOCK;PBLOCK xdata pHead = NULL;// // Initia...原创 2018-01-02 10:45:36 · 2709 阅读 · 3 评论 -
查找方式---线性查找、二分查找
一、线性查找int search(int* a,int n,int key){ int i = 0; a[n] = key; while(a[i] != key) { i++; } return i;}二、二分查找前提条件:元素必须是按升序或降序排列int binarySearch(int* a,int n原创 2018-01-05 14:07:05 · 329 阅读 · 0 评论 -
静态库和动态库的建立与使用
一、静态库的建立与使用:建立一个库,含有加减乘除算法1、首先编写算法程序如何进入多窗口模式:在底层模式下输入sp,Ctrl+ww 光标窗口切换 Ctrl+wj 光标向下切换 Ctrl+wk 光标向上切换2、编写main函数3、将加减乘除转换为.o文件4、建立库注意:静态库的后缀名为.a 库的命名libnam原创 2017-01-19 18:39:53 · 260 阅读 · 0 评论 -
ARM裸机开发入门(一)
一、常用汇编语言简单使用1、ldr 加载数据2、str 赋值(str r1,[r0]; 将r1中的值赋给r0)3、bl 回调函数4、add 按位加二、点亮LED流水灯 AREA Init, CODE ,READONLY ENTRY start ;关闭看门狗 ldr r0,=0x53000000 ldr r1,=0 str原创 2017-07-08 20:07:21 · 1348 阅读 · 0 评论 -
fprintf()函数以及 fscanf()函数的基本用法
fprintf、fscanf的读写对象不是终端而是磁盘文件;调用方式为:int fprintf(文件指针,格式字符串,输出表列 )返回值:返回实际输出的字符数,操作不成功返回EOFint fscanf(文件指针,格式字符串,输入表列 )返回值:返回输入的数据个数,操作不成功返回EOFfprintf(fp, "%d, %6.2f", i, t) 将整型变量 i 和实型变量原创 2017-04-10 22:11:18 · 2534 阅读 · 0 评论 -
编写函数int stat(int a[],int n,int c[][2])。a指向的数组中保存了由n个1位整数组成的数列(n为偶数)。函数从前至后依次将a数组中每两个相邻元素拼成一个不超过2位
/*****************************************************copyright (C), 2016-2017, Lighting Studio. Co., Ltd. File name:Author:王 Version:0.1 Date: Description:Funcion List: **************原创 2017-02-05 15:36:13 · 385 阅读 · 0 评论 -
函数
一、函数概述1、函数是用于完成特定任务的程序代码的自包含单元。2、要进行函数声明,形参改变不会影响实参。3、用return从函数返回一个值。二、ANSI C的函数原型:1、产生的问题2、ANSI标准的解决方案是在函数声明中同时说明所使用的参数类型,即使用函数原型来声明返回值类型、参数个数以及各参数的类型。3、函数原型的优点:函数原型是对语言的有力补充。三、递归:原创 2017-01-06 19:46:51 · 328 阅读 · 0 评论 -
字符输入/输出和输入确定
一、单字符输入输出:1、#includeint main(){ char ch; while((ch = getchar())!='#') putchar(ch); return 0;}2、缓冲分为两类:完全缓冲和行缓冲二、重定向和文件:#includeint main(){ int ch;原创 2017-01-06 17:14:16 · 1338 阅读 · 0 评论 -
C primer plus 第5.6.7章总结
第五章1、符号‘=’不表示相等,而是一个赋值运算符左边必须是变量名,右边是赋给该变量的值。赋值的动作是从右往左的。2、运算符的优先级及结合性:优先级结合性++后缀、()原创 2017-01-05 23:29:38 · 362 阅读 · 0 评论 -
C控制语句:循环
一、while循环while语句的一般形式:while(expression){statement}解析:如果expression为真,执行statement,再次判断expression,在expression变为假之前,重复判断和执行的循环。每次循环都被成为一次迭代。1.终止循环:在构建while循环时,循环中必须包含能改变判断表达式的值来使表达式的值变为假。原创 2016-12-25 18:10:29 · 283 阅读 · 0 评论 -
运算符、表达式和语句
一、基本运算符:1.赋值运算符:==左边必须是一个变量名,右边是赋给该变量的值。赋值运算符的动作是从右到左的。2.加法减法运算符:+、-+、-被称为二元双目运算符。3.符号运算符:+、-使用负号时是单目运算符。4.乘法除法运算符:*、/5.运算符的优先级:先乘除后加减,先单目运算符后双目运算符二、其他运算符:1.sizeof运算符和size_t类型s原创 2016-12-23 21:02:32 · 282 阅读 · 0 评论 -
字符串和格式化输入/输出
一、字符串简介字符串是一个或多个字符的序列。C的字符串通常以空字符结尾。#include#include //头文件包含了许多字符串相关的函数原型#defineDENSITY 62.4 //编译预处理intmain(){ float weight,volume; int size,lett原创 2016-12-22 20:24:05 · 508 阅读 · 0 评论 -
C语言的基本数据类型及关键字介绍
一、数据类型int 整型变量:有符号整型,只能处理整数short int (数值较小的情况下使用,占的内存较小)long int (数值较大时使用) long long int(更大)unsigned int(用于只使用非负值的场合)char 字符变量:用于表示字母及其他字符,也可以表示较小的整数,通常使原创 2016-12-17 20:38:25 · 4123 阅读 · 0 评论 -
简单的C语言练习
一、C语言简单程序简介#include<stdio.h> //指示和头文件,#include是编译预处理指令。stdio.h包含了输入输出的函数信息以供编译器使用int main() //C程序是从main函数开始的,main函数是C程序的基本模块{ //花括号是表示函数体的开始与结束 int num; ...原创 2016-12-16 21:02:15 · 585 阅读 · 0 评论 -
位运算练习(1、将整数中的几位取出来,取反输出二进制2、将整数中间某一位置位 )
1、 输入一个整数a,再输入两个整数p1,p2(p1,p2/*****************************************************copyright (C), 2016-2017, Lighting Studio. Co., Ltd. File name:Author:王 Version:0.1 Date: Description:原创 2017-02-05 20:19:21 · 3220 阅读 · 0 评论 -
数组和指针
一、数组1、数组是由一系列类型相同的元素构成。数组声明中包括数组元素的数目以及元素类型2、基本格式:类型说明符 数组名[常量表达式]3、数组的初始化,可以用花括号括起一系列的数值来初始化数组,数值之间用逗号隔开4、初始数值数目少于数组元素数目时,多余的数组元素被初始化为05、可以借助数组的索引对数组成员赋值6、数组边界:数组索引不能超过数组的边界。7、多维数组:数据类原创 2017-01-10 16:54:34 · 199 阅读 · 0 评论 -
C控制语句:分支和跳转(1)
一、if语句#includeint main(){ const int FREEZING = 0; float temperature; int cold_days = 0; int all_days = 0; printf("Enter the list of daily low temperatures.\n"); pri原创 2017-01-01 12:09:42 · 329 阅读 · 0 评论 -
memset()函数与 bzero()函数的比较
1.、memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度.memset可以方便的清空一个结构类型的变量或数组。Memset 用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为原创 2017-04-10 15:36:18 · 565 阅读 · 0 评论 -
停车场管理系统(数据库)
停车场管理系统主要实现的功能包括:1、查看空位 2、停车 3、系统计费 3、管理员查看停车记录 4、查找车辆信息/*****************************************************copyright (C), 2016-2017, Lighting Studio. Co., Ltd. File name:停车场Author:王原创 2017-04-09 16:31:17 · 21587 阅读 · 4 评论 -
工程管理器的简介以及shell脚本实践指南
一、工程管理器的简介与使用1、 工程管理器:make 优点:自动编译管理默认执行文件:makefile2、 规则:1.创建目标体 2.创建目标体的依赖文件 3.命令,并以tab键开头例: hello:hello.o gcc –o hello hello.o Hello.o原创 2017-01-20 19:56:18 · 269 阅读 · 0 评论 -
创建动态链表
/*****************************************************copyright (C), 2016-2017, Lighting Studio. Co., Ltd. File name:Author:王 Version:0.1 Date: Description:Funcion List: *************...原创 2017-02-09 22:36:53 · 428 阅读 · 0 评论