C语言程序设计教程 第2版
作者 : 朱鸣华 等编著
出版日期 : 2011-01-12
ISBN : 978-7-111-32866-7
适用人群 : 计算机相关专业本科生
定价 : 29.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 270
开本 : 16
原书名 : C语言程序设计教程
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书介绍利用C语言进行程序设计的基本知识。全书共13章,详细介绍了C语言的基本概念、 算法与程序设计基础、数据的输入和输出、选择结构、循环结构、数组、函数、指针、结构体与共用体、文件、面向对象程序设计与C++基础以及数据结构基础等内容。每章配有大量的习题,便于读者巩固所学知识,掌握程序设计的基本方法和编程技巧。

图书特色

语言程序设计教程
第2版
朱鸣华 刘旭麟 杨微◎等编著
C语言是一种应用非常广泛的结构化程序设计语言,既适合于编写应用程序,又特别适合于编写系统软件。
本书是结合作者多年的教学经验编写而成的,在内容编排上尽量体现出易学的特点,在文字叙述上力求条理清晰,在教材体系上重视理论与实践相结合,以便于读者低起点、高效率地掌握C语言的编程技巧。

本书在第1版的基础上进行了如下的修订和调整:
叙述适应C语言的发展,兼顾C99标准,以Visual C++ 6.0系统环境为主,规范程序的书写格式。
增加了第2章“算法与程序设计基础”,以加强学生程序设计算法设计的训练。
增加了程序示例的注释和综合程序设计实例,强调综合程序设计的能力,突出程序设计能力的培养。
重新组织内容,淡化不重要的章节和语法。
对第10章结构体部分增加了链表的简单叙述和操作,以满足不同学习者和教学的需求。
所有程序均在Visual C++ 6.0环境下调试通过。
为教师配有电子课件,需要的教师可登录华章网站(www.hzbook.com)下载。

配套教辅:
C语言程序设计习题解析与上机指导
书号:978-7-111-12132-9
定价:17.00元

图书前言

第2版前言
  《C语言程序设计教程》教材于2007年2月出版发行第1版,出版后受到广大读者的喜爱,截止到目前共印刷了6次,累计发行了近两万册,被全国多所院校选作C语言程序设计课程的教材。另外,该教材2009年被评为辽宁省精品教材。
  为了配合本教材使用,2009年3月作者组织编写并出版了《C语言程序设计习题解析与上机指导》实验配套教材。该配套教材从教学实际需要出发,兼顾不同学生的计算机基础,对主教材中的主要知识点进行了归纳和总结,对各章节的练习题中的疑难问题和常见问题进行了详细解析,使学生能自行进行有目的的实验训练。
  为了适应计算机科学技术的发展,更好地满足教学的实际需要,作者征求广大读者的意见,在第1版的基础上对全书进行了如下的修订和调整:
  1)叙述适应C语言的发展,兼顾 C99标准,以Visual C++ 6.0系统环境为主,规范程序的书写格式。
  2)增加了第2章“算法与程序设计基础”,以加强学生程序设计中算法设计的训练。
  3)增加了程序示例的注释,更换和充实了部分章节中的例题,增加了综合程序设计实例,强调综合程序设计的能力,突出程序设计能力的培养,更加方便学生学习和理解。
  4)重新组织内容,淡化不重要的章节和语法,将编译预处理压缩放在第8章“函数”中进行简要介绍。
  5)对第10章结构体部分增加了链表的简单叙述和操作,以满足不同学习者和教学的需求。
  6)所有程序均在Visual C++ 6.0环境下调试通过。
  第2版由朱鸣华、刘旭麟、杨微等编写。其中,第1、3、4章由罗晓芳编写;第5、8章由李慧编写;第6、9章和附录由刘旭麟编写;第7、11章由孙大为编写;第10章和编译预处理内容由杨微编写;第12章由赵晶编写;第2、13章由朱鸣华编写。全书由朱鸣华、刘旭麟统稿。
  在本书的修订过程中,得到了大连理工大学计算机基础教研室很多老师的帮助,许多使用本教材的高校老师都提出了很好的建议,在此表示衷心的感谢。由于作者水平有限,书中难免有疏漏和不当之处,敬请读者和专家指正。

编  者
2010年11月

