自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux网络编程

TCP/IP四层协议模型:①网络接口层②网络层 ③传输层④应用层TCP建立需要3次握手,断开需要4次挥手IP的组成——①网络ID:表明当前主机处于哪一个网络②主机ID:表明当前主机在当前网络中的标识

2025-04-15 19:53:50 641

原创 利用函数指针将学生总成绩进行排序

这段代码实现了对学生成绩数据的排序功能。创建了一个名为struct stu的结构体,其中包含三个整型成员abc,用于存储学生不同科目的成绩。除了冒泡排序,还可以使用其他排序算法,如快速排序、归并排序等。只需修改mysort函数的实现即可。

2025-03-31 22:11:35 320

原创 线程的同步与互斥

对同一资源的访问同时仅允许一个访问者,互斥具有唯一性与排他性,互斥无法保证访问者的访问顺序在互斥的基础上,实现对同一资源的有序访问。

2025-03-29 23:58:51 967

原创 多线程程序设计

(1)线程是进程中的一个实体(组成单位),是系统进行调度管理的最小单元(2)一个进程至少具有一个线程(主线程)(3)若进程仅有一个线程时,该线程就代表进程本身(4)我们把代表进程本身的线程称为主线程(5)一个进程中的多个线程共享进程地址空间,且可以并发执行。

2025-03-29 23:14:59 1000

原创 IPC进程间通讯

进程间通讯(IPC,InterProcess Communication):IPC在两个或多个进程间进行数据及信息的交互。(1)利用多进程完成程序设计时,主要借助进程并发性,采用进程协作的方式完成更复杂的功能操作(2)虽然说进程之间是相互独立的,互不干扰,但因为进程是协作关系,所以进程间有必要进行数据或者信息的交换IPC进程间通讯的目的:①数据通讯②进程同步③进程控制④事件IPC通讯方式:①管道(无名管道、有名管道、标准流管道)②共享内存③消息队列④信号量⑤信号⑥套接字(socket)

2025-03-29 22:49:05 711

原创 2的1024次方

编程计算2的1024次方 ——2023年迅雷面试题

2025-03-23 13:43:12 486

原创 多任务处理(并发程序设计)——进程及基本操作

同一时间内处理或者执行多个独立的功能任务的事务处理方式。注意:利用多进程实现多任务处理时,要确保父进程不能先于子进程退出,否则会造成程序结束的假象。应用程序中往往是要支持多种复杂功能,因此我们不能按照“某个功能执行完毕后再去执行下一个任务”这种设计方法去设计我们的程序,期望实现某些独立功能的任务可以在同一时间内同时(并发)运行,以便提升程序的运行效率,进而引出多任务处理方式

2025-03-23 13:08:09 702

原创 Linux 系统开发——目录操作

目录:linux下的目录是一种特殊的文件,与普通文件的区别在于存储的内容不同,普通文件存储的是数据,目录存储的是文件或子目录。

2025-03-23 11:59:16 731

原创 硬件设备访问

(1)应用程序不能直接访问硬件设备,只能借助内核提供的系统调用接口来间接访问设备(2)设备访问时,首先需要找到系统中硬件设备对应的设备文件(3)再借助于系统IO函数达到访问设备的目的(4)Linux系统中一切皆文件,所以硬件设备访问也就转换为文件访问(5)文件访问步骤:①打开文件②读写文件③关闭文件。

2025-03-23 11:29:22 620

原创 Linux 系统开发——准备工作

(1)本阶段学习会涉及众多内核函数,但学习的重心不是记忆函数,而是搞清楚某项任务完成的方法步骤(2)每一步骤搞清楚具体实施方案(函数名)(3)若要搞清楚具体的函数功能与使用,对函数学习关注以下几点:① 函数头文件 ② 函数功能 ③ 函数参数 ④ 函数返回值。

2025-03-23 11:10:53 505

原创 在字符串中删除指定的字符

在字符串中删除指定的字符,并返回删除字符后最终的字符串首地址。

2025-03-16 12:02:08 186

原创 递归算法解决汉诺塔问题

汉诺塔(Tower of Hanoi)是一个经典的数学谜题,也是递归算法的典型应用案例。该问题源于一个传说,在印度的一个神庙里有三根柱子,其中一根柱子上按照从下到上、圆盘尺寸逐渐减小的顺序堆叠着 n 个圆盘。现在需要将这 n 个圆盘从起始柱子(通常称为源柱)移动到目标柱子(通常称为目标柱),并且在移动过程中要遵循以下规则:(1)每次只能移动一个圆盘。(2)任何时候都不能将较大的圆盘放在较小的圆盘之上。

2025-03-16 11:56:03 335

原创 递归算法判断递增数列

递归算法判断递增数列

2025-03-16 11:45:51 114

原创 项目开发与管理

对于一个复杂的工程项目,往往是由非常多的工程文件组成,如果我们仅仅需要对其中的某一个或几个源文件进行代码修改,那么我们就需要侦测到哪些工程源文件进行了修改,有针对性地对修改过的这些源文件进行编译,我们就可以提高编译效率,进而提高开发效率

2025-03-16 11:32:09 911

原创 数据类型转换

数据类型转换①字符型(char)<---->整型(int)②整型(int)<---->字符型(char)③字符串型(char *)<---->整型(int)④整型(int)<---->字符串型(char *)

2025-03-16 00:08:11 168

原创 数据排序方式

数据常见排序方式:①冒泡排序 ②选择排序 ③插入排序 ④快速排序

2025-03-16 00:00:23 790

原创 三目运算符

结合性和优先级只是定义表达式的结构,当确定表达式运行时的行为时才需要表达式各部分的运算顺序。(三目运算符)的结合性是右结合,即自右向左结合。

