第1部分 笔试考点,精讲精解 5
第1章 C语言概述 5
1.1 C语言基础知识 5
考点1 C语言概述 5
考点2 C程序的构成 5
考点3 C程序的生成过程 5
1.2 常量、变量和数据类型 6
考点4 标识符 6
考点5 常量 6
考点6 变量 7
1.3 经典题解 9
1.4 综合自测 10
1.5 章节回顾 12
第2章 运算符与表达式 15
2.1 C语言运算符 15
考点1 C运算符简介 15
考点2 运算符的结合性和优先级 15
考点3 强制类型转换运算符 15
考点4 逗号运算符和逗号表达式 15
2.2 算术运算符和算术表达式 16
考点5 基本的算术运算符 16
考点6 算术表达式和运算符的优先级与结合性 16
考点7 自加自减运算符 16
2.3 赋值运算符和赋值表达式 17
考点8 赋值运算符和赋值表达式 17
考点9 复合的赋值运算符 17
考点10 赋值运算中的类型转换 17
2.4 位运算 18
考点11 位运算符和位运算 18
2.5 经典题解 19
2.6 综合自测 22
2.7 章节回顾 24
第3章 基本语句 27
3.1 C语句概述 27
考点1 C语句分类 27
3.2 赋值语句与输入输出 27
考点2 字符输出函数putchar() 28
考点3 字符输入函数getchar() 28
考点4 格式输出函数printf() 28
考点5 scanf()函数 29
3.3 经典题解 31
3.4 综合自测 32
3.5 章节回顾 34
第4章 选择结构 37
4.1 关系运算符和关系表达式 37
考点1 关系运算符及其优先级 37
考点2 关系表达式 37
4.2 逻辑运算符和逻辑表达式 37
考点3 逻辑运算符及其优先级 37
考点4 逻辑表达式 38
4.3 if语句和用if语句构成的选择结构 38
考点5 if语句的几种形式 38
考点6 if语句的嵌套 39
考点7 条件运算符构成的选择结构 39
4.4 switch语句和goto语句 40
考点8 switch语句 40
考点9 语句标号 40
考点10 goto语句 40
4.5 经典题解 41
4.6 综合自测 45
4.7 章节回顾 48
第5章 循环结构 51
5.1 while语句 51
考点1 while语句 51
5.2 do…while语句 51
考点2 do…while语句 51
5.3 for语句 52
考点3 for语句 52
5 4 循环的嵌套 53
考点4 循环的嵌套 53
5.5 几种循环的比较 53
考点5 循环的比较 53
5.6 break语句和continue语句 54
考点6 break语句 54
考点7 continue语句 54
5.7 经典题解 55
5.8 综合自测 62
5.9 章节回顾 66
第6章 数组 69
6.1 一维数组的定义和引用 69
考点1 一维数组的定义及其元素的引用 69
考点2 一维数组的初始化 69
6.2 二维数组的定义和引用 70
考点3 二维数组的定义及其元素的引用 70
考点4 二维数组的初始化 70
考点5 通过赋初值定义二维数组的大小 71
6.3 字符数组 71
考点6 字符数组的定义及其初始化和引用 71
考点7 字符串和字符串结束标志 72
考点8 字符数组的输入输出 72
考点9 字符串处理函数 72
6.4 经典题解 74
6.5 综合自测 77
6.6 章节回顾 82
第7章 函数 85
7.1 库函数 85
考点1 库函数 85
7.2 函数定义的一般形式 85
考点2 函数的定义 85
7.3 函数参数和函数返回值 86
考点3 函数参数以及函数的返回值 86
7.4 函数的调用 87
考点4 函数调用的一般形式和调用方式 87
考点5 函数的说明及其位置 87
7.5 函数的嵌套调用与递归调用 88
考点6 函数的嵌套调用 88
考点7 函数的递归调用 88
7.6 全局变量和局部变量 89
考点8 局部变量 89
考点9 全局变量 89
7.7 变量的存储类别 89
考点10 auto变量 90
考点11 register变量 90
考点12 静态存储类别的局部变量 90
考点13 用static声明局部变量 91
考点14 用extern声明外部变量 91
7.8 内部函数和外部函数 92
考点15 内部函数 92
考点16 外部函数 92
7.9 经典题解 93
7.10 综合自测 99
7.11 章节回顾 104
第8章 指针 107
8.1 关于地址和指针 107
8.2 变量的指针和指向变量的指针变量 108
考点1 指针变量的定义和引用 108
考点2 指针变量作为函数参数 108
8.3 数组与指针 109
考点3 指向数组元素的指针以及通过指针引用数组元素 109
考点4 用数组名作为函数参数 109
考点5 指向多维数组的指针和指针变量 110
8.4 字符串与指针 110
考点6 字符串及字符指针 110
考点7 字符指针变量和字符数组的区别 111
8.5 指向函数的指针及返回指针值的函数 112
考点8 用函数指针变量调用函数 112
考点9 返回指针值的函数 112
8.6 指针数组和指向指针的指针 113
考点10 指针数组及指向指针的指针 113
8.7 经典题解 114
8.8 综合自测 120
8.9 章节回顾 124
第9章 编译预处理和动态存储分配 127
9.1 宏定义 127
考点1 不带参数的宏定义 127
考点2 带参数的宏定义 127
9.2 文件包含 128
考点3 文件包含 128
9.3 关于动态存储的函数 128
考点4 malloc()函数 129
考点5 calloc()函数 129
考点6 free()函数 129
9.4 经典题解 130
9.5 综合自测 134
9.6 章节回顾 138
第10章 结构体和共用体 141
10.1 用typedef说明一种新类型名 141
考点1 用typedef说明一种新类型名 141
10.2 结构体类型,结构体变量的定义和引用 141
考点2 结构体类型的变量、数组和指针变量的定义 141
10.3 指向结构体类型数据的指针 142
考点3 指向结构体变量的指针 142
考点4 指向结构体数组的指针 143
10.4 链表 144
考点5 链表 144
考点6 建立单向链表 145
考点7 顺序访问链表中各节点的数据域 145
考点8 在链表中插入和删除节点 146
10.5 共用体 146
考点9 共用体类型的说明和变量定义 147
考点10 共用体变量中成员的引用 147
10.6 经典题解 148
10.7 综合自测 151
10.8 章节回顾 156
第11章 文件 159
11.1 C语言文件的概念 159
考点1 文件的概念和文件指针 159
11.2 文件的打开与关闭 160
考点2 fopen()函数和fclose()函数 160
11.3 文件的读写 161
考点3 fputc()函数和fgetc()函数 161
考点4 fread()函数和fwrite()函数 161
考点5 fscanf()函数和fprintf()函数 162
考点6 fgets()函数和fputs()函数 162
11.4 文件的定位 162
考点7 rewind()函数 162
考点8 fseek()函数和随机读写 163
考点9 ftell()函数 163
考点10 传给main()函数的参数 163
11.5 经典题解 164
11.6 综合自测 167
11.7 章节回顾 170
第2部分 上机试题,分类讲解 174
第12章 Visual C++ 6.0使用指南 174
12.1 集成开发环境介绍 174
12.2 修改已有的源程序 174
12.3 编译、连接信息的处理 176
第13章 上机考点详解 178
考点1 数的转换与计算 178
考点2 数列与级数和 178
考点3 排序 179
考点4 字符串运算 180
考点5 矩阵运算 181
考点6 指针处理 182
考点7 数组运算 183
考点8 链表结构 184
第3部分 上机笔试,全真模拟 190
第14章 全真模拟试题 190
14.1 上机考试试题(1) 190
14.2 上机考试试题(2) 192
14.3 笔试全真模拟试题(1) 195
14.4 笔试全真模拟试题(2) 202
14.5 参考答案及解析 209
附录 216
附录A 全国计算机等级考试二级C考试大纲(2007年版) 216
附录B 2007年9月笔试试卷、参考答案及解析 219