教育>本科研究生>计算机类
C/C++程序设计教程(第4版)

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

作者:孙淑霞,肖阳春,魏琴
ISBN:9787121221286
定价:¥39.8
字数:456千字
页数:260
出版时间:2014-01
开本:16(185*260)
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书为普通高等教育“十一五”国家级规划教材、国家精品课程教材,由12章组成。其主要内容包括:C/C++语言程序设计概述,C语言程序设计基础(包括:基本数据类型、基本输入与输出函数以及运算符和表达式),控制结构,数组,指针,函数,编译预处理与变量的存储类型,文件,结构体与共用体,图形程序设计基础,C++语言程序设计基础,查找与排序。每章后附学习指导和一定量的编程练习题。全书内容安排紧凑,简明扼要,由浅入深,实用性强。 本书的辅教材《C/C++程序设计实验指导与测试(第4版)》中提供了其他形式的测试题及解答,作为主教材习题的补充,将为学生编程能力的提高和课后自学提供更好的帮助。 本书可作为大专院校非计算机专业本科生、研究生的相关课程的教学用书,也可作为计算机专业学生学习C/C++程序设计的教材,同时还可供自学者参考。

前言

第4版前言 C语言是应用很广泛的一种语言,它的结构简单、数据类型丰富、表达能力强、使用灵活方便。C语言既有高级语言的优点,又具有低级语言的许多特点。用C语言编写的程序,具有速度快、效率高、代码紧凑、可移植性好的优点。利用C语言,可编制各种系统软件(例如著名的UNIX操作系统就是用C语言编写的)和应用软件。 C++语言是一种混合语言,既有面向过程的知识,又有面向对象的理论。经过几年的教学实践,我们认为把面向过程的程序设计作为切入点,由面向过程到面向对象,由浅入深,循序渐进的教学方式比较容易被学生所接受。因此,本书在第10章介绍C++语言程序设计的基础知识。 本书为普通高等教育“十一五”国家级规划教材、国家级精品课程教材,由10章组成,每章的基本内容如下: 第1章 C/C++语言程序设计概述,介绍C/C++程序的基本结构。 第2章 C语言程序设计基础,介绍C语言的基本数据类型。 第3章 控制结构,介绍C程序的3种控制结构。 第4章 数组,介绍一维数组和二维数组的定义和使用。 第5章 指针,重点介绍指针变量、指针数组、指向指针的指针等的定义和使用。 第6章 函数,讲解函数的定义、函数的调用,函数参数的传递。 第7章 文件,介绍文件操作的方法,数据文件的读和写。 第8章 结构体与共用体,介绍结构体与共用体的使用,以及它们对内存的占用情况。 第9章 图形程序设计基础,介绍编写图形程序的基本步骤,基本图形函数。 第10章 C++程序设计基础,介绍C++语言对C语言的扩充,以及面向对象的程序设计基础。 本教材在编写中努力做到概念清楚、实用性强、通俗易懂。在编写中引入了大量的实例来说明相关的知识点,力求让读者尽快上手编写简单程序,激发学习兴趣。 本书在组织编写上有以下特点: (1)在内容的组织上考虑了C语言的特点。例如,在讲解数组后,紧接着就进行指针的讲解,使读者很容易将数组与指针联系起来,更好地理解指针。 (2)文件是学生学习的一大难点。本书将文件的使用提前讲解,使读者尽早接触文件,掌握文件的基本操作,给大批量数据的处理带来方便。同时可以较好地解决学生在学习C语言时不能熟练地掌握文件的使用方法,而给学习C语言留下一大遗憾的问题。 (3)全书坚持把面向过程的程序设计作为切入点,由面向过程到面向对象,由浅入深,循序渐进,使其教学内容更容易被学生接受。把C语言和C++语言的内容分开,是为了教师更容易选择章节进行教学。 (4)每章后面都有“本章学习指导”,共由如下三部分组成。 ① 课前思考:课前预习是必要的,课前思考中的问题可用于教师或学生检查其预习效果。 ② 本章难点:总结归纳了本章学习中的难点,以便学生了解并攻克难点。 ③ 本章编程中容易出现的错误:C语言程序中的错误有语法错误和算法错误,这里总结了一些初学者常犯的错误,以便帮助初学者避免不必要的错误。 (5)本书提供了习题中的全部参考答案。所有程序均在Turbo C/Visual C++ 6.0环境下调试通过。由于篇幅有限,书中程序只给出了一种参考代码,读者在学习过程中可以举一反三。 (6)本书作为国家精品课程的配套教材,在精品课程网站上全开放地提供了大量资源、授课视频等。 《C/C++程序设计实验指导与测试(第3版)》(ISBN 978-7-121-22166-8)是本书的配套教材,读者可以在学习过程中通过完成该配套教材中相应的习题和上机编程的练习加深对所学知识的理解,达到真正掌握C/C++程序设计的目的。 要想学好程序设计课程,需要教师和学生的共同努力。对于学习者来说,需要多动手,多实践,多思考。一分耕耘,一分收获,坚持耕耘定会得到意想不到的收获。 本书第1、4、5~8章由孙淑霞编写,第2、3章由肖阳春编写,第9、10章由魏琴编写。全书由孙淑霞统稿。李思明、鲁红英、安红岩、刘祖明、雷珍、刘焕君参加了本精品课程的建设和本书编写过程中的部分工作。 由于作者水平有限,书中难免有错误之处,请读者批评指正。 最后要感谢为本书提出宝贵意见的老师和读者,特别要感谢电子工业出版社在本书出版过程中给予的大力支持。 本书作为国家级精品课程《C/C++程序设计》使用的教材,进行了配套的资源建设。如果需要课件、例题源程序等,可以从精品课程网站http://www.cne.cdut.edu.cn/zy/cjpkc/index.asp或者http://www.hxedu.com.cn直接下载,也可以直接与我们联系(E_mail:ssx@cdut.edu.cn)。 作 者

目录

目 录 第1章 C/C++语言程序设计概述 1 1.1 引言 1 1.2 C/C++语言的特点 1 1.3 程序与程序设计 2 1.4 算法及其表示方法 3 1.4.1 算法的特性与要求 3 1.4.2 算法描述 4 1.5 简单C程序的基本结构 6 1.5.1 两个简单程序实例 6 1.5.2 C/C++程序的基本构成 7 1.6 C程序的调试 10 本章学习指导 11 习题1 12 第2章 C语言程序设计基础 13 2.1 问题的提出 13 2.2 常量 13 2.3 变量 16 2.4 运算符和表达式 17 2.4.1 运算符和表达式概述 17 2.4.2 算术运算符和算术表达式 18 2.4.3 关系运算符和关系表达式 19 2.4.4 逻辑运算符和逻辑表达式 20 2.4.5 赋值运算符和赋值表达式 22 2.4.6 自增、自减运算符及其表达式 24 2.4.7 逗号运算符和逗号表达式 24 2.4.8 位运算符 25 2.4.9 其他运算符 27 2.5 基本输入输出函数 29 2.5.1 格式输入函数scanf() 29 2.5.2 格式输出函数printf() 31 2.5.3 字符输入函数getchar() 33 2.5.4 字符输出函数putchar() 34 本章学习指导 34 习题2 35 第3章 控制结构 36 3.1 问题的提出 36 3.2 C语句和程序结构 36 3.2.1 C语句概述 36 3.2.2 C程序基本结构 37 3.3 条件选择结构 38 3.3.1 if选择结构 38 3.3.2 if-else选择结构 38 3.3.3 if-else的嵌套结构 39 3.4 多分支选择结构 41 3.5 循环控制结构 43 3.5.1 while语句 43 3.5.2 do-while语句 45 3.5.3 for语句 45 3.5.4 循环语句的嵌套 47 3.6 转向语句 47 3.6.1 break语句 48 3.6.2 continue语句 48 3.6.3 goto语句 49 本章学习指导 49 习题3 52 第4章 数组 53 4.1 问题的提出 53 4.2 一维数组 53 4.2.1 一维数组的定义 54 4.2.2 一维数组的初始化 55 4.2.3 一维数组元素的引用 56 4.2.4 一维数组的应用 56 4.3 二维数组 59 4.3.1 二维数组的引入 59 4.3.2 二维数组的定义 59 4.3.3 二维数组的初始化 60 4.3.4 二维数组的应用 61 4.4 字符数组 64 4.4.1 字符串与一维字符数组 64 4.4.2 二维字符数组 65 4.4.3 字符数组的输入和输出 66 4.4.4 字符串处理函数 67 本章学习指导 73 习题4 75 第5章 指针 77 5.1 问题的提出 77 5.2 指针和地址 77 5.3 指针变量的定义和引用 78 5.3.1 指针变量的定义和初始化 78 5.3.2 指针变量的引用 80 5.4 指针变量的运算 81 5.4.1 指针变量的赋值运算 82 5.4.2 指针的移动 82 5.4.3 两个指针变量相减 83 5.4.4 两个指针变量的比较 83 5.5 指针与数组 84 5.5.1 指向一维数组的指针变量 84 5.5.2 二维数组与指针变量 86 5.5.3 通过行指针变量引用二维数组元素 87 5.6 指针与字符串 89 5.7 二级指针与指针数组 92 5.7.1 二级指针 92 5.7.2 指针数组 94 5.8 用于动态内存分配的函数 97 本章学习指导 99 习题5 100 第6章 函数 102 6.1 问题的提出 102 6.2 函数及其分类 102 6.3 函数的定义 104 6.4 函数原型 106 6.5 函数调用 106 6.5.1 函数调用的一般形式 107 6.5.2 传值调用 107 6.5.3 传址调用 109 6.5.4 指向函数的指针 113 6.5.5 返回指针的函数 115 6.6 函数的嵌套调用和递归调用 116 6.6.1 函数的嵌套调用 116 6.6.2 函数的递归调用 117 6.7 命令行参数 121 6.8 变量的作用域和存储类型 122 本章学习指导 124 习题6 127 第7章 文件 128 7.1 问题的提出 128 7.2 文件的基本概念 128 7.3 文件的打开与关闭 130 7.4 文件的读/写 132 7.4.1 按字符方式读/写文件 132 7.4.2 按行方式读/写文件 135 7.4.3 按格式读/写文件 136 7.4.4 按块读/写文件 137 7.5 文件的定位与测试 138 7.5.1 文件的顺序存取与随机存取 139 7.5.2 检测文件结束函数feof() 139 7.5.3 反绕函数rewind() 139 7.5.4 移动文件位置指针函数fseek() 140 7.5.5 测定文件位置指针当前指向的函数ftell() 140 本章学习指导 142 习题7 143 第8章 结构体与共用体 145 8.1 问题的提出 145 8.2 结构类型 146 8.2.1 结构类型的定义 146 8.2.2 结构变量的定义 147 8.2.3 结构成员的引用 149 8.2.4 结构变量的初始化 150 8.3 结构数组 151 8.3.1 结构数组的定义和初始化 151 8.3.2 结构数组元素的引用 151 8.4 结构指针变量 155 8.4.1 结构指针变量的定义与初始化 155 8.4.2 指向结构变量的指针变量 155 8.4.3 指向结构数组的指针变量 156 8.5 结构体与函数 156 8.5.1 结构变量作为函数的参数 156 8.5.2 结构变量的地址作为函数的参数 158 8.5.3 结构数组作为函数的参数 160 8.6 共用体 162 8.6.1 共用体的定义和引用 163 8.6.2 共用体与结构体的嵌套使用 164 8.7 枚举 164 8.8 用typedef定义类型 165 8.9 链表 168 8.9.1 单向链表 168 8.9.2 链表的建立 169 8.9.3 链表的插入和删除 171 本章学习指导 177 习题8 179 第9章 图形程序设计基础 181 9.1 问题的提出 181 9.2 图形适配器的基本工作方式 181 9.3 常用图形函数 182 9.4 图形程序举例 187 本章学习指导 188 习题9 189 第10章 C++程序设计基础 191 10.1 引言 191 10.2 C++程序结构 191 10.3 C++语言的输入/输出流 192 10.4 引用 194 10.5 函数的重载 195 10.6 带默认参数的函数 197 10.7 C++新增运算符 198 10.8 const修饰符 199 10.9 类和对象 200 10.9.1 类和对象的定义 200 10.9.2 构造函数和析构函数 205 10.9.3 类的友元 210 10.9.4 this指针 212 10.10 重载 213 10.10.1 类成员函数重载 213 10.10.2 类构造函数重载 214 10.10.3 运算符重载 215 10.11 继承 218 10.11.1 基类与派生类 218 10.11.2 public继承 220 10.11.3 private继承 223 10.11.4 protected继承 224 10.11.5 多继承 225 10.11.6 派生类的构造函数和析构函数 227 10.12 多态性和虚拟函数 233 10.12.1 多态性 233 10.12.2 虚拟函数 234 10.12.3 虚拟析构函数 242 本章学习指导 242 习题10 242 附录A 常用字符与代码对照表 244 附录B C语言中的关键字 246 附录C 运算符的优先级与结合性 247 参考文献 249

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个