第1版前言
  掌握一门高级程序设计语言是高等院校理工科学生利用计算机解决实际问题的必要条件之一。目前,国内各高等院校都把计算机程序设计课程作为重要的计算机基础课程。
  C语言是国内外广泛使用的计算机程序设计语言之一,是国内外大学普遍开设的程序设计课程。C语言功能丰富,表达能力强,使用灵活方便,程序执行效率高,它不但具有高级语言的功能,而且还可以实现汇编语言的许多功能。C语言程序具有完善的模块程序结构,可移植性好,而且可以直接实现对系统硬件及外部设备接口的控制,具有较强的系统处理能力。
  本书是根据教育部《关于进一步加强高等学校计算机基础教学的意见》的教学基本要求和高等院校计算机基础教学改革的需要,结合作者多年讲授C语言程序设计课程的教学经验编写而成的。全书共分13章,详细介绍了C语言的基本语法结构,同时介绍了面向对象程序设计语言C++的基本概念和数据结构的基本内容。另外,每章均配有精心安排的例题和习题,书后还给出了习题参考答案。
  本书内容丰富,实用性强,侧重结合一般数值计算介绍利用C语言进行计算机程序设计的基本知识,使读者掌握C语言的基本内容及程序设计的基本方法和编程技巧,了解进行科学计算的一般思路与方法,为进一步学习和应用计算机打下基础。本书具有如下特点:
  1) 内容全面。教材内容体系、前后内容的衔接、知识点的安排由浅入深,循序渐进,全书围绕结构化程序设计的方法,详细介绍C语言的语法规则和程序设计的基本方法。另外,C++和数据结构的内容有利于学生扩充知识及后续课程的学习。
  2) 通俗易懂。本书在编写中力求做到概念叙述准确、严谨,语言简练通俗。为便于学生更好地学习和理解C语言,在一些较难理解的部分尽量使用图解的方法,在例题中加入了部分代码注释,使读者低起点、高效率、高目标地掌握C语言。
  3) 实践性强。书中示例丰富,习题难易适中,覆盖面广,既包括理解语法的内容,又有增加兴趣和提高编程能力的例子。例题和习题强调了编程能力训练的重要性,淡化了部分语法细节。
  本书的叙述以ANSI C为基础,书中的程序是在Turbo C环境下调试通过的,使用其他C语言编译系统的读者请注意参考有关手册。
  本书适合作为高等院校理工科非计算机专业的“C语言程序设计”课程的教材和工程技术人员学习C语言的参考书。另外,本书还可作为自学用书。
  本书适合于学时较少,并与多媒体教学方法相匹配的教学方式。对于本书的学时数,建议课堂教学32~48学时,上机实践24~32学时。为了克服学时少、内容多的矛盾,建议在教学中注重学生程序设计能力的培养,采用任务驱动、案例教学相结合的教学模式,以提高学生学习的兴趣和主动性,语法问题则留给学生课后自学。
  本书第1、2、3章由罗晓芳编写,第4、7章由李慧编写,第5、9章和附录由刘旭麟编写,第6、11章由孙大为编写,第8、10章由杨微编写,第12章由赵晶编写,第13章由朱鸣华和赵晶编写。全书由朱鸣华、刘旭麟统稿。
  在本书的编写过程中得到了许多老师的帮助,在此表示诚挚的谢意。由于作者水平有限,书中难免有疏漏和不当之处,敬请读者和专家指正。
编  者
2006年12月

上架指导

计算机\程序设计

封底文字

C语言是一种应用非常广泛的结构化程序设计语言,既适合于编写应用程序,又特别适合于编写系统软件。
  本书是结合作者多年的教学经验编写而成的,在内容编排上尽量体现出易学的特点,在文字叙述上力求条理清晰,在教材体系上重视理论与实践相结合,以便于读者低起点、高效率地掌握C语言的编程技巧。
  本书在第1版的基础上进行了如下的修订和调整:
叙述适应C语言的发展,兼顾 C99标准,以Visual C++ 6.0系统环境为主,规范程序的书写格式。
增加了第2章“算法与程序设计基础”,以加强学生程序设计算法设计的训练。
增加了程序示例的注释和综合程序设计实例,强调综合程序设计的能力,突出程序设计能力的培养。
重新组织内容,淡化不重要的章节和语法。
对第10章结构体部分增加了链表的简单叙述和操作,以满足不同学习者和教学的需求。
所有程序均在Visual C++ 6.0环境下调试通过。
为教师配有电子课件,需要的教师可登录华章网站(www.hzbook.com)下载。

图书目录

