嵌入式C程序设计

嵌入式C程序设计 教材名称: 嵌入式C程序设计
ISBN号: 978-7-89436-084-7 作者: 胡德清、曾妍
字数: 383千字 规格: 16开
印制时间: 2013-03-21 出版日期: 2013-03-06
定价: 38.80 元 样章下载: 978-7-89436-084-7嵌入式C程序设计样章(加水印).pdf
购买链接:

        本教材对教学设计和教学内容进行优化,全面摒弃已有教材以理论讲述为主的编写方式,采用任务驱动的教学模式进行教材的体例建设。本教材强调程序流程图的重要性,为编程提供指导思想和思路,增加了指针的比例和位运算的功能,为编写硬件应用程序打下坚实的基础。案例注重对编程思想和方法的介绍,以实际工程应用项目为主,同时进行教材的配套资源建设,以方便教师的教学和学生的自学。
        本教材主要内容包括:C程序的基本结构和调试运行环境、语法结构、控制结构(顺序结构、选择结构、循环结构)、数组(一维数组、二维数组、数组做函数的参数)、函数、指针、结构体和共用体、文件、综合实训等内容。
        本教材适合作为高职高专等高等院校电子信息类专业C语言程序设计课程的教材,也可以作为其他C语言爱好者的参考教材。
 
 
第1章认识C程序1
 
1.1项目一:认识C程序的基本结构1
 
1.1.1任务1:输出一个字符串1
 
1.1.2任务2:编写自定义函数实现求两个整数的和在主函数中输出1
 
1.1.3知识准备2
 
 
1.2项目二:编写、运行和调试任务2的程序3
 
1.2.1认识C语言的集成开发环境3
 
1.2.2C程序的编译过程5
 
1.3本章小结6
 
习题一6
第2章认识C程序的语法7
 
2.1项目一:认识C语言的数据类型7
 
2.1.1任务:计算圆的周长和面积8
 
2.1.2知识准备8
 
2.2项目二:认识C语言的运算符与表达式12
 
2.2.1任务1:算术运算符及其表达式13
 
2.2.2任务2:关系运算符及其表达式14
 
2.2.3任务3:逻辑运算符及其表达式14
 
2.2.4任务4:位运算符及其表达式16
 
2.2.5任务5:赋值运算符及其表达式16
 
2.2.6任务6:其他运算符及其表达式18
 
2.3本章小结19
 
习题二20
第3章顺序结构程序设计22
 
3.1项目一:字符输入输出函数的应用22
 
3.1.1任务:小写字母转换为大写字母22
 
3.1.2知识准备22
 
3.2项目二:带格式控制的输入输出函数的应用23
 
3.2.1任务:输入平行四边形的底和高,输出其面积(保留两位小数)23
 
3.2.2知识准备23
 
3.3项目三:顺序结构的程序设计26
 
3.3.1任务:输入圆柱体的底半径和高,输出其体积(保留三位小数)26
 
3.3.2知识准备27
 
3.4本章知识强化27
 
3.5本章小结28
 
习题三28
第4章选择结构程序设计31
 
4.1项目一:单分支if语句31
 
4.1.1任务:字符检测与输出31
 
4.1.2知识准备31
 
4.2项目二:双分支if语句32
 
4.2.1任务:任意输入两个不相等的整数,输出较大的数32
 
4.2.2知识准备32
 
4.3项目三:if语句的嵌套33
 
4.3.1任务1:检测键盘输入的字符类型33
 
4.3.2知识准备34
 
4.3.3任务2:检测键盘输入的字符类型35
 
4.3.4知识准备37
 
4.4项目四:switch和break语句37
 
4.4.1任务:用switch语句将百分制成绩转换成五级制输出37
 
4.4.2知识准备38
4.5本章知识强化39
 
4.6本章小结42
习题四42
第5章循环结构程序设计46
 
5.1项目一:while循环46
 
5.1.1任务:编程实现求1+2+3+…+100的和46
 
5.1.2知识准备46
 
5.2项目二:do\|while循环47
 
5.2.1任务:编程实现求正整数n的阶乘47
 
