- 博客(25)
- 问答 (1)
- 收藏
- 关注
原创 在线OJ项目测试报告
用户通过点击题库选择题目进行编写,前端通过Ajax把用户写的代码通过Json序列化发送给后端oj_server服务器,后端服务器进行解包把对应的code发送给compiler_server进行编译运行,compile_server编译运行后生成对应的状态码和运行结果返回给oj_server,oj_server在返回给前端页面,前端页面得到运行结果。点击题目,可以跳转至代码输入页面,用户输入代码完毕,点击网页“运行”按钮,代码会交由后端云服务器,负载均衡地挑选主机进行编译运行代码,并将结果返回前端页面。
2025-02-18 11:51:49
1042
原创 Linux:信号
2.CPU中有状态寄存器,保存当前的运算状态,一旦发生了除零错误,寄存器中的某一位标识溢出问题的标记位会被标记为1,OS立即找到当前哪个进程在运行,当前运算的进程的上下文数据保存在寄存器中,所以OS也很容易找到,提取他的PID,OS向该进程发信号,进程在合适的时候处理。也不一定,但是不退出也做不了什么,因为该进程的上下文数据会一直保存,进而使得该进程再次被切回时,状态寄存器还是被标记溢出,就会不断的向该进程发送信号,只能选择终止掉该进程,让它被OS回收。// 判断信号是否存在在该信号集中。
2023-05-04 21:46:11
227
原创 数据结构之栈和队列
栈存储数据的特点是先入后出,它是一种特殊的线性表只允许在一端插入删除数据,进行这些操作的那一端称为栈顶,另一端称为栈底。入栈:数据压入栈中。出栈:从栈中删除数据。栈的C语言实现typedef char STDataType;typedef struct Stack{ STDataType* data; int top; long capacity;}Stack;void StackInit(Stack* ps);// 入栈void StackPush(Stack* ps,
2022-05-21 20:04:04
247
原创 动态内存管理
目录动态内存函数的介绍mallocfreecallocrealloc在没学习动态内存开辟的时候,我们最常用的开辟内存方法应该是如下吧。int arr1[20];char arr2[20];但是以上方法有一些缺点,比如说:1.它的大小是固定的,不能随着需求的变化而变化2.它需要在程序运行起来的时候才知道内存空间是浪费了还是缺少了。所以就引进了动态内存管理的概念。动态内存函数的介绍在c语言中为我们提供了两个函数 malloc和freemalloc.
2022-04-16 20:00:22
445
原创 结构体、枚举、联合
结构体 结构体类型的声明 结构的自引用 结构体变量的定义和初始化 结构体内存对齐 结构体传参 结构体实现位段(位段的填充&可移植性) 枚举 枚举类型的定义 枚举的优点 枚举的使用 联合 联合类型的定义 联合的特点 联合大小的计算目录结构体枚举联合结构体 结构体类型的声明 结构的自引用 结构体变量的定义和初始化 结构体内存对齐 结构体传参 结构体实现位段(位段的填充&可移植性)结构体类型的声明.
2022-04-03 09:57:33
263
原创 字符和内存函数的介绍
目录求字符串长度strlen长度不受限制的字符串函数strcpystrcatstrcmp长度受限制的字符串函数介绍strncpystrncatstrncmp字符串查找strstrstrtok错误信息报告strerror字符操作内存操作函数memcpymemmovememsetmemcmpstrlensize_t strlen (const char * dest)字符串的结束标志是/0,strlen可以
2022-03-26 21:19:48
167
原创 指针的进阶
目录1. 字符指针2. 数组指针3. 指针数组4. 数组传参和指针传参5. 函数指针6. 函数指针数组7. 指向函数指针数组的指针8. 回调函数1. 字符指针在指针类型中有一种字符指针,一般的使用方法是这样的。char a='w';char *=&a;还有另一种用法char b=''abcdef'';char *a==&b;这种用法中a存放的地址是字符串中第一个字符的地址,是常量a的地址,在内存中存放在常量区。2. 指针数
2022-03-13 21:11:45
357
原创 -深度剖析数据在内存中的存储
在此之前我们学习过很多的数据类型例如:char//大小为1个字节short//大小为两个字节int//大小为四个字节long//大小为四个字节long long//大小为八个字节float//大小为四个字节double//大小为八个字节整形家族char unsigned char signed char short unsigned short [int] signed short [int] int unsigned int signed
2022-03-02 11:06:21
207
原创 调整数组使奇数全部都位于偶数前面
题目:输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。/*思路:1. 给定两个下标left和right,left放在数组的起始位置,right放在数组中最后一个元素的位置2. 循环进行一下操作 a. 如果left和right表示的区间[left, right]有效,进行b,否则结束循环 b. left从前往后找,找到一个偶数后停止 c. right从后往前找,找到一个奇数后停止 d. 如果left和r
2022-02-18 17:43:50
468
原创 扫雷C语言实现
#include<stdio.h>#include<stdlib.h>#include<time.h>#define ROW 9#define COL 9#define ROWS ROW+2//*要比扫雷显示的界面大一圈,因为我们判断边界坐标周围有几个雷的时候有奇效#define COLS COL+2void game();void init_board(char board[ROWS][COLS], int row, int col,char n);/.
2022-01-24 09:53:04
2381
原创 C语言实现三子棋
本次程序涉及到的函数声明#define _CRT_SECURE_NO_WARNINGS#pragma once#include<stdio.h>#include<stdlib.h>#include<time.h>#define COL 3#define ROW 3void game();//游戏函数void Initboard(char board[ROW][COL], int x, int y);//格式化棋盘 将每个位置初始化成“空格”...
2022-01-22 18:49:19
2774
原创 大小写的转换、素数筛选、筛选数字
一、大小写的转换在计算机中存储字符使用ascll码存储,putchar()函数可以接受ascll码转换为字符打印出来;我们来写一下代码:int main(){ int ch; while ((ch = getchar()) != EOF)//当我们输入A在按下回车后 缓冲区中存放了 A和\n //ch只读取一个字符A缓冲区中有一个\n { getchar();//清除\n,以免下次循环后ch直接读取了上一个留下的\n if (ch >= 'A' &&
2022-01-17 18:38:50
419
原创 折半查找、猜数字游戏、关机程序
一、折半查找题目:在数组{1.2.3.4.5.6.7.8.9.10}中找到7的位置代码:int main(){ int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; int k = 7; int left = 0; int right = (sizeof(arr) / sizeof(arr[0])) - 1; while (left <= right) { int mid = left + ((right - left) / 2); i
2022-01-16 21:02:46
2294
原创 分支与循环语句
在我们的生活中一切的事情都可以被拆分成:顺序,分支,循环三种结构,C语言中也离不开这三种结构一、分支结构1、分支语句 if语句if语句的结构:【单分支】if(表达式)语句块if(表达式)语句块else语句块【多分支】if(表达式)语句块1else if(表达式)语句块2else语句块3例子讲解现在要求输入一个年龄,输出对应的年龄段(青少年<18,<=18青年<30,30<..
2022-01-15 20:47:19
328
空空如也
学完计算机导论需要掌握哪些知识
2021-10-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