第2版前言
第1版前言
教学建议
第1章  C语言概述 1
1.1  C语言发展简史 1
1.2  C语言的特点 2
1.3  简单C语言程序举例 2
1.4  C语言程序的组成与结构 3
1.5  C语言程序的开发步骤 5
小结 6
习题 6
第2章  算法与程序设计基础 7
2.1  算法概述 7
2.1.1  算法的概念 7
2.1.2  算法的特征 7
2.2  算法的常用表示方法 8
2.2.1  自然语言 8
2.2.2  流程图 8
2.2.3  N-S流程图 9
2.3  程序设计典型算法 11
2.4  结构化程序设计方法 12
小结 12
习题 12
第3章  数据类型、运算符与表达式 14
3.1  C语言的基本符号 14
3.1.1  标识符 14
3.1.2  常量 14
3.1.3  变量 15
3.1.4  关键字 16
3.2  C 语言的数据类型 16
3.2.1  整型数据 16
3.2.2  实型数据 19
3.2.3  字符型数据 20
3.3  运算符和表达式 22
3.3.1  算术运算符和算术表达式 23
3.3.2  赋值运算符和赋值表达式 23
3.3.3  逗号运算符和逗号表达式 25
3.4  数据类型转换 25
3.4.1  不同数据类型的数据间的混合运算 25
3.4.2  强制类型转换 26
3.5  自增运算和自减运算 27
3.6  位运算 28
小结 30
习题 31
第4章  数据的输入和输出 33
4.1  数据的输出 33
4.1.1  格式输出函数printf 33
4.1.2  字符输出函数putchar 36
4.2  数据的输入 37
4.2.1  格式输入函数scanf 37
4.2.2  字符输入函数getchar 39
4.3  应用举例 41
小结 41
习题 42
第5章  选择结构 45
5.1  关系运算符和关系表达式 45
5.1.1  关系运算符 45
5.1.2  关系表达式 45
5.2  逻辑运算符和逻辑表达式 46
5.2.1  逻辑运算符 46
5.2.2  逻辑表达式 46
5.3  选择语句 47
5.3.1  if语句 47
5.3.2  if语句的嵌套 49
5.3.3  switch语句 50
5.4  条件运算符和条件表达式 51
5.5  应用举例 52
小结 55
习题 55
第6章  循环结构 58
6.1  goto语句与标号 58
6.2  while循环语句 59
6.3  do-while循环语句 60
6.4  for循环语句 62
6.5  三种循环语句的比较 64
6.6  循环嵌套 64
6.7  break语句、continue语句和空语句 66
6.7.1  break语句 66
6.7.2  continue语句 67
6.7.3  空语句 68
6.8  应用举例 69
小结 72
习题 72
第7章  数组 78
7.1  一维数组 78
7.1.1  一维数组的定义和引用 78
7.1.2  一维数组的初始化 79
7.1.3  一维数组程序举例 80
7.2  二维数组 82
7.2.1  二维数组的定义和引用 82
7.2.2  二维数组的初始化 83
7.2.3  二维数组程序举例 83
7.3  字符数组 86
7.3.1  字符数组的定义 86
7.3.2  字符数组的初始化 87
7.3.3  字符数组的引用 87
7.3.4  字符数组与字符串 88
7.3.5  字符数组的输入和输出 88
7.3.6  字符串处理函数 89
7.3.7  字符数组应用举例 91
小结 94
习题 94
第8章  函数 99
8.1  函数的基本概念 99
8.1.1  函数的概念 99
8.1.2  函数的定义 100
8.1.3  函数的调用 101
8.1.4  函数参数的传递方式 102
8.1.5  函数的返回值 103
8.1.6  函数的原型声明 105
8.2  数组作为函数参数 106
8.2.1  一维数组作为函数参数 106
8.2.2  二维数组作为函数参数 107
8.2.3  数组作为函数参数的函数调用方式 107
8.3  函数的嵌套调用和递归调用 110
8.3.1  函数的嵌套调用 110
8.3.2  函数的递归调用 111
8.4  变量的作用域和存储方法 114
8.4.1  局部变量和全局变量 114
8.4.2  变量的存储方法 117
8.5  内部函数和外部函数 120
8.6  编译预处理 121
8.6.1  宏定义 121
8.6.2  文件包含 123
8.6.3  条件编译 124
8.7  函数应用举例 125
小结 129
习题 130
第9章  指针 136
9.1  指针的基本概念及指针变量的定义 136
9.1.1  指针的基本概念 136
9.1.2  指针变量的定义方法 136
9.2  指针运算 137
9.2.1  赋值运算 137
9.2.2  取地址运算 137
9.2.3  取内容运算 138
9.2.4  指针表达式与整数相加、减运算 139
9.2.5  自增、自减运算 139
9.2.6  同类指针相减运算 140
9.2.7  关系运算 141
9.2.8  强制类型转换运算 141
9.2.9  空指针 141
9.3  指针变量与一维数组 142
9.3.1  指针变量与一维数组之间的联系和区别 142
9.3.2  字符串指针与字符串 143
9.4  指针与函数 144
9.4.1  指针作为函数参数 144
9.4.2  返回指针的函数 147
9.4.3  函数的指针和指向函数的指针变量 149
9.5  指针与二维数组 150
9.5.1  二维数组的结构 150
9.5.2  二维数组元素及其地址 151
9.5.3  指针数组 152
9.5.4  指针与字符串数组 153
9.5.5  指向数组的指针变量 155
9.6  二级指针 156
9.7  内存空间的动态分配 158
9.7.1  指向void的指针 158
9.7.2  常用内存管理函数 159
9.8  main函数的参数 160
9.8.1  命令行参数 160
9.8.2  指针数组作为main函数的形参 160
9.9  应用举例 161
小结 165
习题 166
第10章  结构体与共用体 173
10.1  结构体类型与结构体变量 173
10.1.1  结构体类型的定义 173
10.1.2  结构体变量的定义 174
10.1.3  结构体变量的引用 175
10.1.4  结构体变量的初始化 176
10.2  结构体数组 176
10.2.1  结构体数组的定义 176
10.2.2  结构体数组的引用 177
10.2.3  结构体数组的初始化 177
10.2.4  应用举例 178
10.3  结构体指针 179
10.3.1  结构体指针变量的定义 179
10.3.2  结构体数组指针 180
10.4  结构体类型数据在函数间的传递 181
10.4.1  结构体变量作为函数参数 181
10.4.2  结构体指针变量作为函数参数 182
10.4.3  结构体数组作为函数参数 183
10.4.4  应用举例 183
10.5  共用体 186
10.5.1  共用体类型的定义 186
10.5.2  共用体变量的定义 186
10.5.3  共用体变量的引用和初始化 187
10.6  枚举类型 190
10.6.1  枚举类型的说明 190
10.6.2  枚举型变量的定义 190
10.7  用typedef定义类型 192
10.8  链表及其简单操作 193
10.8.1  链表的概念 193
10.8.2  链表的基本操作 194
小结 196
习题 197
第11章  文件 200
11.1  文件概述 200
11.1.1  文件的概念 200
11.1.2  文件的分类 200
11.1.3  文件缓冲区 201
11.1.4  文件类型指针 201
11.2  文件的打开与关闭 202
11.2.1  打开文件 202
11.2.2  关闭文件 203
11.3  文件的顺序读写 203
11.3.1  格式化读写函数fscanf和fprintf 203
11.3.2  字符方式读写函数fgetc和fputc 203
11.3.3  数据块读写函数fread和fwrite 204
11.3.4  字符串读写函数fgets和fputs 205
11.4  文件的定位与随机读写 205
11.4.1  文件指针重定位函数rewind 205
11.4.2  随机读写函数fseek 206
11.4.3  其他相关函数 208
小结 208
习题 209
第12章  面向对象程序设计与C++基础 213
12.1  面向对象程序设计的基本概念 213
12.2  面向对象程序设计语言C++简介 215
12.2.1  C++程序结构 215
12.2.2  C++对C的补充 217
12.2.3  C++中的类 219
12.2.4  C++中的构造函数和析构函数 221
12.2.5  C++中的继承 223
12.2.6  C++中的多态性、函数重载和虚函数 224
小结 226
习题 227
第13 章  数据结构基础 228
13.1  概述 228
13.1.1  数据结构的基本概念 228
13.1.2  数据的逻辑结构与存储结构 229
13.2  线性表 230
13.2.1  线性表概述 230
13.2.2  线性表的存储 230
13.3  栈和队列 231
13.3.1  栈 231
13.3.2  队列 233
13.4  树与二叉树 235
13.4.1  树的定义 235
13.4.2  二叉树 236
13.4.3  哈夫曼树 239
13.5  图 242
13.5.1  图的定义 242
13.5.2  图的存储结构 243
小结 244
习题 244
习题参考答案 246
附录A  C语言的关键字 250
附录B  双目算术运算中两边运算量类型转换规律 251
附录C  运算符的优先级和结合性 252
附录D  常用字符与ASCII码对照表 253
附录E  常用库函数 255
参考文献 259

教学资源推荐
作者: [美] 布雷特·兰茨(Brett Lantz) 著
作者: 刘国忠 主编 吕勇 马牧燕 那云虓 参编
作者: 吕云翔等编著
作者: 张红光 李福才 编著
参考读物推荐
作者: 李斌 黄绍斌 等编著
作者: 新华三大学 编著
作者: (美)马特·米勒(Matt Miller)著