前言
C程序设计案例教程(第3版)新时代信息技术发展迅速。随着人工智能、大数据、云计算等新技术上升到国家科技创新发展战略新高度,社会对信息技术创新人才的需求急剧增加。懂得计算机程序设计语言、熟练掌握现代编程技术思维方法,成为现代科技自主创新人才的必备基础。
“互联网+教育”快速发展,引领“AI(人工智能)+教育”和“VR(虚拟现实)+教育”等新技术、新理念和新方法,不仅对信息技术与人才培养深度融合提出了更高要求,也对计算机教育科学研究提出了新课题。
在众多的计算机程序设计语言中,C语言是最具代表性的现代编程语言,无论是C++、Java、C#,还是俗称“胶水语言”的Python,或兼容C,或直接支持C,或从C扩展而来,如增加了面向对象技术、网络编程技术、跨平台联结技术等,又各自形成功能强大而又完善的程序设计语言特点和体系结构。
C语言自产生以来,开发出经典的UNIX操作系统,使UNIX成为世界上第一个易于移植的计算机操作系统,还开发出诸多广为使用的应用系统程序。如今,伴随信息技术更为广泛的发展与应用,C语言程序设计不仅为国内外IT专业系统开发人员和各学科领域程序设计人员所青睐,同时也为具有各种学科专业背景的信息技术人才所喜爱,用以拓展各自学科专业领域的信息化技术研发,应用十分广泛,经久不衰。
在TIOBE(The Importance Of Being Earnest)世界计算机语言排行榜中,C语言一直位居前两名。TIOBE排行是衡量当前世界范围程序开发语言使用流行程度和走势的有效指标。
C语言不仅具有高级语言易于表达和描述程序算法的特点,可用于编写复杂系统软件,如操作系统、编译系统、数据库系统软件等,还具有计算机低级语言执行硬件底层操作的能力,如按内存地址操作数据、按字节运算数据、按字位运算数据,还可以进行CPU寄存器操作、设计中断服务、访问硬件设备端口等,易于使用,因此,在快速发展的计算机信息技术领域,C语言程序设计能够持久存在并不断丰富和发展。
由于使用C语言编程的编译运行效率高,语义、语法结构描述简洁流畅,具有与其他计算机程序设计语言不同的优点,因此,C语言程序设计是掌握各种现代编程技术的重要基础,至今仍然是国内外高校基础课程的核心选项。
从实际应用的角度学习和掌握C语言程序设计方法,培养用计算思维的观点和方法提出问题和解决问题的能力,需要一定的实践积累过程。本教材以实用案例整合相关知识要点,引导和启发读者在理解的基础上充分发挥自己的创新思维,为进一步拓展应用奠定基础。
C程序设计案例教程(第3版)前言本教材以计算思维为核心,内容经过多年教学改革立项建设积累与提炼,从校级精品课、精品教材、北京市教学成果奖到2017年首批“国家精品在线开放课程”建设项目,在不同教学平台上建设了视频、教案、程序源代码练习题、试题等大量丰富的教学共享资源。所有知识点力求案例翔实、要点突出、结构紧凑、易读易懂,便于读者拓展知识,可有效帮助读者,特别是初学者理解、掌握C语言程序设计的知识要点,逐步构建系统、全面的知识结构。
本教材在内容编写及结构编排上深入浅出,通过案例解析所有知识要点,例如,通过检验舍入误差理解单精度和双精度实型数据,利用英制和公制转换算法等理解运算符与表达式,利用计算器程序理解选择判断条件与分支结构的流程控制关系,使用递推法计算三角函数值以及近似求解计算圆周率等算法理解程序流程的循环控制结构,利用各种字符图形输出理解循环控制结构嵌套关系,利用枚举法求解大面值货币等值兑换零钞组合计算理解变量赋值求解运算的实现过程。此外,还利用循环嵌套实现数据排序与插值运算,利用循环迭代算法求解高次方程或定积分,利用递归算法来解决狭小货运场地行李搬运问题,利用程序算法实现生物细胞繁殖计算、验证哥德巴赫数学问题、查找检验质数、水仙花数,利用结构体等构造类型实现组合数据结构的学籍管理,等等。相关知识点与案例都在教学实践中不断得以提炼和完善。
本教材凝结了C语言程序设计教学团队多年教改立项建设成果,得到校内外专家学者多方面具体指导与帮助,这里要特别感谢计算机教育家谭浩强教授、清华大学吴文虎教授、清华大学郑莉教授、北京工业大学蒋宗礼教授、北京理工大学李凤霞教授、哈尔滨工业大学苏小红教授在各方面给予我们的指导和帮助,使本教材内容不断得以丰富与提高。
本教材以“学”为中心,各章节知识要点和案例内容翔实,各有侧重,力求激励学习者自主创新,开拓视野。学习者可随时随地按知识点自主选择学习或完成各种自测练习。
本教材难免有不足之处,恳请广大读者提出宝贵的意见,以便我们进一步完善与提高,在多样化混合教学探索与创新实践过程中,不断探索现代教育技术的新思路和新方法,以更好地满足新时代信息技术人材培养的实际需求。
读者可登录教育部在线教育研究中心、清华大学“学堂在线”(http://www.xuetangx.com/)慕课资源共享平台或清华大学出版社“智学苑”(http://www.izhixue.cn/)数字资源共享平台,随时随地使用本教材的在线课程资源和更多的优质共享资源,或随时随地按知识点自主学习,自测练习。
编者2018年8月于北京