• 新概念C程序设计大学教程
21年品牌 40万+商家 超1.5亿件商品

新概念C程序设计大学教程

全新正版 极速发货

30.03 6.1折 49 全新

仅1件

广东广州
认证卖家担保交易快速发货售后保障

作者张基温 编著

出版社清华大学出版社

ISBN9787302439943

出版时间2017-01

装帧平装

开本16开

定价49元

货号1201466717

上书时间2024-06-18

徐小智的书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
张基温,知名学者,研究和教学领域涉及计算机科学与技术、信息管理、信息经济学、电子政务与电子商务、服务科学,发表论文一百余篇,已出版著作92种;先后担任名古屋大学访问学者,山西财经大学、江南大学、华东政法大学、福建工程学院、晋城学院、广西职业技术学院等多所大学的专职、客座或兼职教授,北京大学博雅方略城市发展与信息化研究中心研究员,南京大学出版社总编顾问,太原高新技术区IT研究院实验室主任。山西省紧缺人才专家委员会副主任等职,中国信息经济学会常务理事,全国高等院校计算机基础教育研究会常务理事兼课程建设委员会副主任,中国计算机学会教育专业委员会委员,教育部NIT考试委员会委员,江苏省计算机基础教学指导委员会委员,山西省新世纪专家学者协会副会长;为清华大学出版社、电子工业出版社、中国水利水电出版社、南京大学出版社等出版社主编了信息管理与信息系统专业、计算机实验与实践、大学生信息素养等多个系列教材。在面向过程程序设计教学领域,从20世纪80年代初就开始进行有关研究和改革。尝试将软件工程方法和算法思想引入程序设计,推行算法分析和测试设计相结合的程序设计方法,倡导“以思维训练为核心。程序测试与程序设计并行”的程序设计教育理念,推行“前期重在逻辑思维和方法训练、语法够用就行;后期进行语法细节补充”的程序设计课程教学方法。他主笔并与他人联合署名的《C语言程序设计教程》是重量十一五规划教材。并于2007年被评为重量精品教材。

