自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 靠谱的论文查重检测平台

推荐大家一个靠谱的专业论文检测平台:http://www.gezida.com/,他们的检测算法更加接近知网,哦对了,他们现在还在做毕业季活动,赠送超多免费字数,可以说是十分划算了,推荐大家有时间去看一下。...

2019-06-08 10:12:59 220

原创 C++中单继承、多继承、菱形继承、虚拟菱形继承的对象模型

以下测试均在VS2013中进行。1.带虚函数的单继承内存布局 看下面一段例子#include <iostream>using namespace std;class A{public: virtual void test1() { cout << "A::test1" << endl;

2018-05-21 16:25:44 272

原创 C++中部分知识点,引用、this指针、构造函数和析构函数、函数重载

1.引用类型引用类型是C++新增(相对C语言)的一种类型,引用是已定义的变量(对象)的别名。引用的定义方法为类型名 & 引用变量名 = 被引用变量名;int i = 0;int b = 5;int &ri = i;ri = b; //这实际上将i和ri的值改为了5,而不是使ri引用b引用的本质实际上是一个常量指针,int * const rp = &i; ...

2018-04-11 20:34:39 312

原创 编写自主shell

1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <unistd.h> 4 #include <string.h> 5 6 void do_shell(char **argv) 7 { 8 int n; 9 if ((n=fork()) ...

2018-04-09 16:14:14 163

原创 使用代码模拟实现僵尸进程, 孤儿进程的场景

1. 使用代码模拟实现僵尸进程, 孤儿进程的场景孤儿进程的实现,子进程变成孤儿进程后被1号进程所收养。 1 #include <unistd.h> 2 #include <stdlib.h> 3 #include <stdio.h> 4 5 int main() 6 { 7 pid_t pid; 8 pid = f...

2018-04-06 23:28:04 263

原创 readelf命令和Linux中进度条的实现及软件安装方式

1. 为什么调试的时候需要编译选项中添加-g,以及readelf命令加入-g选项可以将调试信息加入到到可执行文件中,有了函数名,行号等的调试信息就可以设置断点进行调试。如果没有-g选项,你将看不见函数名,变量名,所代替的全是运行时的内存地址。readelf:主要用来分析ELF文件,ELF文件是Linux的中可执行文件的格式,PE是的Windows中可执行文件的的格式。a.out显示可执行文件a.o...

2018-03-29 14:50:43 942

原创 linxu中目录的权限及部分目录的含义

1.目录的权限目录本身也是一个文件,在linux文件系统中,目录会有一个inode与至少一个block。其中,inode记录该目录的相关权限与属性,并记录分配到的block号码;而block则是记录在这个目录下的文件名与该文件占用的inode号码。r:当用户具有r权限时,则用户可读取该目录下的文件名数据,所以可利用ls命令将该目录下的内容列表读取出来。w:当用户具有w权限时,则用户可新建、删除、重...

2018-03-25 12:14:51 172

原创 堆排序 快速排序C实现

堆排序 堆:堆是一棵完全二叉树,它具有以下的性质,每个结点的值大于等于其左右孩子结点的值,称为大顶堆;或每个结点的值小于等于其左右孩子的值,称为小顶堆。基本原理:首先需创建一个大顶堆(升序),将堆顶与数组最后一个元素交换,此时堆不再满足堆的性质,因此我们再对剩下的n-1个元素进行调整,使其重新成为一个大顶堆。再将堆顶元素与倒数第二个元素交换,交换之后又不满足堆的性质,此时再对剩余的n-2个元素进行...

2018-03-22 13:22:06 433

原创 直接插入排序和冒泡排序C实现

直接插入排序 1.基本思想:直接插入排序是一种简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的,记录数加1的有序表。 我们以整形数组为例,则上面说的记录可以理解成整形数据。当数组中只有一个元素时,则数组已然有序。若数组有多个元素,则从第二个元素开始依次查找待插入的位置,并将待插入的位置与元素位置之前的元素向后移动,然后将待插入的元素插入对应的位置。 2.例子

2018-03-21 14:36:55 472

原创 删除二叉搜索树中的某个结点

