推荐两本C语言学习的书籍

提高学生应对未来专业实践课程的兴趣和信心。

C程序设计 | 谭浩强

由谭浩强教授著、清华大学出版社出版的《C程序设计》经过近三十年一千多万读者的实践检验,被公认为学习C语言程序设计的经典教材。根据C语言的发展和计算机教学的需要,作者在《C程序设计(第四版)》的基础上进行了修订,使内容更加完善,更易于理解,更加切合教学需要。本书按照C语言的新标准C 99进行介绍,所有程序都符合C 99的规定,使编写程序更加规范;对C语言和程序设计的基本概念和要点讲解透彻、全面而深入;按照作者提出的“提出问题—解决问题—归纳分析”三部曲进行教学和组织教材;本书的每个例题都按以下几个步骤展开:提出任务—解题思路—编写程序—运行程序—程序分析—有关说明。符合读者认知规律,容易入门与提高。

本书内容先进,体系合理,概念清晰,讲解详尽,降低台阶,分散难点,例题丰富,深入浅出,文字流畅,通俗易懂,是初学者学习C语言程序设计的理想教材,既可作为高等学校各专业的正式教材,也适合读者自学。本书还配有辅助教材《C程序设计(第五版)学习辅导》。

目录

第1章 程序设计和C语言 1

1.1 什么是计算机程序 1

1.2 什么是计算机语言 1

1.3 C语言的发展及其特点 3

1.4 简单的C语言程序 5

1.5 运行C程序的步骤与方法 11

1.6 程序设计的任务 13

习题 14

第2章 算法——程序的灵魂 15

2.1 程序=算法 数据结构 15

2.2 什么是算法 16

2.3 简单的算法举例 17

2.4 算法的特性 20

2.5 怎样表示一个算法 21

2.6 结构化程序设计方法 33

习题 35

第3章 简单的C程序设计——顺序程序设计 37

3.1 顺序程序设计举例 37

3.2 数据的表现形式及其运算 39

3.3 运算符和表达式 51

3.4 C语句 56

3.5 数据的输入输出 64

习题 80

第4章 选择结构程序设计 83

4.1 选择结构和条件判断 83

4.2 用if语句实现选择结构 85

4.3 关系运算符和关系表达式 89

4.4 逻辑运算符和逻辑表达式 90

4.5 条件运算符和条件表达式 94

4.6 选择结构的嵌套 96

4.7 用switch语句实现多分支选择结构 99

4.8 选择结构程序综合举例 102

习题 107

第5章 循环结构程序设计 110

5.1 为什么需要循环控制 110

5.2 用while语句实现循环 111

5.3 用do…while语句实现循环 113

5.4 用for 语句实现循环 116

5.5 循环的嵌套 120

5.6 几种循环的比较 121

5.7 改变循环执行的状态 121

5.8 循环程序举例 127

习题 137

第6章 利用数组处理批量数据 139

6.1 怎样定义和引用一维数组 139

6.2 怎样定义和引用二维数组 145

6.3 字符数组 151

习题 165

第7章 用函数实现模块化程序设计 167

7.1 为什么要用函数 167

7.2 怎样定义函数 169

7.3 调用函数 171

7.4 对被调用函数的声明和函数原型 176

7.5 函数的嵌套调用 179

7.6 函数的递归调用 181

7.7 数组作为函数参数 189

7.8 局部变量和全局变量 196

7.9 变量的存储方式和生存期 201

7.10 关于变量的声明和定义 211

7.11 内部函数和外部函数 212

习题 215

第8章 善于利用指针 217

8.1 指针是什么 217

8.2 指针变量 219

8.3 通过指针引用数组 229

8.4 通过指针引用字符串 254

8.5 指向函数的指针 265

8.6 返回指针值的函数 273

8.7 指针数组和多重指针 276

8.8 动态内存分配与指向它的指针变量 284

8.9 有关指针的小结 288

习题 291

第9章 用户自己建立数据类型 293

9.1 定义和使用结构体变量 293

9.2 使用结构体数组 300

9.3 结构体指针 303

9.4 用指针处理链表 309

9.5 共用体类型 317

9.6 使用枚举类型 322

9.7 用typedef声明新类型名 326

习题 330

第10章 对文件的输入输出 331

10.1 C文件的有关基本知识 331

10.2 打开与关闭文件 334

10.3 顺序读写数据文件 338

10.4 随机读写数据文件 350

10.5 文件读写的出错检测 355

习题 355

附录 357

附录A 常用字符与ASCII代码对照表 357

附录B C语言中的关键字 358

附录C 运算符和结合性 359

附录D C语言常用语法提要 361

附录E C库函数 365

机器人辅助C程序设计 | 秦志强

