第一篇 C语言基础知识及课程设计指导 2
第1章 C语言基本知识点 2
1.1 C语言简介 2
1.2 C语言的特点 2
1.3 C语言基本语法概述 2
1.3.1数据类型 2
1.3.2运算符和表达式 4
1.3.3程序基本结构 4
1.3.4数组 6
1.3.5函数 7
1.3.6编译预处理 9
1.3.7指针 9
1.3.8结构体和共用体 14
1.3.9文件 16
第2章 课程设计指导 20
2.1课程设计的目的和任务 20
2.2课程设计内容 20
2.3课程设计教学基本要求 21
2.4软件开发各阶段任务简介 21
2.4.1功能需求分析 21
2.4.2软件总体设计 21
2.4.3详细设计 22
2.4.4编码 22
2.4.5综合测试 22
2.5课程设计选题及考核 23
2.5.1课程设计选题 23
2.5.2课程设计考核 23
第二篇 字符界面及文件操作编程 26
第3章 链表相关知识简介 26
3.1链表的概念 26
3.2动态存储空间的分配和释放 27
3.3建立和输出链表 27
3.4单链表的基本操作 29
3.5双链表 30
第4章 通讯录管理 32
4.1功能需求分析 32
4.2总体设计 32
4.2.1功能模块设计 32
4.2.2程序处理流程 33
4.3详细设计与程序实现 34
4.3.1预处理 34
4.3.2数据类型定义 34
4.3.3函数及变量声明 35
4.3.4主函数 36
4.3.5主要函数功能介绍 37
4.3.6辅助函数功能介绍 44
4.4系统实现截图 45
4.5小结 48
第5章 学生成绩管理 49
5.1功能需求分析 49
5.2总体设计 49
5.2.1功能模块设计 49
5.2.2程序处理流程 51
5.3详细设计与程序实现 52
5.3.1预处理 52
5.3.2数据结构定义 53
5.3.3函数及变量声明 53
5.3.4main函数 56
5.3.5主要处理函数 56
5.3.6辅助函数功能介绍 67
5.4系统实现截图 72
5.5小结 75
第6章 家庭财务管理 76
6.1功能需求分析 76
6.2总体设计 76
6.2.1功能模块设计 76
6.2.2程序处理流程 78
6.3详细设计与程序设计 83
6.3.1头文件 83
6.3.2模块设计 84
6.4系统实现截图 102
6.5小结 105
第7章 图书管理 106
7.1功能需求分析 106
7.2总体设计 107
7.2.1功能模块设计 107
7.2.2程序处理流程 110
7.3详细设计与程序实现 112
7.3.1头文件management.h 112
7.3.2头文件book.h 113
7.3.3头文件user.h 114
7.3.4模块化设计management.c 115
7.3.5模块化设计book.c 122
7.3.6模块化设计user.c 137
7.4系统实现截图 147
7.4.1管理员权限 147
7.4.2普通用户权限 151
7.5小结 151
第三篇 游戏编程 154
第8章 Windows编程 154
8.1 Windows 程序入口函数 154
8.2 Windows的消息循环 154
8.3 GDI绘图 156
8.3.1设备内容的句柄 157
8.3.2画线 158
8.3.3画边界框函数 158
8.3.4使用现有画笔 158
8.3.5创建自定义画笔 159
8.3.6绘制填充区域 160
8.3.7矩形 161
8.3.8 GDI位图对象 162
第9章 贪吃蛇 163
9.1功能需求分析 163
9.1.1主要功能 163
9.1.2游戏基本规则 163
9.2总体设计 163
处理流程 163
9.3详细设计与程序实现 164
9.3.1数据结构 165
9.3.2头文件snake.h 166
9.3.3游戏设计snake.c 166
9.4系统实现截图 183
9.5小结 184
第10章 俄罗斯方块 185
10.1功能需求分析 185
10.1.1主要功能 185
10.1.2游戏基本规则 185
10.2总体设计 185
主要处理流程 186
10.3详细设计与程序实现 187
10.3.1方块设计 187
10.3.2头文件tetris.h 189
10.3.3游戏设计tetris.c 190
10.4系统实现截图 210
10.5小结 211
第四篇 网络编程 214
第11章 网络协议和套接字编程 214
11.1 TCP/IP协议 214
11.1.1 TCP/IP协议概念 214
11.1.2 TCP/IP整体构架概述 214
11.1.3 TCP/IP中的协议 215
11.2 HTTP协议 216
11.2.1 HTTP简介 216
11.2.2 URL 216
11.2.3 HTTP请求 216
11.2.4 HTTP响应 218
11.3 Windows Sockets编程基础 218
11.3.1套接字编程基本概念 218
11.3.2 Windows Sockets编程原理 219
11.3.3 Windows Sockets的两种编程模型 220
11.3.4 Windows Sockets基本函数 221
第12章 日期时间服务器/客户端程序设计 226
12.1功能需求分析 226
12.2总体设计 226
12.2.1功能模块设计 226
12.2.2程序流程处理 227
12.3详细设计与程序实现 228
12.3.1服务器端程序 228
12.3.2客户端程序 237
12.4系统实现截图 244
12.5小结 245
第13章 简单的Web服务器 246
13.1功能需求分析 246
13.2总体设计 246
13.2.1功能模块设计 246
13.2.2主要流程处理 247
13.3详细设计与程序实现 249
13.3.1头文件header.h 250
13.3.2头文件common.h 250
13.3.3头文件http_server.h 251
13.3.4头文件request.h 251
13.3.5头文件request_parser.h 252
13.3.6头文件response.h 252
13.3.7头文件response_creator.h 253
13.3.8通用模块common.c 254
13.3.9 HTTP服务模块http_server.c 258
13.3.10请求模块request.c 263
13.3.11请求解析模块request_parser.c 264
13.3.12响应模块response.c 273
13.3.13生成响应模块response_creator.c 274
13.4系统实现截图 281
13.5小结 283
第五篇 Linux下的C语言编程 286
第14章 Linux C语言开发环境介绍 286
14.1文本编辑器 286
14.2编译与调试 286
14.3 make与makefile 287
14.4集成开发环境 287
第15章 基于堆栈的计算器 291
15.1功能需求分析 291
15.2总体设计 291
15.3详细设计与程序实现 293
15.3.1头文件calculator.h 293
15.3.2计算器模块calculator.c 294
15.4系统实现截图 306
15.5小结 307
第16章 万年历 308
16.1功能需求分析 308
16.2总体设计 308
主要处理流程 308
16.3详细设计与程序实现 311
16.3.1头文件calendar.h 311
16.3.2万年历模块calendar.c 311
16.4系统实现截图 320
16.5小结 321
附录A 常用字符与ASCII代码对照表 322
附录B 库函数 323
参考文献 328