《C语言程式设计与计算思维》是2015年清华大学出版社出版的图书,作者是沈鑫剡、沈梦梅。
基本介绍
- 书名:C语言程式设计与计算思维
- 作者:沈鑫剡、沈梦梅
- ISBN:9787302388876
- 定价:39.5元
- 出版社:清华大学出版社
- 出版时间:2015-1-26
- 装帧:平装
- 开本:16
图书简介
本书通过系统地介绍C语言语法和程式设计方法,培养学生计算思维能力。
本书有以下特点: 一是讲清楚基于冯·诺依曼结构问题的解决过程,并以此为基础讨论计算机语言的组成与特点;二是详细描述C语言的组成和语法;三是给出描述计算机解决问题的方法步骤,即算法设计方法;四是给出用C语言描述算法的方法,即程式设计方法;五是总结出程式设计过程中所涵盖的计算思维;六是对于每一个知识点都有帮助读者理解该知识点的大量实例。
本书以通俗易懂、循序渐进的方式叙述C语言语法和程式设计方法,并通过大量的例子来加深读者对C语言语法和程式设计方法的理解,是一本理想的大学本科“C语言程式设计”课程教材,对于想要了解C语言本质、掌握C语言程式设计方法的软体人员,也是一本非常好的C语言入门书籍。
图书目录
第1章概述1
1.1计算机运算过程1
1.1.1冯·诺依曼结构1
1.1.2核心部件功能和指令执行过程2
1.2计算机语言与程式设计10
1.2.1机器语言与程式设计10
1.2.2彙编语言与程式设计13
1.2.3高级语言与程式设计15
1.3C语言的特点与发展过程19
1.3.1C语言的特点19
1.3.2C语言的发展过程21
1.4C语言的学习内容22
1.4.1了解C语言的背景知识22
1.4.2掌握C语言语句23
1.4.3掌握算法设计过程24
1.4.4掌握程式设计过程24
1.4.5培养计算思维能力24
1.5C语言程式的开发过程24
1.5.1编辑24
1.5.2编译25
1.5.3连线25
1.5.4运行26
1.5.5集成开发环境26
本章小结27
习题128
第2章变数与表达式29
2.1数值编码29[1]〖3〗C语言程式设计与计算思维目录〖3〗[3]2.1.1整型数29
2.1.2实数32
2.1.3对C语言数值表示的几点说明36
2.2字元编码36
2.2.1ASCII37
2.2.2C语言中字元的表示方式38
2.3变数的含义及类型39
2.3.1变数的含义39
2.3.2标识符39
2.3.3变数的类型40
2.3.4对变数的几点说明44
2.4运算符和表达式45
2.4.1算术运算符和算术表达式45
2.4.2赋值运算符和赋值表达式48
2.4.3逗号运算符和逗号表达式55
2.4.4位运算符和位运算表达式56
2.5语句和程式64
2.5.1语句64
2.5.2程式65
2.5.3输入/输出函式66
2.6变数与表达式的启示68
本章小结69
习题270
第3章选择和循环结构72
3.1控制语句的作用72
3.1.1实现选择结构控制语句的功能72
3.1.2实现循环结构控制语句的功能73
3.2条件和表示条件的表达式73
3.2.1关係运算符和关係表达式74
3.2.2逻辑运算符和逻辑表达式76
3.3if语句79
3.3.1if语句的3种形式79
3.3.2if语句的嵌套81
3.3.3条件运算符83
3.4switch语句85
3.4.1switch语句的格式85
3.4.2完整程式举例86
3.5循环结构87
3.5.1while语句88
3.5.2do…while语句89
3.5.3for语句90
3.5.4循环嵌套91
3.5.5continue语句和break语句92
3.5.6例题解析94
3.6程式设计实例96
3.6.1机器猜数游戏96
3.6.2找出100~200的所有素数99
3.6.3穷举法举例100
3.6.4统计无符号数中1的位数102
3.7选择和循环结构的启示104
本章小结106
习题3106
第4章函式109
4.1C语言程式结构109
4.1.1模组化结构109
4.1.2函式的调用和返回110
4.1.3函式的含义111
4.1.4模组化结构的好处111
4.2C语言函式的定义和调用过程112
4.2.1C语言函式的描述和定义过程112
4.2.2C语言函式的调用方式和返回过程114
4.2.3例题解析118
4.2.4程式设计举例119
4.3函式的递归调用122
4.3.1递归调用的定义122
4.3.2汉诺塔问题123
4.4输入/输出函式127
4.4.1格式输出函式printf127
4.4.2格式输入函式scanf133
4.4.3对格式输入/输出函式的几点说明141
4.5局部变数和全局变数143
4.5.1局部变数143
4.5.2全局变数144
4.6static、extern和register146
4.6.1static147
4.6.2extern149
4.6.3register150
4.6.4定义和声明的区别151
4.7递归程式152
4.7.1问题描述152
4.7.2算法设计152
4.7.3程式设计152
4.8函式的启示153
本章小结154
习题4155
第5章数组159
5.1数组的存储结构和作用159
5.1.1数组的存储结构159
5.1.2数组的作用160
5.2一维数组160
5.2.1一维数组的定义和引用161
5.2.2排序164
5.2.3折半查找167
5.2.4数组与算法171
5.3二维数组171
5.3.1二维数组的定义和引用171
5.3.2二维数组的套用实例174
5.4字元数组与字元串175
5.4.1字元数组的定义和引用176
5.4.2字元串176
5.4.3字元串输入/输出函式177
5.4.4字元串处理函式179
5.4.5程式设计举例182
5.5数组的启示185
本章小结186
习题5186
第6章指针189
6.1指针变数与间接访问189
6.1.1变数的属性189
6.1.2存储单元地址与存储地址的存储单元190
6.1.3间接访问过程与指针的含义190
6.1.4C语言中的直接访问和间接访问192
6.2指针变数的定义和引用193
6.2.1指针变数的定义193
6.2.2指针变数的赋值与取址运算符194
6.2.3指针变数的引用195
6.2.4指针输出197
6.2.5对指针变数的几点说明198
6.3指针与函式201
6.3.1数据交换方式201
6.3.2地址传递方式202
6.3.3指针作为函式返回值205
6.3.4例题解析207
6.4指针与数组207
6.4.1指针与一维数组207
6.4.2指针与二维数组216
6.4.3对数组名的几点说明227
6.5指针与字元串228
6.5.1指针变数的定义和引用228
6.5.2函式的调用与返回230
6.5.3对字元串的几点说明232
6.5.4例题解析234
6.5.5旋转字元串程式设计236
6.6指针数组和指向指针的指针239
6.6.1指针数组239
6.6.2指向指针的指针244
6.7指向函式的指针248
6.7.1间接调用函式248
6.7.2指向函式的指针变数作为函式参数250
6.8指针的启示252
本章小结253
习题6255
第7章结构体与共用体259
7.1结构体的作用和类型声明259
7.1.1结构体的作用259
7.1.2结构体的类型声明259
7.2结构体变数的定义和引用265
7.2.1结构体变数的定义过程265
7.2.2结构体变数的引用和赋值方式267
7.3结构体数组270
7.3.1结构体数组的定义过程270
7.3.2结构体数组的初始化过程271
7.3.3排序程式272
7.4指向结构体的指针274
7.4.1指向结构体的指针的含义274
7.4.2指向结构体的指针变数的定义过程274
7.4.3对指向结构体的指针变数的几点说明276
7.5结构体与函式调用278
7.5.1结构体变数作为函式参数279
7.5.2指向结构体的指针变数作为函式参数280
7.5.3结构体类型数据作为函式返回值281
7.6结构体与鍊表283
7.6.1鍊表的含义283
7.6.2鍊表结点的创建和删除284
7.6.3鍊表的操作288
7.7共用体295
7.7.1共用体的含义和特性296
7.7.2共用体变数的定义和引用过程298
7.7.3共用体与函式调用302
7.8枚举类型303
7.8.1枚举类型的声明和变数的定义过程303
7.8.2枚举类型变数的套用举例305
7.9用typedef声明新的类型名306
7.9.1为基本数据类型声明新的类型名306
7.9.2为自定义数据类型声明简洁的类型名307
7.9.3为数组声明简洁的类型名308
7.9.4为指针声明简洁的名称308
7.9.5用typedef声明新的类型名309
7.9.6对typedef声明新类型名的几点说明310
7.10结构体的启示310
本章小结311
习题7311
第8章预处理命令315
8.1预处理命令的含义和作用315
8.1.1预处理命令的含义315
8.1.2预处理命令的作用316
8.2宏定义316
8.2.1不带参数的宏定义317
8.2.2带参数的宏定义321
8.3档案包含324
8.3.1#include命令的格式324
8.3.2档案包含的过程325
8.3.3对档案包含的几点说明325
8.4条件编译326
8.4.1条件编译的作用326
8.4.2条件编译命令326
8.5预处理命令的启示328
本章小结329
习题8329
第9章档案331
9.1档案与输入/输出331
9.1.1输入/输出过程331
9.1.2档案概述333
9.2档案的操作过程337
9.2.1打开与关闭档案337
9.2.2字元读/写操作340
9.2.3字元串读/写操作344
9.2.4格式读/写操作346
9.2.5数据块读/写操作348
9.2.6档案与标準输入/输出设备357
9.3档案的启示359
本章小结360
习题9360
附录AVisualC++6.0使用教程363
A.1VisualC++6.0基本介绍363
A.2VisualC++6.0视窗363
A.3新建工程365
A.4新建档案366
A.5编译367
A.6连线368
A.7运行369
A.8调试369
A.9调试命令简介373
A.10编译和连线过程中常见的错误373
附录BC语言中的关键字375
附录C运算符的优先权和结合性376
附录D数学函式378
参考文献380