Linux C编程实战.童永清(带详细书签)

所需积分/C币:18 2017-11-27 00:39:16 81.34MB PDF

本书系统地介绍了在Linux平台下用C语言进行程序开发的过程,集趣味性、实战性于一体的160多段代码实例,帮助读者快速掌握在Linux平台下进行C语言程序开发的方法和技巧,并通过一个原创的BT软件下载综合案例的讲解,引导读者具备开发大型应用程序的能力。   本书内容翔实,主要包括:Linux系统下C语言及其编程环境的介绍,系统编程的所有主题——文件和目录、进程、线程、信号、进程间通信、网络编程和图形界面编程、出错处理、库的创建与使用、编写安全的代码等。 本书结构合理、概念清晰,依照“基础知识→难点解析→重点提示→编程实践”的讲解方式,使读者理解更深入、应用更容易、掌握更快速。随书的光盘包括:全
Linux c编程实战 autoconf和 automake工具的使用 (2)理论和实际相结合,强调实践性和实用性。对于一些关键概念,如进程、线程、文件结 构等知识,都以实践性很强的应用实例加以讲解,重要章节的最后都配有习题以供读者上机实践, 加深理解和应用。此外,运精选了一些C语言的面试题,进行深入地讲解和分析,以期能使读者 更深入地理解和掌握C语言的精华 (3)强调后续能力的发展。在重点章节里增加了“进一步学习建议”一节,对读者在某一方 面的深入学习提供建议并除以相应的参考资料。 本书知识结构和实现目标 Linux和C语言 Linux下编程工具 涵盖系统编程的所有 原创BT下载软件综合 基础 主题及丰富实例 案例及著名公司C语言 面试题分析 掌拥Li以开发环抹握m,,e,「掌握文件和目最、进程线]「综合案例引导读者具备 的安装、配置,C语gb、mke. autoconf程、信号、进程间通信、网 开发大型应用程序的 言的基本知识及开发ame等工具的使络编程和氢形界面编程、出能力。 拉巧和规范 用,快速进行实战开发错处理、库的创建与使用 通过对C语言的面试题 编写安全代码等实战技术。进行深入地讲解和分 学习优秀软件开发人员必析,帮助读者更深入理 备的编程规范 解和掌握C语言的精华 阅读建议 对于没有或只有少量Liux操作系统使用经验和C语言编程基础的读者,建议按章节顺 序完整阅读,并且在毎章阅读过程中多上机操作、多动手编写代码。 >对于已经懂得安装和使用Liwx操作系统的读者,可以简单浏览第1章或直接跳过。 >对于已经掌握C语言的读者,可以略过第2~5章中介绍C语言的内容,但建议还是要 阅读指针和面试题选部分 >对于已经具备一定LimuⅨ下编程经验的读者,可以根据需要有选择地阅读。对于此类读者, 建议阅读面试题选,开发工具的详细使用方法,出错处理,如何编写安全的代码,编程规范等内容。 读者对象 本书适合有一定的C语言基础,需要在 Linux系统上编程的程序设计人员阅读,也可作为大 中专院校师生的教材或参考书,还可供广大计算机爱好者学习使用 随书的光盘包括:全部源代码及相关学习资料。 本书由童永清编著,参与代码调试和资料整理的有邵林、吴红娟、师轲、胡旭松、沈孝峰、 郭轶、陈良华、代星科、李桂林、刘晓鹏、汪剑,在此一并表示感谢。由于水平有限加之时间仓 促,书中难免存在错误之处,恳请读者批评指正。作者联系邮箱为:ht2049@163com,或与本书 编辑联系:zhangtao@ptpress.com.cn。 编者 甲目 fre的Qm 2008年1月 目录 目录 第一篇 Linux和C编程基础 第1章 Linux系统概述…… 11 Linux操作系统介绍………… 世世世世出世世 晋意“世看 1.1.1 Linux的发展历程 1.1.2 Linux的特性…………………………………………………………………2 1.13 Linux的内核版本和发行版本 12C语言简介………………………………4 121C语言的发展历史… 122C语言的特点………………………………………………………15 13 Linux的安装、启动与关闭…………………………………………5 14 Linux的基本使用 1.4.1Linuⅸx终端 审看率南看丰日南国国非和主1主日自由面目由自指由由主 142 Linux shell……15 143 Linux的常用命令… 1.5 Linux下程序的开发环境和开发过程……… 1.6习题………………………………………………………12 第2章C编程基础、Ⅵ和 Emacs编辑器…… 13 21C程序的结构 ……………………………-1 13 2,2C语言的基本数据类型……………………………………………………14 22.1整型………… ………………………14 222浮点型…………………… 16 223字符型…………………………… 2.3运算符和表达式 ………………………………………………19 231算术运算符与算术表达式………………………20 232赋值运算符与赋值表达式 ………22 233逗号运算符与逗号表达式……………………………………………22 2.4标准输入输出函数……………………………………………………… 23 241字符输出函数 putchar………………………………………23 242字符输入函数 getchar……… 24 243格式化输出函数 printf…………………4 244格式化输入函数 scanf… …26 经自 TCxo com LinuxC编程实战 2.5ⅵ编辑器的使用…… 27 251Ⅵ的工作模式…11 27 22启动 Vi………………28 253保存文件和退出ⅵ …29 254光标的移动…………… …29 25.5文本的删除… 30 2.56文本查找和替换 ………………30 257文本的复制与贴 ……………………30 26 Emacs编辑器的使用…. 31 27命名规范……… 33 27.1标识符 ……33 272关键字 ……3 273命名规范… …………33 28面试题选与实例精讲… ……34 281面试题选 ………34 28.2实例精讲………… ……35 2.9习题……………………… …37 第3章C程序控制结构和gce编译器 ¨38 31C程序的控制结构 ………38 31C程序语句概述 面“““国出“““…手寻“ 38 312C程序的3种基本控制结构…… 39 32分支控制结构-……… 40 321关系运算符与关系表达式 322逻辑运算符与罗辑表达式… 3.23if语句………………………………………………………42 324 switch语句 44 3.3循环控制结构 ……………………46 3.31 while语句…… …46 33,2 do, while语句 s47 333for语句 …………48 334 break语句和 continue语句………………50 34gcc编译器 51 34.1程序的编译过程 ……51 342gcc的常用选项 平果书……………“…, 52 343gcc的报错类型及对策… …54 3.5面试题选与实例精讲… “…手 ……5 3.5.1面试题选… 5 3.5,2实例精讲 …56 3.6习题 ……………………………5 8 函自 目录 第4章C函数、数组、指针和调试器gdb 4.1函数………………………………………………………………59 411函数的定义………………………………………59 412函数的调用…………………………………61 41.3变量的访问控制和存储类别………………………………… 4.2数组 世虚 6 4.2.1一维数组的定义和使用…………………………67 4.2.2二维数组的定义和使用……………………………67 42.3字符数组和字符串 ……………69 4.3指针… 70 43.1地址和指针 ………“……“…“………7∩ 432指针的定义和使用…………………………71 4.3.3指针和数组 量+普量出日量量B量日i面国目国面盲面国 434指针和函数…………………………75 4.3.5指向字符串的指针 …………………79 44字符串函数 ………82 4.4.1puts和gets… 82 442 strcpy和 strncpy……………182 44.3 strcat和 strncat… …83 444 strcmp和 strncmp……………………… 83 4.4.5 strlen…184 446 strlwr:和 struer………… 18 447 strstr和 strchr……………………………………………84 45调试器gdb……………………………………………85 451启动和退出gdb 35 452显示和查找程序源代码…… 4.53执行程序和获得帮助………………………………………87 454设置和管理断点………………………………87 4.5.5查看和设置变量的值……… 45.6控制程序的执行………… …93 4.6面试题选……………………………………95 4.7习题………………………………………………………106 第5章C语言预处理、结构体和make的使用… ………107 51C语言预处理命令 ……107 5.1.1宏定义…………………………………107 512文件包含…………………109 51.3条件编译 110 5.2结构体和共用体… 521声明和引用结构体… aNodo Com l11 LinuxC编程实战 522结构体和数组……………………………………………113 523结构体和指针…… 114 524共用体…………………………………………116 525使用 typedef……………………117 53位运算…………………………………………………………117 531位运算符和位运算… ……117 532位减……………………………………119 5.4make的使用和 Makefile的编写……………………………………120 541make的一般使用…… …121 542 Makefile文件的构成……………………………123 543便用变量………………………………………………127 544隐含規则……………1 545使用条件语句…… …132 546使用库… 133 54.7make命令参数详解… ………134 5.5面试题选…………………… 135 56进一步学习建议 140 5.7习题 第二篇 Linux系统编程 第6章文件操作… …………………… 142 6.1系统编程概述………………………………… ………142 62 Linux的文件结构…………………………………142 62.1Linuⅸx的文件系统模型………………………143 622文件的分类………………………144 62,3文件的访问权限控制 …145 63文件的输入输出…………… 147 63.1文件的创建、打开与关闭……………………147 632文件的读写………… …149 633文件读写指针的移动… …150 634dup、dup2、fent、ioct系统调用…………l52 6.4文件属性操作………160 64.1获取文件属性… ……160 64,2设置文件属性………………162 6.5文件的移动和删除… 164 651文件的移动………………………………164 652文件的删除… 66目录操作………… ………166 661目录的创建和删除…智r…………166 目录 6.6,2获取当前目录… 167 663设置工作目录… …………………167 6.64获取目录信息………………………………………………168 6.7编程实践:实现自己的ls命令……… 着请着 170 68习题 176 第7章进程控制……………7 71进程概述…………………………………………177 7.1.1 Linux进程 7.1.2进程控制………… …179 713进程的内存映像………………………………179 7.2进程操作…………………………………………180 7.21创建进程 …180 722创建守护进程 :国……………… 185 723进程退出…………………………………187 724执行新程序…………………………188 7.25等待进程结束 面出和 x191 7.3进程的其他操作……… ………194 7.3.1获得进程T………………………194 7.3.2 setuid和 setgid 审国44 ……194 733改变进程的优先级… ………196 7.4编程实践:实现自己的 myshell ………197 7.5习题………………………………………203 第8章线程控制…………………………………204 81线程和进程关系…… ………204 82创建线程 …05 821线程创建函数 pthread create ………205 8.22线程属性… ……207 83线程终止……………………………………………………208 84私有数据……………………………210 8.5线程同步… 212 8.51互斥锁…………………………212 852条件变量………… 213 853异步信号 216 8.6出错处理…… …216 861错误检查…………………………………………………216 8.6,2错误码… …217 863错误的提示信息 ……218 87习题 ………"……219 fiNGon com 5 Linux C编程实战 第9章信号及信号处理… ………20 91 Linux信号介绍 世由世出世世 ····中······ …………………220 9.1.1信号的来源 …20 9.2信号的种类………………………………220 913进程对信号的响应 223 9.2信号处理 223 921信号的捕捉和处理………………………………………………223 922信号处理函数的返回… ……………227 923信号的发送… ……………231 9.24信号的屏蔽…………… 236 9.3编程中如何获得帮助…………………240 94编程实践:应用实例…………………………240 94.1实例一:信号的发送与处理… 240 942实例二:信号应用于事件通知………………………………242 95习题………244 第10章进程间通信 E1nE百:TT,于曹?想中中中中中和中 …245 10.1进程间通信概述 ……………………245 10.2管道……………………………………………………………246 10.21管道的概念………………246 10.22管道的创建与读写 ………246 10.23管道的应用实例………………………………………………250 10.3有名管道……………………………………251 10.3.1有名管道的概念…… ……………………251 10.32有名管道的创建与读写… ……………………252 10.33有名管道的应用实例…………………………………253 10.4消息对列……256 104.1消息对列的基本概念 ………………256 10.4,2涧息队列的创建与读写…………………27 104.3获取和设置消息队列的属性……………………………………260 1044消息队列的应用实例…………………262 10.5信号量…………………………………………………265 10.5.1信号量的基本概念…………………"……………265 10.52信号量的创建与使用………………………265 1053信号量的应月实例… 268 10.6共享内存………………………………270 1061共享内存的数据结构………270 10.6.2共享内存的创建与操作…………………270 1063共享内存的应用实例 ……27 10.7库的创建和使用 ……+ 里要 275 目录 10.71Linx库的概念…………………275 10.72静态库的创建和使用 …76 10.73动态库的创建和使用…………………………………………277 10.8进一步学习建议…………………………………………279 109习题………………………………………………279 第三篇 Linux网络和图形界面编程 第11章网络编程 282 11网络编程基本原理… ………282 111.1网络模型与协议…… …1282 111.2地址…… 284 1.3端 口………………………………85 1114mP协议…………………………285 1115用户数据报协议UDP…… …286 111.6传输控制协议TCP… 286 11.1.7客户机/服务器模型… …………287 11.2套接字编程 287 112.1套接字地址结构…… 288 112.2创建套接字…… …288 11.2.3建立连接…… …289 11.24绑定套接字…………………………………………290 112.5在套接字上监听 “““““““…·……界果 290 11.26接受连接… …"291 11.2.7TCP套接字约数据传输……………………291 11.2.8UDP套接字的数据传输 “a“ …………292 1129关闭套接字 294 11.2.10主要系统调用函数……………………………294 13一个面向连接的 Client/Server实例…… …301 114编写安全的代码… ………308 1141网络攻击………………………………308 1142缓冲区溢出…… 399 114.3输入检查……………………………………………310 11.5编程实践:编程实现端口扫描器实例 …311 11.6进一步学习建议……………………………314 11.7习题 314 第12章GTK+图形界面编程……… 315 12.1 Linux下的图形界面编程…………15 121.1Qt和GTK+ ““““……………… …315 12.1.2GTK+简介… ……315