删除操作的原型为 int DeleteBSTree(PNode* pRoot, int data),返回类型int用来表示删除是否成功,其中PNode表示如下typedef int DataType;typedef struct BSTreeNode{ DataType _data; struct BSTreeNode *_left; struct BSTreeNode *_right;...

2018-02-28 22:22:55 578

原创 二叉树的创建

二叉树:二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。 采用先序且递归创建二叉树。 二叉树结点表示如下typedef char BTDataType;typedef struct BinaryTreeNode{ BTDataType data; struct BinaryTreeNode *left; struct B

2018-02-26 17:58:40 203

原创 使用回调函数排序整形、浮点型、字符串等类型的数据

本次排序以冒泡法为基础#include <stdio.h>#include <string.h>int int_cmp(void *x, void *y){ return *(int *)x>*(int *)y;//指针为void型,不能直接使用,须先进行强制类型转换}int float_cmp(void *x, void *y){ return *(float *)x>*(

2017-11-24 17:01:12 330

原创 辨析指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针

要厘清上面的概念,主要在判断优先级上。1.指针数组指针数组:例如 char *p[5]; 因为 [ ] 的优先级高于 * ,所以p先和[ ] 结合,因此p是一个数组,数组中的元素都是指针,该指针指向char 型数据。换句话说,p中存储的内容是char型数据的地址。请注意,此时系统为数组p分配了20个字节的空间,而不是5,因为在32位平台下指针(也就是地址)占4个字节。2.数组指针数组指针:char

2017-11-18 16:46:06 236

原创 使用可变参数,实现函数,求函数参数的平均值

使用可变参数,实现函数,求函数参数的平均值可变参数要实现必须得保证参数列表中至少有一个参数,否则无法使用va_list可变参数的实现过程: 形参实例化时给形参变量分配的地址是连续的,而且实例化时是从最右边的变量开始分配地址的,由于形参变量是分配在栈区

2017-11-11 23:08:27 955

原创 递归方式实现打印一个整数的每一位

递归方式实现打印一个整数的每一位#include <stdio.h>void print(int n){ if (n>9) { print(n/10); } printf("%d ", n%10);}int main(){ print(1234); return 0;}

2017-11-05 23:26:13 2042

原创 2.编写一个函数实现n^k,使用递归实现

编写一个函数实现n^k,使用递归实现算法:要求n^k,只要我们求出n^(k-1)就可求出n^k,而要求n^(k-1)只要求出n^(k-2)即可,………………,而当k减为1时,我们知道n^1=n。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int Mypow(int n, int k){ if (k==0) { r

2017-11-05 23:22:29 773

原创 1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB

1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB方法1将字符串第一个的字符先复制一份,然后依次将字符串向左移动一位,再将第一个字符赋值到最后。若要左旋K个字符,只需循环K次。方法2将字符串分为两部分,先将前K个字符逆置,再将后一部分字符串逆置,最后将整个字符串逆置。方法3先开辟一个2*len+1字

2017-11-05 22:18:29 1085

原创 递归和非递归分别实现strlen

递归和非递归分别实现strlen#include #include int Mystrlen(const char *str){ if(*str) { return 1+Mystrlen(str+1); } else { return 0; }}//int Mystrlen(const char *str)//{// int count = 0;//

2017-11-05 22:14:25 339

原创 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19

写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19。先模10取出最后一位9,再取出2,再取出3,最后一位小于等于9,直接返回。#include int DigitSum(int n){ if (n<=9) { return n; } else { re

2017-11-05 21:58:11 251

原创 函数调用过程(栈桢的形成与释放)

分析函数调用过程首先,main函数也是被其他函数调用的,通过调用栈桢窗口可以看到调用main函数的函数,所谓栈,可以简单理解为一种后进先出(先进后出)的结构。main函数位于栈顶,因此程序中第一个执行的函数并不是main函数,但对于我们来说,main函数是我们整个代码的入口。main由mainCRTStartup()函数调用。函数调用过程中要开辟一段栈空间,用于调用过程中临时变量的保存,现场保护。这段空间称之为栈桢。

2017-11-04 11:30:36 493

原创 1.编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值

题目:编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值。 如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 1001100000000000000000000

2017-10-28 21:04:50 760

原创 C程序,简单模仿扫雷游戏,10行 10列

要求:1>第一次下子,不炸死。 2>坐标周围没雷,可以实现展开。实现1.用一个二维字符数组mine[ROWS] [COLS]来存储雷,现在我们用字符1来表示有雷,字符0表示无雷。再用一个二维字符数组show[ROWS][COLS]将所有的元素初始化为*,并打印作为展现给玩家的。同时用show数组来表示对应的mine数组中周围雷即字符0的个数。对于边缘的格子无法计算雷的个数,因此只需再增加2行2列

2017-10-19 23:32:51 886

原创 C语言求一个整数的二进制形式表示中1的个数,用函数实现

1:我们知道,整数在计算机中是以补码的形式存储的。如果给定一个十进制正整数是          如何转换成二进制数的呢?用的是除以2取余数的方法。若余数为1,则1的个数加          1;然后用商再除以2取余数,直到商为0;但是负数除2的余数为负数。因此,可以        在用          unsigned int 定义一个整数,将有符号数转换成无符号数。例如-1的补码       

2017-10-11 22:22:37 4912

原创 c语言有关操作符(运算符)的简单介绍

1.操作符(运算符)分类:(1)算术运算符                    + - * / % ++ -- (2)关系运算符                    > = (3)逻辑运算符                    ! && ||(4)位运算符                        > ~ | ^ &(5)赋值运算符                 

2017-10-04 21:28:38 256

原创 C语言猜数字游戏,范围为1到100,直到猜对为止,能重复进行多次

C语言猜数字游戏,范围为1到100,直到猜对为止,能重复进行多次

2017-09-26 23:12:35 25728 1

原创 C语言程序,求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222

C语言程序,求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222

2017-09-23 17:11:58 1574

原创 一个简单的C语言小程序,打印九九乘法表

一个简单的C语言小程序,打印九九乘法表

2017-09-21 21:46:07 1926

原创 C语言实现两个整形变量的值的交换,不使用临时变量

C语言实现两个整形变量的值的交换,不使用临时变量同或实现两个整形变量的值的交换。又因为C语言中并没有同或运算,因此,把同或表达式转化成 含有按位与、按位或、取反运算的表达式。a = (a&b)|(~a&~b);b = (a&b)|(~a&~b);a = (a&b)|(~a&~b);

2017-09-19 14:54:22 1393

原创 简单的自我介绍

编程菜鸟的简单自我介绍

2017-09-16 20:41:03 608

计算机网络实验指导书

这是计算机网络原理课程实验的指导书,里面的主要内容是双绞线制作与测试方法和主机网络参数的配置方法。

2019-03-18

空空如也

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

TA关注的人

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