5.2.2知识准备48
 
5.3项目三:for循环49
 
5.3.1任务:编程判断整数n是否是素数49
 
5.3.2知识准备50
 
5.4项目四:多重循环51
 
5.4.1任务:编程实现求1到10的阶乘之和51
 
5.4.2知识准备52
 
5.5本章知识强化52
 
 
5.6本章小结57
 
习题五58第6章数组63
 
 
6.1项目一:数值型一维数组的应用63
 
6.1.1任务:统计一组数据中正数的个数和他们的累加和63
 
6.1.2知识准备64
 
6.1.3知识强化69
 
6.2项目二:数值型二维数组的应用72
 
6.2.1任务:输入输出一个二维数组,并输出各元素的地址72
 
6.2.2知识准备73
 
 
 
 
6.2.3
知识强化75
 
6.3项目三:字符型数组和字符串的应用78
 
6.3.1任务:利用一维数组输出字符串“I Am Student!”78
 
6.3.2知识准备79
 
6.4本章知识强化85
 
6.5本章小结88
 
习题六89
第7章函数94
 
7.1项目一:函数调用94
 
7.1.1任务:编写两个自定义函数实现求两数的和与积94
 
7.1.2知识准备95
 
7.1.3知识强化98
 
7.1.4使用递归调用的方法求正整数n的阶乘101
 
7.1.5知识准备102
 
7.1.6知识强化103
 
7.2项目二:模块化程序设计105
 
7.2.1任务:设计一个等差数据系列产生器105
 
7.2.2知识准备105
 
7.2.3知识强化112
 
7.3本章小结115
 
习题七115
第8章指针121
 
8.1项目一:指针变量的应用121
 
8.1.1任务:采用传址调用交换a,b变量的值121
 
8.1.2知识准备122
 
8.1.3知识强化127
 
8.2项目二:数组指针的应用130
 
8.2.1任务1:用下标法和指针法输出数组元素130
 
8.2.2知识准备130
 
8.2.3知识强化133
 
8.2.4任务2:采用不同的地址计算法输出二维数组元素136
 
8.2.5知识准备138
 
8.2.6知识强化140
 
8.3项目三:字符串指针的应用141
 
8.3.1任务:利用指针变量输出字符数组的内容141
 
8.3.2知识准备142
 
8.3.3知识强化143
 
8.4项目四:函数指针的应用145
 
8.4.1任务:使用函数指针变量调用函数145
 
8.4.2知识准备146
8.4.3知识强化150
 
8.5项目五:指针数组的应用152
 
8.5.1任务:使用指针数组找出多个字符串中的最大串152
 
8.5.2知识准备153
 
8.5.3知识强化154
 
8.6项目六:指向指针的指针的应用155
 
8.6.1任务:字符串排序155
 
8.6.2知识准备156
 
8.6.3知识强化157
 
8.7本章小结158
 
习题八159
第9章结构体与共用体167
 
9.1项目一:结构体的应用167
 
9.1.1任务:输出学生信息表167
 
9.1.2知识准备168
 
9.2项目二:结构体数组的应用173
 
9.2.1任务:编写程序实现对候选人的得票数进行统计173
 
9.2.2知识准备174
 
9.3项目三:指向结构体类型数据的指针变量的应用175
 
9.3.1任务:使用指针输出结构体成员的值175
 
9.3.2知识准备176
 
9.3.3知识强化177
 
9.4项目四:共用体的应用180
 
9.4.1任务:编写程序用于学校对教师和学生信息进行统计180
 
9.4.2知识准备181
9.4.3知识强化184
 
9.5本章小结185
习题九189
第10章文件193
 
10.1项目:文件应用193
 
10.1.1任务:文件的写入和读取193
 
10.1.2知识准备194
 
10.1.3知识强化202
 
10.2本章小结207
 
习题十208
第11章综合实训一:编程制作一个同学通讯录211
第12章综合实训二:设计一个竞赛计分系统221
附录230
附录1ASCII码表230
 
 
附录2常用库函数231
 
