注册 登录 进入教材巡展
#

出版时间:2025-12

最新印次日期:2025-12

出版社:中国轻工业出版社

以下为《C51语言程序设计》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 中国轻工业出版社
  • 9787518458776
  • 1-1
  • 2025-12
  • 装备制造大类
  • 自动化类
  • 电气工程、自动化、机械工程
  • 高职 五年制高职 高职本科(应用型本科)
作者简介
李云,副教授,主要从事与计算机软件开发相关的教学和科研工作。近年来,主要承担《C语言程序设计》、《单片机应用与实践》等课程的教学和教育研究。
查看全部
内容简介
本书共分为三篇。 第一篇为程序设计入门。 介绍了C51语言的关键字、 模块化的程序结构和三种典型的程序流程, 紧密结合实际应用场景, 提供了丰富的实例代码, 应用C51语言实现各类数据运算。 其中, 详细介绍了51芯片的功能寄存器和存储器结构及特点, 使读者能合理选择数据存储的位置。 第二篇为模块化程序设计, 介绍了函数和数组、 结构体等复杂数据类型,其中包括C51语言特有的中断函数和可重入函数。 通常在嵌入式开发中, 每个硬件都会被处理成模块文件, 因此, 对于外部函数的设计、 参数的作用域, 以及应用指针来传递复杂类型参数等, 本书都给出了实例代码。 通过学生管理系统实例, 读者可以直观地理解指针在模块化编程中的应用。 第三篇为工程管理与算法, 主要介绍了程序预处理、 编译以及工程管理, 并使用C51语言实现了队列和链表的操作算法。 嵌入式开发中硬件资源的配置实质是对寄存器或内存地址的读写操作。 大量的内存地址指针, 只有通过宏定义和条件编译转换成有意义的字符信息, 程序才具有可读性和可维护性。 第三篇通过调光系统实例, 介绍了头文件和源文件的包含关系; 通过智能密码锁管理系统, 实现链表创建、 增加和删除等操作。 最后, 本书附录C中简要介绍了程序调试运行方法, 展示了硬件设备的仿真窗口、 变量窗口和内存窗口等。 调试运行和仿真是嵌入式开发过程中不可或缺的一环, 能帮助开发人员更好地理解程序与硬件之间的交互过程。 本书附录D提供了系统输入/输出函数的重定向代码, 方便读者将Keil平台的案例程序移植到其他C语言编译环境中。
目录
目 录
第一篇 程序设计入门2
第一章 程序设计基础2
1.1 嵌入式开发和C51语言2
1.1.1 什么是C51语言5
1.1.2 嵌入式系统架构8
1.1.3 开发工具Keil12
  1.2 模块化程序结构12
    1.2.1 工程和文件12
    1.2.2 函数和语句15
    1.2.3 标准库函数17
  1.3 程序控制流程21
    1.3.1 顺序流程21
    1.3.2 循环流程22
    1.3.3 分支流程24
  1.4 总结27
  1.5 习题27
第二章 数据类型和表达式28
  2.1 浮点型28
  2.2 整型29
    2.2.1 整型的表示形式29
    2.2.2 功能寄存器类型32
    2.2.3 位类型33
  2.3 字符型36
  2.4 void类型39
  2.5 变量40
  2.6 运算符及表达式运算41
    2.6.1 算术表达式41
    2.6.2 关系表达式44
    2.6.3 位运算表达式45
    2.6.4 赋值表达式48
    2.6.5 三元运算式49
    2.6.6 运算符优先级和类型转换49
  2.7 数组和字符串51
  2.8 数据存储区53
  2.9 总结57
  2.10 习题57
第三章 程序流程控制59
  3.1 for和do-while语句59
  3.2 break和continue语句61
  3.3 循环嵌套63
  3.4 if-else嵌套65
  3.5 多重分支switch语句68
  3.6 总结70
  3.7 习题70
第二篇 模块化程序设计
第四章 函数72
  4.1 内部函数72
  4.2 外部函数76
  4.3 函数的参数传递79
  4.4 变量和函数的作用域82
  4.5 中断函数85
  4.6 可重入函数88
  4.7 总结89
  4.8 习题89
第五章 数组91
  5.1 一维数组91
    5.1.1 数组的声明和初始化91
    5.1.2 一维数组的存储91
    5.1.3 数组元素的引用93
    5.1.4 数组长度和下标94
  5.2 字符串和字符数组95
    5.2.1 字符数组和字符串的定义95
    5.2.2 字符数组和字符串的引用97
    5.2.3 字符串库函数及应用98
  5.3 多维数组99
    5.3.1 二维数组99
    5.3.2 字符串数组102
  5.4 总结104
  5.5 习题104
第六章 指针105
  6.1 指针和地址105
    6.1.1 指针的声明和定义105
    6.1.2 指针引用106
  6.2 指针和函数108
    6.2.1 指针作为函数参数108
    6.2.2 使用无类型指针传递参数110
    6.2.3 指针作为返回值111
    6.2.4 指向函数的指针112
  6.3 指针和数组113
    6.3.1 指向数组元素的指针113
    6.3.2 指向字符串的指针115
    6.3.3 指向二维数组的指针116
  6.4 总结118
  6.5 习题118
第七章 结构体和枚举类型120
  7.1 结构体类型120
    7.1.1 结构体类型的定义120
    7.1.2 声明结构体变量121
    7.1.3 初始化结构体成员121
    7.1.4 引用结构体成员122
    7.1.5 使用typedef定义结构体类型的别名124
  7.2 结构体和函数125
    7.2.1 结构体类型的指针变量作为函数形参125
    7.2.2 结构体的函数指针成员126
  7.3 枚举类型127
    7.3.1 枚举类型的定义127
    7.3.2 声明和引用枚举变量128
    7.3.3 使用typedef定义枚举别名129
    7.3.4 枚举类型和结构体130
  7.4 综合实例:学生信息管理系统131
  7.5 总结135
  7.6 习题136
第三篇 工程管理与算法
第八章 预处理和工程组织138
  8.1 预处理138
    8.1.1 宏定义139
    8.1.2 条件编译142
    8.1.3 文件包含146
  8.2 工程组织148
    8.2.1 函数和变量的组织148
    8.2.2 头文件的组织151
  8.3 总结154
  8.4 习题154
第九章 数据结构的应用155
  9.1 队列排序155
  9.2 建立链表156
  9.3 综合实例:智能密码锁管理系统159
  9.4 总结170
  9.5 习题170
附录A ASCII码表、运算符171
附录B C51语言的关键字与库函数173
附录C Keil集成开发平台仿真调试178
附录D 串口输出uart.c文件182
参考文献184