自定义博客皮肤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)
  • 收藏
  • 关注

原创 下载腾讯课堂回放视频

**由于腾讯视频的回放视频是有期限的,为了保存对自己比较重要的视频,现在我收集到一些方法来进行下载。** 一、下载一个N_m3u8DL软件 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210102104241632.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8z...

2021-01-02 11:05:47 9136 9

原创 编写一个函数,任意输入一个整形数后可以得到其对应2或16进制结果

递归调用#include <stdio.h>void _fun(int num){ int data = num/2; if(data != 0) { _fun(data); } printf("%d ",num%2);}

2020-11-04 14:22:25 687

原创 TCP多路复用示例代码

接口声明:int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout);参数:nfds:所有正在监测的套接字的最大值加1readfds:读就绪文件描述符集合writefds:写就绪文件描述符集合exceptfds:异常就绪文件描述符集合timeout:超时控制返回值:成功:就绪文件描述符总数(当超时返回...

2020-10-11 12:44:07 393

原创 利用TCP/IP网络编程实现文件传输

//发送端:#include <stdio.h>#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h>#include <string.h>#include <unistd.h>#include <stdlib.h>#i.

2020-09-26 08:59:32 656

原创 简单二叉树(BST)遍历和节点删除算法

#include <stdio.h>#include <stdlib.h>typedef struct bst_node{ int data; struct bst_node *lchild; struct bst_node *rchild;}bst_st,*bst_pt;bst_pt creat_node(int data);bst_pt insert_bst(bst_pt root,bst_pt newnode);void pre_travel(bst.

2020-08-08 17:14:27 319

原创 选择排序算法

1、暂定第一个元素为最小元素,往后遍历,逐个与最小元素进行比较,如发现有更小者,与先前的最小元素交换位置。达到更新最小元素的目的。2、一趟遍历完成后,能确保第一个元素为最小元素,然后从第二个元素开始遍历。3、在新的一轮排序中重复第1、2步骤,直到范围不能缩小为止,排序完成。/* 选择排序算法 */int func(int *src,int len){ int i,j; int data; for(i=0;i<len-1;i++) { for(j=i+1; j<l

2020-08-04 15:24:03 104

原创 奇升偶降

使用双向循环链表对顺序数进行奇升偶降排列/* 奇升偶降 */bool odd_up_even_down(info_ptr head){ if(head == NULL) { return false; } struct list_head *pos = (&head->small_list)->prev; struct list_head *temp = pos; info_ptr node ; /* 从尾向头循环 思路:定义一个temp来跟随pos,在p

2020-07-31 11:11:50 778

原创 利用系统IO和标椎IO实现linux中cp功能

/*标椎IO实现*/#include <stdio.h>#include <stdlib.h>int my_cp(const char *src,const char *obj);int main(int argc,const char **argv){ if(argc < 1) { printf("no the file or dictory\n"); return -1; } else if(argc < 2) { print.

2020-07-24 20:11:47 318

原创 static和extern关键字的使用

static 多种用法:将存储区域设定为数据段修饰局部变量:使得局部变量由原来存储在栈内存,修改为存储在数据段。修改标识符的可见范围(有外部链接----->内部链接类型)修饰全部变量:使得全局变量由原来跨文件可见,变成仅限于文件可见。修饰普通函数:使得函数由原来跨文件可见,变成仅限于本文件可见。作用: 可确保全局变量或函数只在本文件生效,不与其他文件的同名变量或函数冲突。extern 用法:修饰变量或函数:声明其来自外部文件。注意: 如果变量或函数定义时候添加了stati

2020-07-14 13:53:37 101

原创 C代码实现strtok函数功能

strtok函数功能是根据自己设置好的分隔符对字符串进行分割,分割结束返回NULL。通过查阅源代码自己仿照写了一个strtok函数功能的代码,算法比较冗长还没有优化,但大致功能可以实现,供给大家参考。/******************************************************************** 功能:根据设置的分隔符对字符串进行分割,代码还需优化,敬请期待。。。。时间:2020-7-9********************************

2020-07-11 16:07:51 763

原创 指针习题

这部分指针习题对指针理解有很好巩固作用:1、设有定义:int a,*pa=&a;以下 scanf 语句中能正确为变量 a 读入数据的是( )A) scanf(“%d”,pa); B) scanf(“%d”,a);C) scanf(“%d”,&pa); D) scanf(“%d”,*pa);2、若有以下定义和语句#includeint a=4,b=3,*p,*q,*w;p=&a;q=&b;w=p;q=NULL;则以下选项中错误的语句是( )A) *q=0; B

2020-07-09 08:46:51 1475 1

原创 插入排序算法

/* 直接插入排序法 */ #include <stdio.h>int func(int *arry,int len);int main(int argc,const char **argv){ int a[12] = {32,5,34,64,24,3,56,4,76,4,0,1}; func(a,12); int i; for(i=0;i<12;i++) printf("%d\t",a[i]); return 0;}int func(int .

2020-07-08 19:50:54 1421

原创 杨辉三角

/* 杨辉三角 */#include <stdio.h>#include <string.h>int func(int n);int main(int argc,const char **argv){ int n; while(1) { printf("pls input n:\n"); scanf("%d",&n); func(n); } return 0;}int func(int n){ int a[n+1][n+.

2020-07-08 10:10:16 82

原创 编写一个程序,去掉给定字符串中重复的字符。如google,输出gole

#include <stdio.h>#include <string.h>int func(char *str);int main(int argc,const char **argv){ char str[256]; bzero(str,256); while(1) { fgets(str,256,stdin); //scanf("%s",str);while(getchar()!='\n'); func(str); printf("%s.

2020-07-07 17:21:08 1205

原创 编写一个函数 Fibonacci(),要求程序输出第 n 项斐波那契数,n 由用户输入。 斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, … …

#include <stdio.h>#include <string.h>int my_Fibonacci_1(int n);int my_Fibonacci_2(int n);int main(int argc,const char **argv){ int n; while(1) { printf("input a int_number:\n"); scanf("%d",&n);while(getchar() != '\n'); if(n.

2020-07-07 09:57:49 3412

原创 int *p2=(int *)((int)a+1);

***今天看到这一道分析起来还是很有意思的,对内存的要有一定理解才能分析出来,现在我就以个人理解来对该题进行分析。***在 x86 平台下,分析以下代码的输出结果:#includeint main(void){int a[4] = {1, 2, 3, 4};int *p1=(int *)(&a+1);int *p2=(int *)((int)a+1);printf("%x, %x\n", p1[-1], *p2);return 0;}为了更好理解,画内存图来分析理解从图.

2020-07-06 20:40:05 1160 6

原创 解剖GCC编译器原理

解剖GCC编译器原理编译过程流程如图所示1. 预处理过程:预处理过程就是解析源程序过程中有文件包含,宏定义、条件编译,如#include,#define, #if等。把文件包含语句所指定的文件所包含进来,覆盖原来的#include语句,所有的宏定义都被展开。并且在预处理阶段将文件的注释给去除,把语句行号添加进来。想通过预处理来查看预处理文件是否顺利展开可以使用如下指令: gcc hello.c -o hello.i2.编译过程编译过程也称为汇编过程,这个过程是将c语言程序转译为汇编语言。编

2020-07-06 13:11:49 412

原创 使用26个字母金字塔

使用26个字母金字塔实现效果如下图所示:在这里插入代码片具体实现方式分析:[1] 首先根据输入字母打印出相应层数[2]根据金字塔特点确定实现流程```c#include<stdi.h>int main(){ while(1) { } return 0; }...

2020-07-01 20:06:00 672

原创 基于粤嵌6818开发板上通过网络连接实现文件传输

下面分别介绍三种通过网线来传输文件的方式,其配置方式如下:1、计算机与开发板通过网线连接。(计算机可以连接wifi)首先查找到个人计算机上的IP,要保证前三个参数相同保证在同一个网段上。例如:192.168.1.xxx在开发板上输入ifconfig eth0命令配置IP :192.168.1.xxx连接好之后就输入ping命令,ping出计算机的IP,如果能连接就有返回时间跳出。ping(计算机IP)ping 192,168.1.xxx2、开发板与路由器连接,并且计算机通过w

2020-06-21 15:17:51 5024

原创 利用目录操作函数,读取一个目录里面所有的文件

最近学了IO编程方面,就想用IO编程来检索出一个文件夹里面所有的文件:具体实现过程:就是利用目录文件判断来通过不断递归调用不断将目录里面的文件搜索出来,并将搜索到的普通文件名和文件大小以链表方式保存。参考代码:/* 2、读取一个目录里面所有的文件(包括它的子目录里面的文件),并打印出来(递归) (把所有文件名插入到链表) */#include <stdio.h>#include <string.h>#include <strings.h>#incl

2020-06-17 13:08:11 573

原创 利用目录操作函数检索一个目录里面有没有bmp文件

练习:检索一个目录里面有没有bmp文件,如果有把bmp文件名和文件个数打印出来(strstr) 目录文件的个数和普通文件的个数也打印出来strstr函数功能:能检索到字符串中是否有用户需要的字符串返回值:如果有返回一个地址指针返回成功;如果没有返回NULL; char *strstr(const char *haystack, const char *needle); strstr("hello world", "wor");参考代码:#include <...

2020-06-16 10:10:22 336

原创 Linux中Makefie使用

在近期Linux中学习到Makefile这样一个工程管理文件,Makefile能对比较复杂的工程文件很好管理编译,十分方便。以下就简单介绍Makefile的使用:

2020-05-26 15:11:55 272

原创 Linux动态库静态库的生成

动态库静态库的生成函数库:1、便于移植,方便使用2、保密, 保护知识产权静态库:编译生成静态库编译生成静态库:1、把.c文件编译生成.o文件gcc -c add.c 或gcc add.c -c -o add.c2、把.o文件编译生成.a静态库ar -rc libadd.a add.o3、静态库的使用gcc main.c libadd.a -o projectgcc main.c -o project libadd.a4、执行文件./project动态库:编译生成

2020-05-24 12:01:41 147

原创 基于c语言学生信息管理系统

#include<stdio.h>#include<strings.h>#include<string.h>#include<stdlib.h>char password[6]="123456";enum message{ exit_T, name , sex, age, num, phone_number, score_c}; struct score{ int Chinese; int math; int Engli.

2020-05-20 15:26:56 697

原创 C语言经典笔试题(一)

一、请写出 float x 与“零值”比较的 if 语句:【标准答案】 const float EPSINON = 0.00001; if ((x >= - EPSINON) && (x <= EPSINON) 错误写法:if(x==0.0)if(x!=0.0)注意:不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。*二、请写出 char p

2020-05-19 19:34:49 1282 3

原创 冒泡排序算法

使用c语言实现冒泡算法/*函数功能:冒泡排序参数:传入需要排序的数组的地址和数组的长度返回:排序好的数组地址*/​int *sort(int *src,int len){ int i,j,k,data; printf("%d",len); for(i=0,k=len;i<len;i++) { for(j=0;j<k-1;j++) { if(src[j]>src[j+1]) //从小到大排序 { data = src.

2020-05-19 14:52:52 133

原创 内存思考题

**两道有意思的内存思考题1. 第一道题:char *GetMemory(void){ char p[] = "hello world"; return p;}void Test(void){ char *str = NULL; str = GetMemory(); printf(str);}

2020-05-18 11:17:56 566

原创 C语言联合体(union)

一、C语言联合体(union)1. 概念:联合体里面所有成员都共用一块内存,使用时候,所有成员属性选一个。2. 定义-定义联合体数据类型union sorce{ int a; char b; short c;}定义联合体变量 union a aaa;-访问联合体的成员aaa.a = 5联合体内存分分配原理如图所示所以成员变量中char类型数据只占其中的一个字节,short类型数据只占其中的两个字节。二、利用联合体可以判断主机的大小端序大端序:数据

2020-05-17 08:48:57 2637

原创 C代码实现strcpy函数功能

C语言实现类似strcpy函数功能功能描述:strcpy能实现将某一个一个数组字符串拷贝到另外的一个数组中实现字符串的复制。char *my_strcpy(char *str,char *src);int main(int argc,const char **argv){ char buf[10]; bzero(buf,10);//清空数组 my_strcpy(buf,"helloword"); printf("%s",buf); return 0;}char *my_str

2020-05-15 16:02:24 1844

原创 不同的数据类型定义变量

不同的数据类型定义变量(1)一个整型数 An integerint a;(2)一个指向整型数的指针A pointer to integerint *p;(3)一个指向指针的指针,它指向的指针是指向一个整型数(二级指针)A pointer to pointer to integnerint **q;(4)一个有10个整型数的数组 An array of 10 integerint array[10];(5)一个有10个指针的数组,该指针是指向一个整型数An array of 10 poin

2020-05-15 15:32:18 845

原创 C语言中getchar()函数使用场景

C语言中getchar()函数使用场景- 在我们每次使用scanf()这个函数的时候通常都是输入一个字符后敲击回车键作为输入结束,但回车键也是有对应的一个ascii码的,也就是说输入的字符后面也就带有一个’\n’这个字符。*所以有采用两次scanf()这个函数作为输入的时候就会出现将’\n’的最为最后第二次输入的字符就会出现错误*下面给出一个会出现错误的代码int main(int argc,const char **agrv){ char a,b; scanf("%c",&a

2020-05-14 20:22:06 218

原创 C语言对结构体数组进行赋值打印实例

C语言对结构体数组进行赋值打印1. 定义一个学生结构体数组有4个学生,通过键盘给他的成员赋值,然后遍历打印这里的数据类型是 struct student定义一个结构体数组和定义一个普通数据类型,使用方法也类似,只要明白C语言中的数据类型这个概念就行,下面就给出一个结构体数据类型数组的实例供各位参考学习。struct student{ char name[10]; char sex[5]; unsigned int age; int num;}int main(int argc,con

2020-05-14 11:24:13 6124

原创 使用matlab显示均匀间距线列阵指向性图

使用matlab显示均匀间距线列阵指向性图一. 实验原理指向性函数:二、代码

2020-05-13 18:09:02 3330

原创 类似C语言中atoi函数功能

C语言算法训练整形数返回:相应整形数*/long my_atio(char *p){long num = 0;unsigned int flag = 1;while(p) //’\0’对应数字是0{if(p<‘0’ || p>‘9’){if(p == ‘-’) //考虑负数情况{flag = 0;}else{break;}}if(flag){num = num10;

2020-05-13 17:55:14 738

空空如也

空空如也

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

TA关注的人

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