自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 opencv笔记(1)

waitKey格式:int waitKey(int delay=0)delay-延时的时间,单位ms;waitKey函数的功能:①等待x ms,如果在此期间有按键按下,则立即结束并返回按键的ASCII码,否则返回-1;②如果x=0,则无限等待下去,直到有按键按下;【注】:在imshow之后,如果没有waitKey语句则不会显示图像。waitKey函数的窗口机制:waitKey的延时...

2019-11-13 18:55:00 180

原创 fork

获取当前进程的PID和父进程的PID。创建getpid1.c,编辑如下内容执行过程:在当前系统中使用ps和grep查找父进程2330,可以看到,id为2330的进程为bash即当前的脚本程序,因为是在当前bash中运行此程序,所以父进程为bash进程创建fork()产生进程的方式比较多,fork()是其中的一种方式。fork()函数以父进程为蓝本复制一个进程,其ID号和父进程ID号...

2019-10-11 18:46:01 210

原创 inode

inode1.文件有创建者、文件的创建日期、文件的大小等信息就称作文件元信息这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。每一个文件都有对应的inode,除了文件名以外的所有文件信息,都存在inode之中2.inode包含文件的元信息,具体来说有以下内容:* 文件的字节数* 文件拥有者的User ID* 文件的Group ID* 文件的读、写、执行权限* 文件的...

2019-10-10 18:41:12 213

原创 lsof mmap具体用法 及 文件的特殊权限位

lsoflsof 文件名查看某个文件被哪些进程在读写lsof -c 进程名 lsof -p进程号查看某个进程打开了哪些文件lsof用法小结lsof abc.txt 显示开启文件abc.txt的进程lsof -i :22 知道22端口现在运行什么程序lsof -c nsd 显示nsd进程现在打开的文件lsof -g gid 显示归属gid的进程情况lsof +d /usr...

2019-10-10 16:20:41 309

原创 linux应注意的小问题

进程终止问题vi hello1.cgcc hello1.c -o hello1执行后ctrl + z 终止fg 1 把进程提到前台,让进程继续执行 ctrl +z 终止bg 1 切换到后台执行,但是此进程有控制台输出,此时在ctrl +z无法终止,在另一终端输入ps -ef | grep hello1找到文件,再kill -9 3533 才能终止程序进行。mkfifo** 命名...

2019-10-10 15:04:07 77

原创 expr

expr 计算表达式的值expr 1 + 2 #注意运算符两侧的空格,不写空格,当字符串处理。注意通配符,需要转义expr 1 * 2 注意书写转义符。或写成expr 1 “*” 2echo “scale=2;5/2”|bc #输出2.50 #意为输出5/2小数点后两位变量(shell中默认把变量值当作字符串)a=10 #等号两侧不能有...

2019-09-26 18:43:27 269

原创 VI/VIM编辑器

启动vi/vimvi 文件名vim 文件名通过打开多个#竖向两个窗口编辑vi -oN 2.txt 3.txt#水平两个窗口编辑vi -ON 2.txt 3.txt常用的三种模式命令模式:默认的模式控制屏幕光标的移动、字符、字或者行的删除,移动,复制某区域编辑(插入)模式:点击i键,进入编辑模式用于文本的编辑,在此模式下,用户可以进行输入、查找等基本的文本操作、行底(末...

2019-09-26 17:34:52 134

原创 find、xargs、正则表达式、grep

findfind 查找路径-name 根据名称查找-type 根据类型查找-size 根据大小查找(G、M、K、C)-atime 根据访问时间n24小时-ctime 创建时间-mtime 修改时间-amin n分钟-cmin-mmin+n n分钟或n天以前-n n分钟或n天以内find是用来在特定的目录下搜索符合条件的文件格式:find 路径 查找选项 查找关键...

2019-09-25 16:29:50 368

原创 su和su-(su用户切换)

su用户切换(su和su-)1.su表示切换root账号,不改变工作目录,工作目录仍为shenlan.2.su-表示切换到root账号,改变工作目录(相当于su-root)执行完上述后,先su - shenlan 切换到shenlan目录在 su -,可以看出工作目录改变了。...

2019-09-24 17:07:37 248

原创 硬链接软链接

硬链接:创建目录:mkdir min创建一个目录min,在该目录下创建一个文件1.txt, ls 输入文本内容,cat 查看文本内容查看文件属性可以看出,该文件的innode :686821 link: 1当给1.txt链接一个文件1_hard.txtt时,操作如下:可以看出,链接后的文本内容完全相同。两个链接的文件属性也是完全相同的,但与未链接的文件1.txt相比较,可...

2019-09-24 16:50:11 242

原创 回文及分段回文

