计算机二级C语言考试采用无纸化上机考试的形式,满分为100分,总分达到60分及以上即为合格,考试时间通常为120分钟。 主要分为两大模块:公共基础知识和C语言程序设计。

(图片来源网络,侵删)
第一部分:公共基础知识 (约占20分)
是所有二级科目(C、C++、Java、Python等)共通的,主要考察计算机科学的基础概念,这部分题目通常以选择题的形式出现。
-
数据结构与算法
- 基本概念:算法的定义、特征(有穷性、确定性、可行性、输入、输出)和复杂度(时间复杂度、空间复杂度)。
- 数据结构:数据结构的定义,逻辑结构(线性结构、非线性结构)和物理结构(顺序存储、链式存储)。
- 线性表:线性表的顺序存储结构(数组)和链式存储结构(单链表、双链表)的定义、特点和基本操作(插入、删除、查找)。
- 栈和队列:栈的定义、特点(后进先出 LIFO)和基本操作;队列的定义、特点(先进先出 FIFO)和基本操作。
- 树与二叉树:
- 树的基本概念(根、节点、度、深度)。
- 二叉树的定义、性质和存储结构。
- 二叉树的遍历(前序、中序、后序、层序遍历)。
- 查找二叉树(二叉排序树)的基本概念。
- 排序:
- 排序的基本概念。
- 几种常见排序算法的基本思想、过程和比较(插入排序、选择排序、冒泡排序、快速排序、归并排序等)。
-
程序设计基础
- 程序设计风格。
- 结构化程序设计原则(自顶向下、逐步求精、模块化)。
- 面向对象程序设计的基本概念(对象、类、继承、多态)。
-
软件工程基础
(图片来源网络,侵删)- 软件工程概念、软件生命周期(需求分析、设计、编码、测试、维护)。
- 软件开发工具与环境。
- 结构化分析方法(数据流图 DFD、数据字典)。
- 软件测试方法(白盒测试、黑盒测试)。
-
数据库设计基础
- 数据库的基本概念(数据库、数据库管理系统、数据库系统)。
- 数据模型(E-R模型、关系模型)。
- 关系运算(选择、投影、连接)。
- 数据库规范化理论(第一范式 1NF、第二范式 2NF、第三范式 3NF)。
第二部分:C语言程序设计 (约占80分)
这是考试的核心部分,全部在上机环境中进行,包括操作题和编程题。
C语言的基本概念 (选择题和填空题)
- C语言的特点、程序结构(主函数
main()、预处理命令、函数定义、变量声明等)。 - 标识符、关键字、常量和变量(整型、实型、字符型)。
- 数据类型:基本数据类型(
int,float,double,char)、构造数据类型(数组、结构体、共用体)、指针类型。 - 运算符与表达式:
- 算术运算符(, , , , )、赋值运算符()、复合赋值运算符(, 等)。
- 关系运算符(
>,<,>=,<=, , )、逻辑运算符(&&, , )。 - 条件运算符()、逗号运算符、指针运算符(
&, )、 sizeof 运算符。 - 不同类型数据间的转换与混合运算。
- 表达式的求值规则与结合性。
基本语句 (操作题和编程题)
- 表达式语句:由一个表达式加一个分号构成。
- 空语句:只有一个分号 。
- 复合语句:用 括起来的一组语句。
- 输入输出函数:
printf()函数的格式控制(%d,%f,%c,%s,%lf,%p等)。scanf()函数的格式控制和注意事项(地址列表)。getchar(),putchar(),gets(),puts()等字符/字符串输入输出函数。
选择结构程序设计 (操作题和编程题)
if语句的三种形式(单分支、双分支、多分支if-else if-else)。switch语句的结构和执行流程(注意break的作用)。- 选择结构的嵌套。
循环结构程序设计 (操作题和编程题)
for循环的结构和执行流程。while循环(当型循环)。 *.do-while循环(直到型循环)。break和continue语句在循环中的作用。- 循环的嵌套(如打印九九乘法表、图形等)。
数组的定义和引用 (操作题和编程题)
- 一维数组:定义、初始化、元素引用(
a[i])。 - 二维数组:定义、初始化、元素引用(
a[i][j])。 - 字符数组:
- 定义和初始化。
- 字符串的表示(以
'\0'。 - 字符串处理函数:
strlen(),strcpy(),strcat(),strcmp(),strncpy()等(需要知道其功能和用法)。
函数 (操作题和编程题)
- 函数的定义(函数头、函数体)。
- 函数的参数(形式参数、实际参数)和返回值。 *. 函数的调用(传值调用、传址调用)。
- 函数的声明。
- 函数的嵌套调用和递归调用(理解递归思想,能编写简单的递归函数,如求阶乘、斐波那契数列)。
- 变量的作用域(局部变量、全局变量)和存储类别(
auto,static,extern,register)。
指针 (操作题和编程题)
- 指针的基本概念:指针变量、指针的运算(
&取地址, 取内容, 指针的加减)。 - 指针与变量:指向普通变量的指针。
- 指针与数组:
- 指向一维数组元素的指针(
p = &a[0]或p = a)。 - 通过指针遍历数组。
- 指针作为函数参数,实现数组元素的修改。
- 指向一维数组元素的指针(
- 指针与字符串:指向字符串的指针(字符指针)。
- 指针数组:一个数组,其元素都是指针。
- 多级指针(二级指针)的基本概念。
结构体与共用体 (操作题和编程题)
- 结构体:
- 结构体类型的定义(
struct)。 - 结构体变量的定义、初始化和成员引用( 运算符)。
- 结构体数组。
- 指向结构体变量的指针(
->运算符)。
- 结构体类型的定义(
- 共用体:
- 共用体类型的定义(
union)。 - 共用体变量的定义和成员引用。
- 理解结构体和共用体在内存存储上的区别(结构体各成员独立存储,共用体所有成员共享同一段内存)。
- 共用体类型的定义(
文件操作 (操作题和编程题)
- 文件指针的概念(
FILE *)。 - 文件的打开(
fopen())和关闭(fclose())。 - 文件的读写:
- 字符读写:
fgetc(),fputc()。 - 字符串读写:
fgets(),fputs()。 - 格式化读写:
fscanf(),fprintf()。 - 数据块读写:
fread(),fwrite()。
- 字符读写:
- 文件定位函数:
rewind(),fseek(),ftell()。
考试题型与分值分布
| 题型 | 题量 | 分值 | |
|---|---|---|---|
| 选择题 | 10题 | 20分 | 公共基础知识 |
| 基本操作题 | 1题 | 18分 | C语言基础知识、函数、数组、指针等 |
| 简单应用题 | 1题 | 24分 | 较复杂的算法实现,如排序、查找、字符串处理等 |
| 综合应用题 | 1题 | 18分 | 综合运用C语言知识解决复杂问题,通常涉及文件、结构体、指针等 |
备考建议
- 基础为王:公共基础知识虽然占分不高,但选择题必考,必须掌握核心概念。
- 动手编程:C语言是实践性极强的学科,光看不练是假把式,一定要多在电脑上敲代码,运行、调试。
- 掌握核心:指针、数组、函数、结构体是C语言的灵魂,也是考试的重中之重,必须彻底搞懂。
- 熟悉上机环境:提前熟悉考试的上机系统(如全国计算机等级考试模拟软件),了解操作流程和答题方式。
- 真题演练:找近几年的考试真题进行练习,这是把握考试难度和重点最有效的方法。
- 学会调试:程序出错是常态,学会使用编译器的调试功能(如设置断点、单步执行、查看变量值)来定位和修复错误,这比单纯背语法重要得多。
祝你考试顺利!