附录3运算符及其优先级235
参考文献237
 
 
 
 
第1章认识C程序1
 
1.1项目一:认识C程序的基本结构1
 
1.1.1任务1:输出一个字符串1
 
1.1.2任务2:编写自定义函数实现求两个整数的和在主函数中输出1
 
1.2知识准备2
 
1.2.1C程序的特点2
 
1.2.2C程序的基本结构3
 
1.3项目二:编写、运行和调试任务2的程序3
 
1.3.1认识C语言的集成开发环境3
 
1.3.2C程序的编译过程5
 
1.4本章小结6
 
习题一6第2章认识C程序的语法7
2.1项目一:认识C语言的数据类型7
 
2.1.1任务1:计算圆的周长和面积8
 
2.1.2知识准备8
 
2.2项目二:认识C语言的运算符与表达式12
 
2.2.1任务1:算术运算符及其表达式13
 
2.2.2任务2:关系运算符及其表达式14
 
2.2.3任务3:逻辑运算符及其表达式14
 
2.2.4任务4:位运算符及其表达式16
 
2.2.5任务5:赋值运算符及其表达式16
 
2.2.5任务6:其他运算符及其表达式18
 
2.3本章小结19
 
习题二20第3章顺序结构程序设计22
 
3.1项目一:字符输入输出函数的应用22
 
3.1.1任务1:键盘输入一个小写字母,输出其对应的大写字母22
 
3.1.2知识准备22
 
3.2项目二:带格式控制的输入输出函数的应用23
 
3.2.1任务1:输入平行四边形的底和高,输出其面积(保留两位小数)23
 
3.2.2知识准备23
 
3.3项目三:顺序结构的程序设计26
 
3.3.1任务1:输入圆柱体的底半径和高,输出其体积(保留三位小数)26
 
3.3.2知识准备27
 
3.4知识强化27
 
3.5本章小结28
 
习题三28第4章选择结构程序设计31
 
4.1项目三:单分支if语句31
 
4.1.1任务1:检测键盘输入是否是小写字母,若是则输出输入的字符31
 
4.1.2知识准备31
 
4.2项目二:双分支if语句32
 
4.2.1任务1:任意输入两个不相等的整数,输出较大的数32
 
4.2.2知识准备32
 
4.3项目三:if语句的嵌套33
 
4.3.1任务1:检测键盘输入的字符类型33
 
4.3.2知识准备34
 
4.3.3任务2:检测键盘输入的字符类型35
 
4.3.4知识准备37
 
4.4项目三:switch和break语句37
 
4.4.1任务1:用switch语句将百分制成绩转换成五级制输出37
 
4.4.2知识准备38
4.5知识强化39
 
4.6本章小结42
习题四42第5章循环结构程序设计46
 
5.1项目一:while循环46
 
5.1.1任务1:编程实现求1+2+3+……+100的和46
 
5.1.2知识准备46
 
5.2项目二:do——while循环47
 
5.2.1任务1:编程实现求正整数n的阶乘47
 
5.2.2知识准备48
 
5.3项目三:for循环49
 
5.3.1任务1:编程判断整数n是否是素数49
 
5.3.2知识准备50
 
5.4项目四:多重循环51
 
5.4.1任务1:编程实现求1到10的阶乘之和51
 
5.4.2知识准备52
 
5.5知识强化52
 
5.6本章小结57
 
习题五57第6章数组63
 
6.1项目一:数值型一维数组的应用63
 
6.1.1任务1:统计一组数据中正数的个数和他们的累加和63
 
6.2技术准备63
 
6.2.1一维数组概述63
 
6.2.2一维数组的定义和引用65
6.3一维数组强化练习68
6.4项目二:数值型二维数组的应用71
6.4.1任务1、输入输出一个二维数组,并输出各元素的地址71
6.5技术准备73
6.5.1二维数组的概念73
 
6.5.2二维数组的定义和元素引用73
 
6.5.3二维数组在内存中的存放形式73
 
6.5.4二维数组元素初始化和输出操作74
 
6.6知识强化74
 
6.7项目三:字符型数组和字符串的应用77
 
