《C程式设计教程(第3版)》是2012年清华大学出版社出版的图书,作者是崔武子、李青、李红豫、鞠慧敏。
基本介绍
- 书名:C程式设计教程(第3版)
- 作者:崔武子、李青、李红豫、鞠慧敏
- ISBN:9787302285878
- 定价:34.5元
- 出版社:清华大学出版社
- 出版时间:2012-8-3
- 装帧:平装
- 印次:3-1
- 印刷日期:2012-8-3
内容简介
本书是以C程式设计零起点学习者作为主要对象的程式设计教程,2007年6月出版了第2版,该书是普通高等教育“十一五”国家级规划教材,荣获“2008年北京高等教育精品教材”称号和“第八届全国高等学校出版社优秀畅销书二等奖”,本次再版则进一步强化了套用能力,强调“教师方便教,学生容易学”.
全书用例题组织所有的教学内容,并用两套实例贯穿整个教学过程,整体内容编排独特,组织形式新颖。全书共分10章,分别是C语言基础知识、顺序结构程式设计、分支结构程式设计、循环结构程式设计、数组、指针、函式、结构体和其他构造类型、位运算以及档案。
本书配备了辅助教材《C程式设计辅导与实训(第2版)》、《C程式设计试题精选(第2版)》和《C程式设计课程教案及题解(第2版)》以及内容生动的电子教案。本书将所有程式的运行环境选用为Visual C++6.0.
本书是高等院校C语言程式设计课程的教材,也可作为C语言自学者的参考书。
全书用例题组织所有的教学内容,并用两套实例贯穿整个教学过程,整体内容编排独特,组织形式新颖。全书共分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) 选做上机训练题中的扩展题。在完成训练题的基础上可根据不同层次的学生情况,选做扩展题。
全书由崔武子主编并统稿,李青、李红豫、鞠慧敏和齐华山参加部分内容的修订和编写。本书得到北京联合大学规划教材建设项目资助。在使用本书前一版书时,教学团队的教师提出了许多宝贵意见,在此表示真挚的感谢。
限于作者水平,书中难免有错误和疏漏之处,恳请读者批评和指正。
本书特点:
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语言基础知识1
1.1 C语言概述2
1.1.1 C语言与程式设计2
1.1.2 C程式形式和程式执行过程3
1.2 简单C程式及其上机步骤4
1.2.1 简单C程式和编程风格4
1.2.2 上机步骤6
1.3 数据类型9
1.4 常量与变数10
1.4.1 常量与变数的概念10
1.4.2 整型常量与变数12
1.4.3 实型常量与变数14
1.4.4 字元型常量与变数15
1.5 运算符和表达式17
1.5.1 算术运算符和表达式17
1.5.2 赋值运算符和表达式19
1.5.3 逗号运算符和表达式20
1.6 提高部分21
1.6.1 赋值运算符的进一步讨论21
1.6.2 数据类型的进一步讨论23
1.7 上机训练24
思考题125
习题126
基础部分26
提高部分27第2章 顺序结构程式设计28
2.1 结构化程式设计的基本结构29
2.1.1 语句的概念292.1.2 三种基本结构29
2.2 赋值语句31
2.3 输入输出语句32
2.3.1 格式输入输出函式32
2.3.2 字元输入输出函式36
2.4 贯穿实例A--成绩管理程式(1) 37
2.5 提高部分38
2.5.1 输入输出函式的进一步讨论38
2.5.2 贯穿实例B--电子通讯录管理系统(1) 42
2.6 上机训练43
思考题244
习题244
基础部分44
提高部分45C程式设计教程(第3版)目录第3章 分支结构程式设计46
3.1 关係运算符和关係表达式47
3.1.1 关係运算符47
3.1.2 关係表达式47
3.2 逻辑运算符和逻辑表达式48
3.2.1 逻辑运算符48
3.2.2 逻辑表达式49
3.3 if语句50
3.3.1 if语句的一般形式51
3.3.2 if语句的嵌套57
3.4 switch语句59
3.5 贯穿实例A--成绩管理程式(2) 62
3.6 提高部分63
3.6.1 if语句和switch语句的进一步讨论63
3.6.2 条件运算符和表达式69
3.6.3 贯穿实例B--电子通讯录管理系统(2) 70
3.7 上机训练71
思考题374
习题374
基础部分74
提高部分75第4章 循环结构程式设计77
4.1 for语句78
4.2 while语句87
4.3 do-while语句89
4.4 break语句和continue语句92
4.4.1 循环体中使用break语句92
4.4.2 循环体中使用continue语句94
4.5 循环语句的嵌套95
4.6 贯穿实例A--成绩管理程式(3) 98
4.7 提高部分101
4.7.1 for语句的套用101
4.7.2 三种循环的对比104
4.7.3 goto语句以及用goto语句构成的循环108
4.7.4 贯穿实例B--电子通讯录管理系统(3) 110
4.8 上机训练111
思考题4114
习题4115
基础部分115
提高部分117第5章 数组120
5.1 一维数组121
5.1.1 一维数组的定义和引用121
5.1.2 一维数组的初始化123
5.2 字元串127
5.2.1 字元串的概念和字元串的输入输出127
5.2.2 字元串处理函式129
5.3 二维数组131
5.4 贯穿实例A--成绩管理程式(4) 134
5.5 提高部分139
5.5.1 数组程式举例139
5.5.2 贯穿实例B--电子通讯录管理系统(4) 146
5.6 上机训练156
思考题5160
习题5160
基础部分160
提高部分161第6章 指针163
6.1 变数的地址和指针变数的概念164
6.2 指针变数的定义和引用164
6.3 指针和一维数组167
6.3.1 使指针变数指向一维数组167
6.3.2 对指针的算术运算168
6.4 指针和字元串171
6.4.1 通过字元数组名引用字元串171
6.4.2 通过指针变数引用字元串172
6.5 提高部分174
6.5.1 指针的进一步讨论174
6.5.2 指针和二维数组176
6.6 上机训练179
思考题6183
习题6183
基础部分183
提高部分184第7章 函式185
7.1 函式的引例186
7.2 函式的定义与调用188
7.2.1 函式的定义188
7.2.2 函式的调用189
7.2.3 函式的调用过程195
7.2.4 函式的返回值197
7.2.5 被调函式的原型说明199
7.3 函式的嵌套调用200
7.4 数组做实参201
7.4.1 一维数组名做实参201
7.4.2 二维数组名做实参204
7.5 变数的存储类别205
7.5.1 内部变数和外部变数205
7.5.2 动态存储变数和静态存储变数206
7.6 贯穿实例A--成绩管理程式(5) 208
7.7 提高部分211
7.7.1 函式的递归调用211
7.7.2 带参数的main函式213
7.7.3 指向函式的指针218
7.7.4 多档案组成的程式运行方法219
7.7.5 预处理命令220
7.7.6 贯穿实例B--电子通讯录管理系统(5) 223
7.8 上机训练226
思考题7229
习题7229
基础部分229
提高部分232第8章 结构体和其他构造类型233
8.1 结构体类型变数的定义和使用234
8.1.1 结构体类型的概念和声明234
8.1.2 结构体类型变数的使用235
8.2 结构体和函式调用241
8.3 贯穿实例A--成绩管理程式(6) 244
8.4 提高部分248
8.4.1 结构体的进一步讨论248
8.4.2 鍊表252
8.4.3 共用体259
8.4.4 贯穿实例B--电子通讯录管理系统(6)262
8.5 上机训练265
思考题8267
习题8267
基础部分267
提高部分268第9章 位运算270
9.1 移位运算符270
9.2 按位与、或、异或运算符272
9.3 按位取反运算符274
9.4 提高部分274
9.4.1 位运算的複合赋值运算符274
9.4.2 负整型数据的位运算275
9.4.3 无符号整型数据的位运算276
9.4.4 不同类型数据之间的位运算276
9.4.5 位运算在单片机控制中的套用276
思考题9278
习题9279
基础部分279
提高部分279第10章 档案280
10.1 档案的概述281
10.2 档案的基本操作282
10.3 贯穿实例A--成绩管理程式(7) 290
10.4 提高部分296
10.4.1 档案读写操作的进一步讨论296
10.4.2 档案的定位操作301
10.4.3 贯穿实例B--电子通讯录管理系统(7)303
10.5 上机训练307
思考题10309
习题10310
基础部分310
提高部分310
附录A C语言关键字311
附录B 常用字元与ASCII代码对照表312
附录C 运算符的优先权和结合方向314
附录D 常用C库函式315
附录E 关键字、运算符、库函式索引319
附录F 单号习题参考答案322
参考文献341