C/C++程序设计/张志强
全新正版 假一赔十 可开发票
¥
53.47
7.7折
¥
69
全新
库存4件
作者张志强、周克兰、郑红兴
出版社清华大学出版社
ISBN9787302524359
出版时间2019-04
装帧平装
开本其他
定价69元
货号1201859050
上书时间2024-09-22
商品详情
- 品相描述:全新
- 商品描述
-
目录
章 C语言导论1
1.1 C语言概述1
1.1.1 C语言的功能1
1.1.2 C语言的起源2
1.1.3 C语言的学习阶段与学习方法3
1.2 个C语言程序4
1.2.1 程序代码4
1.2.2 空白和注释5
1.2.3 预处理指令5
1.2.4 main函数6
1.2.5 程序输出6
1.3 C语言程序的运行7
1.3.1 程序的编译7
1.3.2 程序的运行和调试8
1.4 习题9
1.5 阅读材料——UNIX和C的故事*10
第2章 数据14
2.1 基本数据类型14
2.1.1 整型数据14
2.1.2 浮点型数据17
2.1.3 指针型数据17
2.2 常量18
2.2.1 字面常量18
2.2.2 符号常量22
2.3 变量24
2.3.1 标识符24
2.3.2 变量的定义25
2.3.3 变量的初始化26
2.3.4 变量的使用27
2.4 输出与输入28
2.4.1 基本输出28
2.4.2 基本输入32
2.5 习题34
2.6 阅读材料——二进制与计算机*36
2.6.1 二进制起源36
2.6.2 计算机与二进制36
2.6.3 进制转换37
2.6.4 计算机中的补码38
第3章 运算与表达式40
3.1 算术运算40
3.1.1 基本算术运算符40
3.1.2 优先级与结合性42
3.1.3 数据类型转换43
3.1.4 自增、自减运算45
3.2 关系运算46
3.3 逻辑运算46
3.4 位运算48
3.4.1 按位逻辑运算48
3.4.2 移位运算*50
3.4.3 程序例子52
3.5 指针运算52
3.5.1 取地址运算52
3.5.2 操作指针变量55
3.5.3 移动指针57
3.5.4 比较指针58
3.6 其他运算58
3.6.1 sizeof运算58
3.6.2 逗号运算60
3.6.3 条件运算60
3.7 赋值运算61
3.7.1 赋值运算符和赋值表达式61
3.7.2 复合赋值运算62
3.8 习题63
第4章 程序控制结构66
4.1 程序语句66
4.2 顺序结构67
4.3 选择结构69
4.3.1 if语句69
4.3.2 if嵌套72
4.3.3 switch语句78
4.4 循环结构83
4.4.1 while循环83
4.4.2 do-while循环86
4.4.3 for循环89
4.4.4 其他控制语句90
4.4.5 循环控制嵌套92
4.5 习题96
第5章 数组98
5.1 一维数组98
5.1.1 一维数组的定义98
5.1.2 一维数组元素的引用100
5.1.3 一维数组的初始化102
5.1.4 程序举例104
5.2 多维数组105
5.2.1 多维数组的定义106
5.2.2 多维数组元素的引用109
5.2.3 多维数组的初始化112
5.2.4 程序举例113
5.3 字符数组与字符串115
5.3.1 字符数组与字符串的关系115
5.3.2 字符串的输入输出116
5.3.3 字符串处理函数119
5.3.4 程序举例122
5.4 指针数组*126
5.4.1 指针数组的定义与应用126
5.4.2 指向指针的指针130
5.5 习题132
5.6 阅读材料——字符集、字符编码、C语言宽字符间的关系*132
第6章 其他数据类型137
6.1 结构体类型的定义137
6.2 结构体类型变量138
6.2.1 结构体变量的定义138
6.2.2 结构体变量的引用140
6.2.3 结构体变量的初始化144
6.3 结构体类型数组145
6.3.1 结构体数组的定义145
6.3.2 结构体数组的初始化146
6.3.3 结构体数组的引用147
6.4 位段类型*149
6.4.1 位段成员的定义150
6.4.2 位段成员的使用151
6.5 共用体类型*154
6.5.1 共用体类型的定义154
6.5.2 共用体变量的定义155
6.5.3 共用体变量的引用157
6.5.4 共用体变量的初始化160
6.5.5 共用体变量的应用161
6.6 枚举类型163
6.6.1 枚举类型的定义163
6.6.2 枚举类型变量的定义与引用164
6.7 typedef自定义类型166
6.7.1 typedef定义类型166
6.7.2 typedef应用举例*167
6.8 习题169
第7章 函数171
7.1 函数的定义和调用171
7.1.1 函数概述171
7.1.2 函数的定义172
7.1.3 函数的调用172
7.2 函数的返回值、参数及函数声明173
7.2.1 函数的返回值173
7.2.2 函数的参数177
7.2.3 函数的声明180
7.3 函数的嵌套和递归调用182
7.3.1 函数的嵌套调用182
7.3.2 函数的递归调用185
7.4 函数与指针189
7.4.1 指针变量作为函数参数189
7.4.2 数组与函数192
7.4.3 返回指针值的函数195
7.4.4 指向函数的指针*196
7.5 作用域199
7.5.1 局部作用域199
7.5.2 全局作用域202
7.5.3 多文件下的全局作用域204
7.6 变量的存储类别208
7.6.1 动态存储方式208
7.6.2 静态存储方式211
7.7 习题212
第8章 内存的使用214
8.1 动态使用内存214
8.1.1 分配内存214
8.1.2 释放内存215
8.1.3 应用举例215
8.2 链表219
8.2.1 链表概述219
8.2.2 创建链表223
8.2.3 释放链表233
8.2.4 链表操作*236
8.3 习 题239
第9章 文件240
9.1 文件概述240
9.1.1 数据文件240
9.1.2 文件的读写240
9.1.3 文件指针241
9.1.4 文件操作的步骤241
9.2 文件的打开与关闭241
9.2.1 打开文件241
9.2.2 关闭文件243
9.3 文件的读写243
9.3.1 字符读写文件244
9.3.2 字符串读写246
9.3.3 格式化读写文件248
9.3.4 非格式化读写文件250
9.4 文件的随机读写*251
9.4.1 文件定位251
9.4.2 应用举例252
9.5 习题254
0章 编译预处理255
10.1 宏定义255
10.1.1 无参宏定义255
10.1.2 带参宏定义257
10.2 文件包含260
10.3 条件编译*261
10.3.1 条件编译的形式261
10.3.2 条件编译与多文件组织263
10.4 习题264
1章 C++对C的扩充265
11.1 C++语言概述265
11.1.1 C++的起源265
11.1.2 C++的面向对象程序设计265
11.1.3 C++的泛型程序设计266
11.1.4 C++的过程化程序设计267
11.2 C++的数据类型268
11.2.1 常量268
11.2.2 布尔269
11.2.3 引用270
11.2.4 C++的类型检查271
11.3 C++的运算符273
11.3.1 作用域运算符273
11.3.2 new运算符274
11.3.3 delete运算符275
11.4 C++的名字空间276
11.5 C++的输入、输出278
11.5.1 基本输入、输出278
11.5.2 文件输入、输出*278
11.6 C++的函数与模板280
11.6.1 内联函数280
11.6.2 函数的重载281
11.6.3 带默认参数的函数282
11.6.4 函数模板*283
11.7 C++的异常处理*284
11.7.1 异常的概念284
11.7.2 C++异常处理的方法285
11.7.3 C++标准异常286
11.8 习题287
2章 基于C++的面向对象编程288
12.1 类和对象288
12.1.1 概述288
12.1.2 类的定义289
12.1.3 类和对象的特性291
12.1.4 构造函数292
12.1.5 析构函数295
12.1.6 静态成员*296
12.1.7 类的友元*297
12.1.8 const对象*298
12.1.9 指向类成员的指针*301
12.1.10 运算符重载*302
12.2 类的继承与派生304
12.2.1 继承与派生的概念304
12.2.2 继承与派生的一般形式305
12.2.3 派生类的构造函数与析构函数307
12.2.4 继承与派生的访问权限*308
12.3 类的多态性310
12.3.1 多态性的概念310
12.3.2 虚函数与动态多态311
12.3.3 虚类(抽象类)*314
12.3.4 虚基类*315
12.4 类模板与泛型编程*316
12.4.1 类模板316
12.4.2 类模板的继承318
12.4.3 泛型编程318
12.5 习题321
3章 基于MFC的Windows编程323
13.1 MFC基础323
13.1.1 概述323
13.1.2 创建MFC框架程序325
13.1.3 Windows程序的资源328
13.1.4 MFC对话框程序333
13.2 MFC控件335
13.2.1 按钮控件336
13.2.2 静态控件338
13.2.3 编辑控件340
13.3 MFC绘图342
13.3.1 基本概念342
13.3.2 CDC类与绘图343
13.3.3 GDI类与绘图属性346
13.3.4 修改控件的字体*351
13.4 常用对话框353
13.4.1 消息对话框353
13.4.2 文件对话框*354
13.5 常用消息356
13.5.1 鼠标消息356
13.5.2 键盘消息*358
13.5.3 定时器消息*361
13.5.4 关闭窗口消息*363
13.6 习题364
4章 编程技术基础*367
14.1 基本数据结构与算法367
14.1.1 基本概念367
14.1.2 线性表及其顺序存储结构372
14.1.3 栈和队列375
14.1.4 链表378
14.1.5 树与二叉树382
14.1.6 常见查找算法386
14.1.7 常见排序算法387
14.2 程序设计基础392
14.2.1 程序设计方法与风格392
14.2.2 结构化程序设计393
14.2.3 面向对象的程序设计方法395
14.3 软件工程基础398
14.3.1 软件工程基本概念398
14.3.2 结构化分析方法403
14.3.3 结构化设计方法405
14.3.4 软件测试的方法409
14.3.5 程序的调试411
14.4 数据库设计基础411
14.4.1 数据库的基本概念411
14.4.2 数据模型412
14.4.3 关系代数运算419
14.4.4 数据库设计方法和步骤424
14.5 习题430
附录A 常用字符与ASCII码对照表436
附录B 运算符和结合性437
附录C 常用标准库函数439
附录D 几个常用MFC类446
附录E Windows虚键码表450
参考文献452
内容摘要
《C/C++程序设计》全面、系统地介绍C及C++程序设计语言的基本概念、语法和编程方法。全书共分为14章,每个章节都从实际应用出发,蕴含了作者丰富的教学经验和编程心得。章通过一个简单C语言程序的编写、编译和运行介绍了程序设计的基本概念;第2章从计算机内数据存储的角度介绍了C程序中包括指针在内的数据类型的概念及使用方法;第3章介绍了包括指针运算在内的C语言提供的各种运算功能;第4章讲述了结构化程序设计的方法;第5章结合循环与指针,讲述了使用数组处理大量数据的方法;第6章讲述了包括结构体在内的各种自定义数据类型的使用方法;第7章讲述了使用函数进行模块化程序设计的方法,并重点讲述了指针在函数参数中的作用;第8章讲述了使用指针操作动态内存的方法及链表基本应用方法;第9章讲述了在C语言中处理文件的基本方法;0章介绍了C的预处理命令及简单应用;1章讲述了C++语言相对于C语言的部分扩展功能;2章讲述了使用C++语言进行面向对象程序设计的基本方法;3章讲述了在使用MFC应用程序框架编写Windows应用程序的基本方法;4章参考全国计算机等级考试二级考试大纲,介绍了在软件开发过程中常用的编程技术。
主编推荐
《C/C++程序设计》内容由浅入深,面向实际应用,例题经典、丰富,将指针的应用融合到全书的各章节之中。本书的结构新颖、紧凑、通俗易懂,是从零起步学习C及C++语言的合适教材。本书既可以作为普通本科院校、普通高等专科学校的计算机教材,也可以作为计算机培训和计算机等级考试辅导的教学用书
精彩内容
从诞生之日起,C及C++语言就作为应用最为广泛的程序设计语言长盛不衰,从家用电器中的单片机到企业生产设备中的工业控制系统,从汽车中的车载计算机到轮船、宇宙飞船中的控制系统,从家用计算机到巨型机,可以说只要有计算机的地方,C及C++语言都是最重要的两种程序设计语言。由于C++语言是C语言的超集,本书前半部分完整介绍C语言程序设计,后半部分介绍C++语言对于C语言的扩充及常用编程技术。读者也可以暂时跳过标记*部分内容的学习,即使只学习本书的前半部分内容,也可以完整学习C语言程序设计方法,以后再学习C++相对于C语言的扩充部分亦可事半功倍。
本书主要作者为一直工作于教学一线的大学教师,承担“C语言程序设计”与“C++语言程序设计”课程的教学任务十余年,有着丰富的教学经验,同时长期从事C及C++语言软件开发工作,有几十万行C/C++程序代码的开发经验,开发的软件多次获得省级、市级奖励。在教学实践中,作者感受最深的就是学生普遍反映C及C++语言难学难懂,尤其是指针千变万化,难以捉摸,而事实上,只要遵照一定的学习规律,C及C++语言并不难掌握。
部分C及C++语言教材过细的内容组织让学生迷失了方向。看着满篇的烦琐内容,读者根本不明白该学什么,更不明白C与C++的重点是什么,唯一的感觉就是C和C++语言难而烦。本书力求做到去繁就简,以弄懂基本的、主要的、核心的内容为重点,紧紧围绕软件开发需求最核心的内容进行组织。
基于作者长期从事软件开发的经验,本书特别强调实践能力的培养。上机练习是学习程序设计的最好方法,本书内容安排在读者学完章后就可以开始。书中每章内容都包含大量示例,课后练习也以编程实践为主,课后练习的内容由浅入深,如果能做完,本章内容即可完全掌握。
本书章阐述计算机及程序的基本工作原理,C语言程序是怎样运行的,并通过一个完整的C程序例子介绍C程序的各部分组成、功能及C语言程序编辑、编译、运行的方法。通过本章的学习,使读者能够对C语言程序及程序设计的过程和方法有一个基本的 认识。
第2章用了大量的篇幅介绍计算机中数据的存储方式,从而引入了整数、浮点数、指针等数据类型的概念,并使读者理解这些数据类型的作用和意义。在本章最后介绍C语言中输入、输出的基本方法,使读者马上可以通过这些输入、输出功能,对刚学到的各种不同类型数据进行比较和分析。
第3章讲解C语言中可以使用的各种运算符,并通过大量的示例来展示这些运算符的功能。本章还详细讲解了指针的各种运算方法,为以后指针的使用做好准备。
通过前面3章的学习,读者已经掌握了C语言中各种基本数据类型的处理方法。
第4章的内容通过讲解顺序结构、选择结构、循环结构这三种程序结构,使读者可以编写出具有一定实用功能的程序。本章的难点是循环,尤其是多重循环,这也是很多学生在学习C语言过程中开始掉队的地方,解决这个难点的唯一方法就是练习,反复地编程 练习。
第5章讲述数组,使C语言程序可以处理大量的数据。数组的处理离不开循环,所以本章的内容还包括了第4章循环内容的强化。另外,由于数组的元素在内存中是连续存储的,这在本书中次给了指针大显身手的空间,完成本章内容的学习,C语言已经入门一半了。
第6章讲述包括结构体在内的C语言各种自定义数据类型的使用方法。本章以概念性内容居多,虽然烦琐但并不难以掌握,书中通过各种示例对它们的定义、方法和用法一一进行了展示,是经过第5章艰苦学习过程后的一次小的休整。
第7章讲述C语言中函数的使用方法及模块化程序设计的基本思想,通过将一个复杂程序划分成若干函数来实现,从而降低了程序的编写难度。在函数的调用过程中,指针作为函数参数可以起到双向传值的作用,这些都是本章的重点和难点。
第8章讲述动态内存的使用方法,操作内存离不开指针,本章首先讲述如何获取动态内存,然后讲述通过链表来组织、使用动态内存的方法。链表是结构体、指针的结合,由于操作的复杂性使得使用函数成为必然,所以说本章内容是前7章内容的综合。完成本章内容的学习,C语言的掌握可以算入门了。
第9章讲述在C语言中操作文件的方法,主要是一些文件操作函数的应用。
0章讲述在C语言中一些编译预处理命令的使用方法,在本章结尾处介绍了在组织多文件的C语言源程序时条件编译的应用,为读者以后编写大型C语言程序提供了方便。
1章讲述C++语言相对于C语言的部分扩展功能。通过本章的学习,读者可以了解C语言与C++语言的区别,初步了解使用C++语言进行程序设计的方法。
2章讲述使用C++语言进行面向对象程序设计的基本方法。通过本章的学习,读者可以了解面向对象程序设计的基本原理及使用C++语言进行面向对象程序设计的基本方法。完成本章内容的学习,C++语言的掌握可以算入门了。
3章讲述使用MFC应用程序框架编写Windows应用程序的基本方法。标准的C及C++语言都不涉及具体操作系统下的软件开发功能,本章介绍使用微软公司提供的MFC应用程序框架开发Windows应用程序的方法,通过本章的学习,读者可以掌握使用C++语言开发Windows系统下图形界面应用程序的方法和技术。
4章介绍一些常用的编程技术。该部分内容全面覆盖了全国计算机等级考试二级考试大纲中公共知识部分的内容。通过本章及前10章内容的学习,读者可以达到全国计算机等级考试二级C语言考试的要求。通过本章
— 没有更多了 —
以下为对购买帮助不大的评价