《21天学通Linux C编程 第2版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:弓雷编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121171512
  • 页数:417 页
图书介绍:本书共分七篇。第一篇为Linux基础篇,介绍Linux编程平台的搭建及文本编辑器的使用;第二篇为shell编程篇,介绍Linux下的常用shell命令与shell编程;第三篇为C程序基础篇,介绍C程序设计的基础知识;第四篇为指针与函数篇,重点介绍C语言中指针与函数的概念和用法;第五篇为文件与目录篇,介绍C语言中的文件与目录操作功能;第六篇为网络编程篇,介绍网络编程的基础知识和如何使用C语言进行网络编程;第七篇为图形界面开发篇,介绍基于Linux的C程序图形界面开发及Glade的使用。

第一篇Linux基础篇 23

第1章Linux编程平台 23

1.1 Linux发行版的介绍 23

1.1.1 Red Hat Linux 23

1.1.2 Debian Linux 23

1.2安装Linux 24

1.2.1 Linux的分区格式 24

1.2.2在Windows系统中划分Linux分区 24

1.2.3安装Red Hat Linux 9.0 26

1.2.4 GRUB在Windows分区中引导Linux 33

1.3 VMware虚拟机安装Linux系统 34

1.3.1 VMware软件安装 34

1.3.2新建虚拟计算机 36

1.3.3 VMware的使用 39

1.3.4在VMwa虚拟机中安装Linux系统 40

1.4第一个C程序 41

1.4.1在Linux中编写C程序代码 41

1.4.2编译程序 42

1.5小结 42

1.6习题 43

第2章 使用文本编辑器 44

2.1使用vim 44

2.1.1启动vim 44

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 gvim 53

2.3.1文件的新建与保存 53

2.3.2查找与替换 53

2.4 gedit 54

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编程篇 60

第3章Linux常用命令 60

3.1目录与文件命令 60

3.1.1查看当前路径命令pwd 60

3.1.2切换目录命令cd 60

3.1.3查看目录命令ls 61

3.1.4建立文件命令touch 62

3.1.5建立与删除目录命令mkdir、 rmdir 63

3.1.6文件复制命令cp 63

3.1.7文件移动和更名命令mv 64

3.1.8删除文件或目录命令rm 64

3.1.9创建链接命令 65

3.1.10查看文件信息命令wc 65

3.1.11文件查看命令cat 66

3.1.12查看文件视图命令head与tail 66

3.1.13文件权限设置命令chmod 67

3.1.14查找文件命令find 68

3.2系统帮助命令man 68

3.2.1 man手册的使用方法 69

3.2.2帮助文档的结构 69

3.3小结 70

3.4习题 70

3.5面试题 70

第4章shell编程 72

4.1 bh的使用 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.12小结 92

4.13习题 92

4.14面试题 92

第三篇 C程序基础篇 93

第5章 编译与调试 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启动gdb 104

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语言基础 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浮点型(oat) 117

6.2.3字符型(char) 118

6.2.4变量名 119

6.2.5字符NULL 120

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程序的常用语句 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转移控制语句:continue 139

7.1.10转移控制语句:break 140

7.1.11转移控制语句:retu 141

7.2两种特殊语句结构 141

7.2.1三元操作符(?) 141

7.2.2块语句 142

7.3综合练习 143

7.4小结 144

7.5习题 144

7.6面试题 144

第四篇 指针与函数篇 146

第8章 数组与指针 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章 函数 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与argv 174

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章字符与字符串处理 188

10.1字符测试函数 188

10.1.1数字或字母测试函数isalnum 188

10.1.2字母测试函数isalpha 189

10.1.3可打印字符测试函数isgraph 190

10.1.4测试大小写字母函数islower和isupper 191

10.1.5测试是否是数字isxdigit 192

10.1.6测试字符是否为符号函数ispunct 192

10.1.7其他字符测试函数 193

10.2字符测试函数综合实例 194

10.3字符串转换 195

10.3.1C程序中的字符串 195

10.3.2字符串转换成浮点型函数atof 196

10.3.3字符串转换成整型函数atoi 196

10.3.4字符串转换成长整型函数atol 197

10.3.5将浮点型转换成字符串函数ecvt 198

10.3.6字母的大写小转换函数tolower和toupper 199

10.3.7其他字符串转换函数 200

10.4字符串比较 201

10.4.1字符串比较函数bcmp 201

10.4.2字符串大小比较函数memcmp 202

10.4.3忽略大小写比较字符串函数stmcecmp 203

10.5字符串复制 204

10.5.1字符串复制函数bcopy 204

10.5.2字符串复制函数memccpy 204

10.5.3复制字符串函数strcpy 205

10.5.4字符串复制函数stmcpy 206

10.6字符串的清理与填充 207

10.6.1字符串清理函数bzero 207

10.6.2字符串填充函数memset 208

10.7字符串查找 208

10.7.1字符查找函数index与rindex 208

10.7.2字符查找函数memchr 209

10.7.3字符查找函数strchr与strrchr 210

10.8字符串的连接与分割 211

10.8.1字符串连接函数strcat 211

10.8.2字符串分割函数strtok 211

10.9综合练习 212

10.10小结 214

10.11习题 215

10.12面试题 215

第11章结构体 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章 时间函数 243

12.1常用时间函数 243

12.1.1返回时间函数time 243

12.1.2取当前时间函数gmtime 244

12.1.3字符串格式时间函数ctime 246

12.1.4字符串格式时间函数asctime 247

12.1.5取得当地时间函数localtima 248

12.1.6将时间转换成秒数函数mktime 249

12.1.7取得目前的时间函数gettimeofday 250

12.1.8设置当前时间函数settimeofday 251

12.2综合练习 252

12.3小结 253

12.4习题 253

12.5面试题 253

第五篇 文件与目录篇 255

第13章 目录与文件 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创建目录函数mkdir 259

13.3.2删除目录函数rmdir 260

13.4文件的创建与删除 261

13.4.1创建文件函数creat 261

13.4.2删除文件函数remove 263

13.4.3建立临时文件函数mkstemp 263

13.5文件的打开与关闭 265

13.5.1打开文件函数open 265

13.5.2文件打开方式的设置 265

13.5.3打开文件的权限 265

13.5.4文件打开实例 265

13.5.5关闭文件函数close 267

13.6文件读写 268

13.6.1写文件函数write 268

13.6.2读取文件函数read 270

13.6.3文件读写位置的移动 271

13.6.4将缓冲区数据同步到磁盘的函数sync 273

13.6.5将指定文件的缓冲区数据同步到磁盘的函数fsync 274