标题：C程序设计教程（第3版）
图书信息
作者：崔武子、李青、李红豫、鞠慧敏 
普通高等教育“十一五”国家级规划教材、荣获“第八届全国高校出版社优秀畅销书二等奖”、荣获“2008年北京高等教育精品教材”称号 
图书详细信息：ISBN：9787302285878定价：34.5元印次：3-1装帧：平装印刷日期：2012-8-3
图书简介
本书是以C程序设计零起点学习者作为主要对象的程序设计教程，2007年6月出版了第2版，该书是普通高等教育“十一五”国家级规划教材，荣获“2008年北京高等教育精品教材”称号和“第八届全国高等学校出版社优秀畅销书二等奖”，本次再版则进一步强化了应用能力，强调“教师方便教，学生容易学”. 全书用例题组织所有的教学内容，并用两套实例贯穿整个教学过程，整体内容编排独特，组织形式新颖。全书共分10章，分别是C语言基础知识、顺序结构程序设计、分支结构程序设计、循环结构程序设计、数组、指针、函数、结构体和其他构造类型、位运算以及文件。本书配备了辅助教材《C程序设计辅导与实训（第2版）》、《C程序设计试题精选（第2版）》和《C程序设计课程教案及题解（第2版）》以及内容生动的电子教案。本书将所有程序的运行环境选用为Visual C++6.0. 本书是高等院校C语言程序设计课程的教材，也可作为C语言自学者的参考书。
图书前言
本书是作者在围绕“教师方便教，学生容易学”为主题，开展一系列的探索与实践活动后，以C程序设计零起点读者作为主要对象编写的程序设计教程，本书于2007年6月出版了第2版，本书的内容编排独特，组织形式新颖，能使读者在较短的时间内掌握C程序设计的精华。本书是高等院校C程序设计课程的教材，也可作为自学者的参考书。本书特点： 1. 每章内容分成基础部分和提高部分。考虑到C语言的语法现象众多，初学者往往难以接受，书中将每章的内容分成了基础和提高两个部分。将常识性的、基础类的、必须掌握的内容放在基础部分中；将具有扩展性的、提高性的内容安排在提高部分中。通过基础部分的学习，能够掌握最基本的语法，初步建立程序设计的思维方式和编写一般程序的能力，同时可培养学生的学习兴趣。即使因学时不足跳过提高部分，也不至于影响后续内容的学习。2. 所有教学内容用例题组织。在基本遵循C语言教学体系的情况下，将所有教学内容用例题组织。即根据要介绍的内容精心编写相应的例题，将大量的、正确的、规范的程序介绍给学生，在讲解例题的过程中，使学生学习语法、了解概念、掌握算法。做到在解决实际问题中讲授语法，而不是为了教语法而举例。为了便于查找，在各章开头针对每道例题添加了知识要点。3. 涉及算法的例题均设有编程点拨。针对学生“读程序容易，编程序难”的情况，书中凡涉及算法的例题，在给出其完整的程序之前，都增设了编程点拨，有些算法还提供了多种解法。4. 强调实践能力，注重个性化教育。在各章之后添加了上机训练内容，每个训练题均分为题目、目标、步骤、提示和扩展。为了培养学生调试程序、排除错误的能力，教材中分阶段通过具体例题介绍了调试程序的方法，程序的运行环境是Visual C++6.0. 5. 讲授指针和函数时不涉及新算法。指针和函数是C语言中的重点和难点，为了使学生能够顺利接受新概念，将有关算法内容尽量安排在这两章之前，避免学生在接受指针和函数概念的同时，又要理解新算法。这样做不仅容易突破难点，而且有利于巩固已学过的知识。6. 用两套实例贯穿整个教学过程。为了使学生尽早接触应用程序的编写过程，提供了贯穿整个教学过程的两套实例，并随着讲授内容的增多，逐步补充和完善其程序的功能。其中贯穿实例A（较小实例）在基础部分中给出，供教师课堂教学；贯穿实例B（较大实例）在提高部分中给出，供学生课后阅读。7. 习题、讨论题和思考题齐全，提供单号习题答案。与教材内容相对应，各章习题也分为基础和提高两部分。书中单号习题提供参考答案，以方便学生自测和教师布置作业。为了促使互动教学，适当添加讨论题和思考题。C程序设计教程（第3版）前言8. 在附录中添加一个含关键字、运算符、库函数的索引。9. 配套出版了辅助教材，并配备含有电子教案等内容的课件。 (1) 配套出版了《C程序设计辅导与实训（第2版）》. ① 该辅助教材密切配合本书，其辅导部分的各章也分为基础和提高两部分，内容顺序与本书一一对应；实训部分按本书中的内容顺序分阶段介绍，实例解析的例题选用本书中提供的贯穿实例B. ② 该辅助教材过渡自然，例题与习题的内容新颖，生动有趣，而且更贴近实际。辅导部分以小题目的形式组织，起到从C语言程序设计课程到实训的过渡作用，其中提供的模拟考试及答案可使学生自测与提高；实训部分以较大题目的形式提供了实例解析、设计向导和实训题目，其中的设计向导起到引导学生从理解题目要求到独立设计的过渡作用。③ 该辅助教材中实训题目丰富，目标明确。题目有难有易，有独立的和贯穿的，有一人完成的也有多人完成的，有分阶段完成的也有综合性的，故可根据学生的学习程度、实训的学时、开展实训的时间等因素随意选择内容。其中提供的多人协作完成实训的方法，帮助学生顺利联调程序。学生根据所提供的实训报告要求，可以提前了解实训的内容和顺序，故从一开始就可明确实训目标。 (2) 配套出版了《C程序设计试题精选（第2版）》. 该辅助教材提供了800道题，包括选择题、填空题和上机题。选择题按等级考试“四选一”的标准形式；每道填空题则根据等级考试要求最多含有3个需要填写的空；上机题有改错题、补充完整题和编程题3种类型。 (3) 配套出版了《C程序设计课程教案及题解（第2版）》. 该辅助教材协助教师进行课前准备、课堂教学、上机实验以及课后考题等，减轻教师负担，尤其针对本课程零起点教师，使其轻松上手。该辅助教材又明确给出每章、每次课的教学目标、重点、难点和每个例题的必讲内容，因此能够规范同步进行的多个班级教学管理。该辅助教材提供本书全部思考题、双号题和上机训练题的答案。此外，还提供具有竞赛难度的综合编程题及题解。 (4) 配备了含有电子教案等内容的课件。该课件包括电子教案、本书所有例题和实例的源程序。为了减轻教师备课的负担，制作成生动的电子教案，通过演示可使读者尽早了解本课程的基本目标。使用建议：  (1) 必学基础部分。基础部分是学生必须掌握的知识，但在教学过程中教师可将部分例题留给学生自学。 (2) 选学提高部分。书中的提高部分是为了帮助读者更上一层楼，教师可以根据实际情况，选择其中部分内容进行介绍（标有*的例题有一定难度）.  (3) 兼顾学时和学生编程能力的提高需求，建议课堂上介绍贯穿实例A，安排学生课外阅读贯穿实例B，两套贯穿实例将对学生学习有很大帮助。 (4) 单、双号习题成对做。单号习题提供参考答案，双号习题则在类型上与前一单号习题相同，侧重点也接近。基础部分中提供的习题都是最基本的，题量也不多，建议读者全部做完，提高部分中的习题可根据情况选做（标有*的习题有一定难度）.  (5) 选做上机训练题中的扩展题。在完成训练题的基础上可根据不同层次的学生情况，选做扩展题。全书由崔武子主编并统稿，李青、李红豫、鞠慧敏和齐华山参加部分内容的修订和编写。本书得到北京联合大学规划教材建设项目资助。在使用本书前一版书时，教学团队的教师提出了许多宝贵意见，在此表示真挚的感谢。限于作者水平，书中难免有错误和疏漏之处，恳请读者批评和指正。
作 者2012年5月 
图书目录
第1章 C语言基础知识11.1 C语言概述21.1.1 C语言与程序设计21.1.2 C程序形式和程序执行过程31.2 简单C程序及其上机步骤41.2.1 简单C程序和编程风格41.2.2 上机步骤61.3 数据类型91.4 常量与变量101.4.1 常量与变量的概念101.4.2 整型常量与变量121.4.3 实型常量与变量141.4.4 字符型常量与变量151.5 运算符和表达式171.5.1 算术运算符和表达式171.5.2 赋值运算符和表达式191.5.3 逗号运算符和表达式201.6 提高部分211.6.1 赋值运算符的进一步讨论211.6.2 数据类型的进一步讨论231.7 上机训练24思考题125习题126基础部分26提高部分27第2章 顺序结构程序设计282.1 结构化程序设计的基本结构292.1.1 语句的概念292.1.2 三种基本结构292.2 赋值语句312.3 输入输出语句322.3.1 格式输入输出函数322.3.2 字符输入输出函数362.4 贯穿实例A--成绩管理程序（1) 372.5 提高部分382.5.1 输入输出函数的进一步讨论382.5.2 贯穿实例B--电子通讯录管理系统（1) 422.6 上机训练43思考题244习题244基础部分44提高部分45C程序设计教程（第3版）目录第3章 分支结构程序设计463.1 关系运算符和关系表达式473.1.1 关系运算符473.1.2 关系表达式473.2 逻辑运算符和逻辑表达式483.2.1 逻辑运算符483.2.2 逻辑表达式493.3 if语句503.3.1 if语句的一般形式513.3.2 if语句的嵌套573.4 switch语句593.5 贯穿实例A--成绩管理程序（2) 623.6 提高部分633.6.1 if语句和switch语句的进一步讨论633.6.2 条件运算符和表达式693.6.3 贯穿实例B--电子通讯录管理系统（2) 703.7 上机训练71思考题374习题374基础部分74提高部分75第4章 循环结构程序设计774.1 for语句784.2 while语句874.3 do-while语句894.4 break语句和continue语句924.4.1 循环体中使用break语句924.4.2 循环体中使用continue语句944.5 循环语句的嵌套954.6 贯穿实例A--成绩管理程序（3) 984.7 提高部分1014.7.1 for语句的应用1014.7.2 三种循环的对比1044.7.3 goto语句以及用goto语句构成的循环1084.7.4 贯穿实例B--电子通讯录管理系统（3) 1104.8 上机训练111思考题4114习题4115基础部分115提高部分117第5章 数组1205.1 一维数组1215.1.1 一维数组的定义和引用1215.1.2 一维数组的初始化1235.2 字符串1275.2.1 字符串的概念和字符串的输入输出1275.2.2 字符串处理函数1295.3 二维数组1315.4 贯穿实例A--成绩管理程序（4) 1345.5 提高部分1395.5.1 数组程序举例1395.5.2 贯穿实例B--电子通讯录管理系统（4) 1465.6 上机训练156思考题5160习题5160基础部分160提高部分161第6章 指针1636.1 变量的地址和指针变量的概念1646.2 指针变量的定义和引用1646.3 指针和一维数组1676.3.1 使指针变量指向一维数组1676.3.2 对指针的算术运算1686.4 指针和字符串1716.4.1 通过字符数组名引用字符串1716.4.2 通过指针变量引用字符串1726.5 提高部分1746.5.1 指针的进一步讨论1746.5.2 指针和二维数组1766.6 上机训练179思考题6183习题6183基础部分183提高部分184第7章 函数1857.1 函数的引例1867.2 函数的定义与调用1887.2.1 函数的定义1887.2.2 函数的调用1897.2.3 函数的调用过程1957.2.4 函数的返回值1977.2.5 被调函数的原型说明1997.3 函数的嵌套调用2007.4 数组做实参2017.4.1 一维数组名做实参2017.4.2 二维数组名做实参2047.5 变量的存储类别2057.5.1 内部变量和外部变量2057.5.2 动态存储变量和静态存储变量2067.6 贯穿实例A--成绩管理程序（5) 2087.7 提高部分2117.7.1 函数的递归调用2117.7.2 带参数的main函数2137.7.3 指向函数的指针2187.7.4 多文件组成的程序运行方法2197.7.5 预处理命令2207.7.6 贯穿实例B--电子通讯录管理系统（5) 2237.8 上机训练226思考题7229习题7229基础部分229提高部分232第8章 结构体和其他构造类型2338.1 结构体类型变量的定义和使用2348.1.1 结构体类型的概念和声明2348.1.2 结构体类型变量的使用2358.2 结构体和函数调用2418.3 贯穿实例A--成绩管理程序（6) 2448.4 提高部分2488.4.1 结构体的进一步讨论2488.4.2 链表2528.4.3 共用体2598.4.4 贯穿实例B--电子通讯录管理系统(6)2628.5 上机训练265思考题8267习题8267基础部分267提高部分268第9章 位运算2709.1 移位运算符2709.2 按位与、或、异或运算符2729.3 按位取反运算符2749.4 提高部分2749.4.1 位运算的复合赋值运算符2749.4.2 负整型数据的位运算2759.4.3 无符号整型数据的位运算2769.4.4 不同类型数据之间的位运算2769.4.5 位运算在单片机控制中的应用276思考题9278习题9279基础部分279提高部分279第10章 文件28010.1 文件的概述28110.2 文件的基本操作28210.3 贯穿实例A--成绩管理程序（7) 29010.4 提高部分29610.4.1 文件读写操作的进一步讨论29610.4.2 文件的定位操作30110.4.3 贯穿实例B--电子通讯录管理系统(7)30310.5 上机训练307思考题10309习题10310基础部分310提高部分310附录A C语言关键字311附录B 常用字符与ASCII代码对照表312附录C 运算符的优先级和结合方向314附录D 常用C库函数315附录E 关键字、运算符、库函数索引319附录F 单号习题参考答案322参考文献341[1]