- 博客(37)
- 收藏
- 关注
原创 坐牢第三十五天(c++)
/ 容器// 最大容量int front;// 头下标int tail;// 尾下标public:// 无参构造函数queue();// 有参构造函数// 拷贝构造函数// 析构函数~queue();// 判空函数// 判满函数// 扩容函数// 元素个数函数int size();// 向队列尾部插入元素函数// 删除首个元素函数 出队void pop();// 遍历队列元素// 赋值重载函数//清空队列函数。
2024-09-04 19:59:05 2669 2
原创 坐牢第二十九天
作业: 运行1个服务器和2个客户端 实现效果: 服务器和2个客户端互相聊天,服务器和客户端都需要使用select模型去实现 服务器要监视2个客户端是否连接,2个客户端是否发来消息以及服务器自己的标准输入流 客户端要监视服务器是否发来消息以及客户端自己的标准输入流 在不开线程的情况下,实现互相聊天。
2024-08-21 20:11:22 201
原创 坐牢第二十七天(聊天室)
1.如果有用户登录,其他用户可以收到这个人的登录信息2.如果有人发送信息,其他用户可以收到这个人的群聊信息3.如果有人下线,其他用户可以收到这个人的下线信息4.服务器可以发送系统信息。
2024-08-16 16:27:34 1971
原创 坐牢第二十六天(tftp文件传输)
简单文件传输协议,适用于在网络上进行文件传输的一套标准协议,使用UDP传输特点:是应用层协议基于UDP协议实现数据传输模式octet:二进制模式(常用)mail:已经不再支持。
2024-08-16 16:21:30 560
原创 坐牢第二十五天20240813(TCP机械臂测试)
通过w(红色臂角度增大)s(红色臂角度减小)d(蓝色臂角度增大)a(蓝色臂角度减小)按键控制机械臂注意:关闭计算机的杀毒软件,电脑管家,防火墙1)基于TCP服务器的机械臂,端口号是8888, ip是Windows的ip;查看Windows的IP:按住Windows+r 按键,输入cmd , 输入ipconfig2)点击软件中的开启监听;3)机械臂需要发送16进制数,共5个字节,协议如下0xff:起始结束协议,固定的;0x02:控制机械手臂协议,固定的;
2024-08-13 19:40:32 432
原创 坐牢第二十二天 20240805(IO)
1> 使用有名管道实现,一个进程用于给另一个进程发消息,另一个进程收到消息后,展示到终端上,并且将消息保存到文件上一份create.csnd.crecv.c2> 使用有名管道实现两个进程间相互通信create.cA.cB.c。
2024-08-05 20:13:58 450
原创 坐牢第二十一天 20240801(IO)
1、使用两个线程完成两个文件的拷贝,分支线程1拷贝前一半,分支线程2拷贝后一半,主线程回收两个分支线程的资源。
2024-08-01 18:50:24 401
原创 坐牢二十天 20240731(IO)
1> 使用父子进程完成两个文件的拷贝父进程拷贝前一半内容,子进程拷贝后一半内容子进程结束后退出,父进程回收子进程的资源。
2024-07-31 19:32:49 531
原创 坐牢十九天 20240730(IO)
狭义定义:进程就是一段程序的执行过程。广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
2024-07-30 17:34:35 623
原创 坐牢十八天 20240729(IO)
1> 有关时间的函数功能:获取系统时间,从1970年1月1日0时0分0秒,到目前累计的秒数参数:用于接收的秒数返回值:秒数使用方式:功能:将time_t 秒数,转换为时间类型的结构体参数:time_t 类型的时间秒数返回值:时间结构体int tm_sec;/* 秒数 */int tm_min;/* 分钟 (0-59) *//* 小时 (0-23) *//* 月中天数 (1-31) */int tm_mon;/* 月份+1 (0-11) *//* 年 + 1900 */
2024-07-29 20:18:53 1136 1
原创 坐牢第十七天 20240726(IO)
1> IO:(inout output) 所谓IO,就是程序与外部设备进行信息交换的过程2> IO的分类:标准IO和文件IO3> 标准IO:调用封装好的相关库函数,来实现数据的输入输出4> 文件IO:调用系统(内核)提供的相关函数,来实现数据的输入输出无6>阻塞IO和非阻塞IO7> 目前所接触过的IO函数:8> 常用的IO接口函数。
2024-07-26 19:29:56 841
原创 坐牢第十五天 20240723
1> 队列也是操作受限的线性表:所有操作只能在端点处进行,其删除和插入必须在不同端进行2> 允许插入操作的一端称为队尾,允许删除操作的一端称为队头3> 特点:先进先出(FIFO)4> 分类:顺序存储的队列称为顺序队列链式存储的队列,称为链式队列。
2024-07-23 19:13:25 1245
原创 坐牢第十三天 20240719
需要使用一个遍历指针,将每一个节点进行遍历一遍,如果该指针指向的节点不为空,就访问其数据域,向后偏移。3> 注意:需要将要删除的节点先标记一下,头节点的指针,指向第二个节点后,将标记的节点释放。3> 注意:必须找到要插入位置的节点的前驱节点,将前驱节点当作头节点,进行头插操作。1、单向链表:只能从头节点或第一个节点出发,单向访问其后继节点的链表称为单向链表。3> 注意:需要找到要删除的节点的前驱节点,将其当作头节点,进行头删逻辑。6、头节点:虚设的一个节点,数据域不存放数据元素,可以存放链表的长度。
2024-07-19 19:59:34 818
原创 坐牢第十二天 20040718
4> 数据结构:所谓数据结构,其实就是数据之间存在的一种或多种关系的集合,以及加在该集合上的一组操作(增删改查)3> 顺序表的表示方式:除了使用一个连续的内存存储顺序表外,还需要外加一个表示顺序表实际长度的变量完成。2> 特点:除了第一个元素没有前驱,最后一个元素没有后继外,其他的数据元素有且仅有一个前驱和一个后继。例如24061班的一个学生的信息。5> 数据之间的关系:数据项 ==> 数据元素 ==> 数据对象 ==> 数据。2、每次添加的数据放入到顺序表的最后面,也就是放在len所在的位置。
2024-07-18 18:09:30 889
原创 坐牢第十一天 20240717
1 引入目的当程序员写程序时,可能会因为数据类型的问题,在定义变量时,导致该程序比较晦涩难懂,例如:unsigned long int ,struct Stu为了提高代码的简洁性,以及为了更加方便理解使得代码更加优雅,我们可以将这些类型重新起一个简洁好记的名字2 使用方式1> 类型重定义,我们引入了关键字 typedef2> 使用方式: typedef 旧名字 新名字;例如:typedef unsigned long int uint64;
2024-07-17 21:21:54 702
原创 坐牢第十天 20240716
1.定义格式struct 结构体名称成员类型1 成员变量1;成员类型2 成员变量2;。。。成员类型n 成员变量n;注意事项:1、struct是定义结构体类型的关键字,不能省略2、结构体名称:标识符,符合命名规则,一般建议首字母大写3、成员属性使用一对花括号包裹起来4、成员类型可以是基本数据类型,也可以是构造数据类型、指针类型5、定义结束后,必须加上 分号结尾6、举个例子 struct Stu//姓名int age;//年龄//成绩。
2024-07-16 20:02:04 1265
原创 坐牢第九天 20240712
1> 自定义函数(my_strlen)实现strlen函数的功能2> 自定义函数(my_strcpy)实现strcpy函数的功能3> 自定义函数(my_strcmp)实现strcmo函数的功能4> 自定义函数(my_strcat)实现strcat函数的功能5> 自定义函数(my_strstr)实现求src字符串中是否包含子串dest字符串。
2024-07-12 19:48:44 1146
原创 坐牢第八天 20240711
1.1 指针相关概念1> 引入目的:能够从地址的角度,找到内存中的数据,而不是以变量的角度去找,效率较高2> 指针:就是内存地址编号3> 指针变量:由于指针这个地址编号很难记忆,我们引入指针变量存储指针存储地址的变量称为指针变量4> 指针变量中,指针存储地址,作为一个特殊的数据类型,其大小是固定的 8 字节1.2 指针变量的定义1> 定义格式:数据类型 * 指针名;例如:int * ptr;2> 指针变量的使用:使用运算符 ‘ * ’来取得指针变量中的值,我们也称该运算为 取值运算。
2024-07-11 21:12:31 555
原创 坐牢第七天 20240710
1. 系统会提供一些库函数供大家使用,但是,提供的函数毕竟有限,如果想要使用特别定制的函数,需要自己封装2.对于一些重复调用的语句块而言,如果不加封装的话,会使得代码比较冗余3. 为了提高编程效率,我们引入了函数,能够做到一处修改,处处修改4.目前接触的函数:printf、scanf、putchar、getchar、puts、gets、strlen、strcmp、strcat、strcpy1.函数:执行特定功能的一段代码块2.定义格式: 返回值类型 函数名(参数列表) { 函数体代码 }
2024-07-10 21:02:27 886
原创 坐牢第四天 20240705
2.写程序实现功能:读入两个整数(data1和data2)和一个运算符(op),计算表达式data1 op data2 的值.其中op可以为+、-、*、/四个符号中的任一种(用switch语句实现)成立:进入循环,执行代码块,再执行表达式3,再判断表达式2是否成立。思路:将输入的两个数a,b中小的数a,依次加1,加到b的值,do_while 先执行一次代码段,再判断条件是否成立。输入任意两个数,输出两数之间(包括这两个数)偶数之和。死循环:while(1);先执行表达式1,判断表达式2是否成立。
2024-07-05 17:37:48 351
原创 坐牢第三天 20240704
1.普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)%o 八进制 %#o。%x 十六进制 %#x。式必须和终端输入格式一一对应,不能加'\n'变量名前边加&(取地址符),表示取变量的地址。scanf输入结束时,会在终端输入'\n';终端输入的字符的ASCII码值。
2024-07-04 18:23:09 502
原创 坐牢第二天 20240703
逻辑与运算中,前边的表达式结果为假,后边的表达式不再执行,直接返回假。逻辑或运算中,前边的表达式结果为真,后边的表达式不再执行,直接返回真。赋值运算符: = += -= *= /= %=^ 按位异或 :按位运算 不同为1 相同为0。关系运算符: > >= <
2024-07-03 18:20:00 467
原创 坐牢第一天 20240702(C语言)
5.如果代码中没有错误,命令提示符会跳到下一行,并生成 a.out(Windows 生成 a.exe) 可执行文件。'\0' 0 字符串结束标志。tail -n test1.c 在终端查看文件内容de后n行。head test1.c在终端查看文件内容,默认查看前十行。tail test1.c在终端查看文件内容,默认查看后十行。十六进制 0-9 a-f 16:0x10。4.键入 gcc hello.c,输入回车,编译代码。
2024-07-02 19:08:47 1061 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人