模块1 程序数据基础知识 3
1 C程序设计基础知识 3
【能力训练】 3
任务1 C程序设计环境操作训练 3
【必备知识】 5
1.1 程序设计语言 6
1.1.1 程序设计与程序设计语言 6
1.1.2 C程序的基本结构及特点 9
1.2 程序设计方法 14
1.2.1 程序设计的一般过程 14
1.2.2 数据结构与算法描述 16
1.2.3 结构化程序设计思想 21
1.3 C语言程序开发环境 23
1.3.1 C语言程序的开发过程 23
1.3.2 C语言程序的集成开发环境 25
【操作小结】 28
【课外习题】 29
2 数据类型与基本操作 32
【能力训练】 32
任务2 基本数据类型与操作训练 32
【必备知识】 35
2.1 C语言的基本语法组成 36
2.1.1 基本字符集 36
2.1.2 标识符 36
2.1.3 关键字 37
2.1.4 语句 37
2.1.5 标准库函数 38
2.2 C语言的数据类型 38
2.3 常量与变量 39
2.3.1 常量及符号常量的定义 39
2.3.2 变量及变量的初始化 44
2.4 基本数据类型及机内表示 48
2.4.1 整型数据及机内表示 50
2.4.2 实型数据及机内表示 52
2.4.3 字符型数据及机内表示 54
2.5 数据处理过程中的基本操作 55
2.5.1 数据处理基本操作概述 56
2.5.2 算术运算符及算术表达式 57
2.5.3 关系、逻辑运算符及表达式 60
2.5.4 条件运算符及条件表达式 62
2.5.5 赋值运算符、赋值表达式 63
2.5.6 特殊运算符及表达式 64
2.5.7 位运算符及表达式 67
2.5.8 数据输入和输出的基本方法 70
2.5.9 数据的文件组织方法 70
2.6 基本运算规则 71
2.6.1 运算优先级规则 71
2.6.2 运算结合性规则 72
2.6.3 数据类型转换 72
【操作小结】 74
【课外习题】 75
模块1总结 80
【模块1小结】 80
【模块1训练】系统数据分析 81
模块2 程序流程控制基础 84
3 顺序结构程序设计 84
【能力训练】 84
任务3 顺序结构程序设计训练 84
【必备知识】 86
3.1 C语句概述 87
3.1.1 控制语句 87
3.1.2 函数调用语句 88
3.1.3 表达式语句 88
3.1.4 复合语句 88
3.1.5 空语句 89
3.2 数据的输出 89
3.2.1 格式输出函数printf 89
3.2.2 字符输出函数putchar 92
3.3 数据的输入 93
3.3.1 格式输入函数scanf 93
3.3.2 键盘输入函数getchar 98
3.4 顺序结构程序设计举例 99
4 选择结构程序设计 104
【能力训练】 104
任务4 选择结构程序设计训练 104
【必备知识】 109
4.1 if语句 110
4.1.1 if基本形式 110
4.1.2 if-else形式 112
4.1.3 if-else-if形式 114
4.2 if语句的嵌套 116
4.3 switch语句 119
4.4 选择结构程序设计举例 123
【操作小结】 129
【课外习题】 130
5 循环结构程序设计 133
【能力训练】 133
任务5 循环结构程序设计训练 133
【必备知识】 137
5.1 while语句 138
5.2 do-while语句 139
5.3 for语句 141
5.3.1 for语句的一般形式 141
5.3.2 for语句使用注意事项 143
5.4 循环的嵌套 145
5.5 break语句和continue语句 146
5.5.1 break语句 147
5.5.2 continue语句 148
5.6 循环结构程序设计举例 149
【操作小结】 155
【课外习题】 156
6 数组 159
【能力训练】 159
任务6 数组训练 159
【必备知识】 160
6.1 一维数组 161
6.1.1 一维数组的定义 161
6.1.2 一维数组的引用 162
6.1.3 一维数组的应用 163
6.2 二维数组 166
6.2.1 二维数组的定义 166
6.2.2 二维数组的引用 168
6.2.3 二维数组的应用 169
6.3 字符数组 172
6.3.1 字符串与字符数组的定义 172
6.3.2 字符串与字符数组的应用 175
6.3.3 字符串函数及应用 176
【操作小结】 182
【课外习题】 182
7 函数 186
【能力训练】 186
任务7 学生成绩管理系统设计 186
【必备知识】 187
7.1 函数的定义与调用 188
7.1.1 模块化程序设计与函数定义 188
7.1.2 函数调用与参数传递 192
7.1.3 函数定义与调用常见错误 197
7.2 函数的嵌套调用和递归调用 197
7.2.1 函数的嵌套调用 197
7.2.2 函数的递归调用 199
7.3 内部变量与外部变量 200
7.3.1 内部变量 200
7.3.2 外部变量 201
7.4 内部函数与外部函数 203
7.4.1 内部函数 203
7.4.2 外部函数 203
7.4.3 多个源程序文件的编译和连接 204
7.5 编译预处理 205
7.5.1 宏定义与符号常量 205
7.5.2 文件包含 207
7.5.3 条件编译 208
7.6 模块化程序设计举例 209
【操作小结】 214
【课外习题】 215
模块2总结 218
【模块2小结】 218
【模块2训练】系统模块设计 219
模块3 实用数据处理方法 222
8 指针 222
【能力训练】 222
任务8 指针数据类型应用操作训练 222
【必备知识】 223
8.1 变量的指针 223
8.1.1 指针变量的定义 224
8.1.2 指针变量的引用 226
8.1.3 指针变量作函数参数 228
8.2 数组的指针 229
8.2.1 一维数组的指针 229
8.2.2 二维数组的指针 233
8.2.3 数组名和指针变量作函数参数 235
8.3 字符串的指针 238
8.4 函数的指针 240
8.4.1 指向函数的指针 240
8.4.2 返回指针值的函数 242
8.5 指针数组和多级指针 243
8.5.1 指针数组 243
8.5.2 多级指针 245
8.6 指针的应用举例 247
【操作小结】 251
【课外习题】 252
9 构造数据类型 256
【能力训练】 256
任务9.1 结构体数据类型训练 256
任务9.2 链表基本操作训练 257
任务9.3 枚举数据类型训练 259
【必备知识】 261
9.1 结构体类型 261
9.1.1 结构体类型的声明 262
9.1.2 结构体变量的定义 262
9.1.3 结构体变量的引用 264
9.1.4 结构体变量的初始化 265
9.2 结构体数组与结构体指针 266
9.2.1 结构体数组 266
9.2.2 结构体指针 269
9.3 用结构体指针处理链表 276
9.3.1 链表的概念 277
9.3.2 动态内存分配 280
9.3.3 链表的基本操作 280
9.4 枚举类型 295
9.4.1 枚举类型的概念 296
9.4.2 枚举类型应用举例 297
【操作小结】 298
【课外习题】 299
10 C语言文件操作 303
【能力训练】 303
【必备知识】 305
10.1 C语言文件概述 306
10.1.1 C语言文件及其分类 306
10.1.2 C语言文件的操作步骤 307
10.1.3 C语言文件的操作控制 308
10.2 缓冲文件的打开与关闭 310
10.2.1 缓冲文件的打开 310
10.2.2 缓冲文件的关闭 311
10.3 缓冲文件的读写操作 311
10.3.1 字符读写函数 311
10.3.2 数据块读写函数 313
10.3.3 格式化读写函数 316
10.3.4 字符串读写函数 317
10.4 缓冲文件的定位 318
10.4.1 文件开头定位函数 318
10.4.2 文件随机读写定位函数 318
10.4.3 返回文件指针当前读写位置函数 319
10.4.4 缓冲文件出错的检测 321
10.5 C语言文件操作应用实例 322
【操作小结】 326
【课外习题】 327
模块3总结 328
【模块3小结】 328
【模块3训练】系统编程实施 328
模块4 C语言综合应用 330
11 C语言综合应用实例 330
【能力训练】 330
任务11 C语言综合应用实例训练 330
【必备知识】 332
11.1 C语言综合应用概述 333
11.1.1 任务描述 333
11.1.2 问题分析 334
11.1.3 系统设计 334
11.1.4 系统实施 335
11.2 C语言综合应用设计实例 336
11.2.1 综合应用设计实例1 336
11.2.2 综合应用设计实例2 338
11.2.3 综合应用设计实例3 339
11.3 学生成绩管理系统实用程序 342
【操作小结】 350
【课外习题】 350
12 综合测试 352
全国计算机二级C语言笔试试题 352
全国计算机二级C语言笔试试题参考答案 364
全国计算机二级C语言机试试题(1) 365
全国计算机二级C语言机试试题(1)参考答案 367
全国计算机二级C语言机试试题(2) 367
全国计算机二级C语言机试试题(2)参考答案 370
模块4总结 371
【模块4小结】 371
【模块4训练】系统联调与测试 371
参考文献 372