弓雷编著的《21天学通Linux C编程》概念准确。必要时进行类比,读者很容易理解由浅入深,循序渐进的科学编排模式,读者容易掌握全程多媒体语音教学视频讲解,学习起来高效、直观提供了大量实例,最后还提供了综合案例,实用性强对代码进行了丰富的注释,阅读起来没有任何障碍无论是理论知识还是实例讲解都很详细。很容易理解作者均为有多年编程经验的一线程序员或者培训讲师提供了专门的技术服务论坛和OQ群解答读者问题
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 21天学通Linux C编程(附光盘第2版)/21天学编程系列 |
分类 | 计算机-操作系统 |
作者 | 弓雷 |
出版社 | 电子工业出版社 |
下载 | ![]() |
简介 | 编辑推荐 弓雷编著的《21天学通Linux C编程》概念准确。必要时进行类比,读者很容易理解由浅入深,循序渐进的科学编排模式,读者容易掌握全程多媒体语音教学视频讲解,学习起来高效、直观提供了大量实例,最后还提供了综合案例,实用性强对代码进行了丰富的注释,阅读起来没有任何障碍无论是理论知识还是实例讲解都很详细。很容易理解作者均为有多年编程经验的一线程序员或者培训讲师提供了专门的技术服务论坛和OQ群解答读者问题 内容推荐 弓雷编著的《21天学通Linux C编程》由浅入深、通俗易懂地讲解了Linux系统下的C程序设计。全书共21章,从Linux系统安装开始,讲解了Linux常用命令、shell编程、C语言基础、指针与函数、C程序网络编程、图形界面程序设计等内容。书中通过大量的实例来讲解知识要点,读者可以通过这些实例和练习系统地学习Linux下的C程序设计,从而提高自己的编程能力。 本书共分七篇。第一篇为Linux基础篇,介绍Linux编程平台的搭建及文本编辑器的使用;第二篇为shell编程篇,介绍Linux下的常用shell命令与shell编程;第三篇为C程序基础篇,介绍C程序设计的基础知识;第四篇为指针与函数篇,重点介绍C语言中指针与函数的概念和用法;第五篇为文件与目录篇,介绍C语言中的文件与目录操作功能;第六篇为网络编程篇,介绍网络编程的基础知识和如何使用C语言进行网络编程;第七篇为图形界面开发篇,介绍基于Linux的C程序图形界面开发及Glade的使用。 《21天学通Linux C编程》语言通俗易懂,内容丰富,注重理解与实例,知识涵盖面广,非常适合C语言的初学者、高校相关专业学生、程序开发人员、Linux工作人员阅读和学习。 目录 第一篇 Linux基础篇 第1章 Linux编程平台( 教学视频:64分钟)23 1.1 Linux发行版的介绍23 1.1.1 Red Hat Linux23 1.1.2 Debian Linux23 1.2 安装Linux24 1.2.1 Linux的分区格式24 1.2.2 在Windows系统中划分Linux分区24 1.2.3 安装Red Hat Linux 9.026 1.2.4 GRUB在Windows分区中引导Linux33 1.3 VMware虚拟机安装Linux系统34 1.3.1 VMware软件安装34 1.3.2 新建虚拟计算机36 1.3.3 VMware的使用39 1.3.4 在VMware虚拟机中安装Linux系统40 1.4 第一个C程序41 1.4.1 在Linux中编写C程序代码41 1.4.2 编译程序42 1.5 小结42 1.6 习题43 第2章 使用文本编辑器( 教学视频:39分钟)44 2.1 使用vim44 2.1.1 启动vim44 2.1.2 在桌面上创建vim启动器45 2.1.3 vim的工作模式45 2.1.4 保存与打开文件45 2.1.5 移动光标46 2.1.6 插入操作48 2.1.7 删除操作48 2.1.8 取消操作49 2.1.9 保存操作49 2.1.10 退出操作50 2.1.11 查找操作50 2.1.12 替换操作50 2.1.13 选项设置50 2.1.14 调用Shell命令51 2.2 vim使用实例51 2.2.1 字符的插入与删除51 2.2.2 字符的查找与替换52 2.3 gvim53 2.3.1 文件的新建与保存53 2.3.2 查找与替换53 2.4 gedit54 2.4.1 gedit的启动与打开文本54 2.4.2 gedit编辑文件55 2.4.3 gedit打印文件56 2.4.4 gedit的首选项57 2.5 小结59 2.6 习题59 第二篇 shell编程篇 第3章 Linux常用命令( 教学视频:59分钟)60 3.1 目录与文件命令60 3.1.1 查看当前路径命令pwd60 3.1.2 切换目录命令cd60 3.1.3 查看目录命令ls61 3.1.4 建立文件命令touch62 3.1.5 建立与删除目录命令mkdir、rmdir63 3.1.6 文件复制命令cp63 3.1.7 文件移动和更名命令mv64 3.1.8 删除文件或目录命令rm64 3.1.9 创建链接命令ln65 3.1.10 查看文件信息命令wc65 3.1.11 文件查看命令cat66 3.1.12 查看文件视图命令head与tail66 3.1.13 文件权限设置命令chmod67 3.1.14 查找文件命令find68 3.2 系统帮助命令man68 3.2.1 man手册的使用方法69 3.2.2 帮助文档的结构69 3.3 小结70 3.4 习题70 3.5 面试题70 第4章 shell编程( 教学视频:122分钟)72 4.1 bash的使用72 4.1.1 bash的内部命令与外部命令72 4.1.2 命令补齐功能72 4.1.3 命令通配符73 4.1.4 使用命令的历史记录73 4.1.5 命令的别名74 4.2 shell程序的基本结构74 4.3 局部变量75 4.4 环境变量76 4.4.1 查看环境变量76 4.4.2 访问环境变量76 4.4.3 定义环境变量76 4.4.4 在系统配置文件中定义环境变量77 4.5 位置变量77 4.6 shell的运算符78 4.6.1 变量赋值78 4.6.2 算术运算符78 4.7 输入和输出80 4.7.1 echo命令输出结果80 4.7.2 read命令读取信息81 4.7.3 文件重定向82 4.8 引号的使用方法83 4.8.1 双引号83 4.8.2 单引号83 4.8.3 反引号84 4.8.4 反斜线84 4.9 测试语句84 4.9.1 文件状态测试85 4.9.2 数值测试85 4.9.3 字符串测试86 4.9.4 逻辑测试87 4.10 流程控制结构87 4.10.1 if语句87 4.10.2 for语句88 4.10.3 until语句89 4.11 综合练习90 4.11.1 程序的功能90 4.11.2 编写程序的代码90 4.13 小结92 4.13 习题92 4.14 面试题92 第三篇 C程序基础篇 第5章 编译与调试( 教学视频:49分钟)93 5.1 编译的概念和理解93 5.1.1 程序编译的过程93 5.1.2 编译器93 5.2 gcc编译器94 5.2.1 gcc编译器简介94 5.2.2 gcc对源程序扩展名的支持94 5.3 C程序的编译95 5.3.1 编写第一个C程序95 5.3.2 用gcc编译程序96 5.3.3 查看gcc的参数97 5.3.4 设置输出的文件98 5.3.5 查看编译过程98 5.3.6 设置编译的语言99 5.3.7 设置ANSIC标准99 5.3.8 编译C++程序99 5.4 编译过程的控制100 5.4.1 编译过程简介100 5.4.2 控制预处理过程101 5.4.3 生成汇编代码101 5.4.4 生成目标代码102 5.4.5 链接生成可执行文件103 5.5 gdb调试程序103 5.5.1 gdb简介103 5.5.2 在程序中加入调试信息103 5.5.3 启动gdb104 5.5.4 加载需要调试的程序104 5.5.5 查看代码104 5.5.6 在程序中加入断点105 5.5.7 查看断点105 5.5.8 运行程序105 5.5.9 变量的查看106 5.6 gdb的帮助信息与常用命令107 5.6.1 使用gdb的帮助命令107 5.6.2 gdb常用命令107 5.7 编译程序常见的错误与问题108 5.7.1 逻辑错误与语法错误108 5.7.2 C程序中的错误与异常108 5.7.3 编译中的警告提示109 5.7.4 找不到包含文件的错误109 5.7.5 错误地使用逗号109 5.7.6 括号不匹配错误110 5.8 综合练习110 5.8.1 编写程序110 5.8.2 编译文件111 5.8.3 调试程序111 5.9 小结113 5.10 习题113 5.11 面试题113 第6章 C语言基础( 教学视频:70分钟)114 6.1 C程序的基本概念114 6.1.1 C程序的基本结构114 6.1.2 C程序的一般格式115 6.1.3 C程序中的注释116 6.2 数据类型116 6.2.1 整型(int)116 6.2.2 浮点型(float)117 6.2.3 字符型(char)118 6.2.4 变量名119 6.2.5 字符NULL120 6.3 变量的赋值与输出120 6.3.1 变量的赋值120 6.3.2 printf函数输出变量120 6.3.3 scanf函数从键盘读入变量122 6.4 运算符123 6.4.1 算术运算符123 6.4.2 关系运算符125 6.4.3 逻辑运算符125 6.5 综合练习126 6.6 小结127 6.7 习题127 6.8 面试题127 第7章 C程序的常用语句( 教学视频:87分钟)128 7.1 流程控制语句128 7.1.1 if条件语句128 7.1.2 if语句的嵌套130 7.1.3 switch选择执行语句131 7.1.4 for循环语句133 7.1.5 for循环的嵌套135 7.1.6 for循环应用实例:输出九九乘法口诀表136 7.1.7 while循环语句137 7.1.8 do while循环语句138 7.1.9 转移控制语句:continue139 7.1.10 转移控制语句:break140 7.1.11 转移控制语句:return141 7.2 两种特殊语句结构141 7.2.1 三元操作符(?)141 7.2.2 块语句142 7.3 综合练习143 7.4 小结144 7.5 习题144 7.6 面试题144 第四篇 指针与函数篇 第8章 数组与指针( 教学视频:66分钟)146 8.1 数组的理解与操作146 8.1.1 什么是数组146 8.1.2 数组的定义与访问147 8.1.3 数组使用实例148 8.2 指针149 8.2.1 指针的理解149 8.2.2 指针操作符149 8.2.3 指针的定义与访问150 8.2.4 指针使用实例151 8.3 数组与指针151 8.3.1 数组与指针的关系151 8.3.2 指针的算术运算152 8.3.3 字符数组与字符串153 8.4 二维数组与多维数组154 8.4.1 二维数组的理解154 8.4.2 二维数组与指针156 8.5 实例157 8.5.1 学生成绩统计实例157 8.5.2 冒泡法排序实例158 8.5.3 统计字符串中的字符160 8.6 小结162 8.7 习题162 8.8 面试题162 第9章 函数( 教学视频:67分钟)164 9.1 函数的理解164 9.1.1 什么是函数164 9.1.2 库函数与自定义函数165 9.1.3 函数的返回值166 9.1.4 无参函数167 9.1.5 有参函数167 9.1.6 函数参数实例168 9.2 自定义函数169 9.2.1 编写自定义函数169 9.2.2 函数中调用函数170 9.2.3 函数的声明172 9.2.4 递归函数173 9.2.5 main函数的参数argc与argv174 9.3 函数与指针175 9.3.1 值调用与引用调用175 9.3.2 引用调用与指针176 9.3.3 指针参数简单实例177 9.3.4 自定义函数中指针使用实例178 9.3.5 数组作为参数179 9.3.6 数组作为函数参数实例180 9.4 返回值182 9.4.1 函数返回值的类型182 9.4.2 函数返回指针182 9.4.3 函数返回指针实例183 9.4.4 函数返回结果到参数184 9.5 综合练习185 9.6 小结186 9.7 习题186 9.8 面试题186 第10章 字符与字符串处理( 教学视频:66分钟)188 10.1 字符测试函数188 10.1.1 数字或字母测试函数isalnum188 10.1.2 字母测试函数isalpha189 10.1.3 可打印字符测试函数isgraph190 10.1.4 测试大小写字母函数islower和isupper191 10.1.5 测试是否是数字isxdigit192 10.1.6 测试字符是否为符号函数ispunct192 10.1.7 其他字符测试函数193 10.2 字符测试函数综合实例194 10.3 字符串转换195 10.3.1 C程序中的字符串195 10.3.2 字符串转换成浮点型函数atof196 10.3.3 字符串转换成整型函数atoi196 10.3.4 字符串转换成长整型函数atol197 10.3.5 将浮点型转换成字符串函数ecvt198 10.3.6 字母的大写小转换函数tolower和toupper199 10.3.7 其他字符串转换函数200 10.4 字符串比较201 10.4.1 字符串比较函数bcmp201 10.4.2 字符串大小比较函数memcmp202 10.4.3 忽略大小写比较字符串函数strncasecmp203 10.5 字符串复制204 10.5.1 字符串复制函数bcopy204 10.5.2 字符串复制函数memccpy204 10.5.3 复制字符串函数strcpy205 10.5.4 字符串复制函数strncpy206 10.6 字符串的清理与填充207 10.6.1 字符串清理函数bzero207 10.6.2 字符串填充函数memset208 10.7 字符串查找208 10.7.1 字符查找函数index与rindex208 10.7.2 字符查找函数memchr209 10.7.3 字符查找函数strchr与strrchr210 10.8 字符串的连接与分割211 10.8.1 字符串连接函数strcat211 10.8.2 字符串分割函数strtok211 10.9 综合练习212 10.10 小结214 10.11 习题215 10.12 面试题215 第11章 结构体( 教学视频:49分钟)216 11.1 结构体的操作216 11.1.1 结构体的理解216 11.1.2 结构体的定义216 11.1.3 结构体的访问218 11.1.4 结构体数组220 11.1.5 结构体使用实例220 11.2 结构体与指针223 11.2.1 结构体指针的定义223 11.2.2 结构体指针的访问223 11.2.3 结构体作为函数的参数225 11.2.4 结构体指针作为函数的参数226 11.2.5 结构体作为函数的返回值228 11.2.6 结构体指针作为函数的返回值230 11.3 综合练习231 11.3.1 程序的需求分析231 11.3.2 程序中的函数232 11.3.3 程序中的结构体与全局变量232 11.3.4 头文件和函数声明233 11.3.5 定义结构体和全局变量233 11.3.6 显示学生信息的函数233 11.3.7 程序的选择菜单234 11.3.8 学生信息输入函数235 11.3.9 按姓名查找函数235 11.3.10 删除学生函数236 11.3.11 按年龄查找函数237 11.3.12 按身高查找函数237 11.3.13 按性别查找函数238 11.3.14 程序的主函数238 11.3.15 程序的运行和调试240 11.4 小结241 11.5 习题242 11.6 面试题242 第12章 时间函数( 教学视频:23分钟)243 12.1 常用时间函数243 12.1.1 返回时间函数time243 12.1.2 取当前时间函数gmtime244 12.1.3 字符串格式时间函数ctime246 12.1.4 字符串格式时间函数asctime247 12.1.5 取得当地时间函数localtime248 12.1.6 将时间转换成秒数函数mktime249 12.1.7 取得目前的时间函数gettimeofday250 12.1.8 设置当前时间函数settimeofday251 12.2 综合练习252 12.3 小结253 12.4 习题253 12.5 面试题253 第五篇 文件与目录篇 第13章 目录与文件( 教学视频:115分钟)255 13.1 文件操作的权限255 13.2 错误处理与错误号256 13.2.1 错误定义的理解256 13.2.2 用错误常数显示错误信息257 13.2.3 用错误序号显示错误信息258 13.3 创建与删除目录258 13.3.1 创建目录函数mkdir259 13.3.2 删除目录函数rmdir260 13.4 文件的创建与删除261 13.4.1 创建文件函数creat261 13.4.2 删除文件函数remove262 14.4.3 建立临时文件函数mkstemp263 13.5 文件的打开与关闭265 13.5.1 打开文件函数open265 13.5.2 文件打开方式的设置265 13.5.3 打开文件的权限265 13.5.4 文件打开实例265 13.5.5 关闭文件函数close267 13.6 文件读写268 13.6.1 写文件函数write268 13.6.2 读取文件函数read270 13.6.3 文件读写位置的移动271 13.6.4 将缓冲区数据同步到磁盘的函数sync273 13.6.5 将指定文件的缓冲区数据同步到磁盘的函数fsync274 13.7 文件锁定275 13.7.1 文件锁定的理解276 13.7.2 文件锁定函数flock276 13.7.3 文件锁定函数fcntl278 13.7.4 文件锁定函数fcntl使用实例279 13.8 文件的移动与复制280 13.8.1 文件的移动函数rename280 13.8.2 rename函数使用实例280 13.8.3 文件复制实例282 13.9 综合练习283 13.9.1 程序功能分析283 13.9.2 程序的函数283 13.9.3 包含文件284 13.9.4 数据的定义284 13.9.5 菜单函数284 13.9.6 显示电话信息函数286 13.9.7 添加电话号码函数286 13.9.8 按姓名查找函数286 13.9.9 删除电话号码函数287 13.9.10 保存到文件函数288 13.9.11 从文件导入信息函数288 13.9.12 主函数289 13.10 小结290 13.11 习题291 13.12 面试题291 第14章 文件I/O( 教学视频:42分钟)292 14.1 文件的打开与关闭292 14.1.1 文件打开函数fopen292 14.1.2 文件打开函数fdopen294 14.1.3 打开文件函数freopen295 14.1.4 关闭文件函数fclose296 14.2 文件的读写297 14.2.1 字符写入函数putc与fputc297 14.2.2 向文件中写入字符串函数fputs298 14.2.3 数据写入函数fwrite299 14.3 综合练习300 14.4 小结301 14.5 习题301 14.6 面试题301 第六篇 网络编程篇 第15章 网络编程( 教学视频:71分钟)302 15.1 网络编程的基本概念302 15.1.1 IP地址302 15.1.2 端口303 15.1.3 域名303 15.1.4 TCP与UDP303 15.2 套接字304 15.2.1 什么是套接字304 15.2.2 套接字相关的数据类型304 15.2.3 套接字类型305 15.3 域名与IP地址305 15.3.1 用域名取得主机的IP地址305 15.3.2 用IP地址返回域名307 15.4 网络协议308 15.4.1 由协议名取得协议数据308 15.4.2 由协议编号取得协议信息310 15.4.3 取得系统支持的所有协议311 15.5 网络服务312 15.5.1 取得系统支持的网络服务312 15.5.2 用名称取得系统所支持的服务313 15.5.3 由端口取得服务名称315 15.6 网络地址的转换316 15.6.1 将网络地址转换成整型316 15.6.2 将长整型数地址转换成网络地址317 15.6.3 主机字符顺序与网络字符顺序的转换318 15.7 错误处理318 15.7.1 herror函数显示错误318 15.7.2 捕获错误编号319 15.8 综合练习320 15.9 小结321 15.10 习题321 15.11 面试题321 第16章 无连接的套接字通信( 教学视频:22分钟)322 16.1 socket套接字322 16.1.1 建立socket322 16.1.2 取得socket状态324 16.1.3 设置socket状态325 16.2 无连接的套接字通信介绍326 16.2.1 工作流程327 16.2.2 信息发送函数sendto327 16.2.3 信息接收函数recvfrom328 16.3 综合练习328 16.3.1 无连接套接字通信客户端328 16.3.2 无连接套接字通信服务器330 16.3.3 测试UDP通信程序331 16.4 小结332 16.5 习题332 16.6 面试题333 第17章 面向连接的套接字通信( 教学视频:76分钟)334 17.1 面向连接的套接字通信工作流程334 17.2 绑定端口335 17.2.1 绑定端口函数bind335 17.2.2 bind函数绑定端口实例336 17.3 监听与连接337 17.3.1 等待监听函数listen337 17.3.2 listen函数使用实例337 17.3.3 接受连接函数accept339 17.3.4 accept函数使用实例339 17.3.5 请求连接函数connect341 17.3.6 connect函数使用实例341 17.4 数据的发送与接收343 17.4.1 数据接收函数recv343 17.4.2 recv函数使用实例343 17.4.3 信息发送函数send345 17.4.4 数据传输函数write与read345 17.4.5 read函数接收数据实例346 17.5 综合练习348 17.5.1 服务器程序348 17.5.2 客户端程序350 17.5.3 实例程序测试351 17.6 小结352 17.7 习题352 17.8 面试题353 第七篇 图形界面开发篇 第18章 Linux图形界面开发基础( 教学视频:28分钟)354 18.1 X Window系统简介354 18.1.1 X Window的历史354 18.1.2 X Window体系结构355 18.2 Linux桌面环境355 18.2.1 KDE355 18.2.2 GNOME356 18.3 Linux下的图形程序开发环境357 18.3.1 GTK+简介357 18.3.2 yum安装GTK357 18.3.3 用软件包管理器安装GTK358 18.4 常见问题359 18.4.1 找不到gtk.h包含文件的错误359 18.4.2 pkg-config参数有什么作用359 18.5 综合练习359 18.5.1 编写程序代码359 18.5.2 编译程序360 18.5.3 运行程序361 18.6 小结361 18.7 习题361 18.8 面试题362 第19章 图形界面编程( 教学视频:35分钟)363 19.1 窗口363 19.1.1 最简单的窗口程序363 19.1.2 窗口的构建过程364 19.1.3 新建窗口函数gtk_window_new364 19.1.4 设置窗口的标题365 19.1.5 设置窗口的大小与位置366 19.2 标签367 19.2.1 建立一个标签367 19.2.2 将标签添加到窗口中367 19.2.3 设置与获取标签的文本368 19.3 按钮369 19.3.1 添加一个按钮370 19.3.2 取得与设置按钮的标签371 19.4 文本框372 19.4.1 建立文本框372 19.4.2 获取与设置文本框数据373 19.5 综合练习374 19.6 小结375 19.7 习题375 19.8 面试题376 第20章 界面布局( 教学视频:67分钟)377 20.1 表格377 20.1.1 表格的建立377 20.1.2 表格中添加元件378 20.1.3 表格使用实例379 20.1.4 单元格的合并380 20.1.5 表格中添加表格381 20.2 垂直框383 20.2.1 添加垂直框383 20.2.2 垂直框中添加元件384 20.3 水平窗格385 20.3.1 新建一个窗格385 20.3.2 窗格中添加元件387 20.4 Glade388 20.4.1 Glade简介388 20.4.2 使用Glade设计程序界面388 20.4.3 Glade设计窗口389 20.4.4 添加表格392 20.4.5 添加标签392 20.4.6 添加文本框395 20.4.7 添加按钮396 20.4.8 添加信号与事件397 20.4.9 Glade实例398 20.5 综合练习399 20.6 小结400 20.7 习题401 20.8 面试题401 第21章 信号与事件( 教学视频:18分钟)402 21.1 信号402 21.1.1 添加信号402 21.1.2 事件函数的参数403 21.1.3 在函数中使用全局变量404 21.2 GTK事件406 21.3 实例:加法计算器406 21.3.1 程序功能的分析406 21.3.2 程序实现406 21.4 综合练习408 21.4.1 程序的功能分析408 21.4.2 程序的功能模块409 21.4.3 包含头文件与定义全局变量410 21.4.4 单击按钮输入函数410 21.4.5 加法运算函数410 21.4.6 减法运算函数411 21.4.7 乘法运算函数412 21.4.8 除法运算函数412 21.4.9 输入小数点函数413 21.4.10 清除数据函数413 21.4.11 界面构建函数413 21.4.12 添加事件函数415 21.4.13 主函数416 21.4.14 程序的编译和运行416 21.5 小结417 21.6 习题417 21.7 面试题417 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。