欢迎来到中国铁道出版社有限公司官网!
$itImage.title$

C/C++程序设计教程(第二版)

书      号:9787113124915

丛  书 名:21世纪大学计算机基础规划教材

作      者:王连相 赵付青 主编

译      者:

开      本:16开

装      帧:平装

正文语种:

出  版 社:中国铁道出版社有限公司

定      价:30

  • 内容简介

    本书全面介绍了C语言的基本概念、语法规则和程序设计的基本方法,数组与函数,指针类型的各种操作,复合数据类型及应用,文件操作和C++程序设计基础等。从实用的目的出发,列举了大量有一定实用价值的程序,每一章配有适量的习题。本书适合于高校作为教材用书,也适合于各种培训和编程爱好者及参加全国计算机等级(二级C语言)考试人员作为自学参考书。
  • 前言

    本书是根据教育部《关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求(试行)》中有关“计算机程序设计基础课程教学基本要求”,在已出版的《C/C++程序设计教程》的基础上修订而成的。
    由于上一版C++内容较少,上机环境为Turbo C,实践练习不足,为此,本次修订在章节安排和内容上进行了调整,增加了C++的内容,上机环境改为Visul C++,实践环节更加突出实用性。
    C语言不仅有高级语言的语义特点,还可用来编写操作系统、编译程序、数据库软件系统等,且具有低级语言底层操作的功能,也可以方便地进行字节运算、字位运算、寄存器操作、取地址、设计中断、访问设备端口等。C语言是现代软件设计人员不可或缺的软件系统开发与制作工具。随着计算机技术的飞速发展,C语言本身也在不断地完善发展,如现在广为使用的面向对象技术的C++、可视化编程的Visual C++、网络编程语言等,但其基本语法规范与编程风格都没变。可以说,掌握了C语言,就掌握了深入系统学习和应用其他编程语言的钥匙,用户再学习其他现代编程技术也就方便了许多。C++语言对C语言做了很多改进,例如增加了运算符、增加了类型的安全性、允许函数重载等。而C++语言与C语言的本质区别是增加了面向对象的技术,如类、对象的封装性,基类、派生类的继承性,重载、动态联编多态性等。例如,新一代编程语言Java的程序设计就保留了许多与C、C++同样的语法规范与结构风格。
    本书针对现代教育教学改革理念,在提高教学效率的同时,力求提高学生综合实践的能力。我们是在多年软件开发和C/C++程序设计教学实践经验的基础上,根据现代高校教学改革特有的情况,探讨了现代计算机基础教育的教学规律,收集分析了大量的教学文献,并基于实际应用编写了本书和与之配套的《C/C++程序设计上机指导与测试(第二版)》。本书内容翔实,概念清晰,通过实例分析,可以引导读者尽快掌握C/C++程序设计的实际应用技巧。作为教学用书,本书内容编排比较紧凑,可以帮助读者系统全面地了解C/C++程序设计的重点和要点。为了便于上机实践,讲课的次序可与教材章节不一致,第2章的内容可以穿插在后面的章节中讲解,避免单纯地讲解语法。第8章的内容可以提前到相关内容学习中介绍或练习,即以实践为主线,理论教学安排服从于实践。实践内容见第11章和配套的上机与测试。
    本书共分为11章,其中第1~5章由王连相负责编写;第6~8章由於时才负责编写;第9~11章由赵付青负责编写。本书在编写过程中还得到了丁政建、周小健、滕永晨、张宪立、邹晓、廖成斌、张墨逸和雷彩云的大力支持和帮助。全书由王连相和赵付青统稿并定稿。本书还得到了中国铁道出版社的鼎力支持和帮助,在此一并表示衷心的感谢。
    由于作者水平有限,因此难免会出现一些错误和不足之处,希望广大读者批评指正。
    编 者
    2010年11月
  • 目录

    目 录
    第1章 C语言概述 1
    1.1 C语言的起源 1
    1.2 C语言是高级语言中的中级语言 1
    1.3 C语言是结构化语言 2
    1.4 C语言是面向程序员的语言 3
    1.5 编译和解释 4
    1.6 C语言程序结构 4
    1.6.1 库和连接 6
    1.6.2 分别编译 6
    1.6.3 编译C语言程序 7
    1.6.4 C语言的内存映像 7
    1.7 术语 7
    本章小结 8
    习题 8
    第2章 数据类型和表达式 9
    2.1 数据类型 9
    2.2 保留字、标识符 10
    2.2.1 标识符 10
    2.2.2 保留字 10
    2.2.3 选择合适的标识符 11
    2.2.4 常量与变量 11
    2.3 基本数据类型 12
    2.3.1 数据的内部表示 13
    2.3.2 字符型 14
    2.3.3 整型 16
    2.3.4 浮点类型和双精度类型 17
    2.3.5 字符串常量 18
    2.3.6 符号常量 19
    2.4 运算符与表达式 19
    2.4.1 表达式 20
    2.4.2 算术运算符及算术表达式 20
    2.4.3 关系运算符及关系运算表达式 21
    2.4.4 逻辑运算符及逻辑表达式 22
    2.4.5 赋值表达式 22
    2.4.6 逗号表达式 23
    2.4.7 表达式的运算顺序 23
    2.4.8 条件运算 23
    2.4.9 sizeof运算 24
    2.4.10 运算符优先级与结合性质 24
    2.5 数据类型转换 26
    2.5.1 隐式类型转换 26
    2.5.2 强制类型转换 27
    2.6 位运算 27
    2.7 数组和指针 29
    2.7.1 数组 29
    2.7.2 指针 30
    2.7.3 指针和数组的简单用法 32
    2.8 简单应用程序举例 34
    本章小结 36
    习题 36
    第3章 结构化程序设计 38
    3.1 顺序结构程序设计 38
    3.1.1 赋值语句 38
    3.1.2 数据输入 40
    3.1.3 数据输出 43
    3.2 选择结构程序设计 49
    3.2.1 条件语句(if) 49
    3.2.2 开关选择语句 54
    3.2.3 goto语句 57
    3.3 循环结构程序设计 58
    3.3.1 3种循环结构的流程表示及执行过程 58
    3.3.2 循环的嵌套结构 61
    3.3.3 循环程序举例 62
    3.3.4 循环辅助控制 69
    本章小结 72
    习题 72
    第4章 函数 74
    4.1 C语言程序的结构 74
    4.2 函数的定义和调用 74
    4.2.1 函数的定义 74
    4.2.2 函数的调用 75
    4.3 变量的存储类别和变量的使用范围 78
    4.3.1 变量的存储类别 78
    4.3.2 变量的作用范围 80
    4.4 函数间的传值 81
    4.5 函数的嵌套调用 84
    4.6 函数的递归调用 85
    4.6.1 递归函数及其执行特点 85
    4.6.2 实现递归调用的两种结构 86
    4.6.3 递归结构的函数用法举例 87
    4.7 函数的应用举例 89
    本章小结 91
    习题 91
    第5章 编译预处理 93
    5.1 宏定义 93
    5.1.1 不带参数的宏定义 93
    5.1.2 带参数的宏定义 95
    5.2 文件包含 96
    5.3 条件编译 98
    本章小结 100
    习题 100
    第6章 复合数据类型 101
    6.1 指针类型 101
    6.1.1 指针的声明 101
    6.1.2 指针的引用 102
    6.1.3 指针的运算 102
    6.2 数组类型 104
    6.2.1 一维数组的声明 104
    6.2.2 一维数组元素的引用与初始化 104
    6.2.3 数组作为函数的参数 105
    6.2.4 二维数组的声明与使用 107
    6.2.5 二维数组元素的引用与初始化 108
    6.2.6 指针与数组 109
    6.2.7 指针数组与数组指针 110
    6.3 字符串 113
    6.3.1 字符串常量与变量 113
    6.3.2 字符串数组 115
    6.3.3 有关字符串操作的系统库函数 116
    6.3.4 字符串的用法举例 118
    6.4 结构类型 120
    6.4.1 结构类型 120
    6.4.2 访问结构体成员 122
    6.4.3 结构指针和结构数组 124
    6.4.4 结构指针作为函数的参数 128
    6.4.5 结构体类型及结构指针的应用举例 129
    6.5 关于指针的另外几种用法 138
    6.5.1 指向函数的指针 138
    6.5.2 指针类型的函数 141
    6.5.3 指向指针的指针(二级指针) 142
    6.6 main()函数的参数 143
    6.7 联合、枚举和类型别名 147
    6.7.1 联合类型 147
    6.7.2 枚举类型 149
    6.7.3 类型别名 150
    本章小结 151
    习题 151
    第7章 文件及其操作 155
    7.1 C语言文件的概念 155
    7.1.1 ANSI C的I/O和UNIX C的I/O 155
    7.1.2 流和文件 156
    7.1.3 C语言文件 158
    7.2 文件系统的基础 158
    7.2.1 定义文件结构体类型的指针 159
    7.2.2 用于文件操作的函数 160
    7.3 建立文件的基本步骤 173
    7.4 读取文件的基本步骤 174
    7.5 非缓冲文件系统 175
    7.5.1 open()函数 176
    7.5.2 close()函数 176
    7.5.3 creat()函数 177
    7.5.4 read()和write()函数 177
    7.5.5 unlink()函数 178
    7.5.6 lseek()函数 179
    7.5.7 缓冲文件系统和非缓冲文件系统的区别 180
    本章小结 180
    习题 180
    第8章 基本应用综合举例 181
    8.1 数组元素的查找和排序 181
    8.1.1 排序及应用 181
    8.1.2 查找 186
    8.2 数值积分 188
    8.2.1 矩形法 188
    8.2.2 梯形法 189
    8.2.3 辛普生法 190
    8.3 非线性方程的求根 191
    8.3.1 牛顿迭代法 192
    8.3.2 二分法 193
    8.3.3 弦截法 194
    8.4 C语言动态数据结构及其用法 194
    8.4.1 动态存储分配 194
    8.4.2 线性动态数据结构及链表的应用 195
    8.4.3 非线性动态数据结构及二叉树的应用 200
    8.5 文件的应用 202
    8.5.1 用户数据文件的应用 203
    8.5.2 用户文本文件的应用 204
    本章小结 210
    习题 210
    第9章 C++概述 211
    9.1 从C到C++ 211
    9.2 C++程序开发过程 212
    9.3 C++编程环境介绍 213
    9.3.1 环境简介 213
    9.3.2 C++环境介绍 215
    9.3.3 C++编辑步骤 216
    9.3.4 Microsoft Visual C++的帮助 217
    9.3.5 Visual C++开发环境概述 217
    9.4 C++程序示例 218
    9.5 C++对函数功能的增强 220
    9.5.1 C++用函数组织程序 220
    9.5.2 C++程序是函数驱动的 220
    9.6 C++对数据类型的扩充 222
    9.6.1 基本数据类型和自定义数据类型 222
    9.6.2 从结构到类 223
    9.6.3 类与结构的区别 224
    9.7 C++对运算符的扩充 225
    9.7.1 基本运算符 225
    9.7.2 运算符重载 225
    9.7.3 运算符作成员函数 227
    9.7.4 转换运算符 230
    9.7.5 赋值运算符 232
    本章小结 234
    习题 235
    第10章 类与对象 236
    10.1 从结构体到类 236
    10.2 类的定义与对象的引用 237
    10.2.1 类的定义 237
    10.2.2 对象成员的访问 239
    10.2.3 类与对象的关系 244
    10.3 构造函数与析构函数 245
    10.3.1 构造函数 245
    10.3.2 析构函数 247
    10.3.3 调用构造函数和析构函数的时机(对象的生存周期) 249
    10.4 函数重载 250
    10.5 友元 251
    10.6 对象指针 255
    10.6.1 运算符new与delete 255
    10.6.2 动态地创建类对象 255
    10.7 派生类与继承类 261
    10.7.1 派生类及其定义 261
    10.7.2 单继承的派生类 261
    10.7.3 多继承的派生类 268
    10.8 虚拟函数与多态性 272
    10.8.1 虚拟函数使用方法 272
    10.8.2 虚拟函数与重载函数 273
    10.8.3 虚拟函数的继承 274
    本章小结 275
    习题 275
    第11章 C++上机预备知识 280
    11.1 简单的输入/输出 280
    11.2 Visual C++6.0的操作环境 282
    11.2.1 Visual C++ 6.0的工作窗口 283
    11.2.2 使用Visual C++ 6.0 284
    11.3 程序调试——Debug功能 286
    本章小结 297
    习题 297
    参考文献 299
  • 作者介绍

    主要著译者顺序姓名学历职称学科专长通讯地址1 王连相 博士教授计算机工作单位兰州理工大学 邮政编码 电话 2 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话
  • 编辑推荐

    本书全面介绍了C语言的基本概念、语法规则和程序设计的基本方法,数组与函数,指针类型的各种操作,复合数据类型及应用,文件操作和C++程序设计基础
  • 书评书荐

  • 附件下载

图书推荐