当前位置: 首页 > news >正文

golang 获取系统的主机 CPU 内存 磁盘等信息

golang 获取系统的主机 CPU 内存 磁盘等信息

要求

需要go1.18或更高版本

官方地址:https://github.com/shirou/gopsutil

使用

#下载包
go get github.com/shirou/gopsutil/v3/cpu
go get github.com/shirou/gopsutil/v3/disk
go get github.com/shirou/gopsutil/v3/host
go get github.com/shirou/gopsutil/v3/mem
go get github.com/shirou/gopsutil/v3/net

使用gin定义接口

hostRouters := r.Group("/host", func(context *gin.Context) {}){hostRouters.GET("stats", func(c *gin.Context) {statMap := make(map[string]interface{})// 获取主机相关信息hostInfo, _ := host.Info()hostMap := make(map[string]interface{})hostMap["uptime"] = hostInfo.Uptime                   //运行时间hostMap["bootTime"] = hostInfo.BootTime               //启动时间hostMap["procs"] = hostInfo.Procs                     //进程数hostMap["os"] = hostInfo.OS                           //操作系统hostMap["platform"] = hostInfo.Platform               //平台hostMap["platformVersion"] = hostInfo.PlatformVersion //平台版本hostMap["kernelArch"] = hostInfo.KernelArch           //内核hostMap["kernelVersion"] = hostInfo.KernelVersion     //内核版本statMap["hosts"] = hostMap// 获取内存信息memInfo, _ := mem.VirtualMemory()memMap := make(map[string]interface{})memMap["total"] = memInfo.Total             //总内存memMap["available"] = memInfo.Available     //可用内存memMap["used"] = memInfo.Used               //已使用内存memMap["free"] = memInfo.Free               //剩余内存memMap["usedPercent"] = memInfo.UsedPercent //百分比memMap["buffers"] = memInfo.Buffers         //缓存memMap["shared"] = memInfo.Shared           //共享内存memMap["cached"] = memInfo.Cached           //缓冲区statMap["mems"] = memMap// 获取CPU信息cpuInfo, _ := cpu.Info()var cpuMapArr []map[string]interface{}for _, c := range cpuInfo {cpuMap := make(map[string]interface{})cpuMap["cpu"] = c.CPU + 1         //第几个CPU 从0开始的cpuMap["cores"] = c.Cores         //CPU的核数cpuMap["modelName"] = c.ModelName //CPU类型cpuMapArr = append(cpuMapArr, cpuMap)}statMap["cpus"] = cpuMapArr// 获取IO信息ioInfo, _ := net.IOCounters(false)var ioMapArr []map[string]interface{}for _, i := range ioInfo {ioMap := make(map[string]interface{})ioMap["ioName"] = i.Name             //网口名ioMap["bytesSent"] = i.BytesSent     //发送字节数ioMap["bytesRecv"] = i.BytesRecv     //接收字节数ioMap["packetsSent"] = i.PacketsSent //发送的数据包数ioMap["packetsRecv"] = i.PacketsRecv //接收的数据包数ioMapArr = append(ioMapArr, ioMap)}statMap["ios"] = ioMapArr// 获取磁盘信息partitions, _ := disk.Partitions(false)var diskMapArr []map[string]interface{}for _, partition := range partitions {diskMap := make(map[string]interface{})usage, _ := disk.Usage(partition.Mountpoint)diskMap["disk"] = partition.Mountpoint     //第几块磁盘diskMap["total"] = usage.Total             //总大小diskMap["free"] = usage.Free               //剩余空间diskMap["used"] = usage.Used               //已使用空间diskMap["usedPercent"] = usage.UsedPercent //百分比diskMapArr = append(diskMapArr, diskMap)}statMap["disks"] = diskMapArrutil.R(c, nil, statMap)})}

调用接口,查看接口响应数据

{"code": "0","msg": "成功","data": {"cpus": [{"cores": 1,"cpu": 1,"modelName": ""},{"cores": 1,"cpu": 2,"modelName": ""},{"cores": 1,"cpu": 3,"modelName": ""},{"cores": 1,"cpu": 4,"modelName": ""},{"cores": 1,"cpu": 5,"modelName": ""},{"cores": 1,"cpu": 6,"modelName": ""},{"cores": 1,"cpu": 7,"modelName": ""},{"cores": 1,"cpu": 8,"modelName": ""},{"cores": 1,"cpu": 9,"modelName": ""},{"cores": 1,"cpu": 10,"modelName": ""},{"cores": 1,"cpu": 11,"modelName": ""},{"cores": 1,"cpu": 12,"modelName": ""},{"cores": 1,"cpu": 13,"modelName": ""},{"cores": 1,"cpu": 14,"modelName": ""},{"cores": 1,"cpu": 15,"modelName": ""},{"cores": 1,"cpu": 16,"modelName": ""}],"disks": [{"disk": "/etc/hosts","free": 134272794624,"total": 469202288640,"used": 311020077056,"usedPercent": 69.84618367740407},{"disk": "/dev/termination-log","free": 134272794624,"total": 469202288640,"used": 311020077056,"usedPercent": 69.84618367740407},{"disk": "/etc/hostname","free": 134272794624,"total": 469202288640,"used": 311020077056,"usedPercent": 69.84618367740407},{"disk": "/etc/resolv.conf","free": 134272794624,"total": 469202288640,"used": 311020077056,"usedPercent": 69.84618367740407}],"hosts": {"bootTime": 1704638867,"kernelArch": "aarch64","kernelVersion": "5.10.0-136.40.0.117.oe2203sp1.aarch64","os": "linux","platform": "alpine","platformVersion": "3.19.0","procs": 1,"uptime": 14905256},"ios": [{"bytesRecv": 111431059,"bytesSent": 209346524,"ioName": "all","packetsRecv": 1505753,"packetsSent": 287887}],"mems": {"available": 48697397248,"buffers": 16645812224,"cached": 33186672640,"free": 2395566080,"shared": 2713157632,"total": 133410463744,"used": 81182412800,"usedPercent": 60.85160827847815}}
}

最后图表显示

在这里插入图片描述

相关文章:

golang 获取系统的主机 CPU 内存 磁盘等信息

golang 获取系统的主机 CPU 内存 磁盘等信息 要求 需要go1.18或更高版本 官方地址:https://github.com/shirou/gopsutil 使用 #下载包 go get github.com/shirou/gopsutil/v3/cpu go get github.com/shirou/gopsutil/v3/disk go get github.com/shirou/gopsuti…...

Infinitar链游新发展新机遇

区块链游戏市场在近年来经历了显著增长,吸引了大量的投资和关注。随着加密货币和NFT(非同质化代币)概念的普及,越来越多的投资者、游戏开发者和看到了区块链技术在游戏领域的应用潜力,纷纷涌入市场。区块链游戏的用户量…...

Figma 被爆出它剽窃了苹果的设计后撤下了AI工具Make Designs

Figma是一款流行的界面设计工具,最近它推出了一个名为Make Designs的新功能,这个功能利用人工智能帮助用户快速设计应用程序界面。但是,这个工具生成的设计竟然和苹果公司的iOS天气应用非常相似,这让外界怀疑Figma是否剽窃了苹果的…...

ERROR | Web server failed to start. Port 8080 was already in use.

错误提示: *************************** APPLICATION FAILED TO START ***************************Description:Web server failed to start. Port 8080 was already in use.Action:Identify and stop the process thats listening on port 8080 or configure thi…...

C++ 类和对象 构造函数

一 类的6个默认成员函数&#xff1a; 如果一个类中什么成员都没有&#xff0c;简称为空类。 例&#xff1a; #include <iostream> class Empty {// 空类&#xff0c;什么成员都没有 }; 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&a…...

纯javascript实现图片批量压缩打包zip下载后端ThinkPHP多国语言切换国际站

最近在做一个多国语言的工具站&#xff0c;需要实现多国语言切换&#xff0c;说到多国语言站&#xff0c;肯定是有2种方式&#xff0c;第一是子域名&#xff0c;第二就是子目录。根据自己的需要来确定。 后台配置如下&#xff1a; 前台显示&#xff1a; 前端纯javascript实现…...

使用ChatGPT写论文,只需四步突破论文写作瓶颈!

欢迎关注&#xff0c;为大家带来最酷最有效的智能AI学术科研写作攻略。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥&#xff08;yida985&#xff09;交流 地表最强大的高级学术AI专业版已经开放&#xff0c;拥有全球领先的GPT学术科研应用&#xff0c;有兴趣的朋友可…...

神领物流项目第一天

文章目录 聚焦快递领域首先第一个是验证码模块流程登录接口权限管家 聚焦快递领域 首先第一个是验证码模块流程 首先生成验证码的流程 可以使用工具类去生成验证码 LineCaptcha lineCaptcha CaptchaUtil.createLineCaptcha(160, 60, 4, 26);// 获取值然后存入redis中 strin…...

[作业]10 枚举-排列类

作业&#xff1a; 已做&#xff1a; #include <iostream> using namespace std; int n; int a[100]; void func(int ,int); int main(){cin>>n;func(0,n);return 0; } void func(int k,int m){if(k>m-1){for(int i0;i<m;i){cout<<a[i];}cout<<en…...

vue2(vue-cli3x[vue.config.js])使用cesium新版(1.117.0)配置过程

看来很多解决方法都没有办法&#xff0c;最后终于。呜呜呜呜 这里我用的是vue-cli去搭建的项目的vue2 项目&#xff0c;其实不建议用vue2搭配cesium。因为目前cesium停止了对vue2的版本更新&#xff0c;现在默认安装都是vue3版本&#xff0c;因此需要控制版本&#xff0c;否则…...

【深度学习】常用命令行指令汇总

这些指令对于管理深度学习环境、监控资源使用、调试程序等方面 查看显卡使用情况 要实时监控NVIDIA显卡的状态,可以使用命令: nvidia-smi -l 1这条命令会每秒刷新一次显卡的使用情况,包括GPU利用率、显存使用情况等。 查看当前Python环境 查看当前使用的Python环境,可…...

谷粒商城学习-11-docker安装redis

文章目录 一&#xff0c;拉取Redis镜像1&#xff0c;搜索Redis的Docker镜像2&#xff0c;拉取Redis镜像3&#xff0c;查看已经拉取的镜像 二&#xff0c;创建、启动Redis容器1&#xff0c;创建redis配置文件2&#xff0c;创建及运行Redis容器3&#xff0c;使用docker ps查看运行…...

C++:类继承是什么,怎么继承

一、类继承是什么 首先了解什么是基类&#xff0c;什么是派生类 在面向对象编程中&#xff0c;基类&#xff08;Base Class 或 Superclass&#xff09;是一个类的模板&#xff0c;它定义了一些通用的属性和行为。子类&#xff08;Derived Class 或 Inheritance&#xff09;可…...

期权学习必看圣书:《3小时快学期权》要在哪里看?

今天带你了解期权学习必看圣书&#xff1a;《3小时快学期权》要在哪里看&#xff1f;《3小时快学期权》是一本关于股票期权基础知识的书籍。 它旨在通过简明、易懂的语言和实用的案例&#xff0c;让读者在短时间内掌握股票期权的基本概念、操作方法和投资策略。通过这本书&…...

Keepalived 双机热备

1. Keepalived 双机热备 keepalived主要用来提供故障切换&#xff08;failover&#xff09;和健康检查&#xff08;Health Checking&#xff09;。 1.2 Keepalived 热备方式 Keepalived 采用VRRP &#xff08;Virtual Router Redundancy Protocol&#xff0c;虚拟路由冗…...

基于React和TypeScript的开源白板项目(Github项目分享)

在学习前端开发的过程中&#xff0c;有时候我们需要一些有趣的项目来提升我们的技能。今天我要给大家介绍的是一个非常酷的项目——NinjaSketch&#xff0c;这是一个用React和TypeScript构建的简易白板工具。这个项目使用了Rough.js来实现手绘风格的效果。尽管这个应用不是响应…...

1019记录

人瑞 - SDK - 外派米哈游 1&#xff0c;接口测试的工具 回答的是postman&#xff0c; 改进&#xff1a;JMeter 2&#xff0c;接口502&#xff0c;什么问题导致的&#xff1f;如何定位&#xff1f; 参考答案&#xff1a;502错误定义&#xff1a;是网关错误&#xff0c; 通俗…...

详细设计与概要设计区别-慧哥充电桩开源系统

概要设计更侧重于系统的整体构架和模块划分&#xff0c;而详细设计则关注具体模块的实现细节。在软件开发过程中&#xff0c;这两个阶段虽然紧密相关&#xff0c;但它们各自有着不同的目标和方法。以下是具体分析&#xff1a; 目标 概要设计&#xff1a;概要设计关注系统整体架…...

vue3 引入百度地图的三种方式

本次也是正好写了一个基于VUE3和百度地图的设计&#xff0c;但奈何第一次使用百度地图&#xff0c;在学习的途中遇到了很多问题&#xff0c;也发现网上的材料相对较少&#xff0c;因此做出了一些小总结&#xff0c;后续还会更新。 一、直接引入 直接在public中的index.html中进…...

鸿蒙开发设备管理:【@ohos.usb (USB管理)】

USB管理 本模块主要提供管理USB设备的相关功能&#xff0c;包括查询USB设备列表、批量数据传输、控制命令传输、权限控制等。 说明&#xff1a; 本模块首批接口从API version 8开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import …...

Golang | Leetcode Golang题解之第204题计数质数

题目&#xff1a; 题解&#xff1a; func countPrimes(n int) int {primes : []int{}isPrime : make([]bool, n)for i : range isPrime {isPrime[i] true}for i : 2; i < n; i {if isPrime[i] {primes append(primes, i)}for _, p : range primes {if i*p > n {break}…...

ELK日志系统和Filebeat采集器的学习总结

ELK是ElasticSerach、Logstash、Kina Logstash负责采集数据&#xff0c;Logstash有三个插件&#xff0c;input、filter、output&#xff0c;filter插件作用是对采集的数据进行处理&#xff0c;过滤的&#xff0c;因此filter插件可以选&#xff0c;可以不用配置。 ElasticSear…...

QML-Grid和OpacityMask

一个格子条&#xff0c;点击缩短 import QtQuick 2.0 import QtQuick.Window 2.12 import QtQuick.Controls 2.5 //导入 import QtGraphicalEffects 1.12Window {id:windowwidth: 600height: 500color: "white"visible: trueGrid {visible: falseid:gridwidth:405he…...

MySQL的并发控制、事务、日志

目录 一.并发控制 1.锁机制 2.加锁与释放锁 二.事务&#xff08;transactions&#xff09; 1.事物的概念 2.ACID特性 3.事务隔离级别 三.日志 1.事务日志 2.错误日志 3.通用日志 4.慢查询日志 5.二进制日志 备份 一.并发控制 在 MySQL 中&#xff0c;并发控制是确…...

CNN文献综述

卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;简称CNN&#xff09;是深度学习领域中的一种重要模型&#xff0c;主要用于图像识别和计算机视觉任务。其设计灵感来自于生物学中视觉皮层的工作原理&#xff0c;能够高效地处理图像和语音等数据。 基本原理…...

python语句前面有一个$是什么意思

“$”是汇编语言中的一个预定义符号&#xff0c;等价于当前正汇编到的段的当前偏移值。例如&#xff1a;指令“jmp $3”中的“$”表示当前这条指令在代码段中的偏移量。 代表当前指令的地址&#xff0c;如&#xff1a; data segment str1 db a,b,c,d leng equ $-str 就是当前地…...

wsl安装Linux系统到指定位置

默认情况下,wsl安装的系统,会安装到系统C盘,长期下去,很容易把C盘的空间消耗完,从而影响系统的正常运行,所以我建议是将wsl所有的系统都安装到其它磁盘中,便于维护。 1、导出镜像 通过wsl -l -v 查看当前已安装的系统版本。 导出到当前目录位置,也可以指定目录位置。 w…...

[笔记] 高等数学在各工程门类的典型应用场景

1.应用场景 1.微积分似乎是在解算椭圆方程中引入的&#xff1f;但是这个数学工具第一次应用于现实的工程问题是什么时候&#xff1f;什么场景&#xff1f;什么问题&#xff1f; 微积分的发展确实与椭圆方程有关&#xff0c;但它最初的应用场景远不止于此。 微积分首次被应用…...

刀片服务器和机架式服务器有何区别

刀片服务器和机架式服务器有何区别 一、物理设计&#xff1a; 刀片服务器&#xff1a;刀片服务器是一种相对较轻薄的服务器设计&#xff0c;其物理形状类似于刀片&#xff0c;通常插入到专用的刀片机箱中。每个刀片通常包含一个或多个服务器节点&#xff0c;共享一些基本的资源…...

SQLyog脚本无限试用重置脚本

文章目录 引言脚本(win)必要操作、说明 引言 SQLyog 需要po jie&#xff0c;但是网上的没看到很好使的&#xff0c;直接下的官方。能处理14天试用也是很ok的。 脚本(win) echo offREM SQLyog注册表key&#xff0c;可能跟你的不一样&#xff0c;如果不一样&#xff0c;请替换…...

代码随想录训练营第二十九天 134加油站 135分发糖果 860柠檬水找零 406根据身高重建队列

第一题&#xff1a; 原题链接&#xff1a;134. 加油站 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 需要三个变量&#xff0c;一个变量start记录结果也就是出发的第一个加油站&#xff0c;一个变量curSum来记录此时加油耗油后剩余的油量&#xff0c;如果发现c…...

智能生产管理系统设计

智能生产管理系统的设计旨在提升制造业的效率、灵活性和响应速度&#xff0c;通过集成先进的信息技术&#xff08;如物联网IoT、大数据分析、人工智能AI、云计算等&#xff09;实现生产过程的智能化。以下是一些关键设计要素和步骤&#xff0c;用于构建一个高效的智能生产管理系…...

满足GMSL静电防护要求的方案

什么是GMSL&#xff1f;它是做什么用的&#xff1f;它有什么优点&#xff1f;设计GMSL防静电有啥难度&#xff1f; 带着这些疑问我们先了解下什么是GMSL。 一&#xff0e;简述 GMSL GMSL&#xff08;Gigabit Multimedia Serial Link&#xff09;即千兆多媒体串行链路&#xf…...

【Odoo开源ERP】别把ERP与进销存软件混为一谈

导读&#xff1a;企业使用ERP软件能够实现管理升级&#xff0c;多方信息集成&#xff0c;按照既定策略逻辑运算&#xff0c;生成计划建议&#xff0c;减少人力成本&#xff0c;提高准确率的同时提高经营能力。 ERP&#xff0c;是MRP II的下一代软件&#xff0c;除了MRP II已有的…...

八、浏览器同源策略

上一篇&#x1f449;: 浏览器垃圾回收机制 文章目录 浏览器同源策略1.同源策略的定义2.同源策略的作用3.同源策略的限制范围4.解决跨域方案汇总1.CORS&#xff08;跨源资源共享&#xff09;2.JSONP3.postMessage 跨域4.Nginx代理跨域5.Node.js中间件代理跨域6.document.domain…...

重载赋值运算符

c编译器可能会给类添加四个函数 1默认构造函数 2默认析构函数 3默认拷贝构造函数&#xff0c;对成员变量进行浅拷贝。 4默认赋值函数&#xff0c;队成员变量进行浅拷贝。 #include<iostream> using namespace std; class CGirl { public:int m_bh;string m_name;voi…...

数字信号处理及MATLAB仿真(2)——离散系统

上回书说到如何来编写一些简单的离散时间序列&#xff0c;今天咱们就来谈谈一些关于常系数差分方程的操作吧。 说到这里咱们对于常系数差分方程可能最关心的就是怎么去求解了。 其中最关键的部分就是filter函数&#xff0c;可以用来计算系统在输入信号为x的输出信号y。大家学过…...

大模型思维链(Chain-of-Thought)技术原理

大模型思维链&#xff08;Chain-of-Thought&#xff09;技术原理 NLP中 大语言模型LLM中的思维链 Chain-of-Thought(CoT) GoT_cot思维链-CSDN博客 https://zhuanlan.zhihu.com/p/680618940 https://zhuanlan.zhihu.com/p/661475269...

gda动态调试-cnblog

忽的发现gda有动态调试功能 动态监听返回值 框柱指定方法&#xff0c;选择调试方法&#xff0c;gda会自动监听函数的返回值&#xff0c;例如 自定义frida脚本 gda会自动生成hook该函数的frida脚本...

Double 4 VR仿真情景实训教学系统在法律专业课堂上的应用

随着科技的飞速发展&#xff0c;VR技术逐渐渗透到各个领域&#xff0c;为教育行业带来了革命性的变化。 VR技术以其独特的沉浸式体验&#xff0c;为法律课堂带来了前所未有的学习体验。通过Double 4 VR仿真情景实训教学系统&#xff0c;学生可以身临其境地进入虚拟的仿真情景中…...

k8s-第一节-minikube

minikube 服务器启动 # 启动集群 minikube start # 启动集群并使用docker驱动 minikube start --driverdocker To make docker the default driver:minikube config set driver docker # 查看节点。kubectl 是一个用来跟 K8S 集群进行交互的命令行工具 kubectl get node # 停…...

html+js+css在线倒计时

代码在图片后面 点赞加关注 谢谢大佬照顾&#x1f61c; 图例 时间到前 时间到后 源代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width,…...

构建LangChain应用程序的示例代码:55、如何实现多代理模拟,其中特权代理决定谁发言。这遵循与多代理分散发言者选择相反的选择方案

示例展示了如何实现一个多代理模拟,其中一个特权代理决定谁来发言。 这遵循与多代理分散式发言人选择相反的选择方案。 我们在一个虚构的新闻网络模拟环境中展示这种方法的一个例子。这个例子将展示我们如何实现能够: 在说话前思考终止对话 的代理。 导入LangChain相关模块…...

船舶雷达与导航系统选择7/8防水插座的原因分析

概述 船舶雷达与导航系统在现代航海中扮演着至关重要的角色&#xff0c;它们为船舶提供准确的导航信息&#xff0c;确保航行的安全和效率。在这些系统中&#xff0c;7/8防水插座的使用尤为重要&#xff0c;因为它们能够在恶劣的海上环境中提供稳定的电力和信号连接。接下来&am…...

墨烯的C语言技术栈-C语言基础-006

六.常量 C语言的常量为 字面常量 const修饰的常变量 #define定义的 枚举常量 int main() { // 四个都是字面常量 30; 3.14; "w"; // 字符常量 "abc"; // const修饰的常变量 const int a 10; // 在C语言中,const修饰的a,本质是变量,但不能直…...

常用SHELL命令

在 Unix/Linux 系统中&#xff0c;除了基本的文件和目录操作命令外&#xff0c;还有许多强大的工具命令&#xff0c;用于文本处理、系统监控、文件操作等。以下是一些常用的 Shell 命令&#xff0c;特别是类似 sed 和 awk 的文本处理工具&#xff1a; 文本处理命令 sed - 流编…...

Python脚本:将Word文档转换为Excel文件

引言 在文档处理中&#xff0c;我们经常需要将Word文档中的内容转换成其他格式&#xff0c;如Excel&#xff0c;以便更好地进行数据分析和报告。针对这一需求&#xff0c;我编写了一个Python脚本&#xff0c;能够批量处理指定目录下的Word文档&#xff0c;将其内容结构化并转换…...

【单链表】03 设L为带头结点的单链表,编写算法实现从尾到头反向输出每个结点的值。

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux算法题上机准备 &#x1f618;欢迎 ❤️关注 &#x1f44d;点赞 &#x1f64c;收藏 ✍️留言 题目 设L为带头结点的单链表&#xff0c;编写算法实现从尾到头反向输出每个结点的值。 算法…...

鸿蒙开发设备管理:【@ohos.vibrator (振动)】

振动 说明&#xff1a; 开发前请熟悉鸿蒙开发指导文档&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 本模块首批接口从API version 8开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 imp…...

【信息学奥赛】CSP-J/S初赛07 排序算法及其他算法在初赛中的考察

本专栏&#x1f449;CSP-J/S初赛内容主要讲解信息学奥赛的初赛内容&#xff0c;包含计算机基础、初赛常考的C程序和算法以及数据结构&#xff0c;并收集了近年真题以作参考。 如果你想参加信息学奥赛&#xff0c;但之前没有太多C基础&#xff0c;请点击&#x1f449;专栏&#…...