计算机基础教育 > 算法与程序设计类

C语言程序设计(第三版)

书号:9787113095123 套系名称:21世纪高校计算机基础教育系列规划教材

作者:罗坚 王声决 主编 出版日期:2009-02-01

定价:35.00 页码 / 开本:350 /16

策划编辑:秦绪好 杨勇 责任编辑:苏茜

适用专业:无 适用层次:本科/高职高专

最新印刷时间:

资源下载
教学课件 习题答案
内容简介 前言 目录 作者介绍 图书特色
  •         本书根据C语言程序设计的特点,以C语言初学者作为阅读对象,以程序设计为主线,以编程应用为驱动,通过丰富的实例详细介绍了C程序设计的思想及方法,本书叙述严谨、实例丰富、难易适中、重点突出。本书主要内容包括C语言程序设计入门,数据类型、运算符和表达式,算法与程序设计基础,函数,数组类型与指针类型,结构类型与联合类型,文件,并适当补充了面向对象程序设计语言C++的内容。为了避免学习过程中的枯燥乏味,书中还精选了一些富有实用性及趣味性的实例,增强了全书的可读性,便于读者在轻松愉快的氛围中学习。本书适合作为高等院校的教学用书,也可作为广大编程爱好者的自学读物,同时也是参加各类计算机等级考试的辅导书。
  •         C语言是一门出色的程序设计语言,它以精练、灵活、可移植性好、应用领域广泛而著称,虽然走过了30多个春秋,至今依然活跃在计算机应用及计算机专业教学的领域,起着非常重要的作用。因此,在国内外的许多高校,C语言都被列为了学习程序设计课程的首选语言。

             C语言程序设计是一门特色鲜明的、以培养学生程序设计方法与技能为重点的公共基础课程,它以编程语言为平台,详细介绍了程序设计的思想及方法。通过对该课程的学习,学生不仅要掌握程序设计语言的知识,为后续专业课程的学习打下基础,更重要的是要在实践中逐步培养求解问题和应用语言的能力。

            本书作者长期从事高校C语言课程教学,亲身感受到了学生在初学编程时所遇到的种种困难。为了使学生能够在学习C语言的过程中始终保持着强烈的学习兴趣,帮助他们领悟到程序设计的奥妙,培养程序设计能力,进而适应新时期人才培养的需要,如何编写一本高质量的C语言教材就显得尤为重要,这也正是作者殚思极虑之所在。

            本书第3版反映了作者从事计算机基础教学及计算机语言教材教育改革的最新成果,符合教育部非计算机专业计算机基础课程教学指导委员会提出的“关于进一步加强计算机基础教学的意见”(简称白皮书)的具体要求,可以用于高校本科、专科同类语言课程的教学;另外,书中内容涵盖了《全国计算机等级考试二级C语言程序设计考试大纲(2007年版)》的范围,亦可作为等级考试的教学用书。

            全书以程序设计为主线,以编程应用为驱动,以丰富的实例详细介绍了C语言程序设计的思想及方法。全书共8章,第1章介绍C语言程序的基本构成与Visual C++ 6.0的使用;第2章介绍基本数据类型、运算符和表达式、基本输入/输出操作;第3章介绍算法的概念、结构化程序设计中的3种控制结构(即顺序、选择和循环结构);第4章重点介绍自定义函数、变量的存储类型;第5章详细介绍数组类型和指针类型的定义与使用,包括字符串函数、动态内存分配与动态数组的应用;第6章介绍结构类型和联合类型的使用,涉及常用链表的定义及操作;第7章介绍数据文件的类型与操作方法;第8章介绍面向对象程序设计的思想和C++的基本语法知识,供较高要求的读者使用。

            新书第3版在延续了前两版教材的叙述严谨、循序渐进、突出实践、方便自主学习的特点外,还在以下几方面进行了改进:

            (1)采用Visual C++ 6.0集成开发环境,由浅入深地详细介绍了程序从编辑、编译、连接、运行及调试的完整过程,把书中所有的例题及实验题全部迁移至Visual C++ 6.0这个平台,满足了学生参加全国计算机等级考试二级(C语言)的需要。

            (2)考虑到高等院校的教学特点及实际需要,对原书的部分章节进行了重写或者调整,使得新版书内容更加紧凑、结构更加合理。

            (3)为培养学生对编程的兴趣和爱好,书中补充了一些富有趣味性的奥赛编程题,并给出了详细的分析过程。

            (4)修正了上一版教科书中的错误,保证书中的所有源程序均能在Visual C++ 6.0环境下运行通过。

            (5)考虑到部分高校依然沿用Turbo C(或者Win TC)的教学上机模式,本书在附录部分保留了这部分内容的简单介绍。

            本书第1章、第2章、附录 A和附录 B由王声决编写,第3章由傅清平编写,第4章和附录C由李雪斌编写,第5章、第6章由徐文胜编写,第7章、第8章和附录D由罗坚编写。全书最后由罗坚修改定稿。

           为了配合教学,作者还编写了配套的实验指导用书《C语言程序设计(第三版)实验教程》。该书由中国铁道出版社出版,书中除了为配套的《C语言程序设计(第三版)》提供了全部的习题解答之外,还根据教学进度设计了同步的上机实验内容,充实了一些编程实例,并提供了5套模拟测试题,尽力为读者学习C语言提供方便。

            在本书的编写过程中,得到了聂承启教授、黄明和教授、王明文教授、甘登文教授、杨印根教授等领导的关心与支持,李建元、敖小玲、王丽君、吴克捷、王国纬、熊刚、王萍、钟林辉、王昌晶、刘洪、聂伟强、高志标、廖云燕、徐培、张婕、甘朝红、吴水秀、万中英、罗玮、倪海英等教师对本书的修改提出了许多宝贵的意见,邓涛、张建平等教师对本书的成稿提供了很大的帮助,在此一并表示衷心感谢!中国铁道出版社计算机图书中心的领导及杨勇编辑、曹莉群编辑,为本书的出版给予了热心的指导与无私的帮助,再次表示衷心感谢!此外,在本书的编写过程中,还参考了大量的文献资料,在此谨向这些文献资料的作者表示感谢!

            由于时间仓促和编者水平所限,书中难免有不当和欠妥之处,恳请各位专家、读者不吝批评指正。

            编  者

            2008年10月

  • 第1章  C程序设计入门 1
    1.1  简单的C语言程序 1
    1.2  C语言常用符号 8
    1.2.1  C语言的关键字 8
    1.2.2  标识符 8
    1.2.3  其他符号 9
    1.3  C语言程序的上机调试步骤 9
    1.4  Visual C++开发工具 10
    1.4.1  Visual C++ 6.0的安装 10
    1.4.2  Visual C++ 6.0 的IDE操作界面 13
    1.4.3  Visual C++ 6.0 的基本操作 13
    1.5  C语言概况 23
    1.5.1  C语言的发展过程 23
    1.5.2  C语言的特点 23
    1.5.3  学习建议 24
    习题 25
    第2章  数据类型、运算符和表达式 26
    2.1  常用的进位制 26
    2.1.1  二进制数、八进制数和十六进制数 26
    2.1.2  二进制数、八进制数、十进制数和十六进制数之间的换算 27
    2.2  数与字符在计算机内存中的表示 27
    2.2.1  机器数和真值 27
    2.2.2  原码、反码和补码 28
    2.2.3  定点数和浮点数 29
    2.2.4  ASCII码 30
    2.3  常量 30
    2.3.1  整型常量 30
    2.3.2  实型常量 31
    2.3.3  字符常量 31
    2.3.4  字符串常量 32
    2.3.5  符号常量 33
    2.4  变量 33
    2.4.1  整型变量 34
    2.4.2  实型变量 37
    2.4.3  字符型变量 38
    2.5  常用运算符与表达式 39
    2.5.1  算术运算符与算术表达式 41
    2.5.2  赋值运算符和赋值表达式 42
    2.5.3  强制类型转换运算符 43
    2.5.4  自加、自减运算符 43
    2.5.5  逗号运算符和逗号表达式 44
    2.5.6  位运算 44
    2.6  基本输入/输出操作 46
    2.6.1  字符的输入和输出 46
    2.6.2  带格式数据的输入与输出 47
    习题 51
    第3章  算法与程序设计基础 57
    3.1  算法 57
    3.1.1  算法的概念 57
    3.1.2  算法的特性 58
    3.2  算法的常用表示方法 59
    3.2.1  自然语言表示法 59
    3.2.2  流程图 59
    3.2.3  N-S结构流程图 61
    3.2.4  伪代码表示法 62
    3.2.5  用计算机语言表示算法 62
    3.3  结构化程序设计方法 63
    3.4  C语句概述 66
    3.5  选择结构程序设计 68
    3.5.1  关系运算符和关系表达式 69
    3.5.2  逻辑运算符和逻辑表达式 69
    3.5.3  if语句 72
    3.5.4  if语句的嵌套 75
    3.5.5  条件运算符和条件表达式 77
    3.5.6  switch 语句 78
    3.5.7  选择结构程序设计举例 81
    3.6  循环程序设计 86
    3.6.1  goto语句以及用goto语句构成的循环 86
    3.6.2  while 语句 87
    3.6.3  do…while语句 88
    3.6.4  for语句 90
    3.6.5  多重循环 93
    3.6.6  循环结构中的break语句 94
    3.6.7  continue语句 95
    3.6.8  循环程序设计举例 97
    3.7  综合程序应用举例 99
    习题 106
    第4章  函数 112
    4.1  函数概述 112
    4.2  函数的定义 114
    4.3  函数的调用与返回值 115
    4.3.1  区分实参与形参 116
    4.3.2  函数的调用 117
    4.3.3  对被调用函数的原型声明 118
    4.3.4  函数的返回语句与返回值 120
    4.4  函数的参数传递方式 123
    4.4.1  值传递方式 123
    4.4.2  地址传递方式 124
    4.5  函数的嵌套与递归 128
    4.5.1  函数的嵌套调用 128
    4.5.2  函数的递归调用 130
    4.6  变量的作用域 134
    4.6.1  局部变量 134
    4.6.2  全局变量 134
    4.6.3  分程序 137
    4.7  变量的生存期 138
    4.7.1  自动变量 138
    4.7.2  静态变量 139
    4.7.3  外部变量 140
    4.7.4  寄存器变量 141
    4.8  内部函数和外部函数 142
    4.8.1  内部函数 142
    4.8.2  外部函数 143
    4.9  编译预处理命令 144
    4.9.1  宏定义 144
    4.9.2 文件包含 147
    4.9.3 条件编译 148
    习题 149
    第5章  数组类型与指针类型 156
    5.1  数据类型的构造 156
    5.2  数组类型 158
    5.2.1  数组类型的定义 158
    5.2.2  一维数组 159
    5.2.3  二维数组 166
    5.2.4  指针数组 169
    5.2.5  动态数组 170
    5.2.6  字符数组 173
    5.2.7  命令行参数 179
    5.3  指针类型 180
    5.3.1  指针概述 180
    5.3.2  指针的表示与操作 181
    5.3.3  指针参数 185
    5.3.4  二级指针 187
    5.3.5  数组指针 189
    5.3.6  函数指针 190
    5.3.7  void指针 192
    习题 193
    第6章  结构类型与联合类型 197
    6.1  结构类型与联合类型的概述 197
    6.2  结构类型 199
    6.2.1  结构类型的定义 199
    6.2.2  结构类型的基本操作 202
    6.2.3  结构参数 205
    6.2.4  结构指针 207
    6.2.5  结构数组 211
    6.3  动态链表 218
    6.3.1  链表的定义 218
    6.3.2  动态链表的基本操作 224
    6.3.3  动态链表编程举例 230
    6.4  联合类型 234
    6.5  位域类型 236
    6.6  枚举类型 237
    习题 239
    第7章  文件 242
    7.1  文件概述 242
    7.1.1  文件的概念 242
    7.1.2  文件的分类 242
    7.1.3  文件缓冲区 244
    7.1.4  文件类型指针 245
    7.1.5  文件的操作流程 246
    7.2  打开文件与关闭文件 246
    7.2.1  打开文件的函数 246
    7.2.2  关闭文件的函数 248
    7.3  文件的顺序读/写 249
    7.3.1  文本文件的顺序读/写 250
    7.3.2  二进制文件的顺序读/写 265
    7.4  文件的定位与随机读/写 269
    7.4.1  rewind()函数 269
    7.4.2  fseek()函数 270
    7.4.3  ftell()函数 274
    7.5  文件状态检查函数 275
    7.5.1  文件读/写结束检查函数feof() 276
    7.5.2  文件出错检查函数ferror() 278
    7.5.3  文件出错复位函数clearerr() 278
    习题 279
    第8章  面向对象技术与C++ 284
    8.1  C++概述 284
    8.2  简单的C++程序 285
    8.3  C++程序的开发过程 287
    8.4  C++的输入与输出 288
    8.4.1  用cout输出 288
    8.4.2  用cin输入 288
    8.4.3  I/O流类库操纵符简介 289
    8.5  设置函数参数的默认值 291
    8.6  内联函数 293
    8.7  重载函数 294
    8.8  变量的引用 296
    8.8.1  引用的概念 296
    8.8.2  引用作为函数参数 298
    8.9  面向对象的基础知识 299
    8.9.1  面向对象的概念 299
    8.9.2  面向对象程序设计的优点 300
    8.9.3  面向对象系统的特性 301
    8.10  类和对象 302
    8.10.1  类的定义 302
    8.10.2  对象的定义 304
    8.10.3  对象的成员表示 305
    8.11  构造函数 306
    8.12  析构函数 309
    8.13  继承与派生类 311
    8.13.1  继承与派生类的概念 311
    8.13.2  派生类的定义格式 312
    8.13.3  公有派生类 313
    8.13.4  私有派生类 314
    8.13.5  保护成员 314
    8.13.6  派生类的构造函数 315
    习题 317
    附录A  常用字符与ASCII码对照表 321
    附录B  在Turbo C集成环境下调试C程序的方法 322
    附录C  常用库函数介绍 327
    附录D  Turbo C编译错误信息汇总 340
    参考文献 349

  • 无