图书前言

学生学习数学课程、物理课程并不是要成为数学家或物理学家,而是通过这些课程的训练,养成科学思维的素质和能力,这种认识也同样适用于计算机课程。程序设计基础课程对于培养学生计算思维(美国计算机科学家周以真认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动)起着至关重要的作用。

本书以C语言为工具,以现实生活中的案例为引导,说明如何分析问题、利用计算机解决问题的思维方法。引入应用程序开发,由浅入深,逐步启发、引领学生学习编写规模逐渐加大的程序,将计算思维的基本思想方法和魅力逐步展现出来,引导读者实现问题求解思维方式的转换——培养计算思维能力。

本书按知识结构组织为11章内容,第1章为C语言程序设计概述,介绍与程序设计有关的概念,说明C语言程序的基本组成结构、C语言程序设计开发环境与过程;第2章为C语言基础,介绍C语言的基本数据类型,常量和变量,C语言基本运算的运算符、表达式及应用,数据的输入和输出函数的使用;第3章为程序设计基本结构,介绍程序的3种基本结构,实现选择和循环结构的语句及其应用,介绍常见问题及解决问题的方法;第4章为数组,介绍数组的基本概念、使用及处理数组中数据的常用方法;第5章为指针,介绍指针的概念,指针的使用,利用指针处理数据的方法;第6章为函数,介绍函数的定义、调用及函数间数据传递的方法,说明变量的存储属性及其使用;第7章为结构体、共用体与枚举类型,介绍结构体和共用体的定义、使用和区别,介绍了枚举类型的定义和使用;第8章为文件,介绍了文件的基本概念,文件的操作步骤,利用文件实现内存和外存中数据交换的方法;第9章为底层程序设计,介绍了位运算的运算符号、规则及应用;第10章为编译预处理,介绍了编译预处理命令的使用、编写大型程序的方法等;第11章为指针的高级应用,介绍了多级指针、main函数带参数、函数指针、动态内存分配及链表。每章提供适合该章知识点的综合案例,以拓展知识、开阔学生的眼界。

全书在内容组织上突出以下特色:

(1) 结构新颖。根据所介绍知识,每章除了安排具有趣味性的实例以外,还安排了有助学生提高和升华知识点的综合案例,这些案例来自于生活或学习中的应用需求,可以让学生在任务的驱动下,由浅入深,学习和编写规模逐渐加大的程序,在潜移默化中逐步让学生了解、学习计算机如何解决问题,从而掌握利用计算机解决问题的方法。

(2) 提供了很多编程“套路”。从典型的程序实例中总结出“套路”,即解决一类问题的方法,从而让初学者迅速掌握基础编程的方法和算法,具有解决实际问题的能力。

(3) 助学。每章安排有内容提示、教学基本要求,例题从问题分析、算法描述、问题总结、注意事项等方面进行完整论述,每章包含知识总结和习题等内容,有利于教师组织教学,也有助于学生进行预习与复习。

(4) 易学。本着“知识量最小而收获量最大的原则”,突出主线和重点,分解难点,以循序渐进的方法,力求让学生对于难点部分学的轻松,知识点掌握牢固。

(5) 想学。例题选材知识性、趣味性和经典性相结合,尽力降低枯燥度,增强学生学习的“幸福指数”。

(6) 爱做。习题丰富。每章配有形式多样的习题,尽力吸引学生学后爱做、自觉温故知新。

本书由李书琴主审、王娟勤主编。第1、第3章由吴昊编写,第2、第4、第5、第9章由王娟勤编写,第6和第7章由成宝国编写,第8章由任国霞编写,第10章由晁晓菲编写,第11章由胡秋霞编写,并提供了部分例题和习题。

在全书的编写过程中,孙健敏、陈勇和承担《C语言程序设计》课程的各位老师,在整本书的规划和编写中,对本书提出了很多宝贵意见并给予了帮助,在此表示最诚挚的感谢。

由于编者水平有限,书中的不足、疏漏之处在所难免,恳请广大读者提出宝贵意见和建议。我们的信箱是huchenhao@263.net,电话是010-62796045。

本书的电子课件、习题答案和实例源文件可以到http://www.tupwk.com.cn网站下载。

编   者 

2017年4月

书中图标的意义

本书包含一些强调特定知识点的图标,它们能够直观地标识注意、警告、提示、总结和说明等内容。

   需要引起注意的内容。

   防止错误,容易出错的地方。

   提出问题,或大家感觉有疑问的地方。

   重点知识,或有总结内容的地方。

   程序或知识点说明、论述。

强调特定知识点的地方。

  提升知识深度、难度,提高和进阶的内容。

   用于标识使用此方法的优势、优点、好处。

   问题的“设计思路”。