前言
C程序设计案例教程C语言自产生以来,曾开发出经典UNIX操作系统,使UNIX成为世界上第一个易于移植的计算机操作系统,还开发出诸多广为使用的应用系统程序。如今,伴随着信息技术更为广泛的发展与应用,C语言程序设计不仅为IT专业系统开发人员和各学科领域程序设计人员所青睐,同时也为具有各种学科专业背景信息技术人才所喜爱,用以拓展各专业领域信息化技术研发,应用广泛,经久不衰。
当前,在信息技术广为渗透和应用的各学科专业领域,信息作为资源不断扩展和激增,资源开发需求不断增大,信息已成为当今世界经济发展的三大战略资源之一。面对日益增长的信息资源,需要利用信息技术进行采集、管理、共享、开发和利用。信息技术是计算机技术、传感技术、网络技术和通信技术综合发展的产物,而逐步产业化实施的物联网技术则是信息技术在其相关技术领域的发展延伸与集成。从本质上讲,物联网技术就是计算机软件技术、硬件技术、通信传输技术、光电感应技术和与之相应的系统管理工具、开发工具、分析软件等集合的总称。因此,信息技术在不断发展应用和实现的过程中,对于信息资源的开发和利用均离不开程序设计的软件实现,C语言程序设计作为现代编程的基础,其应用已遍布各个领域。
随着信息技术快速发展并渗透到各个专业领域,物联网技术已步入实施并逐渐走向产业化发展的进程,因此,具有不同专业背景的信息技术人才需求越来越多,具备信息技术综合应用与研发能力的人才,其编程能力要求也越来越高,以C语言程序设计实现系统软件和应用软件的开发,其适用范围更为广阔,因此,学习和掌握C语言程序设计作为各行业信息化综合应用开发工具,已成为现代信息技术应用人才的基本必备知识与技能。
C语言程序设计不仅具有高级语言程序算法易于表达和描述的特点,可用于编写复杂的系统软件,如操作系统程序、编译系统程序和数据库系统软件等;还具有计算机低级语言能够执行硬件底层操作的能力,易于使用,如按内存地址操作数据、按字节运算数据、按字位运算数据,还可以进行CPU寄存器操作、设计中断服务、访问硬件设备端口等。因此,在快速发展的计算机信息技术领域,C程序设计能够持久存在并得以丰富和发展。
由于C语言程序设计具有与其他计算机程序设计语言不同的优点,使用C语言编程的编译运行效率高,语义语法结构描述简洁流畅,因此,C语言程序设计至今仍是掌握各种现代编程技术的重要基础。
作为精品教材立项和精品课教学改革用书,本教程源于多年不同阶段教学改革立项资源建设与实践教学的积累与提炼,在内容取材和编写方面力求案例翔实、要点突出、结构紧凑,易读易懂,也便于拓展开发和引用,可以有效帮助读者系统全面地学习理解和应用C语言程序设计的知识要点。
本教材依据教育部高等院校计算机科学与技术教学指导委员会和计算机基础教学指导委员会《关于进一步加强高等学校计算机基础教学的意见》2009年相关教学方案设定知识点内容,结构完整,案例覆盖全面,均以应用实例解析知识要点。例如,通过检验舍入误差理解和使用单精度和双精度实型数据;利用英制和公制转换算法等理解运算符与表达式的应用;利用计算器程序的操作运算实现理解和应用选择判断条件与分支结构的流程控制关系;使用递推法计算三角函数值,以及近似求解计算圆周率等算法实现理解畅叙流程的循环控制结构;利用各种字符图形输出理解循环控制结构嵌套关系;利用枚举法求解大面值货币等值兑换零钞组合计算理解变量赋值求解运算的实现过程。此外,还利用循环嵌套实现数据排序与插值运算;利用循环迭代算法求解高次方程或定积分等;利用递归算法解决狭小货运场地行李搬运问题;利用程序算法实现生物细胞繁殖计算、验证哥德巴赫数学问题、查找检验质数、水仙花数等;以及利用结构体等构造类型实现组合数据结构的学籍管理等。
学习和掌握C语言程序设计方法,从实际应用的角度需要涉及一些计算机专业基础知识,如操作系统、数据结构、数据库系统和软件工程等,有些内容从掌握到应用还需要有一定的实践积累过程,才能提高实际编程调试和综合应用能力。因此,本教材以实用案例示教相关知识要点,引导和启发读者在理解的基础上,充分发挥自己的创新思维,为进一步拓展应用付诸于实践奠定基础。
本教材从立项到完稿,凝练了精品课教学团队多年积累的教改立项和精品课程建设资源成果,参加本精品教材立项及相关教学建设的有孟超英教授、陈雷副教授、郑立华副教授、段清玲副教授、李林副教授、孙龙青副教授、马钦博士、杨丽丽博士、程新荣博士、吕春利博士、李辉博士等,相关内容案例历经数年建设与实践得以提炼和完成。另外,我校C程序设计精品课程建设,长久以来一直得到各兄弟高校著名专家学者多方面的亲临指导、帮助和支持,这里特别要感谢的有著名计算机教育家谭浩强教授、清华大学吴文虎教授、清华大学汪蕙教授、北京理工大学李凤霞教授、北京师范大学沈复兴教授、清华大学郑莉教授、清华大学黄维通教授等著名学者给予的具体指导和帮助。
本教材立足于对现代程序设计基础教育理念的探索与创新实践,各章节知识要点和案例设计力求全面,翔实取舍各有侧重,细节所至难免有不足之处,还需要不断地在教学实践中提炼补充与完善,我们恳切诚望广大读者提出宝贵的意见,共同探索物联网时代程序设计基础教育与教材建设的有效方法,以便更好地适应现代信息技术人才培养的实际需求。
C程序设计案例教程前言
编 者2011年2月于北京