第1章 C程序设计入门 1
1.1 知识点梳理 1
1.2 编程技能 5
1.2.1 VC2010的安装 5
1.2.2 VC2010环境程序开发步骤 7
1.3 实践训练 11
实训1 C程序的编程环境及使用方法 11
实训2 数据类型及数据转换 18
实训3 运算符和表达式 21
练习1 25
第2章 顺序结构程序设计 28
2.1 知识点梳理 28
2.2 编程技能 32
2.2.1 scanf函数使用 32
2.2.2 C语言错误分类 33
2.3 实践训练 34
实训4 顺序结构编程 34
练习2 39
第3章 选择结构程序设计 40
3.1 知识点梳理 40
3.2 案例应用与拓展——菜单的设计 42
3.3 编程技能 45
3.3.1 算法的设计 45
3.3.2 程序测试 47
3.4 实践训练 51
实训5 if语句的应用 51
实训6 多路选择及switch语句的应用 55
练习3 59
第4章 循环结构程序设计 60
4.1 知识点梳理 60
4.2 案例应用与拓展——循环使用菜单 62
4.3 编程技能 65
4.3.1 程序的查错和排错 65
4.3.2 程序的单步调试法 66
4.4 实践训练 68
实训7 循环语句及应用 68
实训8 循环嵌套及break和continue语句 72
实训9 循环结构的综合应用 75
练习4 78
第5章 函数 81
5.1 知识点梳理 81
5.2 案例应用与拓展——模块化编程 84
5.3 编程技能 86
5.3.1 模块化程序设计 86
5.3.2 VC2010环境中的函数调用栈分析 89
5.4 实践训练 91
实训10 函数的定义与调用 91
实训11 函数的嵌套调用和递归调用 95
练习5 100
第6章 数组 103
6.1 知识点梳理 103
6.2 案例应用与拓展——应用数组处理数据 106
6.3 编程技能 110
6.3.1 输入输出的机理 110
6.3.2 数组的调试和结构化调试 115
6.4 实践训练 121
实训12 一维数组的应用 121
实训13 二维数组的应用 124
实训14 字符数组的应用 128
实训15 数组的综合应用 132
练习6 134
第7章 指针 138
7.1 知识点梳理 138
7.2 案例应用与拓展——应用指针处理数据 142
7.3 编程技能 145
7.3.1 指针的算法设计与调试 145
7.3.2 指针常见错误 152
7.4 实践训练 154
实训16 指向变量的指针 154
实训17 指针与一维数组 158
实训18 指向字符串的指针 164
实训19 指针与多维数组 169
实训20 复杂指针 176
练习7 181
第8章 结构体与共用体 186
8.1 知识点梳理 186
8.2 案例应用与拓展——应用结构体处理数据 189
8.3 编程技能 193
8.4 实践训练 202
实训21 结构体的定义与引用 202
实训22 结构体的综合应用 207
练习8 208
第9章 动态数组与链表 212
9.1 知识点梳理 212
9.2 案例应用与拓展——应用链表处理数据 213
9.3 编程技能 218
9.3.1 动态内存分配 218
9.3.2 链表相关操作与调试 222
9.4 实践训练 227
实训23 动态数组及链表的创建 227
实训24 链表的主要操作 232
练习9 236
第10章 文件 238
10.1 知识点梳理 238
10.2 案例应用与拓展——应用文件保存数据 241
10.3 编程技能 246
10.3.1 文件包含 246
10.3.2 VC2010环境下的多文件管理 247
10.4 实践训练 249
实训25 文件的基本操作 249
实训26 文件的综合应用 254
练习10 255
第11章 课程综合实训 256
11.1 课程综合实训目的和准备 256
11.1.1 实训目的 256
11.1.2 实训准备 256
11.2 课程综合实训案例及开发过程 257
11.2.1 案例任务要求 257
11.2.2 任务分析 258
11.2.3 总体设计 258
11.2.4 详细设计 259
11.2.5 程序编码 265
11.2.6 调试程序 275
11.2.7 程序测试 276
11.2.8 撰写实训报告 280
11.3 课程综合实训任务 281
任务1 万年历 281
任务2 文件加密、解密 281
任务3 字符串处理 282
任务4 进制转换 283
任务5 速算24点 283
任务6 龟兔赛跑 284
任务7 电子英汉词典 284
任务8 校运会比赛计分系统 285
附录A VS2012的安装与使用 287
附录B Dev-C++ 5.11的安装与使用 295
参考文献 300