考试概述
全国计算机等级考试(NCRE)是由教育部教育考试院主办,用于考察应试人员计算机应用知识与技能的全国性水平考试。

(图片来源网络,侵删)
- 考试级别:二级
- 考试科目:C语言程序设计
- 考试目的:考察考生对C语言基本概念、基本语法、基本数据类型、运算符、表达式、流程控制、函数、数组、指针、结构体、文件操作等内容的掌握程度,以及运用这些知识解决实际问题的编程能力和上机调试能力。
考试大纲与考试内容
二级C语言考试分为两部分:公共基础知识和C语言程序设计。
(一) 公共基础知识 (选择题,约占20分)
相对固定,主要考察计算机科学的基础概念。
-
数据结构与算法:
- 算法的基本概念:特征(有穷性、确定性、可行性、输入、输出)、复杂度(时间复杂度、空间复杂度)。
- 数据结构的基本概念:定义、数据的逻辑结构与存储结构(顺序、链式、索引、散列)。
- 线性表:顺序存储与链式存储。
- 栈和队列:定义、特点、基本操作(入栈、出栈、入队、出队)。
- 树与二叉树:
- 树的基本概念(结点、度、深度)。
- 二叉树的定义、性质、存储结构(顺序存储、链式存储)。
- 二叉树的遍历(前序、中序、后序、层序)。
- 查找:顺序查找、二分查找(折半查找)。
- 排序:插入排序、选择排序、冒泡排序、快速排序的基本思想。
-
程序设计基础:
(图片来源网络,侵删)- 程序设计风格与方法。
- 结构化程序设计原则(自顶向下、逐步求精、模块化)。
- 面向对象程序设计的基本概念(对象、类、继承、多态)。
-
软件工程基础:
- 软件工程基本概念。
- 软件生命周期:定义、开发(需求分析、设计、编码、测试)、维护。
- 软件测试:目的、方法(黑盒测试、白盒测试)。
-
数据库设计基础:
- 数据库的基本概念:数据库、数据库管理系统、数据库系统。
- 数据模型:E-R模型(实体、联系、属性)、关系模型。
- 关系代数的基本操作(选择、投影、连接)。
- 数据库规范化理论:1NF, 2NF, 3NF的基本概念。
(二) C语言程序设计 (80分)
这是考试的核心部分,包含选择题和操作题。
-
C语言的基本概念:
(图片来源网络,侵删)- C语言的特点、程序结构(函数构成)。
- 标识符、关键字、常量与变量。
-
数据类型及其运算:
- 基本数据类型:
int,float,double,char。 - 运算符:算术运算符、关系运算符、逻辑运算符、赋值运算符、逗号运算符、位运算符、sizeof运算符。
- 表达式:各类运算符的优先级和结合性,表达式的求值规则。
- 基本数据类型:
-
基本语句:
- 表达式语句、空语句、复合语句。
- 数据的输入与输出:
printf(),scanf()函数的格式控制。 goto语句(了解即可)。
-
选择结构程序设计:
if...else语句(单分支、双分支、多分支)。switch语句。
-
循环结构程序设计:
for循环、while循环、do...while循环。break和continue语句。- 循环的嵌套。
-
数组的定义和引用:
- 一维数组的定义、初始化和引用。
- 二维数组的定义、初始化和引用。
- 字符串与字符数组:字符串处理函数(
strlen,strcpy,strcat,strcmp,strncpy等)。
-
函数:
- 函数的定义、声明、调用。
- 函数参数的传递方式(值传递)。
- 函数的嵌套调用与递归调用。
- 变量的存储类别:
auto,static,register,extern。 - 内部函数与外部函数。
-
指针:
- 指针与指针变量:地址、指针的定义、初始化和引用。
- 指针与变量、数组、字符串的关系。
- 指针作为函数参数。
- 指针数组与指向指针的指针(了解)。
void指针和NULL指针。
-
结构体与共用体:
- 结构体类型的定义、结构体变量的定义和初始化。
- 结构体成员的引用。
- 结构体数组。
- 指向结构体类型数据的指针。
- 用结构体变量和指向结构体的指针作为函数参数。
- 共用体(
union)的基本概念。
-
文件操作:
- 文件类型指针 (
FILE*)。 - 文件的打开与关闭 (
fopen,fclose)。 - 文件的读写:
fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf。 - 文件的定位:
rewind,fseek,ftell。
- 文件类型指针 (
考试形式与题型分值
考试总时长 120分钟,满分 100分。
| 题型 | 题量 | 分值 | |
|---|---|---|---|
| 选择题 | 40题 | 40分 | 公共基础知识(约20分) + C语言基础(约20分) |
| 操作题 | 3大题 | 60分 | |
| - 程序填空题 (1空) | 1题 | 18分 | 在给定的程序代码中填写1-2处缺失的内容 |
| - 程序改错题 (2处) | 1题 | 18分 | 找出并修改给定程序中的2-3处错误 |
| - 程序设计题 (1个) | 1题 | 24分 | 根据题目要求,编写一个完整的C程序 |
上机环境:Visual C++ 6.0 (VC++ 6.0),考生需要在这个环境中编写、编译、链接、运行和调试程序。
备考策略与建议
备考二级C语言,关键在于“理解+练习+总结”。
打基础 (约占总时间的40%)
- 选择一本好教材:官方教材或经典的C语言教材(如《C程序设计》谭浩强版,虽然争议多但应试性强;或《C Primer Plus》等)。
- 系统学习:跟着教材的章节,系统地学习每一个知识点,不要跳过任何章节,特别是指针和结构体。
- 动手敲代码:对于书上的每一个例子,务必亲手在VC++ 6.0中敲一遍、运行一遍,这是培养“语感”和熟悉编译环境的关键。
- 理解概念:重点是理解“为什么”,而不是死记硬背,理解指针的本质是地址,就能理解很多指针相关的操作。
刷题与强化 (约占总时间的50%)
- 历年真题是核心:这是备考最重要的资料,至少把最近5-10年的真题刷2-3遍。
- 选择题:反复刷,直到看到题目能立刻反应出答案,公共基础知识部分可以整理成笔记,反复记忆。
- 操作题:
- 程序填空:考察对代码逻辑和语法的熟悉程度,多做几套,你会发现很多填空点是固定的模式(如循环变量初始化、文件打开模式等)。
- 程序改错:这是难点,常见的错误包括:逻辑错误(条件判断、循环边界)、语法错误(缺少分号、括号不匹配)、变量未定义或未初始化等,要学会通过阅读代码和编译器的错误提示来定位问题。
- 程序设计题:这是分值最高,也是最能体现水平的部分,重点是掌握常见算法的实现,如:素数判断、数列求和、排序(冒泡、选择)、查找、字符串处理、结构体数组操作等。
- 总结错题本:将做错的题目(尤其是操作题)整理下来,分析错误原因,定期回顾,这比盲目地做新题更有效。
冲刺与模拟 (约占总时间的10%)
- 模拟考试:找几套最新的模拟题或未做过的真题,严格按照120分钟的时间进行全真模拟,提前适应考试节奏和时间分配。
- 回归基础:快速回顾教材目录和自己的笔记,检查知识体系是否完整。
- 熟悉环境:考前一定要在VC++ 6.0中练习如何新建工程、添加文件、编译、运行和调试,熟悉快捷键(如F5调试,F9设置断点)。
推荐资源
- 官方教材:《全国计算机等级考试二级教程——C语言程序设计》(高等教育出版社出版)。
- 刷题网站/App:
- 未来教育:非常流行的N备考软件,题库全面,有详细的视频讲解。
- 无忧考吧:也是一个很受欢迎的刷题平台。
- 牛客网:不仅有等级考试题库,还有丰富的编程练习题和社区讨论。
- 视频课程:
- B站:有大量免费的二级C语言备考视频,搜索“NCRE二级C”即可,很多UP主会系统讲解知识点和真题。
- 慕课网、中国大学MOOC:也有系统的C语言入门课程,可以用来打基础。
- 经典书籍:
- 《C Primer Plus》:适合深入理解C语言,内容详尽。
- 《C程序设计语言(K&R)》:C语言“圣经”,适合有一定基础后阅读。
常见问题与注意事项
-
Q: 零基础可以考过吗?
- A: 完全可以,二级C语言并不需要你成为编程高手,它考察的是基础知识的掌握和应用,只要肯花时间,跟着计划学习,通过考试是很有希望的。
-
Q: 指针和结构体是难点,怎么办?
- A: 这是公认的难点,解决方法就是多画图,指针操作时,画出内存地址和变量值的示意图;结构体操作时,画出结构体变量在内存中的布局,反复练习,从简单到复杂,慢慢就会开窍。
-
Q: 考试时时间不够用怎么办?
- A: 一定要合理分配时间,建议顺序:选择题 -> 程序填空 -> 程序改错 -> 程序设计题,如果程序设计题卡住了,可以先做其他题,最后再回来攻克,不要在一道题上死磕太久。
-
Q: 上机考试时,程序编译出错怎么办?
A: 不要慌张,仔细阅读编译器给出的错误信息(error)和警告信息(warning),通常错误信息会指出错误所在的行号,常见的错误包括:拼写错误、缺少分号、括号不匹配、变量未声明等,学会使用调试工具(设置断点、单步执行)是解决逻辑错误的关键。
-
Q: 程序设计题一定要写得很完美才能得分吗?
A: 不一定,考试是按步骤给分的,即使最终结果不对,只要你的算法思路正确、关键代码(如循环、判断)写对了,也能拿到大部分分数,即使时间紧张,也要尽量把核心算法写出来。
祝你备考顺利,一次通过!
