图书介绍
程序设计基础 C992025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 姜沐著 著
- 出版社: 南京:东南大学出版社
- ISBN:9787564160562
- 出版时间:2015
- 标注页数:404页
- 文件大小:78MB
- 文件页数:418页
- 主题词:C语言-程序设计
PDF下载
下载说明
程序设计基础 C99PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 预备知识1
1.1 什么是编程1
1.1.1 计算机如何工作1
1.1.2 内存中的程序来自何处4
1.1.3 如何制作可执行文件4
1.2 怎样用C语言编程7
1.2.1 学习C语言编程的条件7
1.2.2 编写最简单的C程序8
1.3 输出字符序列12
1.3.1 输出指定图案12
1.3.2 printf()函数的简单用法12
1.3.3 编写代码及测试13
1.3.4 一些特殊字符的输出14
1.4 C语言的“字母”和“单词”16
1.4.1 C语言的“字母”16
1.4.2 C语言的“单词”17
第2章 整数类型及其五则运算21
2.1 整数常量21
2.1.1 输出12321
2.1.2 整数常量的写法21
2.1.3 用printf()函数输出整数值22
2.1.4 整数常量的局限23
2.2 整数类型的五则运算23
2.2.1 加法运算23
2.2.2 减法运算24
2.2.3 乘法运算24
2.2.4 关于除法的两个运算27
2.2.5 数据类型29
2.3 让程序“记忆”数据——变量30
2.3.1 填数问题30
2.3.2 用变量解决问题35
2.4 其他整数类型38
2.4.1 unsigned类型39
2.4.2 short、long和long long类型40
2.4.3 字符类型42
2.5 卡片问题44
2.6 运行时输入数据——调用scanf()函数48
2.6.1 scanf()函数概述48
2.6.2 scanf()函数的应用49
2.6.3 scanf()函数注意事项50
2.6.4 良好的风格51
第3章 运算符、表达式及语句52
3.1 运算符的基本概念52
3.1.1 运算符52
3.1.2 操作数52
3.1.3 运算符的种类52
3.2 表达式(Expression)53
3.2.1 表达式的种类53
3.2.2 认识表达式53
3.2.3 表达式的作用与副效应54
3.2.4 表达式的左值与右值57
3.3 运算符的优先级和结合性58
3.3.1 从sizeof说起58
3.3.2 优先级的概念58
3.3.3 结合性的概念59
3.4 语句(Statement)60
3.4.1 什么是语句60
3.4.2 什么不是语句62
3.4.3 关于语句的误区62
3.5 算法与数据结构62
3.5.1 算法及其特性63
3.5.2 分橘子问题63
3.5.3 算法的优化65
3.5.4 什么是数据结构66
3.5.5 找对手问题66
3.5.6 大数相加67
3.5.7 算法的表示70
第4章 选择与判断72
4.1 if语句72
4.1.1 语法形式72
4.1.2 判断奇偶问题73
4.1.3 防患未然74
4.1.4 对if语句的详细说明76
4.2 判等运算、关系运算及逻辑运算78
4.2.1 判等运算78
4.2.2 关系运算82
4.2.3 逻辑运算89
4.3 if-else语句95
4.3.1 代码回顾95
4.3.2 if-else语句的语法形式95
4.3.3 倒水问题97
4.4 难解的嵌套103
4.4.1 自我折磨式写法103
4.4.2 可读性和良好的习惯104
4.4.3 减少嵌套110
4.4.4 另一种风格113
4.5 条件表达式116
4.6 多项选择——switch语句117
4.6.1 先乘电梯再走下楼117
4.6.2 先乘电梯再跳楼121
4.6.3 switch语句的一般形式125
第5章 循环126
5.1 while语句126
5.1.1 while语句的语法要点126
5.1.2 良好风格127
5.1.3 次数确定的循环127
5.1.4 次数不定的循环128
5.1.5 逗号表达式及其应用133
5.2 do-while语句134
5.2.1 统计字符数目问题134
5.2.2 do-while语句的语法要点135
5.2.3 良好风格135
5.2.4 求逆序数问题136
5.3 for语句137
5.3.1 语法要点137
5.3.2 ++、--139
5.3.3 Fibonacci数列140
5.3.4 复杂的循环141
5.3.5 正确书写表达式141
5.4 不规则的循环及对循环的修整142
5.4.1 循环语句中的break语句142
5.4.2 continue语句146
5.5 循环的嵌套与穷举法147
5.5.1 循环的嵌套147
5.5.2 穷举法152
5.6 goto语句155
5.7 浮点类型156
5.7.1 浮点类型数据的存储模型156
5.7.2 float类型、double类型与long double类型156
5.7.3 double类型常量的写法157
5.7.4 浮点类型数据的运算157
5.7.5 浮点类型数据的输出158
5.7.6 浮点类型数据的输入159
5.8 近似计算159
5.8.1 求调和级数和159
5.8.2 误用浮点类型数据161
5.8.3 求一元二次方程的根162
5.8.4 求立方根(迭代和逼进)163
5.8.5 求sin函数值(通项计算)164
第6章 函数及结构化程序设计167
6.1 函数的调用、声明和定义167
6.1.1 从初学者常犯的一个错误谈起167
6.1.2 “()”运算符168
6.1.3 函数类型声明169
6.1.4 函数定义170
6.1.5 return语句173
6.2 结构化程序设计173
6.2.1 限制使用goto语句173
6.2.2 自顶向下174
6.2.3 逐步细化174
6.2.4 模块化174
6.2.5 求调和级数的和174
6.3 递归181
6.3.1 什么是递归181
6.3.2 Hanoi塔问题187
6.3.3 间接递归190
6.4 局部变量的作用域及生存期191
6.4.1 作用域(Scope)191
6.4.2 作用域重叠问题192
6.4.3 对局部变量的进一步修饰192
第7章 指向数据对象的指针196
7.1 传值调用的局限196
7.1.1 约分问题196
7.1.2 对错误的分析197
7.2 什么是指针198
7.2.1 指针是一类数据类型的统称198
7.2.2 指针是派生数据类型198
7.2.3 指针是一类数据的泛称199
7.2.4 指针专用的类型说明符——“*”199
7.2.5 指针的分类199
7.3 指向数据对象的指针200
7.3.1 什么是数据对象200
7.3.2 “&”运算符200
7.3.3 数据指针变量的定义202
7.3.4 指针的赋值运算203
7.3.5 “*”运算符204
7.4 指针的应用与误用206
7.4.1 指针有什么用206
7.4.2 重新构造约分函数209
7.4.3 对指针的误用及预防210
7.4.4 再求分橘子问题210
第8章 数组与指针213
8.1 使用数组213
8.1.1 老式的解决办法213
8.1.2 定义数组213
8.1.3 如何称呼数组中的各个数据对象214
8.1.4 完整的演示214
8.2 深入理解数组215
8.2.1 数组是一种数据类型215
8.2.2 数组定义的含义216
8.2.3 数组名是什么216
8.2.4 一维数组元素的引用217
8.2.5 数组元素引用是一个表达式217
8.2.6 数组名的值218
8.2.7 重复一遍218
8.3 熟练应用一维数组219
8.3.1 一维数组的遍历219
8.3.2 翻卡片问题220
8.3.3 筛法222
8.3.4 一维数组的初始化224
8.4 数组与函数225
8.4.1 数组名的值和类型225
8.4.2 对应的形参225
8.4.3 调用原理226
8.4.4 不可以只有数组名这一个实参227
8.4.5 const关键字228
8.4.6 排序问题231
8.5 一维数组与指针233
8.5.1 数组名是什么233
8.5.2 数据指针与整数的加减法237
8.5.3 数据指针与整数的加法的应用举例238
8.5.4 数据指针的其他运算241
8.5.5 与数组名对应的形参243
8.5.6 指向数组的指针245
8.6 使用指针246
8.6.1 通过指针操作数组246
8.6.2 返回指针的函数249
8.7 二维数组251
8.7.1 二维数组的定义251
8.7.2 二维数组元素的初始化253
8.7.3 二维数组元素的引用和遍历253
8.7.4 向函数传递二维数组255
8.8 高维数组名的性质257
8.8.1 高维数组名是指针257
8.8.2 高维数组名是内存259
8.8.3 a[0]或*a的含义260
8.8.4 数组与指针关系的总结261
第9章 字符串、字符数组及指向字符的指针263
9.1 字符串文字量263
9.1.1 字符串文字量的定义263
9.1.2 字符串文字量的性质264
9.2 字符串的输入与存储266
9.2.1 为输入的字符串准备存储空间266
9.2.2 puts()函数267
9.2.3 字符数组的初始化267
9.3 字符串操作的应用267
9.3.1 求字符串长度267
9.3.2 比较两个字符串的大小269
9.3.3 scanf()函数中的转换271
9.3.4 字符处理库函数275
9.4 常用的字符串函数276
9.4.1 字符串处理库函数276
9.4.2 sscanf()与sprintf()函数278
9.4.3 restrict关键字(C99)及memcpy()函数集278
9.4.4 字符串转换函数279
9.5 main()函数的参数280
9.5.1 指向指针的指针280
9.5.2 main()函数的第二种写法280
9.6 枚举类型282
第10章 结构体与共用体285
10.1 结构体285
10.1.1 从一个简单例题说起285
10.1.2 声明结构体的类型286
10.1.3 定义结构体变量287
10.1.4 结构体数据的基本运算288
10.1.5 结构体变量赋初值及成员值的输入问题290
10.1.6 结构体类型的常量(C99)291
10.1.7 一个不太专业的技巧293
10.1.8 结构体的其他定义方式及无名的结构体294
10.2 结构体与指针295
10.2.1 类型问题295
10.2.2 通过指针读写结构体的成员296
10.3 共用体297
10.3.1 概述297
10.3.2 对double类型的解析299
10.4 位运算301
10.4.1 位运算符301
10.5 位段308
10.5.1 位段概述308
10.5.2 如何定义位段308
10.5.3 位段的性质309
10.5.4 对齐等问题309
第11章 数据类型的深入讨论310
11.1 其他类型的指针310
11.1.1 指向函数的指针310
11.1.2 指向虚无的指针316
11.2 复杂数据类型的构造方法和解读317
11.2.1 复杂数据类型的构造方法317
11.2.2 复杂数据类型的解读321
11.2.3 添乱的const等类型限定符324
11.3 更自由地使用内存325
11.3.1 100!=?325
11.3.2 初级的办法325
11.3.3 使用动态分配内存函数328
11.3.4 改进的方法329
11.3.5 用链表解决问题331
11.4 typedef335
第12章 程序组织与编译预处理337
12.1 编译预处理简介337
12.1.1 预处理的一般特点337
12.1.2 预处理的几个阶段338
12.2 文件包含338
12.3 宏定义与宏替换339
12.3.1 类似对象的宏340
12.3.2 类似函数的宏340
12.3.3 拼接单词342
12.4 预处理命令的其他话题343
12.4.1 再谈宏343
12.4.2 其他编译预处理命令345
12.5 使用外部变量347
12.5.1 外部变量347
12.5.2 static函数350
第13章 程序的输入与输出351
13.1 面向文件的输入与输出351
13.1.1 把程序输出写入文件351
13.1.2 C程序怎样读文件356
13.1.4 fprintf()与printf()函数的等效性362
13.2 文件、流、FILE及FILE363
13.2.1 文件363
13.2.2 流(stream)364
13.2.3 FILE结构体364
13.2.4 FILE364
13.2.5 文本流和二进制流365
13.2.6 自动打开的流366
13.2.7 EOF366
13.2.8 其他几个用于文本文件的I/O函数366
13.3 二进制文件的读写367
13.3.1 二进制流367
13.3.2 用fwrite()函数写二进制文件367
13.3.3 用fread()函数读二进制文件369
13.3.4 feof()函数和ferror()函数370
13.3.5 讨论372
13.4 定位问题372
13.4.1 ftell()函数372
13.4.2 fseek()函数372
13.4.3 rewind()函数373
13.4.4 fgetpos()函数和fsetpos()函数373
第14章 标准库简介374
14.1 使用标准库的一些常识374
14.1.1 标准头与标准头文件374
14.1.2 使用库的禁忌375
14.1.3 并存的宏与函数376
14.1.4 函数定义域问题376
14.2 对语言的补充376
14.2.1 标准定义头文件stddef.h377
14.2.2 iso646.h377
14.2.3 limits.h和float.h378
14.2.4 stdarg.h378
14.2.5 stdbool.h(C99)378
14.2.6 stdint.h(C99)379
14.3 stdio.h380
14.3.1 数据类型380
14.3.2 宏380
14.3.3 函数381
14.4 通用函数头文件:stdlib.h383
14.4.1 数值转换函数383
14.4.2 伪随机数序列生成函数384
14.4.3 内存管理函数384
14.4.4 环境通信函数384
14.4.5 查找与排序函数388
14.4.6 整数算术函数389
14.4.7 多字节、宽字节字符和字符串转换函数389
14.5 string.h389
14.6 数值计算389
14.6.1 math.h(C89)390
14.6.2 math.h(C99)391
14.6.3 complex.h(C99)393
14.6.4 tgmath.h(C99)393
14.6.5 fenv.h(C99)393
附录A C语言的关键字395
附录B C语言的数据类型396
附录C ASCII表397
附录D C语言的运算符398
附录E Dev-C++使用简介399
附录F VC++6.0的使用401
参考文献404
热门推荐
- 1194213.html
- 570406.html
- 3551491.html
- 3168222.html
- 2543415.html
- 1319859.html
- 3219899.html
- 1523544.html
- 2115428.html
- 430526.html
- http://www.ickdjs.cc/book_3446489.html
- http://www.ickdjs.cc/book_315996.html
- http://www.ickdjs.cc/book_469899.html
- http://www.ickdjs.cc/book_1744450.html
- http://www.ickdjs.cc/book_2381186.html
- http://www.ickdjs.cc/book_3631728.html
- http://www.ickdjs.cc/book_2105684.html
- http://www.ickdjs.cc/book_3225779.html
- http://www.ickdjs.cc/book_3760283.html
- http://www.ickdjs.cc/book_2363899.html