图书前言

C语言是一种通用的、过程化的编程语言,由于它具有高效、灵活、功能丰富、表达力强和较好的可移植性等特点,广泛应用于系统软件和应用软件的开发之中,深受程序员的青睐,已成为当今最为流行的编程语言之一。因此,“C语言程序设计”始终是高等学校的一门基本的计算机课程,也是众多青年学生跨入“程序设计”殿堂的首选语言。然而,由于C语言涉及面广、内容丰富、使用灵活,要学好它并不容易,我们在教学过程中时常听到学生感慨: “函数之前内容好理解,到了函数有点晕,见了指针稀里糊涂,对于文件操作就不想学了”、“我能看懂别人的代码,但自己不知道怎么写”等。这些情况表明在C语言教学过程中“如何讲授各知识点,让学生理解其基本概念,掌握常用算法,提高编程能力”还有许多工作要做。现在C语言方面的优秀教材不少,但适合教学的实验指导书寥寥无几,本书旨在这方面做一些尝试。

    本书是根据多位老师的教学经验、体会编写而成的,具有以下几个特点: 

(1) 内容全面、系统,适用于高校C语言程序课程实验教学。考虑到一些高校把“C语言程序设计”作为平台课程进行教学,在内容选取上比较全面、系统,既包含数据类型与表达式、控制结构、数组与字符串、函数、指针、结构体等基本内容,又包含位运算和预处理指令、文件操作、共用体和枚举类型等提高内容,这样就能满足上层软件开发、嵌入式系统、游戏开发等不同专业学生的教学需要,有助于全面认识C语言;由于大多数高校将“C语言程序设计”教学安排在一个学期完成,我们把C语言的主要内容分布在17个实验中,每周对应一个实验,而对循环结构、数组、函数、指针、文件等则安排在2~3个实验中,这样有利于实验的渐进实施和重要内容的消化、掌握;在编排顺序上,把“结构体”内容放在“指针”之前,以免读者因害怕指针内容而影响结构体知识的学习,在“文件操作”之前安排了“位运算和预处理指令”,这样能让读者更好地理解二进制文件和FILE类型。

(2) 从初学者的角度出发,循序渐进组织、安排内容,突出重点、化解难点,注重编程思维的培养。在所有基础实验中,均包含了实验目的、知识要点、实验内容和步骤三部分内容: “实验目的”规定了实验的目标、要求;“知识要点”对实验涉及的基本概念、基础知识、基本技能和常用算法等进行阐述,并配有多幅图表加以说明;为帮助读者应用所学知识,在基础实验中都包含6个例题,每一例题给出了编程思路、程序代码、运行结果截图(黑底白字增加控制台程序运行的真实感);通过设置问题、提示、注意等小项,引发读者思考、对有关知识点的区分和重视;“实验内容和步骤”则指明实验的具体内容和步骤,包含了基础题(必做)和提高题(选做)两类练习,共有120多套题目,题量和难度适中。

(3) 突出实用性,提高综合编程能力。学好C语言的前提是加强上机实践,解决实际问题,掌握一些实用技术。本书在这方面进行了一些探索: 实验1以Visual Studio 2008/2010为例介绍C程序的运行环境和运行方法,在实验10中介绍Visual C++常用调试技术,在实验12通过输出变量地址和变量值以了解不同类型数据的存储方式,实验15中分析了stdio.h文件的宏定义、条件编译的部分内容,在讲解文件操作时,要求读者能借助于UltraEdit等工具查看文件各字节内容,依此体验文本文件与二进制文件的差异,这些举措有利于读者真正理解C语言的相关概念。前17个实验主要是为了理解C语言的基本概念、常用算法,程序代码一般都比较简短(通常不超过50行),学以致用是目标,所以,在最后安排两个综合案例,以提高读者分析问题、解决问题、程序实现的能力,第一个案例给出了编程的基本思路,仔细分析之后还是比较容易实现,但第二个案例只给出了模块功能和结构体成员,实现难度要比第一个案例稍大一些。只有经过相当数量的编程训练,才能掌握一门计算机语言,这是经过无数事实证明的结论。    

本书反映广东省应用型高等院校质量工程的实验教学示范中心项目在广州大学华软软件学院的“教改”实践,凝集着7位从事C语言课程教学老师的辛勤汗水。本书实验1~实验3由束建薇编写;实验4~实验6由蔡木生编写;实验7和实验8由陈华珍编写;实验9~实验11由毛养红编写;实验12~实验14由邹立杰编写;实验15和综合案例2由王健编写;实验16、实验17和综合案例1由黄君强编写;全书由蔡木生审阅、定稿。

本书在编写过程中,得到了广州大学华软软件学院省实验教学示范中心主任许克静教授的关心、支持与帮助,在此表示衷心感谢!

由于作者水平有限,加上写作时间仓促,不当之处在所难免,恳请读者批评、指正。

编者  

2014年7月于广州