2025-03-15 23:55:42 196

原创 队列结构设计与实现

队列:是一种先进先出(FIFO),后进后出(LILO)的数据管理方式

2025-03-15 23:50:41 184

原创 栈结构设计与实现

栈:是一种先进后出(FILO),后进先出(LIFO)的数据管理方式

2025-03-15 23:37:14 163

原创 树型结构(BST)

树型结构往往是用于描述分层级,类似组织架构关系之类的非线性的数据结构

2025-03-15 23:06:27 801

原创 双向链表 && 环状链表(循环链表)

说明:双向链表是在单向链表的基础上,指针域增加了前驱指针(指向上一个结点的指针变量)优势:由于双向链表既有前驱指针又有后继指针,所以对结点的插入和删除更加方便快捷          原因是结点插入和删除时,受影响的往往是上一个结点,单向链表是需要查找上一个节点

2025-03-15 22:40:10 388

原创 单向链表的设计与实现

应用场景①需要存储数据的数量事先无法确定,需要数据的动态增加②常用于对数据进行频繁的插入与删除操作的情况缺点①查询效率比较低,,主要原因是链表需要从头结点开始遍历

2025-03-15 22:17:38 297

原创 数据结构及算法实现

将各个数据存储在不连续的内存空间上,数据存储时不仅仅存储实际数据,同时存放下一个数据的内存地址,只需要定义一个指针变量用于保存第一个数据地址,就可以通过第一个数据访问下一个数据,直至访问完所有数据

2025-03-15 21:56:15 428

原创 约瑟夫环(单向循环链表)

约瑟夫环(单向循环链表)①内部每次用户输入出列号码,进入循环。②外部用户输入人数,进入循环。

2025-03-02 19:38:35 192

原创 双向链表的头插、尾插

双向链表的头插、尾插。 ①头插法 ②尾插法

2025-03-02 19:31:55 285

原创 单向链表结点反序

将一个单向链表进行节点反序 ①迭代法 ②递归法

2025-03-02 19:23:54 305

原创 C语言基础——位运算

①位运算符 ②位运算符的用途

2025-03-02 19:12:39 170

原创 C语言——运算符

①C语言运算符 ②算术运算符

2025-03-02 19:03:52 107

原创 C语言基础——库文件

库文件本质上是经过编译后生成的可被计算机执行的二进制代码,但注意库文件不能独立运行,库文件是需要加载到内存中才能执行的,库文件大量的存在于windows, Linux,MacOs软件平台上的。

2025-03-02 18:57:01 291

原创 C语言基础——预处理

预处理就是源文件编译之前,所进行的一部分预备操作。预处理是由预处理程序来完成的,当源文件在编译时,编译器就会自动调用预处理程序来完成对预处理指令的解析,预处理指令解析完毕后,才进入下一步的编译过程。

2025-03-02 18:44:28 307

原创 文件操作(标准IO)

文件的分类、缓冲、打开、关闭、读写操作

2025-02-23 01:33:25 276

原创 C语言基础——结构体

结构体struct、联合体(共用体)union、枚举类型enum、类型重命名typedef

2025-02-23 01:25:28 385

原创 C语言基础——指针

指针变量、数组指针、指针数组、函数指针、二级指针、指针常量、常量指针、内存动态申请与释放

2025-02-23 00:49:23 681

原创 C语言基础——函数

函数定义、调用、形参、实参、局部变量、全局变量、外部函数、内部函数

2025-02-22 22:47:58 905

原创 C语言基础——数组

数据类型 数组名[数组容量];

2025-02-22 22:15:54 340

原创 九九乘法表

(1)91种乘法全部输出(含重复)(2)右上(3)左下(4)右下(5)左上

2025-02-22 21:59:16 326

原创 C语言基础——循环结构

③从第二项开始,依次与该值进行比较,如果大于/小于该变量,就把该项赋值给定义的变量。④加完每一项(判断条件),变量sum的值就是累加和。④加完每一项(判断条件),变量sum的值就是累乘积。:跳出当前语句,只结束本次循环,并不终止整个循环的执行。③用该变量累加每个数据项 sum+=1;①定义一个变量并为该变量赋值为第一个数据项。①定义一个变量,赋初值 sum=0;①定义一个变量,赋初值 sum=1;④直至数据访问结束,该变量的值就是极值。②定义一个变量表示每一项 i=1;②定义一个变量表示每一项 i=1;

2025-02-22 19:25:30 272

原创 分支结构程序设计

逻辑真:逻辑假

2025-02-22 18:47:06 238

原创 有符号数和无符号数相加

将有符号数的补码和无符号数的二进制表示按位相加,遵循二进制加法规则(0 + 0 = 0,0 + 1 = 1,1 + 0 = 1,1 + 1 = 10)。:通常采用补码表示,最高位为符号位(0 表示正数,1 表示负数)。根据结果的二进制表示,判断是有符号数还是无符号数,然后将其转换为十进制。相加结果没有超出 8 位无符号整数的取值范围,没有发生溢出。通过以上步骤,我们可以计算出有符号数和无符号数相加的结果。类型是 8 位无符号整数,取值范围是 0 到 255。等),因为不同的数据类型有不同的位数和取值范围。

2025-02-22 18:21:48 506

原创 C语言基础——顺序程序设计

(1)控制语句①    if...else...---选择结构        if...else...if...else if...②while----当型循环③do...while----直到型循环④for循环⑤switch⑥goto(2)函数调用语句(3)表达式语句(4)空语句(5)复合语句

2025-02-14 21:08:41 256

空空如也

空空如也

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

TA关注的人

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