判断所输入的数字是否是回文数?思路:回文数关于中心对称,只要比较对称的数即可int main(){char a[100];int flag=1;gets(a);int length=strlen(a);for(int i=0;i<length/2;i++){if(a[i]!=a[length-1-i]){flag=0;break;}}if(flag==1){p...

2019-09-18 18:29:05 250

原创 delete p;与delete [] p;的区别

delete p; 代表用来释放内存,且只用来释放p指向的内存,即p[0],析构一次。delete[] p 用来释放p指向的内存,!!还逐一调用数组中每个对象的~A!class A{public: A() { cout << "A的构造函数" << endl; } ~A() { cout << "~A" <<...

2019-09-04 09:33:43 1684

原创 栈模板

栈的基本状态有:一般状态、栈空、栈满。当栈中没有元素时称为栈空;当栈中元素个数达到上限时,称为栈满;栈中有元素,但未达到沾满状态,则处于一般状态。无论采用哪种数据结构,栈类中都应该包括以下基本操作:初始化、入栈、出栈、栈清空访问栈顶元素、检查栈的状态(满或空) #include<iostream> #include<cassert> using n...

2019-09-03 16:47:59 394

原创 static

static: 全局变量和静态全局变量一、静态全局变量特点1.该变量在全局数据区分配内存;2.未经初始化的静态全局变量会被程序自动初始化为0( 在函数体内声明的自动变量的值是随机的,除非它被显式初始化,而在函数体外被声明的自动变量也会被初始化为0);3.静态全局变量在声明它的整个文件都是可见的...

2019-08-24 16:43:55 350

原创 const

区分const修饰的量是否能改,简单来说,主要看const后跟的那个量,该量是不能修改的。1、const修饰变量const修饰变量,可以使变量具有常属性,也就是该变量在以后的使用中其值都不能进行改变。注意:const修饰的变量要进行初始化。const a=11;a=2;//错误,const 后面的a不能修改2.const和指针const 修饰指针变量有以下三种情况。(1):con...

2019-08-23 18:34:55 342

原创 静态数据成员&&静态成员函数&&友元

创建静态成员和友元的目的:创建静态成员主要是解决数据共享问题,而创建友元的目的是为了让某些函数访问类中的私有成员。1…静态数据成员思考:为什么要定义静态数据成员?答:如果不定义为静态数据成员,那么每个对象都分别有一个i的副本(拷贝)。但定义为静态数据成员之后,所有的对象共享有一个i的副本,就是说i在内存里就一个副本。那么,不同对象引用i,对i改变的话, 其他对象中i的值也会被改变,而且所...

2019-08-23 17:36:47 562

原创 构造函数析构函数和拷贝构造函数

构造函数:创建类对象,并初始化其值。1.传参2.按照类成员声明顺序依次构造其成员3.执行构造函数函数体析构函数:用来完成对象被删除前的一些清理工作(释放类对象)1.执行析构函数函数2.按照类中成员变量声明顺序的逆序依次析构其成员初始化列表:初始化对象成员(调用成员对象的带参构造)形式:在构造函数函数首部之后,函数体之前,其书写顺序不影响构造函数执行顺序拷贝构造函数:定义:当用一...

2019-08-21 17:19:03 164

原创 结构体字节对齐 c语言结构体字节对齐详解

首先我们来看一个结构体例题1struct STUDENT{char a;int b;}data;如上结构体占多少个字节呢?思考:char占一个字节,int占四个字节,所以总共占5个字节吗?其实不是。这就牵扯到结构体中字节对齐的概念。(什么叫字节对齐?结构体是一种构造数据类型,里面可以有不同的数据类型的成员,在这些数据成员中,不同的数据类型所占的内存空间是不同的,那么这些成员是...

2019-08-16 17:46:32 513

原创 容易搞错的压栈问题

编译器对++i和i++的处理是不一样的(存储上不一样)i++这种其实入栈的不是i的值,而是i++这个表达式的值,是通过寄存器进行的压栈;如果参数是++i则入栈的就是i的值,i的值以最终结果为准。例如:void main(){ int i = 3; printf("%d %d", ++i, ++i);}又如:void main(){ int i = 8; printf(...

2019-08-16 15:39:52 181

原创 编程找1000之内所有完数,并按照下面格式输出其因子:6its factors are 1,2,3

了解:一个数如果恰好等于它的因子之和,这个数就称为“完数”。代码如下: #include<stdio.h> void main() { for (int i = 1; i < 1000; i++) { int sum = 0; for (int j = 1; j <= i-1; j++) { ...

2019-08-13 11:34:41 1011

原创 一维数组的删除

删除0 代码如下: int main() { int a[15] = { 1,2,3,0,3,0,2,0,1,3,0,2 }; int len = sizeof(a) / sizeof(a[0]); int i, j; i = 0; while (a[i] != 0) i++; for (j = i + 1...

2019-08-09 18:00:12 1820

原创 找次大值次小值

int main(){ int a[] = { 1,3,2,7,9,2,4,6,8,20 }; int len = sizeof(a) / sizeof(a[0]); int m1 = a[0] > a[1] ? 0 : 1; int m2 = a[0] > a[1] ? 1 : 0; for (int i = 1; i < len; ++i) { if (a...

2019-08-09 17:55:32 736

原创 鸽巢排序

//鸽巢排序int main(){ int a[] = { 0,2,3,4,0,7,6,5,3,6,2,7,8,2,3,4,7,4,3,2 }; int b[9] = { 0 }; int len = sizeof(a) / sizeof(a[0]); for (int i = 0; i < len; ++i) { b[a[i]] += 1; } for (int ...

2019-08-09 16:55:19 125

原创 链表--删除指定值(单链表,双链表)

定义结构体: #include<stdio.h> #include<malloc.h> typedef struct _STU { int id; struct _STU* next; }STU,*PSTU;头插void Inserthead(PSTU* phead,int id){ PSTU pnew = (...

2019-08-08 19:05:22 439

原创 用指针处理链表—头插、尾插、头删、尾删、插入下标、插入值、清空、翻转

初步了解链表是一种常见的重要数据结构,可以动态地进行存储分配头指针head存放一个地址,该地址指向一个元素链表中每个元素称为结点,每个结点包括两部分,用户需要用的实际数据和下一个结点的地址最后一个元素不再指向其他元素它的地址存放一个NULL(空地址)先建立一个链表typedef struct connect_NODE{ int value; struct connec...

2019-08-07 14:45:39 132

原创 ##给出年月日计算该日是该年的第几天

给出年月日计算该日是该年的第几天···cint year,month,day,x; //定义全局变量int leap(int year){if((year%4=0&&year%100!=0)||year%400=0){return 1;}else{return 0;}}void f(){int y=0;int s[12]={31,28,31,30...

2019-07-31 22:32:21 485

原创 ##计算多个函数的定积分

计算多个函数的定积分*这里以三个函数为例:#include<stdio.h>#include<math.h>double f1(double x){return 2 * x*x + 3 * x + 5;}double f2(double x){return 4 * pow(x, 2.71) - 6;}double f3(double x){ret...

2019-07-31 17:07:18 552

原创 ## 拷贝法和指针法对汉字或字符串排序

运用冒泡法对汉字排序的两种方法方法一:拷贝法:把3个字符串拷贝交换顺序#include<stdio.h>#include<string.h>void sort(char p[][15], int len){char t[15];for (int i = 0; i < len-1 ;++i) //冒泡排序,进行len-1次循环,实现len-1趟比较...

2019-07-31 15:53:31 91

原创 把两个已按升序排列的数组合并成一个升序数组,要求用函数实现(归并排序)

把两个已按升序排列的数组合并成一个升序数组,要求用函数实现(归并排序)i为a1数组元素下标j为a2数组元素下标k为a3数组元素下标原理:比较i,j数字大小,当i<j时,把i中的元素放入a3中,给K++,i++(否则,把j中的元素放入a3中,k++,j++)再比较i和j的值,直到i>len1或j>len2循环中止;此时考虑越界问题,当j越界,i中元素还有剩余,把i中剩下的元...

2019-07-30 19:34:15 8828

原创 #预处理命令常见考点

*了解:预处理命令:以#开头,独立成行,行尾不用加分号(即可以加,也可以不加)宏定义: #define 标示符 字符序列宏定义在编译前会做宏展开(用字符序列替换掉代码中的标示符),替换的过程被称为宏展开;有点:1.书写便利;2.可读性好;3.便于修改;易错点:1#define T a+b时,代码中的int Ta;中的T不会被替换掉,其中的T不独立,不是标示符其次, ...

2019-07-29 09:33:11 245

原创 #逆序和顺序输出的简单方法--调用函数

顺序,逆序顺序输出:调用函数做顺序输出:结果:逆序输出:只需将fn1(a / 10);printf("%d ", a % 10);互换;结果:例如:编写一个函数,输入一个4位数,要求输出这四个数字字符,但每两个数字间空一个空格。此类的题就可以这样做。...

2019-07-27 18:45:09 425

原创 5阶魔方阵

5阶魔方阵思路:1.首先把1放在第一行的正中间;2.其后每个数放在前一个数的右上角(i-1,j+1);3.如果右上角被占,则放在前一个数的正下;#include<stdio.h>//int main()//{// const int n = 5;// int a[n][n] = { 0 };// int i = 0;// int j = n / 2;// int...

2019-07-25 15:09:11 3542

原创 值得注意的无限循环语句

**无限循环语句******了解:goto无条件跳转for循环中的()和:不可省略,其余均可省略;for(;;)等价于while(1)for循环表达式1只执行1次。第一种:while(1){printf("…\n");}.第二种:for(;

2019-07-20 18:12:06 786

原创 *用for循环求“水仙花数”和“玫瑰花数”

【 用for循环求水仙花数和玫瑰花数】初步了解for循环:1.表达式:for(单次表达式1;条件表达式2;末尾循环体3){中间循环体4;}2.执行顺序:表达式1——表达式2——表达式4——表达式3——表达式2——表达式4——表达式3…编码实践用for循环求水仙花数了解:含义:“水仙花数”是一个三位数其各位数字的立方和等于该数本身。算法分析:把给出的某个三位数的个位十位百位分...

2019-07-19 23:21:22 1444

空空如也

空空如也

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

TA关注的人

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