图书介绍
从C到嵌入式C编程语言 入门、实用、深入PDF|Epub|txt|kindle电子书版本网盘下载
![从C到嵌入式C编程语言 入门、实用、深入](https://www.shukui.net/cover/25/31404785.jpg)
- 梁合庆等编著 著
- 出版社: 北京:北京航空航天大学出版社
- ISBN:7810129996
- 出版时间:2000
- 标注页数:363页
- 文件大小:12MB
- 文件页数:385页
- 主题词:C语言(学科: 程序设计) C语言 程序设计
PDF下载
下载说明
从C到嵌入式C编程语言 入门、实用、深入PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 C语言基础1
第一章 词法1
1.1 标识符1
1.2 关键字2
1.3 常量2
1.3.1 整数常量2
1.3.2 浮点数常量3
1.3.3 枚举常量4
1.3.4 字符常量4
1.4 字符串5
1.5 运算符5
1.5.1 单目运算符7
1.5.2 双目运算符8
1.5.3 三目运算符9
1.5.4 赋值运算符10
1.5.5 逗号运算符10
1.5.6 函数参数运算符11
1.5.7 数组下标运算符11
1.5.8 结构/联合成员运算符11
1.5.9 结构/联合指针运算符11
1.6 分隔符11
1.6.1 方括号分隔符12
1.6.2 圆括号分隔符12
1.6.3 花括号分隔符12
1.6.4 逗号分隔符13
1.6.5 分号分隔符13
1.6.6 冒号分隔符13
1.6.7 省略号分隔符13
1.6.8 星号分隔符14
1.6.9 等号分隔符14
1.6.10 预处理器伪指令符14
1.7 空白符(nul)14
第二章 说明15
2.1 对象与左值15
2.1.1 对象15
2.1.2 左值16
2.2 变量说明16
2.3 数组说明18
2.3.1 一维数组,一维指针数组,一维数组指针19
2.3.2 多维数组,多维指针数组,多维数组指针,多重指针20
2.4 结构说明20
2.4.1 原型法21
2.4.2 类型别名法21
2.4.3 关于结构的讨论22
2.4.4 位段结构23
2.5 联合说明23
2.6 函数说明24
第三章 语句27
3.1 语句27
3.2 表达式27
3.3 表达式语句27
3.4 复合语句28
3.5 循环语句29
3.5.1 for循环语句29
3.5.2 while循环语句30
3.5.3 do while循环语句31
3.6 条件语句32
3.6.1 一般条件语句32
3.6.2 嵌套条件语句33
3.6.3 多选一条件语句34
3.7 开关语句36
3.8 间断语句38
3.9 接续语句39
3.10 跳转语句39
3.11 返回语句40
3.12 空语句42
第四章 函数及函数库44
4.1 前言44
4.2 单文件程序(一)——字符串处理44
4.3 单文件程序(二)——二维数组46
4.4 多文件程序——台式计算器逆波兰算法的实现47
4.5 关于函数参数值的传送问题51
4.6 主函数52
4.7 C语言的函数库54
4.8 头文件54
4.9 分类库函数56
4.9.1 归类函数56
4.9.2 转换函数56
4.9.3 目录控制函数57
4.9.4 诊断函数57
4.9.5 图形函数57
4.9.6 内部函数58
4.9.7 输入输出函数58
4.9.8 各类接口函数(dos,bios,8086)60
4.9.9 串与内存块操作函数61
4.9.10 数学函数62
4.9.11 动态内存管理函数63
4.9.12 杂项函数63
4.9.13 进程控制函数63
4.9.14 窗口文本显示函数64
4.9.15 日期时间函数64
4.9.16 变参数表函数64
4.10 全局变量65
4.10.1 argc65
4.10.2 argv65
4.10.3 ctype65
4.10.4 daylight65
4.10.5 directvideo65
4.10.6 environ66
4.10.7 error,_doserrno,sys_errlist,sys_nerr66
4.10.8 fmode67
4.10.9 heaplen67
4.10.10 _new_handler68
4.10.11 _osmajor,_osminor68
4.10.12 _ovrbuffer68
4.10.13 _psp68
4.10.14 _stklen68
4.10.15 timezone69
4.10.16 tzname69
4.10.17 _version69
4.10.18 _wscroll69
4.10.19 _808769
第五章 预处理器71
5.1 前言71
5.2 包含文件伪指令71
5.3 伪指令宏72
5.3.1 简单宏72
5.3.2 参数宏72
5.3.3 宏释放73
5.3.4 条件宏定义73
5.3.5 预定义宏74
5.3.6 宏体中使用转义符#和合并符##74
5.4 条件编译伪指令75
5.5 #pragma伪指令75
5.6 #line伪指令75
5.7 #error伪指令76
第二部分 C51(8051用8位嵌入式C语言)78
第六章 C51前言78
第七章 C51说明79
7.1 C51简单变量说明79
7.1.1 类型说明符bit80
7.1.2 预定义特殊功能寄存器说明符sfr和sfr1680
7.1.3 预定义特殊功能寄存器位说明符sbit81
7.1.4 在bdata RAM空间定义位变量(借用位类型符sbit)81
7.2 C51复合变量说明82
7.3 C51指针变量说明82
7.3.1 通用指针83
7.3.2 抽象指针——匿名指针84
7.3.3 指针可用运算符85
第八章 C51存储模式86
8.1 C51三种存储模式86
8.2 C51内部对数据和函数的组织规范87
8.2.1 标识符改大写字符和函数换名87
8.2.2 全局变量存放的段名规定87
8.2.3 函数的段名87
8.2.4 函数的参数传送规则88
8.2.5 重入栈的有关规定89
8.2.6 函数返回值的规定89
第九章 C51函数及库函数90
9.1 函数说明90
9.2 函数被修饰使用指定的寄存器组91
9.3 函数被修饰为中断函数92
9.4 函数被修饰为重入函数93
9.5 函数被修饰为使用指定的存储模式94
9.6 C51与PL/M51函数的交叉调用95
9.7 C与汇编函数的交叉调用95
9.8 内部函数100
9.8.1 左移多位函数100
9.8.2 右移多位函数101
9.8.3 空操作函数101
9.8.4 位测试函数102
9.9 抽象数组(绝对地址存取)——absacc库函数102
9.10 C51库函数介绍103
第十章 C51 SFR头文件和配置文件107
10.1 特殊功能寄存器头文件107
10.2 C51配置文件107
10.2.1 STARTUP.A51文件108
10.2.2 INIT.A51文件108
10.2.3 PUTCHAR.C文件109
10.2.4 GETKEY.C文件109
第十一章 C51预处理器伪指令110
第十二章 C51编译命令行控制选项和控制伪指令111
12.1 简介111
12.2 编译命令行111
12.2.1 一次性使用编译控制伪指令112
12.2.2 可多次使用编译控制伪指令118
第十三章 C51及L51使用方法122
13.1 C51的使用环境122
13.2 C51安装122
13.3 编译方法123
13.4 C51支持的文件名和设备名123
13.5 错误号123
13.6 连接/定位方法124
13.7 连接控制选项125
13.7.1 一般的连接控制选项125
13.7.2 特殊的连接控制选项126
13.8 定位控制选项127
13.9 映像列表文件控制选项129
13.10 连接/定位命令129
13.11 特殊连接控制选项示例131
13.12 使用C51和L51的完整示例134
13.12.1 多模块编程135
13.12.2 多模块编译135
13.12.3 多模块连接定位137
第三部分 XAC(80C51XA用16位嵌入式C语言)143
第十四章 XAC说明143
14.1 XAC变量说明143
14.1.1 XAC一般变量说明143
14.1.2 绝对变量与SFR147
14.1.3 位变量与可位寻址SFR147
14.2 XAC数组说明148
14.3 XAC结构说明148
14.4 XAC联合说明148
14.5 XAC函数说明148
14.5.1 XAC一般函数说明149
14.5.2 XAC banked中断函数说明149
14.5.3 中断向量表(ROM向量表)的添写150
14.5.4 中断接管与RAM向量表152
第十五章 XAC编译器内部管理规范和约定154
15.1 XAC标准程序子段(psect)154
15.2 XAC有关寄存器的约定155
15.3 XAC有关参数传送和函数返回的约定155
15.4 XAC关于函数的签字156
15.5 XAC有关存储器的约定156
15.6 XAC的存储模式156
15.7 XAC关于运行时启动模块的规定158
15.8 XAC上电子程序158
15.9 XAC标准启动模块的编程158
15.9.1 连接器定义符号名158
15.9.2 bss和rbss清零程序159
15.9.3 data和rdta复制程序159
15.10 XAC定制的启动模块159
15.10.1 手工优化代码159
15.10.2 定制启动模块的编写160
15.10.3 关于版权信息160
第十六章 XAC的混合编程和函数库161
16.1 C语言与汇编语言混合编程161
16.1.1 C与汇编函数的交叉调用161
16.1.2 在线嵌入汇编指令段162
16.2 XAC运行时间库函数162
16.2.1 标准输入输出库函数及用户的定制162
16.2.2 XAC库函数汇总163
16.2.3 XAC库管理器实用程序166
第十七章 XAC编译器168
17.1 编译命令行控制选项168
17.1.1 -A(指定ROM和RAM定位地址)169
17.1.2 -AAHEX(指定按美国自动化符号格式生成HEX文件)169
17.1.3 -AV(指定符号文件用Avocet风格)170
17.1.4 -BIN(指定生成二进制输出文件)170
17.1.5 -Bl(指定选用大存储模式)170
17.1.6 -Bm(指定选用中存储模式)170
17.1.7 -Bs(指定选用小存储模式)170
17.1.8 -C(只翻译到目标文件)171
17.1.9 -CR(生成交叉访问表)171
17.1.10 -CLIST(生成C列表文件)171
17.1.11 -D(定义宏)171
17.1.12 -DOUBLE(起用IEEE64位DOUBLE变量)172
17.1.13 -E(编译器使用editor格式的错误信息)172
17.1.14 -E(编译器错误信息重定向到指定文件)172
17.1.15 -H(生成汇编级符号文件)172
17.1.16 -I(指定附加的搜索头文件的路径)173
17.1.17 -L(指定附加的扫描库)173
17.1.18 -L-(指定传递给LINKER的控制选项)173
17.1.19 -M(生成映像文件)173
17.1.20 -MOTOROLA(生成Motorola S-Record格式的HEX文件)174
17.1.21 -N(指定标识符有效字符长度)174
17.1.22 -O(启动优化)174
17.1.23 -O(指定输出文件)174
17.1.24 -OMF51(指定生成OMF51格式的输出文件)174
17.1.25 -PROTO(指定生成包括ANSI和K R风格的函数原型文件)174
17.1.26 -PSECTMAP(程序段映像表)174
17.1.27 -S(编译生成汇编源文件)175
17.1.28 -STRICT(严格遵守ANSI标准)175
17.1.29 -TEK(编译生成Tektronics HEX文件)175
17.1.30 -U(解除宏定义)176
17.1.31 -UBROF(指定生成UBROF格式的输出文件)176
17.1.32 -UNSIGNED(指定unsigned char为char的缺省类型)176
17.1.33 -V(详示编译命令)176
17.1.34 -W(设置告警级别)176
17.1.35 -X(去除局部符号)176
17.1.36 -Zg(启动全局优化)176
17.2 编译器输出文件格式176
17.3 编译器生成的符号文件177
17.4 CREF生成交叉访问表的实用程序177
17.4.1 -F路径或文件名177
17.4.2 -H表头名178
17.4.3 -L每页行数178
17.4.4 -O输出文件名178
17.4.5 -P页宽178
17.4.6 -S包含拒选符号的文件名178
17.4.7 -X拒选符号的前导字符序列178
第十八章 XAC预处理器178
18.1 XAC预定义宏179
18.2 #pragma编译控制伪指令179
第十九章 XAC宏汇编器179
19.1 序言181
19.2 XA汇编源文件语句181
19.2.1 字符集181
19.2.2 数181
19.2.3 分隔符181
19.2.4 特殊字符181
19.2.5 标识符182
19.2.6 汇编生成的标识符182
19.2.7 位置计数器182
19.2.8 寄存器符号182
19.2.9 字符串182
19.2.10 暂时标号182
19.2.11 表达式182
19.2.12 汇编语句的格式183
19.3 XA汇编伪指令183
19.3.1 伪指令语句格式183
19.3.2 PUBLIC183
19.3.3 EXTRN184
19.3.4 GLOBAL184
19.3.5 END184
19.3.6 程序段(PSECT)184
19.3.7 ORG185
19.3.8 EQU和SET185
19.3.9 DB和DW186
19.3.10 DF186
19.3.11 DS186
19.3.12 IF ELSE EKSEIF ENDIF186
19.3.13 SIGNAT186
19.3.14 控制选项伪指令行187
19.4 宏187
19.4.1 MACRO ENDM187
19.4.2 LOCAL188
19.4.3 REPT188
19.4.4 IRP189
19.4.5 IRPC190
19.5 XA汇编命令行190
19.5.1 XA汇编命令行格式190
19.5.2 汇编选项190
第二十章 HLINK连接器191
20.1 简介192
20.2 连接与定位(或装载)的基本概念192
20.3 连接命令192
20.4 OBJTOHEX实用程序193
第二十一章 HPDXA 51XA集成开发平台194
21.1 安装196
21.1.1 MS_DOS下的安装196
21.1.2 UNIX操作系统下的安装196
21.2 快速入门196
21.2.1 简单程序示例197
21.2.2 使用HPDXA197
21.2.3 使用XAC命令行197
21.2.4 运行程序197
21.3 HPDXA用户接口198
21.3.1 监视器模式必性选择198
21.3.2 菜单命令操作198
21.4 HPDXA菜单命令快览199
21.4.1 系统子菜单(<<>>)202
21.4.2 File子菜单202
21.4.3 Edit子菜单202
21.4.4 Option子菜单202
21.4.5 Compile子菜单203
21.4.6 Make子菜单203
21.4.7 Run子菜单204
21.4.8 Utility子菜单205
21.4.9 Help子菜单206
21.5 HPDXA编辑器207
21.6 编译连接一条龙示例207
附录209
附录A C51函数库209
A.1 数学函数209
A.1.1 函数名:abs,cabs.fabs.labs209
A.1.2 函数名:exp,log,log10210
A.1.3 函数名:sqrt210
A.1.4 函数名:rand,srand211
A.1.5 函数名:cos,sin,tan211
A.1.6 函数名:acos,asin,atan,atan2212
A.1.7 函数名:cosh,sinh,tanh,212
A.1.8 函数名:fpsave,fprestore213
A.1.9 函数名:ceil214
A.1.10 函数名:floor214
A.1.11 函数名:modf214
A.1.12 函数名:pow215
A.2 标准化I/O函数215
A.2.1 函数名:_getkey()216
A.2.2 函数名:getchar216
A.2.3 函数名:gets216
A.2.4 函数名:ungetchar217
A.2.5 函数名:-ungetkey217
A.2.6 函数名:putchar218
A.2.7 函数名:printf218
A.2.8 函数名:sprintf220
A.2.9 函数名:puts221
A.2.10 函数名:scanf221
A.2.11 函数名:sscanf223
A.3 动态存储函数223
A.3.1 函数名:calloc224
A.3.2 函数名:free224
A.3.3 函数名:int_mempool225
A.3.4 函数名:malloc225
A.3.5 函数名:realloc226
A.4 字符归类函数226
A.4.1 函数名:isalpha226
A.4.2 函数名:isalnum227
A.4.3 函数名:iscntrl227
A.4.4 函数名:isdigit228
A.4.5 函数名:isgraph228
A.4.6 函数名:isprint229
A.4.7 函数名:ispunct229
A.4.8 函数名:islower230
A.4.9 函数名:isupper230
A.4.10 函数名:isspace231
A.4.11 函数名:isxdigit231
A.4.12 函数名:toascii(参数宏)232
A.4.13 函数名:toint232
A.4.14 函数名:tolower232
A.4.15 函数名:tolower(参数宏)233
A.4.16 函数名:toupper233
A.4.17 函数名:_toupper(参数宏)234
A.5 字符串函数234
A.5.1 函数名:memchr234
A.5.2 函数名:memcmp235
A.5.3 函数名:memcpy236
A.5.4 函数名:memccpy236
A.5.5 函数名:memmove237
A.5.6 函数名:memset237
A.5.7 函数名:strcat238
A.5.8 函数名:strncat238
A.5.9 函数名:strcmp239
A.5.10 函数名:strncmp239
A.5.11 函数名:strcpy240
A.5.12 函数名:strncpy240
A.5.13 函数名:strlen241
A.5.14 函数名:strchr,strpos241
A.5.15 函数名:strrchr,strrpos242
A.5.16 函数名:strspn,strcspn,strpbrk,strrpbrk243
A.6 字符串转换函数244
A.6.1 函数名:atof244
A.6.2 函数名:atol245
A.6.3 函数名:atoi245
A.7 变参数函数246
A.7.1 宏名:va_list246
A.7.2 宏名:va_start(va_list ap,last_argument)246
A.7.3 宏名:type va_arg(va_list ap,type)246
A.7.4 宏名:va_end(va_list ap)246
A.8 全程跳转函数248
A.8.1 函数名:setjmp248
A.8.2 函数名:longjmp248
A.9 内部函数250
A.9.1 函数名:_crol_,_irol_,_lrol_250
A.9.2 函数名:_cror_,_iror_,_lror_250
A.9.3 函数名:_nop_251
A.9.4 函数名:_testbit_251
A.10 抽象数组252
A.10.1 函数名:CBYTE,BDYTE,PBYTE,XBYTE252
A.10.2 函数名:CWORD,DWORD,XWORD,PWORD252
附录B C51编译器使用错误提示253
B.1 前言253
B.2 致命错误253
B.3 语法及语义错误255
附录C L51连接/定位器使用错误提示267
C.1 前言267
C.2 L51警告267
C.3 L51错误269
C.4 L51致命错误272
C.5 例外信息275
附录D C51的极限值276
附录E XAC运行时间库函数277
E.1 ACOS277
E.2 ASCTIME277
E.3 ASIN278
E.4 ASSERT279
E.5 ATAN280
E.6 ATOF280
E.7 ATOI281
E.8 ATOL281
E.9 BSEARCH282
E.10 CALLOC283
E.11 CEIL284
E.12 CGETS284
E.13 COS285
E.14 COSH,SINH,TANH286
E.15 CPUTS286
E.16 CTIME287
E.17 DI,EI287
E.18 DIV288
E.19 EXIT289
E.20 EXP289
E.21 FABS290
E.22 FLOOR290
E.23 FREE291
E.24 FREXP292
E.25 GETC292
E.26 GETCH,GETCHE,UNGETCH293
E.27 GETS293
E.28 GMTIME294
E.29 ISALNUM,ISALPHA,ISDIGIT,ISLOWER等295
E.30 KBHIT296
E.31 LDEXP296
E.32 LDIV297
E.33 LOCALTIME298
E.34 LOG,LOG10299
E.35 LONGJMP299
E.36 MALLOC300
E.37 MEMCHR301
E.38 MEMCMP302
E.39 MEMCPY303
E.40 MEMMOV303
E.41 MEMSET304
E.42 PERSIST_CHECK,ERSIST_VALIDATE304
E.43 POW305
E.44 PRINTF,VPRINTF306
E.45 PUTCH308
E.46 PUTS308
E.47 QSORT309
E.48 RAND310
E.49 REALLOC310
E.50 SCANF,VSCANF311
E.51 SET_VECTOR312
E.52 SETJMP313
E.53 SIN314
E.54 SPRINTF,VSPRINTF315
E.55 SQRT315
E.56 SRAND316
E.57 SSCANF,VSSCANF317
E.58 STRCAT318
E.59 STRCHR318
E.60 STRCMP319
E.61 STRCPY320
E.62 STRLEN320
E.63 STRNCAT321
E.64 STRNCMP322
E.65 STRNCPY322
E.66 STRRCHR323
E.67 TAN324
E.68 TOLOWER,TOUPPER,TOASCII324
E.69 VA_STSRT,VA_ARG,VA_END325
附录F XAC使用错误信息327
附录G HTDXA菜单命令热键363