二级C考前指要
全国计算机等级考试
二级 C 语言程序设计
考前指要
黄建 编著
辽宁科技大学成教学院培训部
I
目 录
第 1 部分 二级考试方式及系统环境 .............................................................................................1
1.1 考试方式 ..........................................................................
全国计算机等级考试
二级 C 语言程序设计
考前指要
黄建 编著
辽宁科技大学成教学院培训部
I
目 录
第 1 部分 二级考试方式及系统环境 .............................................................................................1
1.1 考试方式 .................................................................................................................................1
1.2 使用 Visual C++ 6.0.................................................................................................................1
1.2.1 添加项目文件 ...................................................................................................................1
1.2.2 程序的编写、保存与运行 ................................................................................................3
1.2.3 打开或关闭项目文件........................................................................................................4
第 2 部分 C笔试题指要 ..................................................................................................................5
2.1 C语言的结构..........................................................................................................................5
2.1.1 考纲要求...........................................................................................................................5
2.1.2 知识重点...........................................................................................................................5
2.1.3 典型题例...........................................................................................................................5
2.2 数据类型及其运算 .................................................................................................................5
2.2.1 考纲要求...........................................................................................................................5
2.2.2 知识重点...........................................................................................................................6
2.2.3 典型题例...........................................................................................................................6
2.3 基本语句 ................................................................................................................................6
2.3.1 考纲要求...........................................................................................................................6
2.3.2 知识重点...........................................................................................................................6
2.3.3 典型题例...........................................................................................................................7
2.4 选择结构程序设计 .................................................................................................................7
2.4.1 考纲要求...........................................................................................................................7
2.4.2 知识重点...........................................................................................................................7
2.4.3 典型题例...........................................................................................................................7
2.5 循环结构程序设计 .................................................................................................................8
2.5.1 考纲要求...........................................................................................................................8
2.5.2 知识重点...........................................................................................................................8
2.5.3 典型题例...........................................................................................................................8
2.6 数组的定义和引用 .................................................................................................................8
2.6.1 考纲要求...........................................................................................................................8
2.6.2 知识重点...........................................................................................................................8
2.6.3 典型题例...........................................................................................................................9
2.7 函数 ........................................................................................................................................9
2.7.1 考纲要求...........................................................................................................................9
2.7.2 知识重点...........................................................................................................................9
2.7.3 典型题例......................................................................................................................... 10
2.8 编译预处理........................................................................................................................... 10
2.8.1 考纲要求......................................................................................................................... 10
2.8.2 知识重点......................................................................................................................... 10
2.8.3 典型题例......................................................................................................................... 10
2.9 指针 ...................................................................................................................................... 10
2.9.1 考纲要求......................................................................................................................... 10
全国计算机等级考试二级 C语言程序设计考前指要
II
2.9.2 知识重点.........................................................................................................................10
2.9.3 典型题例.........................................................................................................................12
2.10 结构体与共用体..................................................................................................................12
2.10.1 考纲要求 .......................................................................................................................12
2.10.2 知识重点 .......................................................................................................................12
2.10.3 典型题例 .......................................................................................................................13
2.11 位运算.................................................................................................................................13
2.11.1 考纲要求 .......................................................................................................................13
2.11.2 知识重点 .......................................................................................................................13
2.11.3 典型题例 .......................................................................................................................14
2.12 文件.....................................................................................................................................14
2.12.1 考纲要求 .......................................................................................................................14
2.12.2 知识重点 .......................................................................................................................14
2.12.3 典型题例 .......................................................................................................................14
第 3 部分 C上机题例典.................................................................................................................15
3.1 改错题....................................................................................................................................15
3.1.1 改错题注意事项..............................................................................................................15
3.1.2 改错题解题步骤..............................................................................................................15
3.1.3 改错题常见错误..............................................................................................................16
3.2 填空题....................................................................................................................................17
3.2.1 填空题注意事项..............................................................................................................17
3.2.2 填空题解题步骤..............................................................................................................17
3.3 编程题....................................................................................................................................17
3.3.1 编程题注意事项..............................................................................................................17
3.3.2 编程题解题步骤..............................................................................................................17
3.3.3 编程题真题例典..............................................................................................................18
1
第 1部分 二级考试方式及系统环境
1.1 考试方式
全国计算机等级考试(National Computer Rank Examination,NCRE)是由教育部考试中心主
办,用于考查应试人员计算机应用知识与能力的考试。NCRE 每年开考两次,上半年考试时间为 4
月第一个星期六上午(笔试),下半年考试时间为 9 月倒数第二个星期六上午(笔试),上机考试
从笔试的当天下午开始,一般分批进行。上机考试期限为五天,由考点根据考生数量和设备情况
具体安排。
二级 C 语言程序设计考试包括笔试和上机两部分。考试成绩划分为优秀、良好、合格及不合
格四个等级,笔试或上机考试成绩只有一门合格的,下次考试合格的一门可以免考,两部分考试
均合格者,由教育部考试中心颁发统一印制的合格证书。
1.2 使用 Visual C++ 6.0
本节介绍二级 C上机系统环境软件:Microsoft公司的 Visual C++ 6.0。
1.2.1 添加项目文件
以 Windows XP 操作系统的环境为例,选择“开始/程序/Microsoft Visual C++ 6.0/Microsoft
Visual C++ 6.0”命令,进入集成开发环境中后, 屏幕上显示:
全国计算机等级考试二级 C语言程序设计考前指要
2
按照下列步骤,添加 Win32 Console Application 类型的项目。选择菜单中的“File/New”
命令(或按快捷键 Ctrl+N):
在 New 对话框中切换到 Projects 选项卡,选择项目类型 Win32 Console Application,在
Project name 项目名称栏中输入 c1_1,项目存储路径设置为 D:\code\c1_1。如下图所示:
然后选择建立一个空项目,如下图所示:
第 1部分 二级考试方式及系统环境
3
最后完成项目的创建:
1.2.2 程序的编写、保存与运行
按照下列步骤,在 c1_1 项目中添加文件名为 c1_1.c 文件。选择在菜单中的 File/New 命令,
打开 New 对话框(或按快捷键 Ctrl+N),如下图所示:
首先在 New 对话框中选取 C++ Source File,接着将 File 对话框中的文件名设为 c1_1.c,将
Add to project 的复选框勾选并设为 c1_1(默认),最后单击 OK按钮。
添加 c1_1.c 文件后,在 c1_1.c 文件中编写如下程序代码:
#include
void main()
{
printf("一个简单的程序。");
}
如下图所示:
全国计算机等级考试二级 C语言程序设计考前指要
4
选择菜单中 Build/Build c1_1.exe 命令(或按快捷键F7)编译并生成可执行文件。
选择菜单中 Build/Execute c1_1.exe 命令(或按快捷键Ctrl+F5)运行程序并查看结果。
运行结果如下图所示:
1.2.3 打开或关闭项目文件
如果不想继续编辑程序, 在退出之前, 需要关闭项目文件, 选择菜单中 File/Close Workspace
命令。最后选择菜单中 File/Exit 命令退出 Visual C++ 6.0 集成开发环境。
如果想编辑上次保存的项目文件,应该打开项目文件,选择菜单中 File/Open Workspace 命
令,出现 Open Workspace 对话框,如下图所示:
5
第 2部分 C 笔试题指要
笔试是在全国规定的时间进行统考,考试时间 90 分钟,满分 100 分,含公共基础 30 分。出
题形式为:50个选择题,共 60分,前 10题为公共基础,每题 2分,后 40题为 C语言程序设计,
每题 1分。20个填空题,共 40分,每题 2分,其中前5题为公共基础。
2.1 C 语言的结构
2.1.1 考纲要求
² 程序的构成,main 函数和其他函数。
² 头文件,数据说明,函数的开始和结束标志。
² 源程序的书写格式。
² C 语言的风格。
2.1.2 知识重点
1. main()函数在 C 里是一个相当特殊的函数,C 程序总是从它开始运行。main()函数通常没有
返回值,所以在它之前要加上 void 关键字。
2. C 语言注释的方式有两种:(1)"//"记号开始,至该行结束;(2)"/*"与"*/"这两个符号之间
的文字。
3. 定义标识符的规则:以字母或下划线开头,后面跟着字母、下划线或数字的字符序列。
4. 提高可读性的方法:(1)在程序中加上注释;(2)为变量取个有意义的名称;(3)保持每一行只
有一个语句;(4)适当的空行;(5)将程序语句缩排。
2.1.3 典型题例
Ø main()函数的特性
Ø 判断合法的标识符
2.2 数据类型及其运算
2.2.1 考纲要求
² C 的数据类型(基本类型,构造类型,指针类型,空类型)及其定义方法。
² C 运算符的种类、运算优先级和结合性。
² 不同类型数据间的转换与运算。
² C 达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表
达式)和求值规则。
全国计算机等级考试二级 C语言程序设计考前指要
6
2.2.2 知识重点
1. C 的基本数据类型包括整型、实型、字符型和枚举类型,其中实型又分为单精度实型和双精
度实型两类。
2. C 的整型又分为int、short、long、unsigned 等,分别有自己的数据范围。对于有符号的整
型数据来说,最大的正整数加 1等于最小的负整数,称为“数据溢出” 。
3. 整型常量分为十进制常量、八进制常量和十六进制常量三种,C没有二进制常量。
4. 两个整型数据进行算术运算,结果仍然是整数。为了提高运算精度,可以借助于自动类型转
换或者强制类型转换。
5. 自增和自减运算符使程序简洁高效,但在与赋值运算符同时使用时,前、后缀形式有较大的
区别。在前缀形式++a中,C会在获得该操作数的值之前执行增 1操作,然后将其用于表达式
中。在后缀形式 a++中,C在表达式中使用先前的值,再修改操作数。
6. C 在给出逻辑运算值时,以 1代表真,0代表假。但在判断一个量是真还是假时,以 0代表假,
以非 0的数值作为真。
7. 在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运
算符才能求出表达式的值时,才执行该运算符,我们称其为短路逻辑运算符。逻辑与运算,
“全真才真” ;逻辑或运算, “全假才假” 。
8. 运算符优先级按从高到低排列,口诀是:单算关逻条赋逗。运算符的结合方向多数是从左至
右,只有下列三种是从右至左:单目运算符、条件运算符和赋值运算符。
2.2.3 典型题例
Ø 四舍五入问题
Ø 计算“短路”的逻辑表达式
Ø 判断合法的常量
2.3 基本语句
2.3.1 考纲要求
² 表达式语句,空语句,复合语句。
² 数据的输入与输出,输入输出函数的调用。
² 复合语句。
² goto 语句和语句标号的使用。
2.3.2 知识重点
1. C 提供了 5种语句:流程控制语句、函数调用语句、表达式语句、空语句和复合语句。
2. getchar 函数的功能是从键盘缓冲区读取一个字符,在输入时,空格、逗号和回车符等字符
都将作为字符输入,而且只有在用户按下回车键后,读入才开始执行。
3. scanf 中要求给出变量地址,如给出变量名则会出错。如下列语句是是非法的:
scanf("%d", a); //语句非法
应改为下列语句才是合法的:
第 2部分 C笔试题指要
7
scanf("%d", &a);
4. scanf 函数中没有精度控制,如下列语句是非法的,不能用此语句输入小数为 2位的实数。
scanf("%5.2f", &x); //语句非法
5. 在 scanf 函数中,用%c格式输入字符时,空格字符和转义字符都作为有效字符输入。
6. 在使用 scanf 函数输入数据时,遇以下情况时认为该数据结束:(1)遇空格、回车或跳格键;
(2)按指定的宽度结束,如%3d,只取前 3位数字;(3)遇到非法输入,例如:
scanf("%d%c%f", &a, &c, &x);
如果运行时输入 123A4.5<回车>,则相当于执行 a = 123,c = 'A',x = 4.5。格式说明%d 输
入 123 之后遇到字母 A,认为该数据结束。
2.3.3 典型题例
Ø 输入输出格式控制
2.4 选择结构程序设计
2.4.1 考纲要求
² 用 if 语句实现选择结构。
² 用 switch 语句实现多分支选择结构。
² 选择结构的嵌套。
2.4.2 知识重点
1. else 总是与它前面最靠近的尚未配对的 if配对使用。
2. 在使用 switch语句时还应注意以下几点:(1)在 case 后的各常量表达式的值不能相同,否则
会出现错误;(2)在 switch 后的数据类型不能是 float或 double 类型;(3)在 case 后,允许
有多个语句,可以不用{}括起来;(4)各 case 和 default 子句的先后顺序可以变动,而不会
影响程序执行结果;(5)default 子句是可选项,可以省略不用;(6)“case 常量表达式”只
是起语句标号作用,并不在此处进行条件判断,不能写诸如 a>3 之类的表达式;(7)case 与
常量表达式之间一定要加空格;(8)有些时候,我们要求执行完 case 后面的语句之后,不再
顺序执行,直接退出 switch,可以使用 break 语句。
2.4.3 典型题例
Ø 学生成绩问题
Ø 闰年问题
Ø 三个数按从小到大排序
全国计算机等级考试二级 C语言程序设计考前指要
8
2.5 循环结构程序设计
2.5.1 考纲要求
² for 循环结构。
² while 和 do-while 循环结构。
² continue 语句和 break 语句。
² 循环的嵌套。
2.5.2 知识重点
1. 需要重复执行某项操作时,我们可以根据程序的需要与习惯,选择使用 C提供的 while、for
和 do-while 循环语句。我们称 while 循环和 for 循环为“当型”循环,即当条件为真时执行
循环,循环体执行次数大于或等于 0。而 do-while 循环是先执行循环体,后判断条件表达式,
循环体至少执行 1次。我们称 do-while循环为“直到型”循环,即重复执行循环体,直到条
件为假时才退出循环,循环体执行次数大于或等于 1。
2. break 语句可以让程序强迫跳离循环,到循环外的下一条语句执行。如果 break 出现在嵌套
的循环中的内层循环,则只会跳出内层循环。
3. continue 语句强迫程序跳过循环体的剩余部分,转到循环的开始处,重新判断循环表达式。
2.5.3 典型题例
Ø 水仙花数
Ø 完数
Ø 回文数
Ø Fibonacci 数列
Ø 计算 x的 y次方的后 3位数字
Ø 多项式求和:求圆周率
Ø 素数问题
Ø 最大公约数和最小公倍数
Ø 乘法九九表
Ø 打印菱形
2.6 数组的定义和引用
2.6.1 考纲要求
² 一维数组和多维数组的定义、初始化和引用
² 字符串与字符数组。
2.6.2 知识重点
1. 数组元素的下标是从 0到数组元素个数-1。
第 2部分 C笔试题指要
9
2. 如果定义数组而不提供初始值,数组的所有元素的值都是不确定的。如果进行了初始化,将
自动对没有赋值的元素赋值为 0。
3. 二维数组是按行存放的,即:首先存放第 0行,然后是第 1行,依此类推。
4. sizeof 是 C提供的运算符,用于计算数据所占字节数。
5. strlen 函数计算字符串长度,不包括结束字符'\0'。
2.6.3 典型题例
Ø 整型数组倒置
Ø 在数组中求极值
Ø 用数组求 Fibonacci 数列
Ø 杨辉三角
Ø 筛选法求素数
Ø 折半查找
Ø 排序问题
Ø 魔术方阵
Ø 字符串中大小写字符转换
Ø 常用字符串函数的应用
2.7 函数
2.7.1 考纲要求
² 库函数的正确调用。
² 函数的定义方法。
² 函数的类型和返回值。
² 形式参数与实在参数,参数值的传递。
² 函数的正确调用,嵌套调用,递归调用。
² 局部变量和全局变量。
² 变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。
² 内部函数与外部函数。
2.7.2 知识重点
1. 函数形参列表中,各个参数前面的数据类型不能省略。
2. C 函数调用时,参数传递的原则是“单向值传递” 。
3. 在函数(或复合语句)内部定义的变量以及函数的形参都称为局部变量,局部变量的作用域
仅限于函数(或复合语句)内部。当局部变量与全局变量“重名”时,优先使用局部变量(无
法使用全局变量) 。
4. 函数类型指的是函数返回值的类型, 如果省略, 缺省是 int 类型。 无返回值函数为 void类型。
有返回值的函数必须以带表达式的 return 语句结束,该表达式的值即为此函数的返回值。无
返回值的函数既可以使用不带表达式的 return 语句结束,也可以不使用 return 语句,让函
全国计算机等级考试二级 C语言程序设计考前指要
10
数执行完毕后自动结束。
2.7.3 典型题例
Ø 求二维数组主对角线元素之和,通过函数值返回
Ø 用函数递归计算整数的阶乘
Ø static 静态变量的作用域和生存期。
2.8 编译预处理
2.8.1 考纲要求
² 宏定义:不带参数的宏定义;带参数的宏定义。
² “文件包含”处理。
2.8.2 知识重点
1. 宏定义是编译预处理方式中的一种。 在 C语言源程序中允许用一个标识符来表示一个字符串,
称为“宏” 。C用#define 命令实现宏定义。
2. “文件包含”是指一个源文件可以将另外一个指定的源文件的全部内容包含进来,即把另外
的文件包含到本文件之中。C用#include 命令来实现“文件包含”的操作。
2.8.3 典型题例
Ø 带参数的宏与函数的异同
Ø 宏展开
2.9 指针
2.9.1 考纲要求
² 指针与指针变量的概念,指针与地址运算符。
² 变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的
指针变量。通过指针引用以上各类型数据。
² 用指针作函数参数。
² 返回指针值的指针函数。
² 指针数组,指向指针的指针,main 函数的命令行参数。
2.9.2 知识重点
1. 指针就是地址。
2. “&”是取地址运算符,作用是取得变量所占用的存储单元的首地址。 “*”是取值运算符,作
用是通过指针变量来间接访问它所指向变量的值。
3. 数组与指针:数组元素是类型相同、连续存放;数组名是地址;数组名是常量。
第 2部分 C笔试题指要
11
4. 指针与自增运算符
void main()
{
int a[2] = {1, 3}, *p, k;
p = a;
k = *p; //本行有 8种变化,参见下表
printf("k = %d, *p = %d, a[0] = %d, a[1] = %d", k, *p, a[0], a[1]);
}
结果:k = 1, *p = 1, a[0] = 1, a[1] = 3
把上面程序中的 k = *p;分别改为下表中的 8种形式,执行过程见下表:
形式 表达式 执行过程 k *p a[0] a[1]
1 k = *p++ k = *p, p++ 1 3 1 3
2 k = *++p ++p, k = *p 3 3 1 3
3 k = (*p)++ k = *p, (*p)++ 1 2 2 3
4 k = ++(*p) ++(*p), k = *p 2 2 2 3
5 k = ++(*p++) ++(*p), k = *p, p++ 2 3 2 3
6 k = (*++p)++ ++p, k = *p, (*p)++ 3 4 1 4
7 k = ++(*++p) ++p, ++(*p), k = *p 4 4 1 4
8 k = (*p++)++ k = *p, (*p)++, p++ 1 3 2 3
5. C 函数参数传递的原则是“单向值传递” ,即使把指针作为函数参数传递,也没有改变值传递
这个事实。但此时由于形参复制的是一个地址,当通过间接访问改变了这个地址所指的变量
时,实参所指的变量自然也被改变了。
6. 数组名作为函数参数传递时,形参数组没有另外开辟空间,而是与实参数组共用了同一段内
存区域。改变形参数组元素的值,就是在改变实参数组的元素。
7. 关于二维数组地址与值的四项基本原则:(1)对二维数组两次取值是数组,其他情况是地址;
(2)“*”等价于“[]”,都表示取值;(3)对二维数组一次取值之前加行,一次取值之后加列;
(4)“*”与二维数组名紧密相邻,表示第 0行。
8. 在下面的程序中,指针数组 w、指向一维数组的指针 t和二级指针 v都可以视为二维数组。
#include
void main()
{
int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int i, k, *w[3], (*t)[4], **v;
for(i = 0; i < 3; i++)
w[i] = a[i];
t = a;
v = w;
for(i = 0; i < 3; i++)
{
for(k = 0; k < 4; k++)
printf("%3d,", a[i][k]); //本行的 a可以换成 w、t或 v
printf("\n");
全国计算机等级考试二级 C语言程序设计考前指要
12
}
}
9. 各种指针对照表
定义形式 占字节数 p++跳过字节 说 明
int *p; 4 4 p 为指向整型数据的指针变量
char *p; 4 1
double *p; 4 8
int *p[4]; 16 禁止 p是指针数组,包括 4个指针变量
char *p[4]; 16 禁止
double *p[4]; 16 禁止
int (*p)[3]; 4 12 p 是指向含 3个元素的一维数组的指针变量
char (*p)[3]; 4 3
double (*p)[3]; 4 24
int **p; 4 4 p 是二级指针变量
char **p; 4 4
double **p; 4 4
int (*p)(); 4 无意义 p是指向函数的指针,该函数返回一个整数
char (*p)(); 4 无意义
double (*p)(); 4 无意义
int *p(); 函数定义形式,p是返回整型指针的函数
2.9.3 典型题例
Ø 调用函数交换两个变量的值
Ø 调用函数,返回两个整数的和与乘积
Ø 通过指针引用数组元素
Ø 不使用库函数,实现常用字符串函数的功能
Ø 字符数组与指向字符的指针的区别与联系
2.10 结构体与共用体
2.10.1 考纲要求
² 结构体和共用体类型数据的定义方法和引用方法。
² 用指针和结构体构成链表,单向链表的建立、输出、删除与插入。
2.10.2 知识重点
1. 结构体是由不同数据类型的多个变量组合而成的数据类型。
2. 共用体是使几个不同的变量共占同一段内存的结构。当改变共用体变量的一个成员时,其所
有的成员都会被改变。
第 2部分 C笔试题指要
13
3. 链表是一种线性的数据结构,类似于一维数组。区别在于:数组的元素在内存中是按顺序连
续存放的,而链表的元素(结点)在内存中既不按顺序也不连续。链表的结点一般是一个结
构体,其中至少应有一个成员用来保存下一个结点的地址。
4. 链表与数组相比的优点:在不改变元素顺序的前提下,插入或删除一个元素时,数组须移动
后面的所有元素;而链表则不用。缺点是:链表访问某个元素须从表头开始,通过指针一个
结点一个结点地访问;数组则可以通过下标直接访问。
5. C 允许用户自定义类型,使用 typedef 可以为已经存在的数据类型另外起一个类型名。用户
自定义类型没有产生新的类型,只是为现有的类型起了一个别名。
2.10.3 典型题例
Ø 链表的建立、访问、插入和删除
Ø 在结构体数组中求极值
2.11 位运算
2.11.1 考纲要求
² 位运算符的含义及使用。
² 简单的位运算。
2.11.2 知识重点
1. C 的 6个位运算符
运算符 结果 功 能
& 位与 全 1才 1;和 0与置 0,和 1与不变
| 位或 全 0才 0;和 1或置 1,和 0或不变
^ 位异或 相同为 0,不同为 1;和 1异或取反,和 0异或不变
~ 按位取反 0变成 1,1变成 0
<< 位左移 左边移出,右边补0
>> 位右移 无符号数左边补 0,有符号数左边补符号位;右边移出
2. 运算符优先级
C语言常用运算符的优先级,口诀是: “单算关逻条赋逗” ;
现在加入位运算符,完整口诀是: “单算移关与,异或逻条赋” 。其中:
“单”表示单目运算符:逻辑非(!),按位取反(~),自增(++),自减(--),取地址(&),取值(*);
“算”表示算术运算符:其中乘、除和求余(*,/,%)运算级别高于加减(+,-);
“移”表示按位左移(<<)和位右移(>>);
“关”表示关系运算符:其中大小关系(>,>=,<,<=)运算级别高于相等不相等关系(==,!=);
“与”表示按位与(&);
“异”表示按位异或(^);
“或”表示按位或(|);
全国计算机等级考试二级 C语言程序设计考前指要
14
“逻”表示逻辑运算符:逻辑与(&&)运算级别高于逻辑或(||);
“条”表示条件运算符(? :);
“赋”表示赋值运算符(=,+=,-=,*=,/=,%=,>>=,<<=,&=,^=,|=,!=);
另,逗号运算符(,)运算级别最低,没有在口诀中表述,需另加记忆。
注意:口诀中的“逻”表示逻辑运算符:逻辑与(&&)、逻辑或(||);不要把它们和位与(&)、
位或(|)运算符混淆。
2.11.3 典型题例
Ø 简单的位运算
2.12 文件
2.12.1 考纲要求
² 只要求缓冲文件系统 (即高级磁盘 I/O 系统), 对非缓冲文件系统 (即低级磁盘 I/O 系统)
不要求。
² 文件类型指针(FILE 类型指针)。
² 文件的打开与关闭(fopen,fclose)。
² 文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf 函数),文
件的定位(rewind,fseek 函数)。
2.12.2 知识重点
1. C 通过文件指针对它所指的文件进行各种操作。
2. 当通过 fopen 函数打开文件失败时,函数返回值为 NULL,例如:
if((fp = fopen("d:\\abc.txt", "rt")) == NULL) printf("打开文件失败!\n");
3. 函数 rewind(fp)的功能与 fseek(fp, 0, SEEK_SET)等价。
4. feof 函数判断文件指针是否到达文件结尾,如果到达文件结尾返回 EOF(-1),否则返回 0。
2.12.3 典型题例
Ø 拷贝文件、显示文件
15
第 3部分 C 上机题例典
上机考试是由上机考试系统在 Windows 和 Visval C++ 6.0 环境下进行分时分批考试,考试时
间 90分钟,满分 100分。
出题形式为:
1道改错题,30分,2~3个错,程序名:Modi1.c;
1 道填空题,30分,3个空,程序名:Blank1.c;
1 道编程题,40分,1个编程,程序名:Prog1.c。
考试大纲对 C语言程序设计的基本要求如下:
² 熟悉 Visual C++ 6.0集成环境。
² 熟练掌握结构化程序设计的方法,具有良好的程序设计风格。
² 掌握程序设计中简单的数据结构和算法。
² 在 Visual C++ 6.0 的集成环境下,能够编写简单的 C程序,并具有基本的纠错和调试程
序的能力。
3.1 改错题
3.1.1 改错题注意事项
1. 上机改错的试题中通常包含两个(或三个)错误需要修改。
2. 试题中用"******found******/"来提示在下一行(或下面第二行)有错。
3. 错误的性质基本分语法错误和逻辑错误两种,也有些试题要求把语句添加在下划线处。
4. 特别要注意的是:只能在出错的行上进行修改,不要改动程序行的顺序,更不要自己另编程
序。一般来说,改动的地方很小,切忌打破原程序结构,特别不要增删语句(题目中明确指
出要增删语句的除外)。
3.1.2
本文档为【二级C考前指要】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。