新書推薦:
《
大模型应用开发:RAG入门与实战
》
售價:HK$
89.4
《
不挨饿快速瘦的减脂餐
》
售價:HK$
67.0
《
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
》
售價:HK$
110.7
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:HK$
132.2
《
化妆品学原理
》
售價:HK$
55.8
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:HK$
47.0
《
爱你,是我做过最好的事
》
售價:HK$
55.8
《
史铁生:听风八百遍,才知是人间(2)
》
售價:HK$
55.8
|
內容簡介: |
教材采用任务驱动式教学方式,按照“由简到难、循序渐进”的教学原则,共设置了8个单元:C语言程序设计入门、利用三种程序结构解决简单问题、利用数组处理同类型的批量数据、利用函数实现模块化程序设计、灵活使用指针处理问题、利用复杂的构造类型解决实际问题、利用文件进行数据管理、嵌入式技术基础实践入门。教材中的C语言知识点描述言简意赅,例题浅显易懂,突出模块化程序设计思想,注重软件设计工程规范,灵活采用对比法、类比法、启发法、实验法等多种教学方法。有效结合嵌入式技术应用,提出了基于构件化的嵌入式软件设计思想、方法和应用案例。
|
關於作者: |
索明何,副教授,江苏省计算机学会嵌入式系统与物联网专业委员会委员。目前从事ARM嵌入式系统、物联网与车联网方向教学与科研工作。承担《C语言程序设计》、《ARM嵌入式系统》、《嵌入式实时操作系统》、《数据结构》、《车载网络技术》、《电子技术基础》等课程教学。曾获江苏省电子设计竞赛优秀指导教师、高校微课教学优秀教师,指导江苏省优秀毕业设计论文一等奖1篇、二等奖2篇。
|
目錄:
|
前言
第1单元C语言程序设计
入门1任务1.1了解通用计算机和嵌入式
计算机的区别1
任务1.2使用VC 2010软件开发
C程序3
1.2.1VC 2010开发环境的
使用方法和步骤3
1.2.2初识简单的C程序10
任务1.3学习数据的基本类型
及其表现形式14
1.3.1常量与变量15
1.3.2整型数据15
1.3.3字符型数据18
1.3.4实型数据20
1.3.5变量的初始化22
1.3.6常变量23
任务1.4利用基本的运算符解决
简单问题23
1.4.1算术运算符及其表达式23
1.4.2强制类型转换运算符及其
表达式26
1.4.3赋值运算符及其表达式27
1.4.4关系运算符及其表达式31
1.4.5逻辑运算符及其表达式32
1.4.6位运算符及其表达式34
1.4.7逗号运算符及其表达式38
单元测试题38
第2单元利用三种程序结构解决
简单问题40任务2.1知识储备40
2.1.1算法及流程图表示40
2.1.2程序的三种基本结构41
2.1.3C语句及其分类42
任务2.2利用顺序结构程序解决实际
问题43
2.2.1数据输入输出函数43
2.2.2顺序结构程序设计应用49
任务2.3利用选择结构程序解决
实际问题51
2.3.1if语句及应用51
2.3.2switch语句及应用58
任务2.4利用循环结构程序解决
实际问题61
2.4.1while循环结构程序
设计61
2.4.2do…while循环结构程序
设计62
2.4.3for循环结构程序设计65
2.4.4循环嵌套66
2.4.5break语句和continue
语句67
任务2.5利用预处理命令提高
编程效率69
2.5.1宏定义69
2.5.2文件包含72
2.5.3条件编译73
单元测试题75第3单元利用数组处理同类型的批量
数据78任务3.1利用一维数组处理同类型的批量
数据78
3.1.1定义一维数组的方法78
3.1.2一维数组的初始化79
3.1.3一维数组元素的引用79
3.1.4一维数组的应用80
任务3.2利用二维数组处理同类型的批量
数据83
3.2.1定义二维数组的方法83
3.2.2二维数组的初始化84
3.2.3二维数组元素的引用85
3.2.4二维数组的应用85
任务3.3利用字符数组处理多个字符或
字符串86
3.3.1定义字符数组的方法86
3.3.2字符数组的初始化87
3.3.3字符数组元素的引用88
3.3.4字符数组的输入、输出88
3.3.5字符串处理函数90
单元测试题92
第4章利用函数实现模块化程序设计94
任务4.1熟悉C程序的结构和函数的
分类94
任务4.2学习定义函数的方法95
4.2.1定义无参函数96
4.2.2定义有参函数97
任务4.3学习函数的三种调用方式97
4.3.1函数的一般调用97
4.3.2函数的嵌套调用101
4.3.3函数的递归调用103
任务4.4利用数组作为函数参数进行
模块化程序设计106
4.4.1数组元素作为函数实参106
4.4.2数组名作为函数参数106
任务4.5灵活设置变量的类型109
4.5.1局部变量和全局变量109
4.5.2变量的存储方式112
任务4.6使用内部函数和外部函数进行
模块化程序设计119
任务4.7熟悉嵌入式中断服务函数120
单元测试题121
第5单元灵活使用指针处理问题124
任务5.1理解指针的基本概念124
任务5.2利用指针引用普通变量125
5.2.1定义指针变量的方法125
5.2.2指针变量的引用125
5.2.3指针变量作为函数参数127
任务5.3利用指针引用数组元素129
5.3.1指向数组元素的指针129
5.3.2通过指针引用数组元素130
5.3.3用数组名作为函数参数133
5.3.4通过指针引用多维数组137
任务5.4利用指针引用字符串141
5.4.1字符串的引用方式141
5.4.2字符串在函数间的传递方式143
5.4.3使用字符数组与字符指针变量的
区别144
任务5.5利用指针调用函数145
任务5.6通过函数调用获取指针值147
任务5.7利用指针数组、指向指针的指针
引用多个数据150
5.7.1指针数组150
5.7.2指向指针的指针155
任务5.8利用内存动态分配函数建立动态
数组156
5.8.1内存动态分配的概念156
5.8.2内存动态分配的方法157
任务5.9指针小结159
单元测试题160
第6单元利用复杂的构造类型解决实际
问题164任务6.1声明一个结构体类型164
任务6.2利用结构体变量处理一组数据165
6.2.1定义结构体变量的方法165
6.2.2结构体变量的初始化167
6.2.3结构体变量的引用168
任务6.3利用结构体数组处理多组数据169
6.3.1定义结构体数组的方法169
6.3.2结构体数组的初始化169
6.3.3结构体数组的应用170
任务6.4利用结构体指针引用结构体数据172
6.4.1指向结构体变量的指针172
6.4.2指向结构体数组的指针173
6.4.3结构体指针变量作为函数参数174
任务6.5利用共用体类型节省内存空间175
6.5.1共用体类型的概念175
6.5.2共用体类型的变量176
6.5.3共用体的应用举例177
任务6.6利用枚举类型简化程序180
任务6.7用typedef声明新类型名182
任务6.8利用链表处理一组数据183
6.8.1链表概述183
6.8.2链表的建立185
6.8.3链表的输出189
6.8.4链表的查找190
6.8.5链表的插入191
6.8.6链表的删除192
6.8.7链表操作综合应用194
单元测试题196
第7单元利用文件进行数据管理199
任务7.1熟悉文件的分类和文件类型指针199
7.1.1文件的分类199
7.1.2文件缓冲区200
7.1.3文件类型指针200
任务7.2文件的打开与关闭201
7.2.1用fopen 函数打开数据文件201
7.2.2用fclose函数关闭数据文件203
任务7.3顺序读写数据文件203
7.3.1对文件读写一个字符203
7.3.2对文件读写一个字符串206
7.3.3格式化读写文件207
7.3.4用二进制方式对文件读写一组
数据209
任务7.4随机读写数据文件212
7.4.1文件位置指示器及其定位212
7.4.2随机读写213
任务7.5文件读写的出错检测215
单元测试题216
第8单元嵌入式技术基础实践入门219
任务8.1熟悉嵌入式构件化设计及使用
方法219
任务8.2熟悉嵌入式技术基础与实践
路线222
附录224
附录A常用字符与ASCII代码对照表224
附录BANSI C的关键字225
附录C运算符的优先级和结合性226
附录DC库函数227
参考文献234
|
|