图书介绍
C程序设计高级教程PDF|Epub|txt|kindle电子书版本网盘下载
![C程序设计高级教程](https://www.shukui.net/cover/18/30365994.jpg)
- 周立功主编 著
- 出版社: 北京:北京航空航天大学出版社
- ISBN:9787512402164
- 出版时间:2013
- 标注页数:390页
- 文件大小:153MB
- 文件页数:413页
- 主题词:C语言-程序设计-教材
PDF下载
下载说明
C程序设计高级教程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 程序设计基础1
1.1提前引用的概念1
1.2第一个C语言程序1
1.2.1 Hello World1
1.2.2将C语言程序变成可执行程序4
1.3基本数据类型6
1.3.1数据类型6
1.3.2整型数据7
1.3.3浮点型数据10
1.4常量与变量12
1.4.1常量的类型12
1.4.2保留字与标识符14
1.4.3变量的三要素15
1.4.4变量的类型转换21
1.4.5只读变量与易变变量22
1.4.6声明类型的别名(typedef)24
1.5指针25
1.5.1变量的地址与指针变量25
1.5.2指针类变量类型转换33
1.5.3指向指针变量的指针34
1.6深入理解C语言的变量36
1.6.1计算机的存储结构36
1.6.2变量的存储37
1.7运算符40
1.7.1操作数40
1.7.2分类40
1.7.3运算符优先级与结合性41
1.8表达式42
1.8.1表达式的类型42
1.8.2表达式的左值与右值43
1.8.3表达式的副作用44
1.8.4表达式分类44
1.8.5表达式的类型转换48
1.9算术运算符和算术表达式49
1.9.1算术运算符49
1.9.2位操作运算符与位操作算术表达式56
1.10赋值运算符和赋值表达式62
1.10.1赋值运算符62
1.10.2赋值过程中的类型转换63
1.11再论指针63
1.11.1指针运算符与指针表达式63
1.11.2只读指针与可变指针64
1.11.3空指针与未初始化的指针65
1.11.4 void类型指针66
1.12数据的输入与输出67
1.12.1 C语句的分类67
1.12.2标准输入/输出模型68
1.12.3格式化输出71
1.12.4格式化输入75
1.13字符的输入与输出79
1.13.1输出一个字符79
1.13.2输入一个字符80
第2章 简单函数82
2.1函数的定义与声明82
2.1.1函数的定义82
2.1.2函数的声明83
2.2函数的调用84
2.2.1函数的调用形式84
2.2.2传值调用时的数据传递85
2.2.3传址调用时的数据传递89
2.2.4数据传递的深度思考98
2.3函数的返回值99
2.3.1函数返回数值99
2.3.2函数返回地址101
2.4函数参数与内部实现规则102
2.4.1参数类型的检查102
2.4.2用const修饰函数的参数102
2.4.3函数内部实现的规则103
2.5栈与函数103
2.5.1栈的概念103
2.5.2栈的基本操作103
2.5.3函数的调用与返回106
2.6库函数与标准库函数106
第3章 选择结构程序设计108
3.1关系运算符与关系表达式108
3.2用if语句实现选择结构109
3.2.1 if语句110
3.2.2 if-else语句及其嵌套111
3.3逻辑表达式与条件表达式113
3.3.1逻辑运算符与逻辑表达式113
3.3.2条件运算符与条件表达式118
3.4多分支选择结构120
3.4.1 switch语句详解120
3.4.2 break语句122
3.4.3 switch语句嵌套123
3.4.4使用建议124
第4章 循环结构程序设计125
4.1 while与do-while循环125
4.1.1循环控制的需要125
4.1.2用while语句实现循环126
4.1.3用do-while实现循环133
4.1.4 while和do-while循环中的break与continue136
4.2 for循环139
4.2.1用for语句实现循环139
4.2.2 for循环中的break与continue143
4.2.3 for与while的区别147
4.3循环语句的嵌套147
4.3.1与分支语句嵌套147
4.3.2多重循环148
第5章 深入理解指针150
5.1一维数组与指针150
5.1.1数组类型的建立150
5.1.2一维数组变量的定义与初始化151
5.1.3数组变量元素的访问152
5.1.4指针的算术运算161
5.1.5用数组变量名作为函数参数163
5.1.6指向数组变量的指针170
5.2字符数组与指针171
5.2.1字符串与字符数组171
5.2.2指向字符串的指针及字符串的运算174
5.2.3聚焦字符串——存值与存址179
5.2.4字符串的输入与输出181
5.2.5常用字符串处理函数184
5.2.6任意精度算术189
5.3结构体与指针197
5.3.1结构体类型的建立197
5.3.2结构体类型变量的定义198
5.3.3结构体变量的初始化与引用202
5.3.4指向结构体变量的指针205
5.3.5构造类型成员与指针类型成员208
5.4结构体数组与指针209
5.4.1结构体数组的定义209
5.4.2结构体数组变量的初始化与引用211
5.4.3指向结构体数组元素的指针216
5.5枚举与指针217
5.5.1枚举与int217
5.5.2枚举类型的定义217
5.5.3枚举变量的定义218
5.5.4枚举变量的使用与初始化219
5.5.5指向枚举变量的指针221
5.5.6枚举数组与指针221
第6章 变量与函数222
6.1声明与定义222
6.2作用域与可见性222
6.2.1作用域222
6.2.2可见性223
6.3变量的作用域与可见性223
6.3.1全局变量223
6.3.2局部变量226
6.3.3变量可见范围的覆盖227
6.4变量的存储方式与生存期230
6.4.1动态存储方式与静态存储方式230
6.4.2存储方式与生存期的关系230
6.5函数的作用域与可见性232
6.5.1内部函数232
6.5.2外部函数233
第7章 深入理解函数234
7.1函数指针234
7.1.1函数指针变量的定义与初始化234
7.1.2通过函数指针调用函数236
7.1.3用函数指针作为函数的返回值241
7.2软件分层技术244
7.2.1分层设计原则244
7.2.2带有回调的双向数据传递245
7.2.3注册回调机制250
7.3函数的嵌套调用与递归调用257
7.3.1函数的嵌套调用与堆栈257
7.3.2函数的递归调用与堆栈259
第8章 深入理解数组与指针264
8.1复杂指针264
8.1.1指向指针变量的指针与多重指针264
8.1.2指针类型数组267
8.1.3数组类型指针273
8.1.4与结构体相关的复杂指针275
8.2多维数组和指针276
8.2.1二维数组变量的定义276
8.2.2二维数组变量的初始化277
8.2.3二维数组变量的类型277
8.2.4二维数组变量元素的访问278
8.3用复杂指针作为函数参数279
8.3.1用指针数组(双重指针)作为函数参数279
8.3.2用二维数组(数组指针)作为函数参数280
8.4函数指针数组282
8.4.1函数指针数组的定义与初始化282
8.4.2函数指针数组的引用282
第9章 深入理解结构与指针284
9.1复杂结构体类型成员284
9.1.1用另一个结构体作为结构体的成员284
9.1.2用指向结构体的指针作为结构体的成员285
9.1.3用函数指针作为结构体类型的成员287
9.2动态存储分配289
9.2.1申请存储空间290
9.2.2释放存储空间290
9.2.3重新分配存储空间290
9.2.4内存泄漏291
9.3使用结构与指针处理链表292
9.3.1线性表292
9.3.2链表293
9.3.3单向链表294
第10章 流与文件309
10.1概述309
10.1.1外设与文件309
10.1.2流的概念310
10.1.3流与文件的关系310
10.1.4文本流与二进制流310
10.1.5流与缓冲311
10.1.6标准输入/输出311
10.1.7文件操作概述312
10.2文件的基本操作312
10.2.1打开/关闭文件312
10.2.2读流与写流314
10.2.3判断文件结束315
10.2.4文件定位315
10.2.5复制文件示例316
10.3格式化输入/输出318
10.3.1格式化输出318
10.3.2格式化输入319
10.4字符输入/输出320
10.4.1字符输入/输出标准库函数320
10.4.2将输入的字符退回到流中321
10.4.3占用较小RAM空间的文件复制示例322
10.5字符串输入/输出323
10.5.1字符串输入/输出标准库函数323
10.5.2文本复制示例324
10.6其他外部环境接口函数325
10.6.1流与缓冲326
10.6.2标准出错设备327
10.6.3其他函数327
第11章 创建可重用软件模块的技术328
11.1软件危机与开发方法328
11.1.1概述328
11.1.2软件危机329
11.1.3软件开发方法329
11.1.4设计模式330
11.1.5测试驱动开发331
11.2接口与实现332
11.2.1基本概念333
11.2.2结构程序设计334
11.2.3编写自己的头文件337
11.3栈339
11.3.1栈的逻辑结构与存储结构339
11.3.2抽象数据类型341
11.3.3栈抽象342
11.4队列351
11.4.1队列的逻辑结构与存储结构351
11.4.2队列抽象353
11.4.3事件驱动程序设计359
11.5通用双向链表362
11.5.1双向链表362
11.5.2通用双向链表库364
11.5.3接口功能的实现367
11.5.4用单向链表实现ILink.h接口374
11.5.5链栈375
11.5.6链队列377
11.6带迭代器的双向链表379
11.6.1容器、算法与迭代器379
11.6.2双向链表的迭代器接口382
11.6.3基于迭代器的算法接口383
11.6.4遍历算法与搜索算法385
11.6.5容器、算法和迭代器的使用386
参考文献389