温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
C+宝典
by
李鹏程
C+
宝典
李鹏
C+宝典 李鹏程 等编著 内 容 简 介 C+是近年来广泛使用的程序设计语言,它在 C 语言的基础上发展而来,实现了由面向过程到面向对象的转变,全面支持面向对象的程序设计方法。本书分为 5 部分,分别是 C+基础、面向对象编程、标准模板库、底层开发和综合案例。前 4 部分循序渐进地讲解了 C+程序的组成及开发过程、程序中的数据、语句和表达式、程序流程控制、数组与字符串、指针与引用、函数、函数模板、错误与异常处理、宏与预编译、面向对象基础、类的封装、重载操作符和自定义转换、类的继承、多继承和虚拟继承、多态、类模板、文件流、使用标准模板库 STL、序列式容器、关联式容器、函数对象和算法、名称空间、位操作和在 C+中嵌入汇编等知识。最后一部分介绍了两个应用 C+的典型综合案例图书管理系统和学生管理系统。本书涉及面广,从基本知识到高级内容和核心概念,再到综合案例,几乎涉及了 C+开发的所有重要知识。本书适合所有想全面学习 C+开发技术的人员阅读,也适合各种使用 C+进行开发的工程技术人员使用。对于经常使用 C+进行项目开发的人员来说,本书是一本不可多得的案头必备参考书。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 C+宝典/李鹏程等编著.-北京:电子工业出版社,2010.5(宝典丛书)ISBN 978-7-121-10693-4 .C.李.C 语言程序设计.TP312 中国版本图书馆 CIP 数据核字(2010)第 065288 号 责任编辑:董 英 印 刷:装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:7871092 1/16 印张:39.75 字数:1119 千字 印 次:2010 年 5 月第 1 次印刷 定 价:79.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件到 。服务热线:(010)88258888。第 章 网络基础知识III 前 言 C+是近年来最流行、最广泛使用的程序设计语言之一。C+是在 C 语言的基础上发展而来的,并实现了由面向过程到面向对象的转变,全面支持面向对象的程序设计方法。C+语言在软件行业一直处于领先地位,在其他领域中也有着广泛的应用。同时,C+自身也在不断完善,其未来发展方向也很明确,那就是作为高性能软件开发的基础,在平台软件开发中发挥主要作用。笔者长期从事 C+的开发工作,十分了解初学者在学习过程中可能遇到的一些问题和困惑。本书的目的是让初学者对 C+语言有一个全面系统的认识。为了让读者能够理解 C+开发的核心思想,本书在讲解的时候尽量结合笔者的独特理解和感受,使读者能够举一反三。此外,通过学习本书中的实例,读者还能为学习其他高级语言打下基础。本书特色 1内容全面系统,具有参考价值 作为 C+的宝典书,本书介绍了 C+语言的基础知识、面向对象编程、标准模块库、底层开发等多方面的内容,内容涉及面广,从基本知识到高级内容和核心概念,再到综合案例,几乎涉及了C+开发的所有重要知识。2概念讲解形象贴切,适合初学者学习 本书针对 C+语言的特点,在讲解各种语言概念的时候,都给出了实际的开发例子,并尽量使 IV C+用图形化讲解,让初学者在第一次接触概念时就能够迅速掌握。3实例贴近实际,加深理解程度 本书在讲解知识点时,贯穿了大量有针对性的典型实例,并给出了对应的开发技巧,以便让读者更好地理解各种概念和方法,体验实际编程方法,加深理解程度。4综合实例讲解,提高应用水平 本书每章的结尾都讲解了针对本章内容的综合实例,介绍如何综合运用多种 C+知识。最后一部分还详细介绍了使用 C+开发数据库应用系统的全过程。通过这些综合实例,可以快速提高读者的 C+应用水平。本书所用示例代码可到 下载。本书内容及体系结构 第 1 部分 C+基础(第 1 章第 11 章)本部分主要包括 C+概述、C+程序的组成及开发过程、程序中的数据、语句和表达式、程序流程控制、数组与字符串、指针与引用、函数、函数模板、错误与异常处理、宏与预编译等内容。通过本部分的学习,读者可以掌握 C+开发的基础流程和 C+编程的基本语法知识。第 2 部分 面向对象编程(第 12 章第 19 章)本部分主要包括面向对象基础、类的封装、重载操作符和自定义转换、类的继承、多继承和虚拟继承、多态、类模板和文件流等内容。通过本部分的学习,读者可以掌握 C+面向对象编程的核心概念和常用方法。第 3 部分 标准模板库(第 20 章第 24 章)本部分主要包括使用标准模板库 STL、序列式容器、关联式容器、函数对象和算法、名称空间 第 章 网络基础知识V等内容。通过本部分的学习,读者可以掌握 C+中标准模板库 STL 的使用方法,以及与之相关的知识和方法。第 4 部分 底层开发(第 25 章和第 26 章)本部分主要包括位操作和在 C+中嵌入汇编等内容。通过本部分的学习,读者可以掌握 C+中关于底层开发的核心内容。第 5 部分 综合案例(第 27 章和第 28 章)本部分主要介绍两个完整的 C+应用系统的实现过程,即图书管理系统和学生管理系统。通过本部分的学习,读者可以学会如何全面应用前面章节所学的开发技术进行软件项目开发,达到可以独立开发项目的水平。本书读者对象 没有任何编程语言学习经验的 C+语言初学者。有志于成为 C+语言程序员的读者。非计算机专业需要学习 C+语言的读者。有程序语言基础或正在学习数据结构需要参考 C+语言的读者。本书作者 本书主要由李鹏程编写,其他参与编写的人员有张金霞、于锋、张伟、曾广平、刘海峰、刘涛、赵宝永、郑莲华、张涛、杨强、陈涛、罗渊文、李居英、郭永胜。在此对所有参与编写的人员表示感谢!由于笔者水平有限,书中可能还存在疏漏和错误,还望广大读者批评指正。目 录V 目 录 第 1 部分 C+基础 1 第 1 章 走进 C+2 1.1 初识 C+2 1.1.1 从 C 到 C+2 1.1.2 从面向过程到面向对象 3 1.1.3 认识类与对象 4 1.1.4 面向对象编程的特点 5 1.2 C+的应用现状 5 1.3 C+未来的发展 6 1.4 如何学习 C+6 1.5 小结 7 第 2 章 C+程序的组成及开发过程 8 2.1 一般开发过程 8 2.2 从简单程序开始 9 2.2.1 书写源代码 9 2.2.2 编译成目标文件 10 2.2.3 链接成可执行程序 10 2.2.4 运行程序 11 2.3 C+程序的组成 11 2.4 注释 13 2.4.1 注释的类型 13 2.4.2 使用注释的注意事项 13 2.5 标准 IO 对象 13 2.6 使用名称空间 14 2.7 编译器和编译过程 15 2.8 选择集成开发环境 17 2.9 Dev-C+简介 17 2.9.1 安装 18 2.9.2 建立工程 19 2.9.3 编译和运行 19 2.10 程序的调试 20 2.10.1 调试的基本过程 20 2.10.2 调试手段 21 VI C+2.10.3 调试实例 22 2.11 综合实例综合实例 26 2.12 小结 27 第 3 章 程序中的数据 28 3.1 常量和变量 28 3.1.1 什么是常量 28 3.1.2 什么是变量 29 3.1.3 定义变量 29 3.1.4 初始化变量 30 3.1.5 为变量赋值 32 3.2 数据类型 32 3.2.1 整型 33 3.2.2 特殊整型 33 3.2.3 无符号整型 34 3.2.4 浮点型 34 3.2.5 字符型 35 3.2.6 无符号字符型 37 3.2.7 转义字符 37 3.2.8 宽字符型 38 3.2.9 布尔型 38 3.3 变量与内存的关系 39 3.3.1 变量的地址 39 3.3.2 变量的字节长度 39 3.3.3 计算数据的字节长度 40 3.3.4 变量的取值范围 41 3.4 自定义数据类型 42 3.4.1 结构体 42 3.4.2 共用体 43 3.4.3 枚举体 44 3.5 用宏替换字面常量 44 3.6 用 const 定义常量 46 3.7 综合实例综合实例 46 3.7.1 计算圆的周长和面积计算圆的周长和面积 46 3.7.2 三角形的类型判断和面积计算三角形的类型判断和面积计算 47 3.8 小结 49 第 4 章 语句和表达式 50 4.1 语句和语句块 50 4.1.1 空格的作用 50 4.1.2 语句块的组织 51 4.1.3 语句块中的变量 51 4.2 什么是表达式 51 目 录VII4.3 运算符分类 52 4.3.1 算术运算符 52 4.3.2 算术运算的溢出 53 4.3.3 赋值运算符 53 4.3.4 自增和自减运算符 54 4.3.5 关系运算符 55 4.3.6 逻辑运算符 55 4.3.7 条件运算符 56 4.3.8 逗号运算符 56 4.3.9 位运算符 56 4.3.10 复合赋值运算符 58 4.4 运算符的优先级和结合性 58 4.5 类型转换 59 4.5.1 隐式类型转换 60 4.5.2 特殊的隐式转换 61 4.5.3 显式类型转换 61 4.6 综合实例综合实例 62 4.6.1 找出某个范围内的素数找出某个范围内的素数 62 4.6.2 求最大值求最大值 64 4.7 小结 64 第 5 章 程序流程控制 65 5.1 程序流程的描述 65 5.1.1 伪码 65 5.1.2 流程图 65 5.2 分支 67 5.2.1 if 语句 67 5.2.2 ifelse 语句 68 5.2.3 ifelse 语句的嵌套 70 5.2.4 switch 语句 73 5.3 循环 76 5.3.1 while 语句 76 5.3.2 dowhile 语句 78 5.3.3 for 语句 79 5.4 循环控制语句 81 5.4.1 break 语句 82 5.4.2 continue 语句 82 5.5 流程跳转语句 goto 82 5.6 小结 83 第 6 章 数组与字符串 84 6.1 什么是数组 84 6.2 定义数组 85 VIII C+6.3 初始化数组 86 6.4 操作数组 87 6.5 数组的缺点 89 6.6 二维数组 89 6.6.1 什么是二维数组 89 6.6.2 定义二维数组 90 6.6.3 二维数组的初始化 90 6.6.4 操作二维数组 92 6.6.5 二维数组的存储 93 6.7 字符串 94 6.7.1 什么是字符串 94 6.7.2 定义字符串 95 6.7.3 字符串的初始化 95 6.7.4 操作字符串 96 6.7.5 字符串的数组 97 6.8 字符串处理函数 98 6.8.1 字符串复制函数 strcpy 98 6.8.2 计算字符串长度函数 strlen 99 6.8.3 字符串连接函数 strcat 100 6.8.4 字符串比较函数 strcmp 101 6.9 综合实例综合实例 102 6.9.1 数组元素排序数组元素排序 102 6.9.2 输出杨辉三角输出杨辉三角 104 6.9.3 字符串处理函数的使用字符串处理函数的使用 106 6.10 小结 107 第 7 章 指针与引用 108 7.1 什么是指针 108 7.1.1 指针与内存的关系 108 7.1.2 定义指针变量 109 7.1.3 使用指针指向数据 110 7.1.4 获取被指数据 110 7.1.5 指针的运算 112 7.2 指针与数组 113 7.2.1 指向数组的指针 114 7.2.2 使用指针访问数组 114 7.2.3 指向字符串的指针 116 7.3 指针与动态内存分配 120 7.3.1 程序中内存的分配方式 120 7.3.2 在堆上分配内存 121 7.3.3 释放堆上的内存 12