- 博客(33)
- 收藏
- 关注
原创 【第十三届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组】C语言代码
思路:前四个元素已经确定,分别枚举其他元素的合法性。思路:将每个简单功能封装成函数,提高代码复用性。
2025-03-31 14:46:05
306
原创 缓冲区(Buffer):行缓冲、全缓冲、无缓冲
1.CPU 和内存的处理速度远快于磁盘、键盘等 I/O 设备。缓冲区作为临时存储区,允许 CPU 快速将数据写入缓冲区后继续执行其他任务,I/O 设备则以自身速度逐步读取或写入数据,减少 CPU 等待时间。2.若每次仅传输少量数据(如单个字节),会频繁触发 I/O 操作,效率低下。缓冲区可积累一定量的数据后一次性传输,降低 I/O 操作频率。
2025-03-23 12:27:59
302
原创 【第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组】C语言代码
暴力枚举2023年的每个月的每一天,逐个和已知数组中的元素对比,找到符合条件的就跳出循环。
2025-03-13 00:36:46
281
原创 【第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组】C语言代码
1)先让所有人相互握手第一个人49次第二个人48次第五十个人0次 共计0+1+2+···+492)减去7个没握手的 0+1+···+61)让这7个人和剩下43人都握一次手7*432)43个人相互握手。
2025-03-11 23:50:57
449
1
原创 【Linux】线程详解
与其他线程和所在的进程公用数据区、堆区、文本区。内存:由某个进程分配独立的栈区空间(默认8M)进程资源消耗大,每次需要0-4G的虚拟内存空间。就是轻量级的进程,也是用来实现多任务的。多进程的安全性高,各个进程之间空间独立。内核中存储线程控制块。线程只需要所在进程分配8M的栈区空间。线程由某个进程创建,从属于某个进程。线程间通信方便,进程间不能直接共享。进程是操作系统资源分配的最小单位。线程是CPU调度的最小单位。线程的创建效率比进程高。三、进程和线程的区别。线程就是轻量级的进程。线程任务切换的效率高。
2025-02-27 21:51:52
427
原创 【Linux】exec()函数族
功能:利用进程空间执行另外一段代码参数:l:参数以列表形式传递p:在系统路径下找要执行的代码e:执行新代码时更新环境变量v:参数以指针数组形式传递返回值成功无法返回失败返回-1注意:用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行。,所以调用exec前后该进程的id并未改变。
2025-02-22 15:31:27
441
原创 【Linux】进程
程序运行可以产生多个进程,一个进程可以运行一个或多个程序。子进程复制父进程的0到3g空间和父进程内核中的PCB,但id号不同。每个进程被创建时,操作系统会为该进程分配4G的虚拟内存空间。正在执行的程序,需要消耗内存和cpu, 一个动态执行的过程。.概念:进程动态执行过程,程序静态的数据集合。克隆的进程称为子进程,原有的进程称为 父进程。功能:通过该函数可以从当前进程中克隆一个同名新进程。.进程需要消耗cpu,进程间会资源竞争。创建----》调度------》消亡。获得调用该函数进程的父进程pid号。
2025-02-20 23:18:45
641
原创 【Linux】文件IO
文件I/O是操作系统封装了一系列open、close、write、read等API函数构成的一套用来读、写文件的接口供应用程序使用,通过这些接口可以实现对文件的读写操作,但是效率并不是最高的。文件I/O是采用系统直接调用的方式,因此当使用这些接口对文件进行操作时,就会立刻触发系统调用过程,即向系统内核发出请求之后,系统内核会收到执行相关代码处理的请求,决定是否将操作硬件资源或返回结果给应用程序。
2025-02-17 21:29:40
881
原创 Makefile入门
gcc编译:xxx.c------>二进制指令:xxx.o------>可执行程序a.out1)预处理: gcc-Etest.c-otesti对预编译指令都做相应的处理2)编译: gcc-Stesti-otest.s编译成汇编指令代码3)汇编: gcc-ctest.s-otesto将汇编指令代码转化为目标文件4)链接: gcctest.o-otest将目标文件与库文件(静态库或动态库)链接得到可执行文件。
2025-02-13 19:50:22
273
原创 【数据结构】栈
int id;int score;}Data_type;//栈中的数据类型//栈的结点//栈顶指针int clen;//栈中元素个数}Stack;//用来封装栈。
2025-02-10 19:50:23
312
原创 【数据结构】基本概念
学习目标:1.熟练掌握基本的数据存储结构2.封装的思想数据与数据间的逻辑结构线性关系:元素与元素之间存在一对一的关系(数组、链表、队列、栈)树形结构:元素与元素之间存在一对多的关系(二叉树、Linux操作系统根目录)图形结构:元素与元素之间存在多对多的关系(网状结构)数据与数据间的物理结构:元素在计算机内存中的存储方式顺序结构:选用一段连续的空间存储数组(顺序表)优势:访问数据方便 O(1)插入和删除数据需要移动大量元素需要预分配内存空间,容易越界或浪费容易造成内存碎片。
2025-02-06 21:28:10
298
原创 【C语言】排序算法
排序算法:1. 思想2. 代码3. 时间复杂度4. 排序算法的稳定性:对于两个相同的数据,经过排序,两个相同数据的相对位置没有发生变化,这就是一个稳定的排序算法。
2025-02-03 22:51:05
91
原创 【C语言】共用体
所有操作数是整型和与整型兼容的数。同一变量异或两次同一个数等于本身。利用共用体判断大小端字节序。打印出0,枚举是从0开始。给结构体定义新类型名。按位与,指定位 清零。按位或,指定位 置1。
2025-01-23 18:04:56
130
原创 【C语言】结构体超详解
struct Date //被嵌套的结构体应在前面int year;int month;int day;int id;//嵌套结构体int main()struct Student s = { //初始化结构体.id = 1,.day = 1,},运算符优先级为1,自左向右结构体变量.结构体成员->结构体成员运算符,优先级为1。
2025-01-23 00:31:58
240
原创 【C语言】深入理解指针!
指针在64位系统占8个字节,在32位系统占4个字节。整体的将偏移好的那部分内存当作一个基类型变量来看。从定位开始向后偏移sizeof基类型个字节。利用指针判断计算机的大小端字节序。通过操作数到内存指定位置定位。指针是用来装地址的数据类型。
2025-01-18 15:07:41
155
原创 C语言_函数3
2.加了static 的全局变量或函数只能在当前.c文件中使用。gcc -E -omain.c main.i 只预处理,不编译。是直接的文本替换,效率高,没有保护现场的过程,但不能重复使用。没有关键字,i的空间每被调用,都会反复销毁,主函数结束时。" "是在当前文件中找头文件 是在根目录中找头文件。主函数 头文件#include把变量的空间开到CPU的寄存器上,而不是内存。1.将局部变量的动态生存期修改为静态生存期。标识符的作用域和可见型。静态生存期,动态生存期。
2025-01-17 16:39:12
219
原创 【C语言】函数2,用函数写数组排序,string库函数
1.数据总线1)是CPU与内存或其他器件之间的数据传送的通道2)数据总线的宽度决定了CPU和外界的数据传送速度3)每条传输线1次只能传输1位二进制数据4)数据总线是数据线数量之和2.地址总线1)CPU是通过地址总线来指定存储单元的2)地址总线是能决定CPU所能访问的最大内存空间的大小3)地址总线就是地址线数量之和3.控制总线1)CPU通过控制总线对外部器件进行控制2)控制总线的宽度决定了CPU对外部器件的控制能力3)控制总线就是控制线数量之和。
2025-01-17 10:23:04
214
原创 C语言_数组str函数算法
strcpy(s2,s1),将s1复制到s2。&a[0][0]第一行第一列的首地址。&a[0]第一行的首地址。sizeof统计数组总容积。统计字符串有效字符个数。puts()打印字符串。s1的空间必须足够大。
2025-01-14 18:50:05
312
原创 C语言_数据的输入与输出
CPU中会有缓冲区,因为键盘输入的速度远远不及CPU的计算速度,所有CPU的缓冲区有一个\n,来提醒CPU队列FIFO,因为要依次输出getchar 从缓冲区中取走一个区域,输入时相当于往缓冲区装东西。
2025-01-09 23:09:30
145
原创 C语言数据类型
字节是描述存储的最小单位1Byte=8Bit计算机的两个基本单元 CPU RAM(随机访问处理器)每个字节在内存中都有一个地址内存空间保存的是别的内存的地址,就是指针。
2025-01-07 23:02:41
615
原创 Linux环境下的C语言编程
pwd打印工作目录相对路径 ./linux/Desktop绝对路径 e.g. /home/linux/Desktoprm 删除文件cp 源文件路径 目标地址路径 (加-r 文件夹递归)touch 新建文件 sudo touch在根目录创建文件,输入管理员密码mkdir 新建文件夹mv移动文件 文件夹不用加-rrm删除文件 文件夹加-r。
2025-01-06 18:31:15
199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人