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

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

全新正版 极速发货

30.03 6.1折 49 全新

库存4件

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

作者张基温 编著

出版社清华大学出版社

ISBN9787302481430

出版时间2017-11

装帧平装

开本16开

定价49元

货号1201602342

上书时间2024-06-30

曲奇书店

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

   商品详情   

品相描述:全新
商品描述
作者简介
张基温,研究和教学领域涉及计算机科学与技术、信息管理、信息经济学、电子政务与电子商务、新媒体、服务科学,发表论文百余篇,出版著作百余种;先后担任名古屋大学访问学者,山西财经大学、江南大学、华东政法大学、福建工程学院、晋城学院、广西职业技术学院等多所大学的专职、客座或兼职教授,北京大学博雅方略城市发展与信息化研究中心研究员,南京大学出版社总编顾问,太原高新技术区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.4函数13
1.4.1用函数组织程序13
1.4.2函数定义、函数调用与函数返回14
1.4.3函数声明16
1.4.4main()函数16
1.4.5库函数与头文件17
1.4.6printf()函数的基本用法17
1.4.7scanf()函数的基本用法19
1.5程序错误与异常21
1.5.1程序中的语法错误与编译错误信息21
1.5.2程序中的逻辑错误及其测试23
1.5.3C语言的实现定义行为和未定义行为24
1.5.4C程序运行异常与契约失败25
1.5.5设计用户友好的程序26
1.6知识链接A:整数类型26
1.6.1有符号整数类型与无符号整数类型26
1.6.2标准整数类型与扩展整数类型27
1.6.3宏与整数类型的极值宏28
1.6.4整数常量使用的3种进制30
1.6.5整数常量的标识30
1.7知识链接B:浮点类型31
1.7.1浮点类型的值的特性:取值范围与精度31
1.7.2浮点数据的舍入模式32
1.7.3浮点类型数据的操作限制33
1.7.4浮点类型常量的书写格式33
1.7.5_Complex类型和_Imaginary类型34
1.8知识链接C:字符类型34
1.8.1字符编码概述34
1.8.2char类型的基本特点35
1.8.3转义字符36
1.8.4用scanf()和printf()输入与输出字符36
1.8.5用getchar()和putchar()输入与输出字符37
习题138
第2单元选择程序设计44
2.1可选择计算类型的计算器程序算法分析44
2.1.1粗略算法分析44
2.1.2计算函数calculate()的算法分析45
2.1.3判等操作符与关系操作符46
2.2if-else型选择语句46
2.2.1用if-else实现的calculate()函数46
2.2.2if-else语句的特点47
2.2.3if-elseif语句48
2.2.4瘸腿if-else语句嵌套49
2.2.5逻辑操作符与逻辑表达式50
2.2.6条件表达式51
2.2.7良好的程序书写风格52
2.3选择结构的测试53
2.3.1白箱测试法53
2.3.2使用double类型数据的calculate()代码54
2.3.3等价分类法55
2.4switch型选择语句58
2.4.1基于整数值匹配的选择语句——switch语句58
2.4.2一个字符分类程序59
2.4.3用switch语句的calculate()函数61
2.4.4switch语句与if-else语句的比较62
2.5知识链接D:变量的作用域与生存期63
2.5.1标识符的作用域63
2.5.2变量的生存期与存储分配66
2.6知识链接E:const限定符68
2.6.1用const限定变量68
2.6.2用const限定函数参数70
2.7知识链接F:左值表达式与右值表达式70
2.7.1左值表达式和右值表达式的概念与鉴定70
2.7.2左值表达式的应用72
习题273
第3单元循环程序设计81
3.1可连续计算的计算器算法分析81
3.1.1初步算法81
3.1.2算法细化81
3.1.3循环结构的C语言实现82
3.2while语句82
3.2.1while语句的格式与特点82
3.2.2采用while语句的可连续型计算器主函数83
3.2.3逗号操作符84
3.3do-while语句85
3.3.1do-while语句的格式与特点85
3.3.2采用do-while语句的可连续型计算器主函数85
3.4for语句86
3.4.1for语句的格式与特点86
3.4.2采用for语句的可连续型计算器主函数86
3.4.3计数型循环语句88
3.4.4复合赋值操作符与自增、自减操作符92
3.5循环结构的测试93
3.5.1基于路径覆盖的循环结构测试93
3.5.2边值分析法与循环结构测试93
3.5.3基于因果分析的程序测试95
3.6break与continue97
3.6.1break与continue语法概要97
3.6.2实例:求素数98
3.7知识链接G:表达式的副作用与序列点100
3.7.1表达式的副作用100
3.7.2序列点及其对表达式求值顺序的影响101
3.7.3副作用编程对策103
3.8知识链接H:算术数据类型转换104
3.8.1算术表达式中的数据类型转换104
3.8.2普通算术转换中的“提升拉齐”规则104
3.8.3传送转换中的数据类型转换106
3.8.4数据的显式类型转换107
3.8.5数据类型转换风险108
习题3112
第4单元算法基础120
4.1穷举120
4.1.1搬砖问题121
4.1.2推断名次123
习题4.1127
4.2迭代与递推131
4.2.1用二分迭代法求方程在指定区间的根132
4.2.2猴子吃桃子问题135
4.2.3用辗转相除法求两个正整数的优选公因子137
习题4.2140
4.3递归143
4.3.1阶乘的递归计算143
4.3.2汉诺塔146
4.3.3台阶问题149
习题4.3150
4.4模拟151
4.4.1产品随机抽样152
4.4.2用蒙特卡洛法求π的近似值155
4.4.3事件步长法——中子扩散问题156
4.4.4时间步长法——盐水池问题158
习题4.4162
第5单元数组165
5.1一维数组165
5.1.1数组类型的特征165
5.1.2数组的定义166
5.1.3数组的初始化167
5.1.4下标变量168
5.1.5变长数组与常量数组169
5.2排序与查找170
5.2.1直接选择排序170
5.2.2冒泡排序172
5.2.3二分查找175
5.3二维数组176
5.3.1二维数组的概念176
5.3.2二维数组的初始化177
5.3.3访问二维数组元素179
5.4字符串180
5.4.1字符串字面量180
5.4.2字符数组与C字符串变量181
5.4.3字符串的输入与输出182
5.4.4字符串操作的库函数185
习题5188
第6单元可定制数据类型194
6.1构造体类型194
6.1.1构造体类型的特征与定制194
6.1.2用typedef定义类型的别名195
6.1.3构造体变量196
6.1.4构造体变量的分量及其操作199
6.1.5构造体数组200
6.1.6复合字面量203
6.2共用体类型204
6.2.1共用体类型的定制及其变量的定义204
6.2.2共用体类型与构造体类型的比较205
6.2.3共用体变量的应用举例207
6.3枚举类型209
6.3.1枚举类型及其定义209
6.3.2枚举变量及其声明210
6.3.3对枚举变量和枚举元素的操作210
6.3.4用枚举为类提供整型符号常量名称211
习题6211
第7单元指针219
7.1指针类型与指针变量219
7.1.1指针及其声明219
7.1.2同类型指针间的赋值与判等操作220
7.1.3指针的递引用222
7.1.4void指针223
7.1.5用const限定指针223
习题7.1224
7.2数组与指针229
7.2.1数组名具有退化的左值性229
7.2.2下标表达式的指针含义230
7.2.3指针与字符串232
7.2.4二维数组与指针234
习题7.2236
7.3函数与指针242
7.3.1指针作为函数参数242
7.3.2带参主函数249
7.3.3返回指针值的函数250
7.3.4函数类型与指向函数的指针251
习题7.3257
7.4指向构造体的指针与链表261
7.4.1指向构造体类型变量的指针261
7.4.2链表及其特点262
7.4.3构建链表263
习题7.4265
7.5动态存储分配268
7.5.1申请需要的存储空间269
7.5.2释放一个指针指向的存储空间271
7.5.3修改一个指针指向的存储空间大小271
7.5.4构建动态链表272
7.5.5带有弹性数组成员的构造体276
习题7.5277
第8单元算法设计进阶*278
8.1分治策略278
8.1.1快速排序278
8.1.2自行车带人问题281
习题8.1284
8.2回溯策略286
8.2.1迷宫问题287
8.2.2八皇后问题290
习题8.2292
8.3贪心策略294
8.3.1旅行费用问题294
8.3.2删数问题297
习题8.3299
8.4动态规划301
8.4.1动态规划概述301
8.4.2点数值三角形的最优路径303
8.4.3背包问题305
习题8.4309
第9单元语海拾贝312
9.1外部变量312
9.1.1外部变量及其声明312
9.1.2外部变量的链接性312
9.1.3外部变量的风险317
9.2内联函数317
9.2.1内联函数的概念317
9.2.2内联函数的定义318
9.2.3内联函数的限制319
9.3带参宏319
9.3.1带参宏的基本定义格式319
9.3.2使用带参宏的注意事项320
9.3.3带参宏与函数的比较320
9.4C语言契约式编程与防御式编程322
9.4.1断言322
9.4.2库函数调用错误处理324
9.4.3程序运行异常处理326
9.5数据文件329
9.5.1数据文件及其分类329
9.5.2FILE类型及其指针330
9.5.3数据文件操作的一般过程332
习题9337
附录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
附录HC语言编译出错信息360
H.1致命错误360
H.2一般错误360
H.3警告365
附录IC99、C89与K&RC主要内容的比较368
参考文献369

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

—  没有更多了  —

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

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