当前位置: 首页 > 原创图书 > 嵌入式Linux C语言程序设计基础教程(微课版)图书介绍

嵌入式Linux C语言程序设计基础教程(微课版)图书介绍
  • 图书名称 :    嵌入式Linux C语言程序设计基础教程(微课版)
  • 作       者 :    华清远见嵌入式学院 姜先刚 刘洪涛
  • 出版单位 :    人民邮电出版社
  • 丛书名称 :    高等院校嵌入式人才培养规划教材
  • 出版日期 :    2017 年3月
图书简介

      《本书较为全面地介绍了嵌入式开发中C语言编程的基础知识。全书共11章,内容包括嵌入式Linux C语言开发工具、数据、数据的输入输出、运算符和表达式、程序结构和控制语句、数组、?#21018;搿?#20989;数、用户?#36828;?#20041;数据类型、嵌入式C语言的高级用法、嵌入式Linux内核常见数据结构。每章都提供详细的练习题和视?#21040;?#35299;,通过练习、操作实践及相关视频,帮助读者巩固所学的内容。 本书可以作为院校嵌入式相关专业和计算机相关专业的教材,也可以作为计算机软硬件培训班教材,还可供嵌入式研究?#36739;?#30340;专业人员和广大计算机爱好者自学使用。

图书目录