C程序设计课程是当前大多数工程专业的第一门专业基础课程,几乎所有的工科学生都要学习C程序设计,以便为后续的专业课程学习打下基础。这门课程学不好,后续专业课程的学习也会大打折扣,影响整个专业课程的学习。目前的现状是,每年几千万的学生在学习C程序设计,但是仍然满足不了社会对合格软件工程师的迫切需求。
传统的C程序设计教材和C语言教学方法,基本上都是围绕科学计算和算法设计展开,教学的目标是建立知识体系。这种教学方法的教学效果越来越不能满足当今工程教育的需要,尤其是对于未来希望从事嵌入式系统设计或者自动化系统设计的学生和个人而言。
学习C语言是为了用C语言去解决程序编写问题,这种程序编写能力只有从程序设计实践中才能迅速获得,理论的讲解过多,不仅对学习C程序设计无益,甚至还会让学生滋生厌烦情绪。当然,只单纯的编写程序也无法获得真正的能力,关键是如何从不断的程序设计实践中,归纳出共性程序设计知识和关键技能,建立起分析问题和解决问题的知识和技能模型,然后再将这些知识技能重新应用到新的程序设计实践中去,才能达到学习的最终目的。这也是当今的大学生要在未来的实际工作(无论是在企业研发还是在高校做研究)中所必须采取的学习和工作方法。因此,如何从一进入大学,就学习和掌握这种自我学习和提高的方法,是高等工程教育改革的根本目标。
本书的编写始终围绕典型的机器人制作项目展开,按照“任务实践-技能归纳-学习总结-项目再实践”的学习模式设计一系列循序渐进的学习实践项目,突破了传统的“课堂理论+上机实验”的传统学习模式,同时引进各种教学竞赛项目代替传统的考试,激发学习兴趣,实现“做中学、学中赛、赛中会”,最终帮助学习者建立起应用C语言进行程序设计的知识技能体系,并获得实际的程序设计技能。
通过本书的学习实践掌握了单片机C语言的编程技能后,后续的单片机课程学习就变得相对简单快捷。与本书配套的单片机后续书籍将重点介绍如何利用单片机设计编写出更高效的程序,扩展更多的外设,并讨论学习如何设计出自己的硬件系统。
本书可作为任何想学习C程序设计的入门学习用书,尤其适合希望学习嵌入式系统设计的工程师和爱好者使用。学习的过程必须配套相应的硬件器材方能达到最佳的学习效果。这些器材的清单在本书的附录里有详细的说明。

目    录

第一部分  基本技能学习和实践
第1讲  一种新的C语言学习方式    3
机器人与C语言学习平台    5
任务1  获得软件    6
任务2  安装软件    7
任务3  硬件连接    7
任务4  第一个程序    8
任务5  做完实验关断电源    16
工程素质和技能归纳    16
科学精神的培养    17
第2讲  最简单的C程序设计——机器人做算术    18
任务1  整型数据的运算和结果显示    18
任务2  浮点型数据的运算    22
任务3  字符型数据    24
工程素质和技能归纳    26
科学精神的培养    26
第3讲  循环程序设计——让机器人动起来    27
C51单片机的输入/输出接口    27
任务1  单灯闪烁控制    28
任务2  机器人伺服电动机控制信号    34
任务3  计数并控制循环次数    37
任务4  用计算机来控制机器人的运动    41
工程素质和技能归纳    44
科学精神的培养    44
第4讲  函数与机器人运动控制    45
任务1  基本巡航动作    45
任务2  匀加速/减速运动    50
任务3  用函数调用简化运动程序    53
任务4  用数组进一步简化函数调用    58
工程素质和技能归纳    60
科学精神的培养    60
 
第5讲  选择结构程序设计——机器人的触觉导航    61
任务1  安装并测试机器人胡须    62
任务2  通过胡须导航    67
任务3  机器人进入死区后的人工智能决策    72
任务4  机器人行进过程中的碰撞保护程序    77
工程素质和技能归纳    78
科学精神的培养    79
第6讲  选择结构程序设计——机器人红外导航    80
任务1  搭建并测试IR发射和探测器对    81
任务2  探测和避开障碍物    85
任务3  高性能的IR导航    90
任务4  俯视的探测器    93
工程素质和技能归纳    98
科学精神的培养    99
第7讲  多分支结构程序设计——机器人循线竞赛    100
任务1  QTI传感器及其通信接口    101
任务2  安装QTI传感器到机器人前端    102
任务3  编写QTI传感器的测试程序    103
任务4  设计算法实现机器人无接触传感器游中国    106
任务5  修改算法实现机器人游中国    112
任务6  用数组实现机器人游中国比赛    116
任务7  改进运动执行程序提升执行的可靠性    122
工程素质和技能归纳    128
科学精神的培养    129
第二部分  综合实践案例
第8讲  教育机器人智能搬运比赛    133
任务1  给机器人安装循线传感器和搬运手爪    134
任务2  根据比赛任务设计算法    136
任务3  定义运动数据结构体存储运动数据    137
任务4  将运动函数存成另外的文件包含进来    140
任务5  循线运动函数的设计与实现    145
任务6  根据算法完成搬运子函数和主程序的编写    150
工程素质和技能归纳    151
科学精神的培养    151
 
第9讲  机器人灭火比赛    153
任务1  确定完成比赛所需的传感器和灭火装置    155
任务2  确定超声波传感器连接端口,编写测距函数    157
任务3  安装火焰传感器和灭火风扇,编写寻找火源和灭火程序    159
任务4  根据超声波测距信息编写导航程序    160
任务5  完成灭火主程序的编写    170
工程素质和技能归纳    171
科学精神的培养    171
第10讲  擂台机器人程序设计    172
任务1  红外线擂台机器人的软件设计    174
任务2  优化红外线擂台机器人软件    179
任务3  超声波擂台机器人的软件设计    182
任务4  遥控擂台机器人的软件设计    183
工程素质和技能归纳    192
科学精神的培养    193
附录A  C语言概要归纳    194
附录B  C语言中的关键字索引    206
附录C  无焊锡面包板    207
附录D  中国教育机器人大赛简介    210
附录E  完成本书项目学习所需配件清单    212

参见:

WER下载 | WER | 世界教育机器人大赛 | World Educational Robot Contest

ERCC-中国教育机器人大赛

C 语言教程 | 菜鸟教程

  • 21
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值