热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力

C++程序设计简明教程

中国水利水电出版社
    【作 者】黄能耿 黄致远 胡丽丹 【I S B N 】978-7-5170-7961-3 【责任编辑】石永峰 【适用读者群】本专通用 【出版时间】2019-11-12 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】328 【千字数】501 【印 张】20.5 【定 价】48 【丛 书】高等职业教育“十三五”规划教材(软件技术专业) 【备注信息】
图书详情

    本书是“Jitor实训丛书”中的一本,以软件行业对编程人才的需求为导向,以培养应用型和创新型人才为目标,以Visual C++ 6.0为平台,重点讲解C++程序设计基础、数组、函数、指针、面向对象的程序设计等内容,最后以一个综合项目结束。本书面向初学者,以程序设计的基本主线为重点,深入讲解程序设计的内涵,并将软件企业中的开发流程、编码规范等职业素养有机地融入到教材中。

    本书的特点是提供了一个在线的Jitor校验器软件(下载地址为http://ngweb.org/),提供了160个Jitor实训项目和46个Jitor综合实训项目,读者可以在Jitor校验器的指导下一步步地完成实训任务,每完成一步都提交给Jitor校验器检查,并实时得到通过或失败的反馈信息,校验通过后才能进入下一步操作。Jitor校验器还会将成绩上传到服务器,让教师实时掌握学生的实训进展情况。此外,本书还针对C++的重点和难点提供了25个微课。

    本书既可作为高等职业院校的教材,也可作为应用型本科、中等职业院校、非学历培训机构的教材,还可供自学者使用。

    本书中的206个Jitor实训项目也可配合其他教材使用。

    实例:丰富典型,简明扼要,易于理解

    实训:通过Jitor校验器在线使用实时反馈结果

    微课:针对C++ 的重点和难点提供了微课

    综合实训:测试读者综合运用所学知识的能力

    综合项目:可以安排在单独的课程设计专用周中完成

    本书根据高等职业教育特点,结合作者多年教学改革和应用实践经验编写而成。全书遵循项目导向的理念,在内容上做到简而精,在要求上实现高而严。本书不求面面俱到,但重点和难点会详细讲解,并通过Jitor校验器指导读者反复练习,通过动手做让学习更轻松、理解更深刻、记忆更久远。

    本书的最大特点是采用了作者开发的Jitor实训平台(见表2)。

    表2 Jitor实训平台功能介绍

    Jitor实训平台是信息技术大类专业课程(C、C++、Java、Python、MySQL和SQL Server等)的实训教学平台,提供实训项目供教师选用。每门课程提供100~200个实训项目,对学生编写的代码和运行结果进行实时评价,实时监测全班学生的实训进展情况。

    Jitor实训平台下载地址为http://ngweb.org,包括Jitor校验器和Jitor管理器的入口地址。

    教师容易使用,一步一步地教

    根据教学进度,在Jitor管理器中选择合适的Jitor实训项目发布给学生,要求学生在指定的时间内完成。可以安排在实训课的上课时间,也可以安排在课前课后时间里完成,教师可以实时掌握每位学生每个步骤的成功或失败情况。

    实训项目的每个步骤都有实训指导内容,详细描述了该步骤的要求。教师只要布置好实训,Jitor校验器就会自动地一步一步教学生如何去完成,并检查完成的效果。 学生乐于学习,一关一关地学

    每个实训项目由若干步骤组成,就像通关游戏一样,每个步骤如同关卡,每通过一个关卡就能得到一定的分数,如果通关失败,则倒扣1分。只要通过所有关卡,就能得到及格以上分数,如果想得高分,就要尽量避免失败。

    学生按照每一关卡的要求进行编程操作,完成后提交给Jitor校验器检查,成功通关并得到分数后才能进入下一个关卡。学生只需跟着一关一关地学,就能学到编程技能。

    本书每个章节都有代码实例,提供了206个在线Jitor实训项目,供读者选择使用;最后一章是“综合项目”,综合运用本书知识完成一个学生成绩管理系统的开发。

    本书特点如下:

    (1)实例:本书包含大量实例,实例简明扼要、容易理解。

    (2)实训:所有实例都有配套的实训,通过Jitor校验器在线使用,实时反馈结果。

    (3)综合实训:每章结尾都有一些综合实训,测试读者综合运用所学知识的能力。

    (4)综合项目:最后一章是一个综合性项目,可以安排在单独的课程设计专用周中完成。

    (5)微课:针对C++的重点和难点提供了25个微课。

    本书遵循高职学生的认知和技能形成规律,使用通俗易懂的语言,配合数量众多的实例,由易到难、由浅入深、循序渐进地介绍各个知识点,通过大量的Jitor实训项目进行验证和巩固,并通过每章结尾的综合实训进行综合练习。在最后一章的综合项目中进行全面综合运用,将知识融于形象的案例中,提高学习的兴趣和效果。

    本书面向初学者,起点低、无门槛,不需要任何编程基础知识,高中生就能学习。读者学完本书后,可以阅读更多的C++书籍,进一步提高编程水平。

    本书第1章至第8章以C语言程序设计为主(仅有输入/输出和内存分配采用C++语言),因此本书也可用作C语言程序设计课程的教材;第9章至第13章为面向对象程序设计部分,全面讲解了面向对象程序设计的三大特征:封装性、继承性和多态性。教师可以根据学生情况和教学安排(通常分为两个学期)来组织教学内容(见表3),如果课时不够可以跳过某些内容。

    表3 课时安排建议

    章 课时 章 课时

    第1章 C++概述 4 第8章 枚举和结构体 8

    第2章 C++语言基础 8 第9章 类和对象—封装性 12

    第3章 程序结构和流程控制 12 第10章 父类和子类—继承性 8

    第4章 数组 10 第11章 重载和覆盖—多态性 8

    第5章 函数 12 第12章 文件操作 4

    第6章 编译预处理 4 第13章 综合项目(课程设计) 专用周

    第7章 指针与引用 12 合计 102

    本书提供的课件、软件等相关资源可以从本书主页http://ngweb.org/下载。

    本书由无锡职业技术学院的黄能耿和胡丽丹、无锡赛博盈科科技有限公司的黄致远共同编写,由无锡职业技术学院的刘德强副教授主审。其中黄致远和胡丽丹各执笔100千字,Jitor实训平台由黄能耿研发,Jitor实训项目由黄致远制作,全书由黄能耿统稿。在本书编写过程中编者得到单位领导和同事的大力支持和帮助,在此表示衷心感谢。

    由于编者水平有限,加之时间仓促,书中不足甚至错误之处在所难免,恳请读者批评指正。

    编者

    2019年7月

    第1章 C++概述 1
    1.1 为什么学C++ 1
    1.2 安装VC++ 6.0开发软件 1
    1.3 体验C++ 2
    1.3.1 体验C++程序和Jitor校验器 2
    1.3.2 Jitor校验器的使用 7
    1.3.3 C++的输入和输出 10
    1.3.4 C++程序的结构 12
    1.3.5 C++程序的开发过程 15
    1.3.6 C++工作空间和项目 15
    1.4 常见问题 16
    1.4.1 VC++ 6.0的安装 16
    1.4.2 VC++ 6.0的使用 16
    1.4.3 VC++ 6.0的项目和文件 17
    1.4.4 编程时遇到的问题 18
    1.5 常用资源 19
    1.6 综合实训 19
    第2章 C++语言基础 20
    2.1 C++的基本要素 20
    2.1.1 关键字 20
    2.1.2 标识符 20
    2.1.3 分隔符 20
    2.1.4 代码注释 21
    2.2 数据类型 21
    2.3 变量和常量 22
    2.3.1 变量 22
    2.3.2 字面常量 24
    2.3.3 const常量 26
    2.3.4 中文字符 26
    2.3.5 程序调试:变量的查看 27
    2.4 运算符和表达式 28
    2.4.1 表达式与算术运算符、赋值运算符 28
    2.4.2 自增、自减运算符 29
    2.4.3 关系运算符和关系表达式 30
    2.4.4 逻辑运算符和逻辑表达式 30
    2.4.5 逻辑运算和关系运算的应用 31
    2.4.6 位运算符和位运算表达式 32
    2.4.7 复合赋值运算符 33
    2.4.8 数据类型转换 33
    2.4.9 运算符的优先级 35
    2.5 简单的输入输出 36
    2.5.1 数据输出 36
    2.5.2 数据输入 37
    2.5.3 数据格式控制 38
    2.6 综合实训 40
    第3章 程序结构和流程控制 41
    3.1 基本结构和语句 41
    3.1.1 程序的三种基本结构 41
    3.1.2 C++程序的指令和语句 41
    3.2 分支语句 42
    3.2.1 if语句 42
    3.2.2 if语句的嵌套 45
    3.2.3 条件运算符和条件表达式 47
    3.2.4 switch语句 48
    3.2.5 实例详解(一):求给定年份和
    月份的天数 52
    3.2.6 代码命名和排版规范 54
    3.3 循环语句 55
    3.3.1 while循环语句 55
    3.3.2 do…while循环语句 56
    3.3.3 程序调试:循环的跟踪调试 57
    3.3.4 for循环语句 58
    3.3.5 循环语句的几种变化 59
    3.3.6 循环语句的嵌套 60
    3.3.7 实例详解(二):求π的近似值 61
    3.3.8 实例详解(三):斐波那契数列 62
    3.4 控制语句 62
    3.4.1 break语句 62
    3.4.2 continue语句 63
    3.4.3 语句标号和goto语句 64
    3.4.4 exit()和abort()函数 65
    3.4.5 实例详解(四):求自然对数的底
    e的近似值 66
    3.4.6 实例详解(五):输出素数表 66
    3.4.7 实例详解(六):百钱买百鸡问题 68
    3.5 综合实训 69
    第4章 数组 71
    4.1 一维数组 71
    4.1.1 一维数组的定义和使用 72
    4.1.2 一维数组的最大值、最小值和
    平均值 73
    4.1.3 一维数组逆序交换 74
    4.1.4 程序调试:一维数组的跟踪调试 75
    4.1.5 实例详解(一):冒泡排序法 75
    4.1.6 实例详解(二):选择排序法 77
    4.1.7 实例详解(三):擂台排序法 78
    4.2 二维数组 80
    4.2.1 二维数组的定义和使用 81
    4.2.2 二维数组的平均值 82
    4.2.3 实例详解(四):二维数组(矩阵)
    的转置 83
    4.3 字符数组 84
    4.3.1 字符数组和字符串 84
    4.3.2 字符串处理函数 87
    4.4 综合实训 88
    第5章 函数 90
    5.1 函数概述 90
    5.1.1 使用C/C++库函数 90
    5.1.2 使用自定义函数 91
    5.1.3 函数返回值 93
    5.1.4 无返回值的函数 94
    5.1.5 main函数的形式 96
    5.1.6 函数原型说明 96
    5.1.7 程序调试:函数的跟踪调试 98
    5.2 函数调用 99
    5.2.1 传值调用—实参与形参的关系 99
    5.2.2 嵌套调用—杨辉三角 100
    5.2.3 递归调用—阶乘 102
    5.3 函数参数与数组 103
    5.3.1 数组元素作为函数参数 103
    5.3.2 一维数组作为函数参数 104
    5.3.3 二维数组作为函数参数 106
    5.4 变量的存储类型 108
    5.4.1 函数与源代码文件 108
    5.4.2 作用域 110
    5.4.3 动态变量与静态变量 113
    5.4.4 局部变量与全局变量 114
    5.4.5 外部变量 116
    5.4.6 全局变量与全局静态变量 117
    5.4.7 声明和定义的区别 118
    5.4.8 寄存器变量 119
    5.5 内联函数 119
    5.6 参数默认值 120
    5.7 函数重载 121
    5.8 综合实训 122
    第6章 编译预处理 123
    6.1 宏定义指令 123
    6.1.1 不带参数的宏定义 123
    6.1.2 带参数的宏定义 125
    6.2 文件包含指令 126
    6.2.1 包含系统头文件 126
    6.2.2 包含自定义头文件 127
    6.2.3 嵌套的文件包含 128
    6.3 条件编译指令 128
    6.3.1 条件编译 128
    6.3.2 条件编译与文件包含 129
    6.3.3 实例详解:文件包含与条件编译 130
    6.4 综合实训 132
    第7章 指针与引用 133
    7.1 指针变量 133
    7.1.1 指针变量与普通变量 134
    7.1.2 指针变量与一维数组 136
    7.1.3 指针变量的运算 138
    7.1.4 指针指向的值的运算 138
    7.1.5 指针运算的优先级 139
    7.1.6 程序调试:变量、指针与内存 141
    7.2 指针与数组 143
    7.2.1 一维数组与指针 143
    7.2.2 二维数组与指针 145
    7.2.3 字符数组与字符指针 147
    7.3 指针与函数参数 149
    7.3.1 传指针调用—指针变量作为
    函数参数 149
    7.3.2 一维数组与指针作为函数参数 151
    7.3.3 字符串复制函数 152
    7.4 指针数组与数组指针 153
    7.4.1 指针数组—每个元素都是指针 153
    7.4.2 数组指针—指向数组的指针 155
    7.5 指针函数与函数指针 158
    7.5.1 指针函数—返回指针值的函数 158
    7.5.2 函数指针—保存函数地址的指针 159
    7.5.3 实例详解(一):通用求定积分
    函数 162
    7.6 动态内存分配 164
    7.6.1 new和delete运算符 164
    7.6.2 实例详解(二):一维数组的
    动态管理 166
    7.6.3 实例详解(三):二维数组的
    动态管理 168
    7.7 引用类型变量和const的指针 169
    7.7.1 引用类型变量 169
    7.7.2 传引用调用—引用变量作为
    函数参数 170
    7.7.3 const的指针 172
    7.8 综合实训 173
    第8章 枚举和结构体 174
    8.1 枚举类型 174
    8.1.1 枚举类型的使用 174
    8.1.2 枚举变量的类型转换、输出和输入 176
    8.2 结构体类型 177
    8.2.1 结构体类型的使用 177
    8.2.2 结构体变量的输入和输出 180
    8.2.3 结构体指针 182
    8.2.4 结构体作为函数参数 184
    8.2.5 结构体的典型应用—链表 187
    8.2.6 链表的基本操作 187
    8.2.7 程序调试:内存中的链表 190
    8.2.8 清空链表 191
    8.2.9 查找节点 192
    8.2.10 删除节点 192
    8.2.11 按序插入节点 193
    8.3 综合实训 195
    第9章 类和对象—封装性 196
    9.1 类与对象 196
    9.1.1 类与对象的使用 196
    9.1.2 程序调试:内存中的对象和
    对象数组 199
    9.1.3 类和封装性 200
    9.1.4 对象的输入和输出 201
    9.1.5 对象指针 203
    9.1.6 对象作为函数参数 206
    9.1.7 对象作为类的成员变量 209
    9.1.8 引用性说明和定义性说明 210
    9.2 访问控制 213
    9.2.1 访问控制修饰符 213
    9.2.2 友元函数和友元类 215
    9.3 构造函数 217
    9.3.1 构造函数的使用 217
    9.3.2 用构造函数建立一个对象的拷贝 221
    9.3.3 new运算符和构造函数 222
    9.4 析构函数 224
    9.4.1 析构函数的使用 224
    9.4.2 delete运算符和析构函数 226
    9.5 构造函数和成员对象 227
    9.5.1 调用成员对象的构造函数 227
    9.5.2 多个成员对象的构造函数 229
    9.6 静态成员变量 232
    9.7 this指针 234
    9.8 综合实训 234
    第10章 父类和子类—继承性 236
    10.1 类的继承 236
    10.1.1 父类与子类 236
    10.1.2 程序调试:内存中的父类对象和
    子类对象 239
    10.1.3 访问控制 240
    10.1.4 继承方式 241
    10.1.5 单继承与多重继承 242
    10.1.6 构造函数的调用次序 244
    10.2 命名冲突和支配规则 245
    10.2.1 多重继承时的命名冲突—
    域运算符 245
    10.2.2 父类与子类的命名问题—
    支配规则 246
    10.3 对象的赋值兼容规则 248
    10.4 虚基类(虚继承) 249
    10.5 综合实训 253
    第11章 重载和覆盖—多态性 255
    11.1 静态的多态 255
    11.1.1 函数重载 255
    11.1.2 运算符重载 255
    11.1.3 二元运算符重载(普通函数版) 256
    11.1.4 二元运算符重载(成员函数版) 260
    11.1.5 二元运算符重载(友元函数版) 261
    11.1.6 一元运算符重载 263
    11.1.7 字符串类运算符重载 266
    11.2 动态的多态 268
    11.2.1 虚函数 268
    11.2.2 程序调试:内存中的虚函数 272
    11.2.3 纯虚函数和抽象类 274
    11.3 综合实训 275
    第12章 文件操作 276
    12.1 输入输出流 276
    12.2 文件读写操作 277
    12.2.1 文件读写概述 277
    12.2.2 读写和复制文本文件 278
    12.2.3 读写文本文件(二维数组) 280
    12.2.4 读写文本文件(对象数组) 282
    12.2.5 复制二进制文件 285
    12.2.6 插入“<<”和提取“>>”运算符
    的重载 286
    12.3 综合实训 287
    第13章 综合项目 289
    13.1 学生管理系统 289
    13.1.1 需求分析 289
    13.1.2 技术选型和功能设计 289
    13.1.3 类结构设计 290
    13.1.4 程序结构设计 291
    13.1.5 项目实现 292
    13.1.6 项目完整源代码 292
    13.1.7 开发过程总结 307
    13.2 自定义管理系统 308
    参考文献 309
    附录A ASCII码表 310
    附录B C++关键字 311
    附录C C++运算符与优先级 312
    附录D C++常用库函数 313
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册