...展开详情
试读 127P Linux C编程实战.童永清(带详细书签)

评论 下载该资源后可以进行评论 1

李小程 资源不错,谢谢分享,赞一个
2018-05-31
回复
img
kxjrzyk

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐
    Linux C编程实战.童永清(带详细书签) 18积分/C币 立即下载
    1/127
    Linux C编程实战.童永清(带详细书签)第1页
    Linux C编程实战.童永清(带详细书签)第2页
    Linux C编程实战.童永清(带详细书签)第3页
    Linux C编程实战.童永清(带详细书签)第4页
    Linux C编程实战.童永清(带详细书签)第5页
    Linux C编程实战.童永清(带详细书签)第6页
    Linux C编程实战.童永清(带详细书签)第7页
    Linux C编程实战.童永清(带详细书签)第8页
    Linux C编程实战.童永清(带详细书签)第9页
    Linux C编程实战.童永清(带详细书签)第10页
    Linux C编程实战.童永清(带详细书签)第11页
    Linux C编程实战.童永清(带详细书签)第12页
    Linux C编程实战.童永清(带详细书签)第13页
    Linux C编程实战.童永清(带详细书签)第14页
    Linux C编程实战.童永清(带详细书签)第15页
    Linux C编程实战.童永清(带详细书签)第16页
    Linux C编程实战.童永清(带详细书签)第17页
    Linux C编程实战.童永清(带详细书签)第18页
    Linux C编程实战.童永清(带详细书签)第19页
    Linux C编程实战.童永清(带详细书签)第20页

    试读已结束,剩余107页未读...

    18积分/C币 立即下载 >