嵌入式Linux驱动开发教程?#38470;冢?br> 第1章 嵌入式Linux C语言开发工具 1
1.1 嵌入式Linux下C语言概述 2
1.1.1 C语言简史 2
1.1.2 C语言特点 2
1.1.3 嵌入式Linux C语言编程环境 3
1.2 嵌入式Linux编辑器vi的使用 3
1.2.1 vi的基本模式 4
1.2.2 vi的基本操作 4
1.2.3 vi的使用实例分析 8
1.3 嵌入式Linux编译器GCC的使用 9
1.3.1 GCC概述 9
1.3.2 GCC编译流程分析 10
1.3.3 GCC警告提示 12
1.3.4 GCC使用库函数 14
1.3.5 GCC代码优化 15
1.4 嵌入式Linux调试器GDB的使用 16
1.4.1 GDB使用实例 16
1.4.2 设置/?#22659;?#26029;点 19
1.4.3 数据相关命令 20
1.4.4 调试运行环境相关命令 20
1.4.5 堆栈相关命令 21
1.5 make工程管理器 21
1.5.1 Makefile基本结构 22
1.5.2 Makefile变量 23
1.5.3 Makefile规则 26
1.5.4 make使用 27
小结 28
思考与练习 28
第2章 数据 29
2.1 ANSI C与GNU C 30
2.1.1 ANSI C简介 30
2.1.2 GNU C简介 30
2.2 基本数据类型 31
2.1 整?#22270;?#26063; 31
2.2 实?#22270;?#26063; 33
2.3 字符?#22270;?#26063; 35
2.2.4 枚举家族 37
2.2.5 ?#21018;?#23478;族 38
2.3 变量与常量 39
2.3.1 变量的定义 39
2.3.2 typedef 40
2.3.3 常量的定义 41
2.3.4 作用域 41
2.3.5 存储模型 44
2.4 预处理 47
2.4.1 预定义 47
2.4.2 文件包含 53
2.4.3 条件编译 53
2.5 需要注意的问题 55
2.5.1 字长和数据类型 55
2.5.2 数据对齐 56
2.5.3 字节序 56
小结 57
思考与练习 57
第3章 数据的输入输出 58
3.1 数据的输出 59
3.1.1 字符输出函数putchar 59
3.1.2 格式化输出函数printf 59
3.2 数据的输入 62
3.2.1 字符输入函数getchar 62
3.2.2 格式化输入函数scanf 63
3.3 数据输入输出综合示例 68
3.4 字符串输入输出函数 70
小结 71
思考与练习 72
第4章 运算符和表达式 73
4.1 概述 74
4.2 运算符和表达式 74
4.2.1 算术运算符和表达式 74
4.2.2 赋值运算符和表达式 77
4.2.3 逗号运算符和表达式 80
4.2.4 位运算符和表达式 81
4.2.5 关系运算符和表达式 84
4.2.6 逻辑运算符和表达式 86
4.2.7 sizeof操作符 89
4.2.8 条件运算符 90
4.2.9 运算符优先级总结 91
小结 93
思考与练习 93
第5章 程序结构和控制语句 94
5.1 C语言程序结构 95
5.2 C语言控制语句 95
5.2.1 条件判断语句 95
5.2.2 循环语句 105
5.2.3 转向语句 109
小结 112
思考与练习 112
第6章 数组 114
6.1 一维数组 115
6.1.1 数组的定义 115
6.1.2 一维数组的引用 115
6.1.3 一维数组的初始化 117
6.1.4 一维数组的内存分配 118
6.1.5 一维数组程序举例 119
6.2 多维数组 121
6.2.1 多维数组定义及初始化 121
6.2.2 二维数组的内存分配 122
6.2.3 深入理解二维数组 123
6.2.4 二维数组程序举例 124
6.3 字符数组 126
6.4 字符串 127
6.4.1 字符串的定义 127
6.4.2 字符串的输入输出 127
6.4.3 字符串处理函数 129
小结 133
思考与练习 133
第7章 ?#21018;? 134
7.1 ?#21018;?#22522;础 135
7.1.1 ?#21018;?#21464;量的定义 135
7.1.2 ?#21018;?#21464;量的赋值 135
7.1.3 ?#21018;?#21464;量的引用 136
7.2 ?#21018;?#30340;运算 139
7.2.1 ?#21018;?#30340;算术运算 140
7.2.2 ?#21018;?#30340;关系运算 141
7.2.3 空?#21018;? 144
7.3 ?#21018;?#19982;数组 145
7.3.1 ?#21018;?#19982;一维数组 145
7.3.2 ?#21018;?#19982;多维数组 147
7.4 多级?#21018;? 150
7.4.1 多级?#21018;?#30340;定义及引用 150
7.4.2 多级?#21018;?#30340;运算 152
7.5 ?#21018;?#25968;组 152
7.5.1 ?#21018;?#25968;组的定义及初始化 152
7.5.2 理解?#21018;?#25968;组名 153
7.6 const与?#21018;? 155
7.7 void?#21018;? 157
7.8 字符?#21018;? 158
7.8.1 字符串 158
7.8.2 字符?#21018;?#25968;组 159
小结 160
思考与练习 161
第8章 函数 162
8.1 函数基础 163
8.1.1 函数定义和声明 163
8.1.2 函数的调用、参数传递和返回值 164
8.1.3 函数和数组 171
8.1.4 main函数的参数 173
8.2 ?#21018;?#20989;数 174
8.2.1 ?#21018;?#20989;数的定义和使用 174
8.2.2 ?#21018;?#20989;数程序举例 177
8.3 函数?#21018;? 179
8.3.1 函数?#21018;?#30340;声明 179
8.3.2 定义函数?#21018;?#31867;型 180
8.3.3 函数?#21018;?#25968;组 181
8.3.4 函数?#21018;?#31243;序举例 182
8.4 递归函数 184
8.4.1 递归函数的定义 184
8.4.2 函数调用机制说明 185
8.4.3 递归调用的形式 185
8.4.4 递归的条件 186
8.5 回调函数 187
8.5.1 回调函数的定义 187
8.5.2 回调函数实现机制 188
8.5.3 ?#36828;?#20041;回调函数 188
8.5.4 嵌入式开发中常见的回调函数 189
8.6 attribute机制介绍 189
小结 195
思考与练习 195
第9章 用户?#36828;?#20041;数据类型 196
9.1 结构体 197
9.1.1 结构体的定义 197
9.1.2 结构体变量的声明、使用及初始化 199
9.1.3 结构体数组 206
9.1.4 结构体?#21018;? 210
9.2 位域 211
9.2.1 位域的定义 211
9.2.2 位域变量的说明 213
9.2.3 位域的使用 214
9.3 共用体 215
9.4 枚举 217
9.4.1 枚举类型的定义 218
9.4.2 枚举变量的声明和使用 219
小结 221
思考与练习 221
第10章 嵌入式C语言的
高级用法 223
10.1 内存管理 224
10.2 动态内存的申请和释放 225
10.2.1 malloc函数 225
10.2.2 free函数 226
10.2.3 关于野?#21018;? 228
10.3 堆和栈的区别 230
10.4 动态内存程序举例 231
10.5 C语言和汇编语言的接口 233
10.5.1 内联汇编的语法 233
10.5.2 编译器优化介绍 236
10.5.3 C语言关键字volatile 236
10.5.4 “memory”描述符 236
小结 236
思考与练习 236
第11章 嵌入式Linux内核常见数据结构 239
11.1 链表 240
11.1.1 单向链表 240
11.1.2 双向链表 243
11.1.3 循环链表 245
11.1.4 ARM Linux中链表使用实例 245
11.2 树、二叉树、平衡树 247
11.2.1 树的定义 247
11.2.2 二叉树 248
11.2.3 平衡树 254
11.2.4 ARM Linux中红黑树使用实例 255
11.3 哈希表 258
11.3.1 哈希表的概念及作用 258
11.3.2 哈希表的构造方法 259
11.3.3 哈希表的处理冲突方法 260
11.3.4 ARM Linux中哈希表
使用实例 262
小结 263
思考与练习 263

北京快乐8开奖软件