图书介绍

从C到嵌入式C编程语言 入门、实用、深入PDF|Epub|txt|kindle电子书版本网盘下载

从C到嵌入式C编程语言 入门、实用、深入
  • 梁合庆等编著 著
  • 出版社: 北京:北京航空航天大学出版社
  • ISBN:7810129996
  • 出版时间:2000
  • 标注页数:363页
  • 文件大小:12MB
  • 文件页数:385页
  • 主题词:C语言(学科: 程序设计) C语言 程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

从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

热门推荐