云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

CSP复赛数据提交流程:文件和NOI Linux2.0考试系统使用

jxf315 2025-02-13 12:36:52 教程文章 16 ℃

Linux 系统简介

Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

复赛考试形式

**第二轮四道编程题,CSP-J 3.5 小时,CSP-S 4 小时,100分/题。**

测评环境

大部分省份都是提供Windows主系统+VMWare虚拟机。

  • Windows 系统支持 Dev C++。
  • 虚拟机中是 NOI Linux2.0 系统,内核是 Ubuntu 20.04。
  • NOI Linux2.0 VMWare15虚拟机和ios镜像下载

写代码可以选择任意系统,但是最终测评结果以 NOI Linux 结果为准。因此,掌握 Linux 基础操作和命令是有必要的,避免因系统中个别语法和库函数不同而导致结果错误。

虚拟机环境配置

  • 安装 VMWare15
  • 双击安装,最后输入注册码
  • 安装 NOI Linux2.0 系统

编译执行C++程序

  • 编译 C++ 文件:g++ filename.cpp -o filename
  • 执行 C++ 文件:./filename

文件读取

写完程序后,加上以下文件读取函数。

 #include 

 int main() {

         freopen("filename.in", "r", stdin);
         freopen("filename.out", "w", stdout);

         fclose(stdin);
         fclose(stdout);

         return 0;
 }

数据提交格式(仅供参考,具体以本年度为准,以监考老师要求为准)

每道题都给出了目录名和源程序名,切记不要写错!

建立以考生考号为名称的文件夹,考号在准考证上,以上海 CSP-J00001 号为例:

在文件夹内创建相应试题的文件夹,对应文件夹内创建cpp源程序,名字试卷已经给出。

NOI Linux2.0 里面的图形化界面编程工具

NOI Linux2.0 相较于早期的 Ubuntu16.04 测评系统有了很大改进,界面美观,而且提供了多种 C++ 编程工具,对于不熟悉命令的同学是一个很好的机会。

下面介绍一下code::blocks

新建空文件:

保存文件:

写代码、编译、运行:

也可以点击编译并运行。

什么是shell?

shell 就是命令解析器,对用户输入到终端的命令进行解析,调用对应的执行程序

用户在终端输入命令, 由 shell 命令解析器对命令进行解析(按照 $PATH 环境变量搜索命令), 解析成内核能够识别的指令, 然后由内核执行命令, 最后由终端显示命令执行的结果给用户。

注意:shell 在寻找命令的时候是按照 $PATH 环境变量去查找的,如果找到了就执行对应的命令,若找不到就报错。

  • 查看 PATH 环境变量的值:echo $PATH
  • 当前系统所使用的 shell:echo $SHELL
  • 查看所有 shell:cat /etc/shells

Linux目录结构

常用终端快捷键

Linux命令行

基础操作

查看文件和目录:ls

查看当前路径:pwd

清空终端:clear

切换目录:cd

自动补全:Tab

日期命令:date

创建、删除文件及目录命令的使用

命令

说明

touch 文件名

创建指定文件 / touch {1,2,3}.txt 创建多个文件

mkdir 目录名

创建目录(文件夹)

rm 文件名或者目录名

删除指定文件或者目录

rmdir 目录名

删除空目录

命令选项

说明

-i

交互式提示

-r

递归删除目录及其内容

-f

强制删除,忽略不存在的文件,无需提示

-d

删除空目录

-p

递归创建空目录

复制、移动文件及目录命令的使用

命令

说明

cp

拷贝文件、拷贝目录

mv

移动文件、移动目录、重命名

查看文件

命令

说明

cat

查看小型文件

more

分屏查看大型文件

less

取more的反义词less加上后退功能

重点:time命令

  • 用于测量命令的运行时间,还可以测量内存、I/O等的使用情况。
  • CPU资源的统计包括实际使用时间(real time)、用户态使用时间(the process spent in user mode)、内核态使用时间(the process spent in kernel mode)。

time ls /usr/bin/

real远大于user加上sys。

Mac系统VSCode配置C++编程环境

VSCode是一款非常轻量化的编程软件,启动速度快,跨平台,支持多语言。

Mac中安装C++一般都使用Xcode,安装XCode同时安装Clang,但是比较笨重,我们可以直接安装Clang:

xcode-select --install

然后执行:clang -v验证 clang 安装是否成功。

限时优惠,视频课程+闯关训练+在线作业+定期比赛。

黑猫OJ在线刷题,一站式服务。

最近发表
标签列表