第1章 Linux下C语言编程简介 1
1.1 Linux的发展和特点 1
1.2 Linux C简介 4
1.3 C语言的简介和特点 5
1.4 Linux程序设计基础知识 6
头文件 6
函数库 7
系统调用 9
帮助文档 9
1.5 Linux下C语言编程环境 11
vi编辑器的使用 11
GCC编译器的介绍 19
GNU make的介绍 19
GDB调试工具的介绍 20
1.6 Linux程序设计的特点 20
1.7 Linux下C语言编码的风格 21
基于GNU的编程风格 21
Linux内核编程风格 22
1.8 Linux的发展前景 23
小结 23
习题一 24
第2章 Linux环境下程序调试基础 26
2.1 GCC编译器 26
如何使用GCC 26
GCC警告提示功能 29
库依赖 30
GCC代码优化 31
加速 32
c常用选项 33
c的错误类型及对策 36
2.2 GDB调试器 37
GDB概述 37
使用GDB 37
GDB常用命令 41
2.3使用make 45
Makefile文件概述 45
Makefile实例文件分析 45
Makefile文件的书写规则 47
make命令的使用 54
小结 54
习题二 55
第3章 简单程序调试示例 58
3.1程序设计的规则 58
分支程序的设计特点 58
循环程序的设计特点 59
函数的编写特点 60
3.2分支程序的设计 61
if语句实现选择结构 61
if语句调试示例 63
switch语句实现多分支选择结构 64
switch语句调试示例 65
3.3循环程序的设计 68
while循环结构 68
while语句调试示例 68
do-while循环结构 71
do-while语句调试示例 72
for循环结构 74
for语句调试示例 75
3.4函数 79
函数定义 79
函数调用过程 79
函数调用的几种方式 79
函数的返回值 79
外部函数和内部函数 79
函数调试示例 80
小结 83
习题三 83
一、选择题 83
二、程序阅读选择题 84
三、程序填空题 87
四、程序改错题 89
五、程序编程题 92
第4章 文件的操作 93
4.1 Linux的文件结构 93
Linux的文件结构 93
Linux文件系统 94
4.2基于文件描述符的1/O操作 95
文件的创建,打开与关闭 95
文件的读写操作 98
文件的定位 100
4.3基于流的1/O操作 102
流的打开与关闭 102
缓冲区的操作 103
直接输入输出 104
格式化输入与输出 106
4.4文件和目录的维护 108
文件或目录访问权限的改变 108
文件属主的改变 108
文件的删除 109
目录的建立和删除 109
目录的浏览 109
4.5系统调用 110
小结 110
习题四 110
一、选择题 110
二、程序阅读选择题 111
三、程序填空题 113
四、程序改错题 115
五、程序编程题 116
第5章 进程控制 117
5.1进程概述 117
5.2进程的状态及其状态转换 118
5.3进程调度 119
5.4进程的一般操作 120
fork系统调用 121
exec系统调用 122
exit系统调用 125
wait系统调用 126
sleep函数调用 127
5.5进程的特殊操作 127
获得进程相关的ID 127
setuid和setgid系统调用 128
setpgrp和setpgid系统调用 130
chdir系统调用 130
chroot系统调用 131
nice系统调用 131
小结 131
习题五 131
一、选择题 131
二、程序阅读选择题 132
三、程序填空题 134
四、程序改错题 135
五、程序编程题 136
第6章 进程间的通信 137
6.1 Linux下进程通信概述 137
6.2管道及有名管道 142
管道的创建、关闭及读写操作 142
有名管道的创建及使用 144
6.3信号及其处理 147
信号的含义 147
信号的处理 148
6.4共享内存 151
system V子系统的基本概念 151
共享内存及其相关操作 152
6.5消息队列 156
消息队列的创建与打开 157
向消息队列中发送消息 158
从消息队列中接收消息 158
消息队列的控制 159
6.6信号灯概述 160
信号灯与内核 160
信号灯的操作 161
信号灯的限制 163
6.7套接口通信 164
小结 164
习题六 165
一、选择题 165
二、程序阅读选择题 165
三、程序填空题 169
四、程序改错题 172
五、程序编程题 173
第7章 Linux的图形编程 174
7.1 Linux的图形编程简介 174
7.2初始化图形模式 175
初始化SDL库 175
初始化视频 175
初始化最佳视频模式 176
7.3基本绘图函数的应用 176
绘制点 176
绘制线段 178
绘制矩形 178
绘制圆 178
绘制椭圆 179
7.4图片与文字显示 180
BMP图片显示 180
其他格式图片显示 181
文字显示 181
7.5动画 182
7.6三维绘图 182
7.7游戏程序入门 188
鼠标事件 189
键盘事件 190
游戏杆事件 190
小结 190
习题七 191
一、选择题 191
二、程序阅读选择题 191
三、程序填空题 193
四、程序改错题 195
五、程序编程题 196
第8章 网络编程 197
8.1 TCP/IP简介 197
TCP/IP协议 197
TCP/IP网络的分层 197
TCP/IP协议族介绍 198
8.2 Socket编程简介 199
套接字 199
数据结构 199
常用函数 200
地址转换函数 206
域名转换函数 207
其他相关函数 207
8.3典型的TCP程序和多路复用I/O程序 209
典型的TCP程序 209
多路复用I/O程序 212
8.4 ping命令的简单实现 217
小结 220
习题八 221
一、选择题 221
二、程序阅读选择题 221
三、程序填空题 223
四、程序改错题 223
五、程序编程题 224
第9章 数据库编程 225
9.1数据库的基本概念 225
9.2 Linux环境下数据库简介 225
MySQL数据库简介 225
Oracle数据库简介 226
9.3 MySQL的使用 226
安装MySQL 226
启动和关闭MySQL 226
登录MySQL 226
修改用户密码 227
MySQL目录 227
MySQL常用操作 227
备份与恢复 229
9.4常用API函数简介 229
C API数据结构 229
C API函数 230
9.5 Linux下MySQL数据库的简单应用 240
9.6 Linux下Oracle数据库的简单应用 244
Libsqlora库 244
Pro*C编程 246
小结 248
习题九 248
一、选择题 248
二、程序阅读选择题 249
三、程序填空题 250
四、程序改错题 251
五、程序编程题 252
第10章 综合设计 253
10.1 Linux下CD播放器的实现 253
音频CD 253
设备控制 253
音轨处理 255
CD播放 257
音量调节 259
10.2一个简单的服务器端/客户端程序的实现 260
功能实现 260
部分运行结果 260
源代码 263
小结 284
习题十 284
一、选择题 284
二、程序阅读选择题 285
三、程序填空题 288
四、程序改错题 289
五、程序编程题 290
第11章 实训 291
实训1 Linux下常用命令和vi的使用 291
实训2 Linux下C语言的编译与调试 292
实训3文件的操作 294
实训4进程的创建 295
实训5进程的控制 297
实训6管道通信 298
实训7信号机制 300
实训8消息的发送与接收 301
实训9共享存储区通信 303
实训10数据库编程 304
实训11网络编程 307
模拟试卷 311
模拟试卷一 311
一、选择题(20分) 311
二、程序阅读选择题(20分) 312
三、程序填空题(30分) 316
四、程序改错题(10分) 318
五、程序编程题(20分) 319
模拟试卷二 319
一、选择题(20分) 319
二、程序阅读选择题(20分) 321
三、程序填空题(30分) 326
四、程序改错题(10分) 328
五、程序编程题(20分) 328
模拟试卷一参考答案 328
模拟试卷二参考答案 331
参考文献 334
内容简介 335