目录
单元C程序启步1
1.1一个简单的计算器程序设计1
1.1.1用伪代码描述的简单计算器程序算法1
1.1.2将伪代码描述的算法逐步细化为C程序2
1.1.3C语言程序的编译、链接与执行4
1.2数据类型、标识符与声明6
1.2.1数据类型6
1.2.2C语言标识符规则6
1.2.3声明7
1.3表达式8
1.3.1字面量8
1.3.2数据实体8
1.3.3含有操作符的表达式及其求值规则10
1.3.4C语言的实现定义行为和未定义行为13
1.4函数13
1.4.1用函数组织程序13
1.4.2函数定义、函数调用与函数返回15
1.4.3函数声明16
1.4.4main()函数17
1.4.5库函数与头文件17
1.4.6printf()函数的基本用法18
1.4.7scanf()函数的基本用法19
1.5程序测试22
1.5.1程序中的语法错误和逻辑错误22
1.5.2程序运行中的异常与错误22
1.5.3程序测试及其观点22
1.5.4程序的静态测试与动态测试23
1.5.5设计用户友好的程序23
1.6知识链接A:整数类型24
1.6.1有符号整数类型与无符号整数类型24
1.6.2标准整数类型与扩展整数类型25
1.6.3宏与整数类型的极值宏26
1.6.4整数常量使用的3种进制27
1.6.5整数常量的标识27
1.7知识链接B:浮点类型28
1.7.1浮点类型的值的特性:取值范围与精度28
1.7.2浮点数据的舍入模式29
1.7.3浮点类型数据的操作30
1.7.4浮点类型常量的书写格式30
1.7.5_Complex类型和_Imaginary类型31
1.8知识链接C:字符类型31
1.8.1字符编码概述31
1.8.2char类型的基本特点32
1.8.3转义字符33
1.8.4用scanf()和printf()输入与输出字符33
1.8.5用getchar()和putchar()输入与输出字符34
习题135
第2单元选择程序设计42
2.1可选择计算类型的计算器程序算法分析42
2.1.1粗略算法分析42
2.1.2计算函数calculate()的算法分析43
2.1.3判等操作符与关系操作符44
2.2if-else型选择结构44
2.2.1用if-else实现的calculate()函数44
2.2.2if-else结构的特点45
2.2.3if-elseif结构46
2.2.4瘸腿if-else嵌套结构47
2.2.5逻辑操作符与逻辑表达式48
2.2.6条件表达式49
2.2.7良好的程序书写风格50
2.3选择结构的测试51
2.3.1白箱测试法51
2.3.2使用double类型数据的calculate()代码52
2.3.3等价分类法53
2.4switch型选择结构56
2.4.1基于整数值匹配的选择结构——switch结构56
2.4.2一个字符分类程序57
2.4.3用switch结构实现的calculate()函数59
2.4.4switch结构与if-else结构的比较60
2.5知识链接D:变量的访问属性61
2.5.1变量的生存期与标识符的作用域61
2.5.2局部变量63
2.6知识链接E:#include指令与const限定符66
2.6.1#define指令66
2.6.2const限定符67
2.7知识链接F:左值表达式与右值表达式68
2.7.1左值表达式与右值表达式的概念69
2.7.2左值表达式的应用70
习题271
第3单元重复程序设计82
3.1可连续计算的计算器算法分析82
3.1.1初步算法82
3.1.2算法细化82
3.1.3重复结构的C语言实现83
3.2while结构83
3.2.1while结构的基本原理83
3.2.2采用while结构的可连续型计算器主函数84
3.2.3逗号操作符85
3.3do-while结构86
3.3.1do-while结构的基本原理86
3.3.2采用do-while结构的可连续型计算器主函数86
3.4for结构87
3.4.1for结构的基本原理87
3.4.2采用for结构的可连续型计算器主函数87
3.4.3计数型重复结构89
3.4.4复合赋值操作符与增值、自减操作符93
3.5重复结构的程序测试94
3.5.1基于路径覆盖的重复结构测试94
3.5.2边值分析法与重复结构测试94
3.5.3基于因果分析的程序测试96
3.6break与continue98
3.6.1break与continue语法概要98
3.6.2实例:求素数99
3.7知识链接G:表达式的副作用与序列点101
3.7.1表达式的副作用101
3.7.2序列点及其对表达式求值顺序的影响102
3.7.3副作用编程对策104
3.8知识链接H:算术数据类型转换105
3.8.1算术表达式中的数据类型转换105
3.8.2普通算术转换中的“提升拉齐”规则105
3.8.3传送转换中的数据类型转换107
3.8.4数据的显式类型转换108
3.8.5数据类型转换风险109
习题3113
第4单元算法基础121
4.1穷举121
4.1.1搬砖问题122
4.1.2推断名次124
习题4.1128
4.2迭代与递推132
4.2.1用二分迭代法求方程在指定区间的根133
4.2.2猴子吃桃子问题136
4.2.3用辗转相除法求两个正整数的优选公因子138
习题4.2141
4.3递归144
4.3.1阶乘的递归计算144
4.3.2汉诺塔147
4.3.3台阶问题150
习题4.3151
4.4模拟算法152
4.4.1产品随机抽样153
4.4.2用蒙特卡洛法求(的近似值156
4.4.3事件步长法——中子扩散问题157
4.4.4时间步长法——盐水池问题159
习题4.4163
第5单元数组166
5.1一维数组166
5.1.1数组类型的特征166
5.1.2数组的定义167
5.1.3数组的初始化168
5.1.4下标变量169
5.1.5变长数组与常量数组170
5.2排序与查找171
5.2.1直接选择排序171
5.2.2冒泡排序173
5.2.3二分查找176
5.3二维数组177
5.3.1二维数组的概念177
5.3.2二维数组的初始化178
5.3.3访问二维数组元素180
5.4字符串181
5.4.1字符串字面量181
5.4.2字符数组与C字符串变量182
5.4.3字符串的输入与输出183
5.4.4字符串操作的库函数186
习题5189
第6单元可定制数据类型195
6.1构造体类型195
6.1.1构造体类型的特征与定制195
6.1.2用typedef定义类型的别名196
6.1.3构造体变量197
6.1.4构造体变量的分量及其操作200
6.1.5构造体数组201
6.1.6复合字面量204
6.2共用体类型205
6.2.1共用体类型的定制及其变量的定义205
6.2.2共用体类型与构造体类型的比较206
6.2.3共用体变量的应用举例208
6.3枚举类型210
6.3.1枚举类型及其定义210
6.3.2枚举变量及其声明211
6.3.3对枚举变量和枚举元素的操作211
6.3.4用枚举为类提供整型符号常量名称212
习题6212
第7单元指针220
7.1指针类型与指针变量220
7.1.1指针及其声明220
7.1.2同类型指针间的赋值与判等操作221
7.1.3指针的递引用223
7.1.4void指针224
7.1.5用const限定指针224
习题7.1225
7.2数组与指针230
7.2.1数组名具有退化的左值性230
7.2.2下标表达式的指针性质231
7.2.3指针与字符串233
7.2.4二维数组与指针235
习题7.2237
7.3函数与指针243
7.3.1指针作为函数参数243
7.3.2带参主函数250
7.3.3返回指针值的函数251
7.3.4函数类型与指向函数的指针252
习题7.3258
7.4指向构造体的指针与链表262
7.4.1指向构造体类型变量的指针262
7.4.2链表及其特点263
7.4.3构建链表264
习题7.4266
7.5动态存储分配270
7.5.1申请需要的存储空间270
7.5.2释放一个指针指向的存储空间272
7.5.3修改一个指针指向的存储空间大小273
7.5.4构建动态链表273
7.5.5带有弹性数组成员的构造体277
习题7.5278
第8单元算法设计进阶*280
8.1分治策略280
8.1.1快速排序280
8.1.2自行车带人问题283
习题8.1286
8.2回溯策略288
8.2.1迷宫问题289
8.2.2八皇后问题292
习题8.2294
8.3贪心策略296
8.3.1旅行费用问题296
8.3.2删数问题299
习题8.3301
8.4动态规划303
8.4.1动态规划概述303
8.4.2点数值三角形的很优路径305
8.4.3背包问题307
习题8.4311
第9单元语海拾贝314
9.1外部变量314
9.1.1外部变量及其定义314
9.1.2外部变量的链接性314
9.1.3外部变量的风险319
9.2带参宏319
9.2.1带参宏的基本定义格式319
9.2.2使用带参宏的注意事项320
9.2.3带参宏与函数的比较321
9.3内联函数322
9.3.1内联函数的概念322
9.3.2内联函数的定义323
9.3.3内联函数的323
9.4数据文件324
9.4.1数据文件及其分类324
9.4.2FILE类型及其指针325
9.4.3数据文件操作的一般过程326
9.4.4程序示例330
9.5位操作与位段331
9.5.1按位逻辑运算332
9.5.2移位运算333
9.5.3位段334
习题9336
附录AC语言运算符的优先级和结合方向344
附录BC语言的关键字345
附录C格式化输出函数printf()的格式346
C.1printf()格式参数的结构346
C.2printf()格式符346
C.3长度修饰符347
C.4域宽与精度说明348
C.5格式前缀修饰符348
附录D格式化输入函数scanf()的格式349
D.1scanf()指针参数349
D.2scanf()格式参数的结构349
D.2.1格式参数字符串的结构349
D.2.2基本格式符和长度修正349
D.2.3字段宽度350
D.3scanf()的停止与返回351
D.4数值数据的输入控制351
D.5字符型数据的输入控制351
D.5.1在格式字段前添加空格使格式字段可以跳过空白字符351
D.5.2用扫描集控制字符数组的读入351
附录E编译预处理命令352
E.1宏定义352
E.2文件包含352
E.3条件编译352
附录FC标准库头文件353
附录GC语言常用的标准库函数354
G.1数学函数354
G.2字符函数和字符串函数355
G.3输入与输出函数356
G.4动态内存分配函数357
G.5退出程序函数358
G.6数值转换函数358
G.7时间和日期函数358
附录HC99、C89与K&RC主要内容的比较360
参考文献361

内容摘要
本书是一本“以计算思维训练为核心,以能力培养为目标”的C语言程序设计教材,基于“程序设计 = 算法思维 + 语言艺术 + 工程规范”的知识和能力框架和“前期以培养解题思路为主,语法知识够用就行;后期补充必要的语法细节”的教学策略编写。全书共9单元可分为4个部分。
第1部分是针对C程序设计的初级训练:单元介绍进行C语言程序设计首先应当掌握的一些基本概念和方法;第2、3单元在单元的基础上介绍判断结构和重复结构,第4单元介绍穷举、迭代、递归和模拟,奠定算法基础。
第2部分是在第1部分的基础上进行数据类型的扩展:第5单元介绍数组,第6单元介绍3种可定制数据结构——构造体、共用体和枚举,第7单元介绍指针及其应用。
第3部分只有第8单元一单元,介绍分治、回溯、贪心策略和动态规划,作为算法设计进阶,可以使读者的程序设计能力提升到较高水平。
第4部分用第9单元一单元介绍一些可能用得着的有关内容,包括外部变量、内联函数、带参宏定义、文件和位操作。
这样的结构可以满足多种不同层次的教和学的需求,并兼顾自学。
作者在编写本书时力求概念准确、难点分散、例题经典、习题丰富、题型全面、注重效果,并以C99作为蓝本,可以作为高等学校各专业的新一代程序设计课程教材,也可供从事程序设计相关领域的人员自学或参考。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP