📌 考纲定位(计算机基础与编程环境):这一节不考你写代码,考的是「信息学竞赛的赛制与规则」——谁主办、有哪些比赛、怎么晋级、复赛用什么语言、怎么提交、初赛长什么样。它是 CSP/NOIP 的「考场常识」,属于必须知道、但不需要上机实现的内容。所有规则与真题的最终出处是 CCF 官网(www.noi.cn),具体年份的报名时间、晋级线、奖项名额以当年官方通知为准。
一句话定位:CCF(中国计算机学会) 是主办单位;它旗下有一条从「普及」到「国家队」的赛事链,而 CSP-J/S(非专业级软件能力认证) 是这条链现在最靠前的入口。
CSP-J/S(认证,分 J 入门级 / S 提高级)
│ 其中 CSP-S 优秀者 →
▼
NOIP(全国青少年信息学奥林匹克联赛,省级)
│ 省内排名靠前 →
▼
省队选拔(省内 PK,选出省队)
│ 省队成员 →
▼
NOI(全国青少年信息学奥林匹克,国赛)
│ 国赛前若干名 →
▼
NOIWC(冬令营)/ APIO(亚太信息学奥赛)/ 国家队选拔
│ 最终选出 4 人 →
▼
IOI(国际信息学奥林匹克)几个容易混的点先点破:
⚠️ 本讲只讲「是什么、什么规则」,不讲「为什么要这样设计」——赛制细节以 CCF 官方当年通知为准,下面给的是稳定不变的主干框架。
| 名称 | 全称 / 性质 | 在链条里的位置 | 你能拿到什么 |
|---|---|---|---|
| CCF | 中国计算机学会 | 主办单位 | — |
| CSP-J/S | 非专业级软件能力认证,分 J/S 两级 | 最前端的普及/提高入口 | 认证证书、参加后续赛事的资格参考 |
| NOIP | 全国青少年信息学奥林匹克联赛 | 省级联赛 | 省级奖项 |
| 省队选拔 | 省内选拔 | 省队产生环节 | 成为省队队员 |
| NOI | 全国青少年信息学奥林匹克 | 国赛 | 国家级奖项、国家集训队 |
| NOIWC | 冬令营 | 集训/选拔环节 | 训练与选拔机会 |
| APIO | 亚太信息学奥赛 | 国际区域赛 | 亚太奖项 |
| IOI | 国际信息学奥林匹克 | 世界级 | 国际奖牌 |
- 第一轮(初赛):通常为笔试/机试形式的资格赛,考常识 + 阅读程序 + 完善程序(见第④点)。第一轮是「过关门槛」,过线才能报第二轮。
- 第二轮(复赛):上机编程,真正比算法与代码能力的环节,也是出奖的主要依据。
⚠️ 报名月份、费用、是否必须先从 J 升 S、各省晋级线——年年可能微调,一律以 CCF 官网当年发布的通知为准,本讲不替你记具体日期。
- 在 「选手目录」 下写代码、编译、运行;提交后由评测机 黑盒评测(用多组测试数据跑你的程序,比对输出)。
- 输入输出用 freopen 重定向文件(或按考场规定的标准输入输出):例如 freopen("xxx.in","r",stdin); freopen("xxx.out","w",stdout);,其中 xxx 是题目给定的文件名。
- 严禁使用「文件操作以外的系统调用」:不能调用系统命令、不能访问网络、不能做与解题无关的文件读写。评测是封闭的,越界操作直接判违规。
- 常见评测结果是 AC(通过)/ WA(答案错)/ TLE(超时)/ MLE(超内存)/ RE(运行错误)/ CE(编译错误),记住这些缩写能帮你快速定位问题。
第一轮(初赛)通常三类题:
1. 常识选择题:考计算机基础、进制、软硬件、以及上面这套赛事体系(CCF/NOI/CSP-J/S 分别是什么、谁主办、什么关系)。
2. 阅读程序题:给你一段(可能是你没写过的)程序,让你不运行就推演它干什么、算给定输入的输出。练的是「读代码、手算模拟」能力。
3. 完善程序题:给你一个半成品程序(通常是实现某个经典算法,如排序、递推、简单搜索),让你从选项中挑出正确的填空。考的是对常见算法骨架的熟悉度。
初赛不要求你现场写完整程序,但要求你能读、能推、能补全。所以平时多读别人代码、多手算小程序,比临时背概念有用。
下面用「一个考生的晋级路径」把上面四块串起来,顺便演示初赛题长什么样。
路径示例:小明初二,先报 CSP-J(入门级) → 过第一轮笔试 → 第二轮上机拿到 入门级一等;次年水平够了改报 CSP-S(提高级) → 过第一轮 → 第二轮上机进全省前列 → 获得参加 NOIP 与 省队选拔 的资格 → 省选胜出进入 省队 → 打 NOI(国赛) → 表现优异进 国家集训队 → 再经选拔代表中国参加 IOI。
这条路径不是「必须一级级考」,而是「资格与水平逐级衔接」的示意。具体哪一级是下一级的入场券,看当年政策。
初赛题型小样(选择题,常识类):
题目:下列关于 CSP-J/S 的说法,正确的是( )。 A. CSP-J/S 是由某培训机构主办的商业比赛 B. CSP 分为入门级 J 与提高级 S 两级 C. 复赛允许使用 Python 直接提交并调用系统命令 D. 初赛第二轮是上机编程、复赛第一轮是笔试 解析:主办单位是 CCF(A 错);CSP 确实分 J/S 两级(B 对);复赛以 C++ 为主且严禁文件操作以外的系统调用(C 错);第一轮是初赛(笔试/认证),第二轮才是复赛(上机),顺序说反了(D 错)。所以答案是 B。
初赛题型小样(阅读程序类):给你一段求 1+2+...+n 的循环,问当 n=100 时输出多少——这类题不考你写,只考你静下心手算 / 看循环。平时练的就是这个。
1. 把 NOIP 和 CSP-S 当成「同一个比赛改了名」:错。它们是不同性质的两件事(联赛 vs 认证),只是现在很多省份用 CSP-S 成绩作为 NOIP/省选的参考。记成「改名」会让你在常识题里选错。
2. 以为复赛可以随便用系统调用 / 网络 / 额外文件:错,且危险。评测环境封闭,只有题目规定的文件读写(freopen)是允许的,其余系统调用一律违规。考场别炫技。
3. 把第一轮、第二轮的顺序搞反:第一轮是初赛(资格/笔试),第二轮才是复赛(上机)。记反了,连「要不要练上机」都判断错。
4. 漏写 freopen 或文件名写错:复赛提交用文件输入输出,忘了重定向或把 xxx.in/out 写错,本地能跑、评测全 WA。这是新手最常见的「非算法失误」。
5. 初赛只看不练:初赛的阅读程序、完善程序需要「读代码手感」,光背概念不练读程序,上了考场推不动。
1. 把这条链按从「普及入口」到「国际赛」的顺序口头背一遍:CSP-J/S → __ → __ → NOI → __ / __ → __。
2. CSP-J/S 分哪两级?分别面向什么水平?第一轮和第二轮各是什么形式?
3. 复赛允许的主要编程语言是什么?哪些系统调用被明确禁止?
4. 复赛用 freopen 做输入输出时,标准写法里 stdin / stdout 分别对应什么?文件名由谁给定?
5. 初赛(第一轮)通常考哪三类题?其中「阅读程序题」到底考你什么能力?
6. 判断题:NOIP 就是 CSP-S 改了个名字。( )—— 并说出你判断的理由。
7. 复赛评测常见结果 AC / WA / TLE / MLE / RE / CE 分别代表什么?
这一节把 00-teach.md 里的「赛事链条」再展开一点,帮你把几个容易混的概念钉死。
CCF(中国计算机学会) 是信息学竞赛在国内的主管学术团体,NOI 系列活动与 CSP 认证都由它主办、规则也由它发布。记住:所有权威信息以 CCF 官网 www.noi.cn 为准,任何「小道消息」都比不过官网通知。
| 环节 | 形式 | 作用 |
|---|---|---|
| 第一轮(初赛) | 笔试/认证,考常识+阅读程序+完善程序 | 资格赛,过线才能报第二轮 |
| 第二轮(复赛) | 上机编程 | 出奖主要依据,一等/二等/三等 |
具体报名月、晋级比例、名额——年年微调,以当年 CCF 通知为准,本子模型不替你记具体数字。
1. 语言以 C++ 为主。
2. 在 选手目录 下编译运行,用 freopen 做文件输入输出。
3. 禁止文件操作以外的系统调用(不能调用系统命令、不能联网、不能做无关文件读写)。
4. 评测是黑盒:多组测试数据跑你的程序比对输出,结果有 AC/WA/TLE/MLE/RE/CE。
学完这个考点,用历年真题检验一下
OI伴学 把「NOI系列活动与CSP认证」在 CCF-GESP / CSP / NOIP 真题里出现过的题目汇总到一页,可按考点横向刷;每题都带答案、解题思维和常见错误。
看 NOI系列活动与CSP认证 历年真题汇总 → 去平台刷题 →