图书介绍
C语言程序设计PDF|Epub|txt|kindle电子书版本网盘下载
![C语言程序设计](https://www.shukui.net/cover/8/30938509.jpg)
- 甘勇主编;李晔,卢冰副主编 著
- 出版社: 北京:中国铁道出版社
- ISBN:9787113186043
- 出版时间:2014
- 标注页数:339页
- 文件大小:53MB
- 文件页数:352页
- 主题词:C语言-程序设计-高等学校-教材
PDF下载
下载说明
C语言程序设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 引言1
1.1 计算机与程序设计语言2
1.1.1 程序存储思想2
1.1.2 程序设计语言的发展3
1.2 C语言的发展简史4
1.2.1 C语言的起源4
1.2.2 C语言的发展5
1.2.3 C语言的特点6
1.3 第一个C程序7
1.3.1 编辑源程序7
1.3.2 编译、链接和运行8
1.3.3 程序开发周期9
1.4 剖析一个简单的程序9
1.5 简单程序举例12
习题14
第2章 简单C程序设计17
2.1 温度转换18
2.1.1 内存18
2.1.2 变量19
2.1.3 整数类型19
2.1.4 变量的声明和使用20
2.1.5 赋值运算21
2.1.6 格式化输出函数printf()22
2.2 使用浮点数进行温度转换24
2.2.1 浮点变量类型24
2.2.2 浮点数据的输出25
2.2.3 常量26
2.3 对任意华氏温度进行温度转换27
2.3.1 用scanf()读入整型数据28
2.3.2 用scanf()读入浮点数据29
2.3.3 格式控制字符串中的普通字符29
2.4 基本运算符30
2.4.1 算术运算30
2.4.2 类型转换32
2.5 计算两点间的距离33
2.5.1 常用数学函数34
2.5.2 计算整数的位数35
习题35
第3章 分支结构37
3.1 单分支if语句38
3.1.1 伪代码39
3.1.2 关系运算39
3.1.3 复合语句41
3.2 双分支if语句43
3.2.1 条件表达式44
3.2.2 嵌套的if……else45
3.2.3 逻辑运算符和逻辑表达式46
3.3 判断字母大小写48
3.3.1 字符类型48
3.3.2 字符型数据的输入/输出49
3.3.3 复合赋值语句50
3.4 多分支if语句50
3.5 switch语句52
3.5.1 switch语句的一般形式52
3.5.2 break在switch中的灵活运用54
3.5.3 四则运算(加强版)57
3.5.4 浮点数据60
3.6 运算符与表达式61
习题63
第4章 循环结构65
4.1 while循环语句67
4.2 for循环语句68
4.2.1 for语句的基本格式68
4.2.2 for语句的注意事项70
4.2.3 自增自减运算符71
4.2.4 最大值74
4.2.5 极限常量75
4.3 求数列的和76
4.4 输出阶乘表80
4.4.1 类型溢出问题81
4.4.2 逗号运算符及其表达式82
4.4.3 计算数列a,aa,aaa,…的前n项和83
4.5 标记控制的循环84
4.5.1 再谈while语句86
4.5.2 字符的分类统计88
4.5.3 计算n的位数89
4.5.4 do语句89
4.6 break和continue90
4.6.1 循环中的break90
4.6.2 循环中的continue92
4.7 多重循环与goto语句94
4.7.1 多重循环94
4.7.2 goto语句96
4.8 多实例测试97
4.9 表达式的求值顺序与副效应102
习题104
第5章 函数107
5.1 模块化程序设计108
5.2 函数的基本概念109
5.2.1 求最大值109
5.2.2 函数的定义110
5.2.3 函数的调用112
5.2.4 函数原型113
5.2.5 return语句114
5.2.6 按值传递机制115
5.3 使用函数编写程序115
5.3.1 素数表116
5.3.2 验证哥德巴赫猜想117
5.3.3 组合数118
5.4 变量的存储类型119
5.5 局部变量和外部变量120
5.5.1 局部变量121
5.5.2 静态局部变量122
5.5.3 外部变量123
5.6 函数的递归调用124
5.6.1 递归的基本思想124
5.6.2 最大公约数125
5.6.3 最近共同祖先125
习题127
第6章 数组129
6.1 一维数组130
6.1.1 一维数组的定义和引用130
6.1.2 一维数组初始化131
6.1.3 数组元素的查找134
6.1.4 在有序序列里插入新元素135
6.1.5 比较交换排序136
6.2 数组作为函数参数138
6.3 一维数组应用举例141
6.3.1 最佳校友奖141
6.3.2 字母使用频率统计143
6.3.3 集合的合并——利用有序关系简化问题144
6.3.4 二分搜索147
6.4 二维数组148
6.4.1 二维数组的定义和引用148
6.4.2 二维数组的初始化148
6.5 二维数组应用举例149
6.5.1 各门课的平均分149
6.5.2 随机矩阵的最大值151
6.5.3 日期计算153
习题154
第7章 字符数组与字符串157
7.1 字符型数据158
7.1.1 字符型数据的存储158
7.1.2 转义序列159
7.1.3 字符数据的输入问题160
7.1.4 处理字符的函数161
7.2 字符数组与字符串162
7.2.1 统计空格163
7.2.2 字符数组的初始化163
7.2.3 字符串的输入/输出164
7.3 常用字符串函数165
7.3.1 string.h中的字符串处理函数165
7.3.2 stdlih.h中的字符串转换函数167
7.3.3 stdio.h中的字符串函数168
7.4 字符串应用举例169
7.4.1 统计单词个数169
7.4.2 多个二进制数排序171
7.4.3 最大值(多种进制)172
7.4.4 将一个十进制整数转换为二进制输出173
7.5 字符串数组174
习题175
第8章 指针177
8.1 什么是指针178
8.1.1 计算机内存的使用178
8.1.2 指针的概念179
8.2 指针变量的声明和初始化180
8.2.1 指针变量的声明180
8.2.2 指针变量的初始化180
8.2.3 指针和数据类型181
8.3 指针的基本运算182
8.4 指针作为函数的参数183
8.5 指针与const限定符187
8.6 一维数组与指针190
8.6.1 指针的算术运算和关系运算190
8.6.2 指针和数组的关系193
8.6.3 数组作函数参数的本质195
8.7 返回值为指针的函数197
8.8 指针与字符串198
8.8.1 字符串常量198
8.8.2 使用指针处理字符串199
8.8.3 字符数组与字符指针203
8.9 用指针实现内存动态分配205
8.9.1 使用malloc()函数为数组分配内存205
8.9.2 释放动态分配的内存206
8.9.3 其他动态内存分配函数206
习题207
第9章 结构211
9.1 结构定义212
9.1.1 使用结构的原因212
9.1.2 定义结构类型和结构变量213
9.1.3 使用typedef定义数据类型215
9.1.4 初始化结构体变量215
9.1.5 将一个结构作为另一个结构的成员216
9.1.6 访问结构成员217
9.2 结构数组与指针219
9.2.1 结构数组220
9.2.2 结构指针222
9.2.3 用指针访问结构数组223
9.3 结构与函数224
9.3.1 结构作为函数的参数225
9.3.2 结构指针作为函数参数226
9.3.3 结构作为函数的返回值226
9.4 单链表227
9.4.1 单链表类型定义228
9.4.2 单链表的操作228
9.5 联合与枚举233
9.5.1 联合233
9.5.2 联合指针234
9.5.3 联合的初始化235
9.5.4 联合与结构235
9.5.5 枚举236
习题237
第10章 指针进阶239
10.1 指针与二维数组240
10.1.1 用一级指针访问二维数组240
10.1.2 指向数组的指针240
10.1.3 二维数组名242
10.2 指针数组244
10.2.1 动态申请和释放二维数组244
10.2.2 用指针数组处理多个字符串245
10.3 带参数的main()函数249
10.4 指向函数的指针251
习题256
第11章 C预处理257
11.1 预处理器的工作原理258
11.2 预处理指令259
11.3 #define预处理指令259
11.3.1 符号常量260
11.3.2 带参数的宏260
11.4 文件包含263
11.4.1 多文件程序263
11.4.2 include指令263
11.4.3 文件之间如何共享信息263
11.5 条件编译265
习题267
第12章 文件269
12.1 文件概述270
12.1.1 一个简单的文件操作程序270
12.1.2 C文件的分类271
12.1.3 缓冲文件系统271
12.1.4 文件指针272
12.2 文件的打开和关闭273
12.2.1 文件打开函数fopen()273
12.2.2 文件关闭函数fclose()275
12.2.3 输入/输出重定向函数freopen()275
12.3 文件的读/写操作276
12.3.1 字符读/写函数fgetc()和fputc()276
12.3.2 字符串读/写函数fgets()和fputs()278
12.3.3 格式化文件读/写函数fscanf()和fprintf()279
12.3.4 数据块读/写函数fread()和fwrite()280
12.4 文件的其他操作281
12.4.1 文件定位函数281
12.4.2 文件检测282
12.5 文件应用实例283
习题294
第13章 计算思维与常用算法295
13.1 模拟296
13.1.1 校门外的树296
13.1.2 约瑟夫问题297
13.2 随机化算法301
13.2.1 计算圆周率近似值301
13.2.2 洗牌发牌模拟303
13.3 空间换时间306
13.3.1 筛选法求素数307
13.3.2 验证哥德巴赫猜想(加强版)308
13.3.3 分解素因数310
13.4 递归313
13.4.1 计算实数的整数幂314
13.4.2 计算连通区域面积315
13.5 贪心算法317
13.5.1 活动安排问题317
13.5.2 部分背包问题319
13.6 动态规划算法321
13.6.1 游戏币问题321
13.6.2 最长单调序列323
习题324
附录329
附录A 常用字符与ASCII代码对照表330
附录B C语言中的关键字331
附录C 运算符和结合性332
附录D C库函数333
附录E C99相对于C89的新特性(部分)338
参考文献339