前 言
                                                          “C语言程序设计”在许多高校都作为程序设计语言的第一门课程进行教学。笔者从事C语言程序设计课程的教学已有30年,在不断融合课程发展趋势和从事教学改革实践的过程中,积累了许多教学经验,有不少收获和感悟。笔者感到有必要将其整理出来,与大家共享。本书在编写过程中,以教育部高等学校非计算机专业计算机基础课程教学指导分委员会《关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求》(简称“白皮书”)和中国高等院校计算机基础教育改革课题教研组发布的《中国高等院校计算机基础教育课程体系2008》(简称CFC2008)为指导。这有利于体现新的教学思维和时代感。
本课程向学习者介绍结构化(模块化)程序设计的基本思想和方法,通过学习结构化程序设计语言,读者应了解用计算机解决问题的一般方法,掌握程序设计的思路和基本方法,掌握编写和调试简单应用程序的方法,养成利用计算机解决工作、生活中的实际问题的习惯,提高应用计算机的能力和素质。
本书的主要特色如下。
(1) 按照认识规律,对章节顺序做了合理安排,做到先易后难、循序渐进,叙述表达注重图文并茂、通俗易懂,理论讲解注重结合实际应用、能力(特别是编程能力和调试能力)训练,并适时融入了分析、启发、引导性的内容和思考性的问题,有助于读者很快进入角色,进而对本书、本课程产生兴趣,易于教学,易于自学。
(2) 内容的详与略、宏观总揽与细节说明的关系控制得当,提纲挈领、纲举目张,使得读者思路清晰、概念清楚,容易把握程序设计的基本思想。
(3) 例题、习题视野广阔、生动典型且有吸引力,能够使读者在学习探求过程中“阅尽人间春色”,领略程序设计领域的经典题目,也会使读者在吸引力、求知欲的作用下,在兴趣盎然的氛围中更好地领会、理解和掌握所学的语法规则、算法及程序设计的思想、方法、技巧,从而取得理想的学习效果。
(4) 上机实验与指导,这有助于结合实际,强化操作,加强实践环节,激励创新意识,使读者有针对性地进行上机实验,提高编程能力和调试能力。课本和实验融为一体,使得一书在手,课本实验全有,体现了全面性特色。
(5) 本书配有教学课件,供教学双方参考使用。
(6) 精选本书中的部分例题做了微课小视频,以二维码形式放在了对应例题的旁边,微信扫码即可播放视频进行学习。
(7) 书中加入了课程思政元素和素质拓展内容。
(8) 做到提升学生的知识、能力、素质,把握教学的难度、深度、强度,体现基础、技术、应用,提供教材、实验、课件支持。
本书共分14章,内容包括: C语言和结构化程序设计,数据类型、运算符与表达式,顺序结构程序设计,选择结构程序设计,循环结构程序设计,数组与字符串,函数,对函数的进一步讨论,指针,用户自己定义的类型,位运算,文件的读写操作,上机实验与指导,总结。另外还有4个附录: ASCII字符编码一览表,C语言的关键字及其用途,C语言运算符的优先级别和结合方向,C语言库函数。
本书由山东建筑大学的刘浩教授、孙晓燕副教授、齐鲁工业大学的张芳芳副教授主编。为了集思广益,组织多位老师参与编写: 山东建筑大学的张绍兰老师、宋立莉参与了第1章的编写,山东英才学院的刘梦飞老师、海阳教育体育局的刘立群参与了第2章、第3章的编写,山东建筑大学的王忠老师、山东财经大学的高珊珊老师参与了第4~6章的编写,山东建筑大学的靳天飞、杨朝晖、姜玉波、杜丽娜老师参与了第7~9章的编写,解艳艳、李锋、张海林、刘耀辉老师参与了第10~13章的编写。山东建筑大学的孙晓燕副教授录制了微课小视频,齐鲁工业大学的张芳芳副教授在一些章节中加入了思政元素和课程拓展的内容。
本书参考了大量的国内外文献,在此向这些文献的作者表示深深的敬意和衷心的感谢!
奉献给读者的这本书虽经反复修改,力求精益求精,但由于篇幅较大、问题复杂、个人水平等原因,难免会有疏漏、不妥甚至错误之处,恳请各位专家和读者提出宝贵意见。

编者2024年3月