6.7.1任务1:利用一维数组输出字符串“I Am Student!”77
 
6.7.2知识准备78
 
6.8知识强化84
 
6.9本章小结87
 
习题六88第7章函数93
 
7.1项目一:函数调用93
 
7.1.1任务1:编写两个自定义函数实现求两数的和与积93
 
7.1.2知识准备94
 
7.1.3知识强化97
 
7.2任务2:使用递归调用的方法求正整数n的阶乘100
 
7.2.1知识准备101
 
7.2.3知识强化102
 
7.3项目二:模块化程序设计104
 
7.3.1任务1:设计一个等差数据系列产生器104
 
7.3.2知识准备104
 
7.3.3强化练习111
 
7.4本章小结113
 
习题七114第8章指针120
 
8.1项目一:指针变量的应用120
 
8.1.1任务1:采用传址调用交换a,b变量的值120
 
8.1.2知识准备121
 
8.1.3知识强化126
 
8.2项目二:数组指针的应用128
 
8.2.1任务1:用下标法和指针法输出数组元素128
 
8.2.2知识准备129
 
8.2.3知识强化132
 
8.2.4任务2:采用不同的地址计算法输出二维数组元素134
 
8.2.5知识准备136
 
8.2.6知识强化139
 
8.3项目三:字符串指针的应用140
 
8.3.1任务1:利用指针变量输出字符数组的内容140
 
8.3.2知识准备141
 
8.3.3知识强化142
 
8.4项目四:函数指针的应用144
 
8.4.1任务1:使用函数指针变量调用函数144
 
8.4.2知识准备145
 
8.5项目五:指针数组的应用150
 
8.5.1任务1:使用指针数组找出多个字符串中的最大串150
 
8.5.2知识准备151
 
8.5.3知识强化153
 
8.6项目六:指向指针的指针的应用154
 
8.6.1任务1:使用指针的指针将4个字符串按从小到大的顺序进行排序154
 
8.6.2知识准备155
 
8.6.3知识强化156
 
8.7本章小结156
 
习题八158第9章结构体与共用体166
 
9.1项目一:结构体的应用166
 
9.1.1任务1:输出学生信息表166
 
9.1.2知识准备167
 
9.2项目二:结构体数组的应用172
 
9.2.1任务1:编写程序实现对候选人的得票数进行统计172
 
9.2.2知识准备173
 
9.3项目三:指向结构体类型数据的指针变量的应用174
 
9.3.1任务1:使用指向结构体类型数据的指针变量来输出结构体成员的值174
 
9.3.2知识准备175
 
9.4知识强化176
 
9.5项目四:共用体的应用179
 
9.5.1任务1:编写程序用于学校对教师和学生信息进行统计179
 
9.5.2知识准备180
9.5.3知识强化183
 
9.6本章小结184
习题九187第10章文件192
 
10.1项目一:文件应用192
 
10.1.1任务1:文件的写入和读取192
 
10.1.2知识准备193
 
10.1.3知识强化201
 
10.2本章小结206
 
习题十207综合实训1编程制作一个同学通讯录210综合实训2设计一个竞赛计分系统220附录229
附录1ASCII码表229
 
 
附录2常用库函数230
 
附录3运算符及其优先级234参考文献236
 
 
 
(1)本教材对教学设计和教学内容进行了全面的优化,全面摒弃已有教材以理论讲述为主的编写方式,以“够用、适用、有用”的原则来进行编写。
(2)采用任务驱动的教学模式进行教材的体例建设,体现在“做中学、学中做”的行动教学模式。
(3)强调程序流程图的重要性,为编程提供指导思想和思路。
(4)增加指针的比例和位运算的功能,为编写硬件应用程序打下坚实的基础。
(5)案例注重对编程思想和方法的介绍,以实际工程应用项目为主。
(6)案例的选取注重趣味性。寓教于乐,使得教学过程生动活泼,学生也能快乐地学习,有助于提高学生的学习兴趣和积极性。
(7)对教材进行了配套资源建设,以方便教师的教学和学生的自学。