图书前言

出版说明在我国高等教育逐步实现大众化后,越来越多的高等学校将会面向国民经济发展的第一线,为行业、企业培养各级各类高级应用型专门人才。为此,教育部已经启动了“高等学校教学质量和教学改革工程”,强调要以信息技术为手段,深化教学改革和人才培养模式改革。如何根据社会的实际需要,根据各行各业的具体人才需求,培养具有特色显著的人才,是我们共同面临的重大问题。具体地,培养具有一定专业特色的和特定能力强的计算机专业应用型人才则是计算机教育要解决的问题。

为了适应21世纪人才培养的需要,培养具有特色的计算机人才,急需一批适合各种人才培养特点的计算机专业教材。目前,一些高校在计算机专业教学和教材改革方面已经做了大量工作,许多教师在计算机专业教学和科研方面已经积累了许多宝贵经验。将他们的教研成果转化为教材的形式,向全国其他学校推广,对于深化我国高等学校的教学改革是一件十分有意义的事。

清华大学出版社在经过大量调查研究的基础上,决定编写出版一套“普通高校本科计算机专业特色教材精选”。本套教材是针对当前高等教育改革的新形势,以社会对人才的需求为导向,主要以培养应用型计算机人才为目标,立足课程改革和教材创新,广泛吸纳全国各地的高等院校计算机优秀教师参与编写,从中精选出版确实反映计算机专业教学方向的特色教材,供普通高等院校计算机专业学生使用。

本套教材具有以下特点:

1. 编写目的明确

本套教材是在深入研究各地各学校办学特色的基础上,面向普通高校的计算机专业学生编写的。学生通过本套教材,主要学习计算机科学与技术专业的基本理论和基本知识,接受利用计算机解决实际问题的基本训练,培养研究和开发计算机系统,特别是应用系统的基本能力。2. 理论知识与实践训练相结合

根据计算学科的三个学科形态及其关系,本套教材力求突出学科理论与实践紧密结合的特征,结合实例讲解理论,使理论来源于实践,又进一步指导实践得到自然的体现,使学生通过实践深化对理论的理解,更重要的是使学生学会理论方法的实际运用。

3. 注意培养学生的动手能力

程序设计基础(C语言版)出版说明每种教材都增加了能力训练部分的内容,学生通过学习和练习,能比较熟练地应用计算机知识解决实际问题。既注意培养学生分析问题的能力,也注重培养学生解决问题的能力,以适应新经济时代对人才的需要,满足就业要求。

4. 注重教材的立体化配套

大多数教材都将陆续配套教师用课件、习题及其解答提示,学生上机实验指导等辅助教学资源,有些教材还提供能用于网上下载的文件,以方便教学。

由于各地区各学校的培养目标、教学要求和办学特色均有所不同,所以对特色教学的理解也不尽一致,我们恳切希望大家在使用教材的过程中,及时地给我们提出批评和改进意见,以便我们做好教材的修订改版工作,使其日趋完善。

我们相信经过大家的共同努力,这套教材一定能成为特色鲜明、质量上乘的优秀教材,同时,我们也希望通过本套教材的编写出版,为“高等学校教学质量和教学改革工程”做出贡献。

清华大学出版社前言“程序设计基础”是高等学校理工类专业学生的基础课程。本书以C/C++语言作为基本工具,以程序设计思想与方法作为核心内容,以动手编程解决实际问题能力的培养作为最终目标。通过本书,不仅要使学生掌握程序设计语言的语法与结构,更重要的是逐步培养学生用计算机解决问题的思维、习惯与方法。

本书的读者对象是没有编程基础的初学者,他们通过本书所能接触到的也只是一些简单的程序,但程序结构的设计和编程习惯的培养却正是从初学阶段开始形成的,因此本书对概念、算法、语法以及例题的讲解都强调规范化、结构化,引导读者适当地模仿,从开始就养成规范编程的习惯。

本书有以下特色:

(1) 本书以程序设计为核心,将C语言的有关语法有机结合到程序设计实例中,避免了生硬枯燥的语法介绍。

(2) 突出针对性。这主要是指“继续学习”的针对性。C语言的后续课程主要有两类: 一类是其他编程语言课程;另一类是后续专业课程,包括“数据结构”“数据库”“算法分析”等。在教学实践中经常出现这种情况: 作为这些课程基础知识应该提前掌握的知识,学生在C语言的学习中并未认真掌握,如参数的传递方式、指针的使用和内存的动态申请等,需要重新学,给教学带来了很大的不便。本书引入了数据结构中的简单算法和基础内容作为讲解实例或应用实例,使计算机相关专业学生为将来的专业课程学习打好基础,也使非计算机专业的学生有能力进一步拓展知识。

(3) 注重实用性。本书不仅介绍编程的理论和方法,还通过上机实践来提高学生的编程能力。本书以Visual C++6.0为基本开发环境,用一定的篇幅对Visual C++6.0的编程和调试环境作了较深入的介绍,既能激发学生的学习兴趣,更能为学生今后学习高级开发技术打下良好的基础。本书的例题和上机实验全部在Visual C++6.0环境下调试通过。(4) 强调编程技巧和方法。本书强调结构化程序设计的概念、方法和编程技巧。10个上机实验内容包括问题的提出、编程思路、设计方法、程序代码、调试过程等,以帮助学生提高程序设计能力。

(5) 本书将编程学习过程中容易出错的地方用黑框标出,重点加以说明,使初学者避免了在学习过程中“踩雷”。

本书分为两部分。

第一部分是C语言程序设计,系统地介绍了程序设计的方法及C语言的基本语法和基本技巧,是本书的主体部分,共11章。其中带*的内容为扩展内容,在今后的学习中应用较少,跳过这些部分,不会对其他内容的学习带来影响,可以等将来用到时再回来查阅。各章内容如下: 第1章通过几个简单的示例程序,对C语言程序作初步介绍;第2章介绍程序设计方法、程序设计过程、程序设计语言的概念,并简要介绍结构化程序的几种基本控制结构;第3章介绍数据类型、常量与变量、运算符与表达式的概念;第4章介绍常用的输入输出函数和顺序结构程序设计;第5章介绍关系运算及选择结构程序设计;第6章介绍循环结构程序设计;第7章介绍数组的定义、引用、初始化及数组的应用;第8章介绍函数的使用、参数的传递及变量的作用域等内容;第9章介绍指针的概念和运算、指针在函数调用中的作用及指针与数组的关系等内容;第10章介绍结构、联合和枚举等类型;第11章介绍与文件操作相关的内容。

第二部分是上机实验,包括10次实验的内容。实验内容的安排基本与第一部分的各章相对应。一般每次实验安排两三个不同难度的题目,可以根据上机时间有选择地安排其中的部分题目。

本书主要作为高等学校理工类专业的程序设计基础课程教材,也可作为计算机爱好者学习C语言的参考书。本书电子教案可从清华大学出版社网站www.tup.com.cn下载。限于作者水平,书中难免会存在一些不足之处,敬请读者批评指正。

作者

2018年9月程序设计基础(C语言版)前言