前言编写背景各大专院校工科类专业开设了程序设计语言类课程,尤其是电类专业普遍开设了C程序设计课程,因此需要一本适用于初学者的教材。本书就是为了满足这个层次的读者需求而编写的。本书包含两个方面的内容:1)面向过程的程序设计,目的是让初学者掌握基本的程序设计知识。2)面向对象的程序设计,让初学者了解面向对象程序设计的基本概念,为今后学习以面向对象为基础的通用软件开发工具如Microsoft Visual C、Delphi、C#.net和Visual Studio等打下坚实的基础。2005年和2011年本教材分别出版了第1版和第2版,被国内十几所高校和培训机构所使用,并取得了良好的反响。本书在前两版的基础上,修正了部分不足,文字描述更准确;程序在Visual Studio 2013环境中运行,尽量做到符合C11新标准,并对C11新标准进行了一定的解释;对源程序例子进行了少量增删,并对源程序编辑格式做了调整,即采用C标准命名空间的方式编写程序。调整前和调整后源程序书写格式如下:#include 调整前程序书写格式,使用带.h的头文件#include void main 主函数无返回值{语句}#include 调整后程序书写格式,使用不带.h的头文件#include using namespace std;使用C标准命名空间int main 主函数的返回值类型为int{语句return 0;}编写内容和教学要求本书分两部分,第一部分包括第1~9章,结合C语言的基本语法,介绍传统的面向过程的程序设计,内容包括C语言基本数据类型、基本运算、基本输入输出、结构化流程控制语句、函数、编译预处理、数组、结构体、指针和链表等,基本上是传统的C程序设计语言的内容。第二部分包括第10~15章,以面向对象的三大特点为主线,讲述类和对象的基本概念,类的封装、继承和多态,以及函数模板和类模板,并讲述了输入输出流类体系、文件操作等内容。本书作者的教学理念是注重程序设计算法的教学,注重对学生算法思路的逻辑训练,而不拘泥于语法要素的细枝末节。本书通俗易懂,配有大量针对各章的教学难点和重点以及各种算法而设计的例题和习题。在选择例题和习题时,尽量涵盖目前程序设计语言课程的各类算法。初学者阅读习题时,能够在教材的例题中找到相似的例子进行模仿,这样对初学者来说解题就不是一件非常困难的事情。除了进行理论教学和上机练习外,教师还可以根据实际情况选用适合不同层次学生的课程设计题目,以加强学生动手编制较大规模程序的能力。本书第1、2、9~14章由王珊珊老师编写,第5~8章由臧洌老师编写,第3、4、15章由张志航老师编写,全书由王珊珊负责统稿。本书的实验环境是Visual Studio 2013,书中全部的例题和习题均在该环境中通过编译和运行。本书配套的上机实验和课程设计教材为《C语言程序设计上机实验及学习指导》,王珊珊、臧洌和张志航编著,2016年1月由南京大学出版社出版。本书可能会存在疏漏、不妥和错误之处,恳请专家和广大读者指教和商榷。作者联系方式:shshwang@nuaa.edu.cn(王珊珊)zangliwen@nuaa.edu.cn(臧洌)zzh20100118@qq.com(张志航)作者2016年8月20日于南京航空航天大学