零基础学C语言(第4版)
全新正版 极速发货
¥
43.51
5.5折
¥
79
全新
库存8件
作者编者:康莉//李宽|责编:李华君
出版社机械工业
ISBN9787111654964
出版时间2020-06
装帧其他
开本其他
定价79元
货号1202075385
上书时间2024-06-08
商品详情
- 品相描述:全新
- 商品描述
-
目录
前言
第一篇 C语言基础
第1章 踏上征程前的思想动员1
1.1 为什么选择C语言1
1.2 如何学好C语言3
1.3 语言概述3
1.3.1 什么是语言3
1.3.2 什么是机器语言3
1.3.3 什么是汇编语言4
1.3.4 面向过程的语言5
1.3.5 什么是C语言5
1.4 程序的开发周期5
1.4.1 编辑C源代码6
1.4.2 编译C源代码6
1.4.3 连接目标文件7
1.4.4 编译连接过程示例7
1.4.5 运行程序9
1.5 C、C++、VC++的区别和开发环境9
1.6 小结11
1.7 习题11
第2章 跟我写Hello World13
2.1 了解需求才能创建程序13
2.2 认识Code::Blocks开发环境13
2.2.1 为什么选择Code::Blocks14
2.2.2 启动Code::Blocks14
2.2.3 新建Hello World项目14
2.2.4 定义新项目15
2.2.5 添加源代码到项目16
2.2.6 调试器设置16
2.2.7 开始编辑代码17
2.3 编译运行18
2.4 调试排错(debug)19
2.4.1 debug的由来19
2.4.2 设置断点20
2.4.3 调试运行20
2.5 第一个程序容易出现的错误21
2.5.1 包含命令include21
2.5.2 关键字main22
2.5.3 表示代码行结束的分号22
2.6 小结22
2.7 习题22
第3章 分解Hello World——最简单C程序的组成24
3.1 C程序的构成24
3.2 C程序的注释25
3.3 C程序必须有的main函数26
3.4 调用函数在屏幕上显示文字27
3.5 #include预处理器指示符28
3.5.1 函数声明及其作用28
3.5.2 试验寻找#include的作用29
3.5.3 #include的作用30
3.6 计算1+1的程序实例31
3.7 数据从哪里来,又到哪里去——变量32
3.7.1 变量在内存中的表现形式32
3.7.2 编译器使用变量符号表32
3.7.3 变量及其使用33
3.8 自己设计C函数35
3.8.1 在main函数中计算3个整数的平均数35
3.8.2 在main函数中分3次计算3个整数的平均数36
3.8.3 自编函数实现计算3个整数的平均数36
3.8.4 如何自编写函数37
3.8.5 观察总结函数声明和函数定义的意义38
3.9 语句构成程序39
3.10 优秀程序员的代码风格40
3.11 小结40
3.12 习题41
第4章 常量、变量及数据类型42
4.1 计算机是如何表示数据的42
4.1.1 二进制、八进制、十六进制42
4.1.2 表示数据的字节和位44
4.1.3 内存是存储数据的房间45
4.2 数据类型46
4.2.1 整数类型46
4.2.2 整数的有符号和无符号48
4.2.3 实数类型50
4.2.4 字符类型50
4.2.5 数据类型总结51
4.3 常量51
4.3.1 直接常量和符号常量52
4.3.2 符号常量的优点53
4.3.3 直接常量的书写格式54
4.3.4 转义字符55
4.3.5 字符串57
4.4 变量58
4.4.1 变量的声明58
4.4.2 变量声明的意义59
4.4.3 标识符和关键字60
4.4.4 变量在内存中占据的空间和变量的值62
4.4.5 为变量赋初值64
4.4.6 变量使用时常见的错误65
4.5 几个与变量相关的经典算法66
4.5.1 累加和累乘66
4.5.2 交换两个变量的值68
4.6 小结69
4.7 习题69
第5章 用屏幕和键盘交互——简单的输出和输入71
5.1 输入—处理—输出:这就是程序71
5.2 向屏幕输出——printf()函数详解72
5.2.1 printf()函数的一般形式72
5.2.2 printf()函数的输出原理73
5.2.3 格式控制字符串的一般形式74
5.2.4 输出带符号的整数%d75
5.2.5 设置最小宽度的输出75
5.2.6 长整型输出%ld76
5.2.7 输出八进制形式76
5.2.8 输出十六进制的形式77
5.2.9 输出十进制的unsigned型数据77
5.2.10 输出字符78
5.2.11 输出字符串%s79
5.2.12 输出实型数据%f81
5.2.13 输出指数形式的实数82
5.2.14 自动选择%f或者%e形式输出%g83
5.2.15 printf()函数的几点说明83
5.3 字符输出putchar()和字符串输出puts()84
5.3.1 字符输出函数84
5.3.2 字符串输出函数85
5.4 接收键盘输入——scanf()函数详解86
5.4.1 scanf()函数的一般形式86
5.4.2 scanf()函数的输入原理87
5.4.3 多数据输入分隔规则89
5.4.4 控制输入的格式字符90
5.4.5 scanf()函数的使用说明91
5.4.6 使用scanf()函数的注意事项93
5.5 字符输入函数getchar()95
5.6 输入和输出程序举例96
5.7 小结98
5.8 习题99
第6章 程序的基本构成——运算符和表达式100
6.1 认识C中的运算符和表达式100
6.1.1 运算符和表达式100
6.1.2 操作数、运算符和表达式101
6.1.3 C运算符简介102
6.2 算术运算符和算术表达式102
6.2.1 基本的算术运算符103
6.2.2 ++自增、--自减运算符104
6.2.3 算术表达式和运算符的优先级及结合性106
6.3 逗号运算符和逗号表达式107
6.3.1 逗号表达式的一般形式107
6.3.2 逗号表达式的优先级和结合性108
6.4 关系运算符和关系表达式109
6.4.1 关系运算符的种类109
6.4.2 关系表达式的一般形式109
6.5 逻辑运算符和逻辑表达式110
6.5.1 逻辑运算符111
6.5.2 逻辑真值表111
6.6 赋值运算符和赋值表达式112
6.6.1 赋值表达式112
6.6.2 复合运算符113
6.7 强制类型转换和自动类型转换113
6.7.1 强制类型转换113
6.7.2 自动类型转换115
6.8 运算符的优先级116
6.8.1 优先级、结合性汇总116
6.8.2 sizeof运算117
6.9 取地址运算符117
6.10 小结118
6.11 习题118
第7章 程序的最小独立单元——语句120
7.1 5种语句类型120
7.1.1 表达式语句120
7.1.2 函数调用语句122
7.1.3 空语句122
7.1.4 复合语句(块语句)122
7.1.5 流程控制语句123
7.2 结构化程序设计123
7.2.1 什么是算法123
7.2.2 算法的表示123
7.2.3 算法的伪代码表示124
7.2.4 算法的流程图表示124
7.2.5 3种控制结构124
7.2.6 算法示例125
7.3 小结125
7.4 习题126
第8章 条件判断——分支结构127
8.1 if语句127
8.1.1 判断表达式127
8.1.2 花括号和if结构体128
8.2 if...else结构129
8.2.1 关键在else129
8.2.2 if...else结构体130
8.3 多分支语句和分支语句嵌套131
8.3.1 多分支131
8.3.2 多分支if结构133
8.3.3 分支语句嵌套134
8.4 switch结构135
8.4.1 一般形式135
8.4.2 为什么叫开关语句137
8.4.3 default语句138
8.4.4 if结构和switch结构之比较139
8.4.5 switch结构的常见错误与解决方法139
8.5 小结140
8.6 习题141
第9章 一遍又一遍——循环结构142
9.1 构造循环142
9.1.1 循环的条件142
9.1.2 当型循环和直到型循环143
9.2 while和do...while循环结构143
9.2.1 语法规则144
9.2.2 代码块145
9.2.3 while语句的常见错误145
9.2.4 do...while语句的常见错误146
9.3 for循环结构147
9.3.1 基本形式147
9.3.2 表达式省略149
9.3.3 循环终止和步长150
9.3.4 for语句的常见错误150
9.4 循环嵌套151
9.4.1 嵌套示例151
9.4.2 嵌套的效率152
9.4.3 循环嵌套程序的常见错误153
9.5 与循环密切相关的流程转向控制语句154
9.5.1 用break跳出循环154
9.5.2 用continue重来一次155
9.5.3 用goto实现跳转156
9.6 小结157
9.7 习题157
第二篇 一窥C语言门径
第10章 同一类型多个元素的集合——简单数组159
10.1 什么是数组159
10.1.1 数组是一大片连续内存空间159
10.1.2 数组元素的访问160
10.2 一维数组160
10.2.1 一维数组的声明160
10.2.2 一维数组元素的访问161
10.2.3 一维数组的初始化162
10.2.4 不合法的数组操作163
10.3 二维数组164
10.3.1 二维数组的声明164
10.3.2 二维数组的初始化164
10.3.3 二维数组应用举例165
10.4 更高维的数组166
10.4.1 高维数组的声明和元素访问166
10.4.2 初始化166
10.4.3 多维数组在内存中是如何排列元素的167
10.5 小结168
10.6 习题168
第11章 写程序就是写函数——函数入门170
11.1 什么是函数170
11.1.1 函数的由来170
11.1.2 C语言中的函数170
11.2 自定义函数171
11.2.1 函数定义语法171
11.2.2 函数定义范例172
11.2.3 不要重复定义173
11.3 函数调用与返回173
11.3.1 形参和实参174
11.3.2 传址调用175
11.3.3 函数返回176
11.4 告诉编译器有这么一个函数177
11.4.1 函数声明的语法177
11.4.2 声明不同于定义179
11.4.3 标准库函数的声明180
11.5 函数的调用过程180
11.6 小结180
11.7 习题180
第12章 C语言难点——指针初探182
12.1 计算机中的内存182
12.1.1 内存地址182
12.1.2 内存中保存的内容183
12.1.3 地址就是指针183
12.2 指针的定义183
12.2.1 指针变量的声明183
12.2.2 指针变量的初始化184
12.2.3 指针变量的值185
12.2.4 取地址操作符&185
12.2.5 指针变量占据一定的内存空间185
12.2.6 指向指针的指针186
12.2.7 指针变量常见的错误分析与解决186
12.3 使用指针187
12.3.1 运算符*188
12.3.2 指针的类型和指针所指向的类型189
12.3.3 同类型指针的赋值189
12.3.4 void指针190
12.3.5 指针的类型和指针所指向的类型不同190
12.4 指针的运算192
12.4.1 算术运算之“指针+整数”或“指针-整数”192
12.4.2 指针-指针193
12.4.3 指针的大小比较194
12.5 指针表达式与左值194
12.5.1 指针与整型194
12.5.2 指针与左值195
12.5.3 指针与const195
12.6 动态内存分配196
12.6.1 动态分配的好处196
12.6.2 malloc与free函数197
12.6.3 calloc与free198
12.6.4 free函数与指针199
12.6.5 内存泄漏199
12.6.6 释放已经释放了的内存会出问题200
12.7 小结200
12.8 习题200
第13章 字符串及字符串操作202
13.1 C风格字符串202
13.1.1 C风格字符串的声明202
13.1.2 C风格字符串在内存中的表示202
13.2 字符数组的输入输出203
13.2.1 字符数组的声明203
13.2.2 字符数组可以进行整体输入输出204
13.2.3 使用gets()函数读取整行205
13.2.4 访问字符数组中某个元素205
13.2.5 使用puts()函数实现字符串的输出206
13.2.6 使用字符数组的常见问题206
13.3 字符串处理函数207
13.3.1 理解:数组名是常指针208
13.3.2 strlen()函数与size_t210
13.3.3 字符串复制函数strcpy()211
13.3.4 字符串比较函数strcmp()212
13.3.5 字符串连接函数strcat()213
13.3.6 全转换为大写形式213
13.3.7 链式操作214
13.4 小结214
13.5 习题215
第14章 结构体、共用体、枚举和typedef216
14.1 结构体216
14.1.1 结构体的定义216
14.1.2 声明结构体变量217
14.1.3 初始化结构变量218
14.1.4 访问结构体成员218
14.1.5 结构体定义的位置219
14.1.6 结构体变量赋值219
14.2 特殊结构体220
14.2.1 结构体嵌套220
14.2.2 匿名结构体223
14.3 共用体224
14.3.1 什么是共用体224
14.3.2 共用体的定义224
14.3.3 声明共用体变量225
14.3.4 共用体变量的初始化225
14.3.5 共用体成员访问225
14.3.6 共用体赋值226
14.4 结构体和共用体的内存差异226
14.4.1 结构体变量和共用体变量内存形式的不同227
14.4.2 结构体变量的内存大小227
14.4.3 字节对齐228
14.4.4 最宽基本类型228
14.4.5 共用体的大小229
14.5 枚举类型230
14.5.1 什么是枚举类型230
14.5.2 枚举类型的定义230
14.5.3 声明枚举变量231
14.5.4 枚举常量是什么231
14.5.5 使用枚举时常见的错误232
14.6 给类型取个别名——typedef233
14.6.1 typedef基本用法233
14.6.2 #define用法233
14.7 小结234
14.8 习题234
第15章 如何节省内存——位运算235
15.1 什么是位运算235
15.1.1 开灯关灯235
15.1.2 改变状态235
15.1.3 计算机中的数据存储形式236
15.2 位逻辑运算符237
15.2.1 位取反操作237
15.2.2 位与运算237
15.2.3 位或运算237
15.2.4 位异或238
15.2.5 实例分析238
15.3 移位运算239
15.3.1 基本形式239
15.3.2 移位举例239
15.3.3 移位和乘以2241
15.4 小结241
15.5 习题241
第三篇 C语言进阶主题
第16章 存储不仅仅局限于内存——文件243
16.1 什么是文件243
16.1.1 文件243
16.1.2 流244
16.1.3 重定向244
16.1.4 文件的处理形式——缓冲区和非缓冲区245
16.1.5 文件的存储形式——文本形式和二进制形式245
16.2 C语言如何使用文件245
16.2.1 文件型指针245
16.2.2 文件操作的步骤246
16.3 文件的打开与关闭246
16.3.1 用于打开文件的fopen()函数247
16.3.2 打开是否成功248
16.3.3 用于关闭文件的fclose()函数249
16.4 文件的读写249
16.4.1 读写的相对参照249
16.4.2 如何判断文件已经结束249
16.4.3 字符读写函数fgetc()和fputc()250
16.4.4 字符串读写函数fgets()和fputs()251
16.4.5 块读写函数fread()和fwrite()253
16.4.6 格式化文件输入输出fprintf()与fscanf()256
16.5 文件的定位258
16.5.1 移动指针到文件开头rewind()258
16.5.2 移动指针到当前位置ftell()258
16.5.3 移动指针fseek()258
16.6 小结260
16.7 习题260
第17章 灵活却难以理解——指针进阶262
17.1 指针与数组262
17.1.1 数组名指针262
17.1.2 使用数组名常指针表示数组元素263
17.1.3 指向数组元素的指针变量263
17.1.4 指向数组的指针变量264
17.1.5 指针数组265
17.1.6 指针与数组的常见问题266
17.2 指针、结构体和结构体数组266
17.2.1 两种访问形式266
17.2.2 声明创建一个结构体数组267
17.2.3 结构体数组的初始化267
17.2.4 结构体数组的使用268
17.2.5 指向结构体数组的指针268
17.3 函数指针269
17.3.1 函数名指针269
17.3.2 指向函数的指针270
17.3.3 函数指针类型272
17.3.4 函数指针作函数参数273
17.3.5 函数指针数组274
17.3.6 指向函数指针的指针275
17.4 小结275
17.5 习题276
第18章 更深入的理解——函数进阶277
18.1 参数传递的副本机制277
18.1.1 传值调用的副本277
18.1.2 传址调用的副本机制278
18.2 函数返回值的副本机制281
18.2.1 return 局部变量为什么合法281
18.2.2 返回指针申请动态内存282
18.2.3 不要返回指向栈内存的指针282
18.2.4 返回指向只读存储区的指针283
18.3 函数与结构体283
18.3.1 结构体变量的传值和传址调用283
18.3.2 结构体变量的成员作为函数参数284
18.3.3 返回结构体的函数285
18.3.4 返回结构体指针的函数286
18.4 函数与数组286
18.4.1 数组元素作为函数参数286
18.4.2 数组名作为函数参数287
18.4.3 多维数组名作为函数参数289
18.4.4 数组名作函数参数时的退化290
18.5 递归290
18.5.1 递归流程290
18.5.2 递归两要素292
18.5.3
— 没有更多了 —
以下为对购买帮助不大的评价