种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

标準C程式设计(第5版)

(2019-08-16 01:12:51) 百科综合
标準C程式设计(第5版)

标準C程式设计(第5版)

《标準C程式设计(第5版)》是一本E Balagurusamy编制,在2011-9-9出版的书籍。

基本介绍

  • 书名:标準C程式设计(第5版)
  • 作者:E Balagurusamy
  • 译者:金名等
  • ISBN:978730226184
  • 装帧:平装
  • 印刷日期:2011-9-9

内容简介

C语言是所有本科生课程的一门核心课,也是现今使用最广泛的计算机语言。国内国外的C语言图书已经非常多了,但通过本书的翻译,我们觉得这本书还是很有引进价值的,具体表现在它的以下几个特点上:
* 本书基于最新的C语言标準。
* 附录IV给出了4个完整的应用程式开发示例。
标準C程式设计(第5版)
* 扩展讨论了C的指针。
* 每章后面的“谨记”一节给出了很有用的编程提示以及容易出错的问题。
* 每章后面的案例学习给出了20多个真实的开发,展示了C程式的设计过程。
* 80多个程式设计範例向读者阐述了良好程式设计的基本原则。
* 还有近200个複习题和130多个项目设计题。
总之,本书的语言简洁易懂,示例非常丰富且具有很强的实际指导意义,是一本很好的C程式设计的教材。
本书的前面版本被印度的很多学院和大学用作教材。在过去的几年中,本书还被一些重要的软体培训与开发公司用作培训教材。
由于本书的独特性、与众不同的学习方法以及简明的写作风格,本书第3版和第4版在国内出版已受到国内学生和老师的欢迎。

目 录

第1章 C语言概述 1
1.1 C语言的历史 1
1.2 C语言的主要特性 2
1.3 示例程式1:显示一条讯息 3
1.4 示例程式2:两个数相加 6
1.5 示例程式3:利息计算 7
1.6 示例程式4:子例程的使用 9
1.7 示例程式5:数学函式的使用 10
1.8 C程式的基本结构 12
1.9 编程风格 13
1.10 运行一个程式 13
1.11 UNIX系统环境下 14
1.11.1 创建程式 14
1.11.2 编译与连结 15
1.11.3 运行程式 15
1.11.4 创建自己的可运行档案 16
1.11.5 多个源档案问题 16
1.12 MS-DOS系统环境下 17
第2章 常量、变数及数据类型 22
2.1 概述 22
2.2 字元集 22
三元字元 23
2.3 C标记符 23
2.4 关键字与标识符 24
2.5 常量 24
2.5.1 整型常量 24
2.5.2 实数常量 25
2.5.3 单字元常量 27
2.5.4 字元串常量 27
2.5.5 反斜槓字元常量 27
2.6 变数 28
2.7 数据类型 29
2.7.1 整数型 30
2.7.2 浮点数类型 30
2.7.3 void类型 31
2.7.4 字元类型 31
2.8 变数的声明 31
2.8.1 基本类型的声明 31
2.8.2 自定义类型的声明 33
2.9 存储类的声明 34
2.10 变数的赋值 35
2.10.1 赋值语句 36
2.10.2 从键盘读取数据 38
2.11 符号常量的定义 40
2.11.1 可修改性 40
2.11.2 可理解性 41
2.12 将变数声明为常量 42
2.13 将变数声明为可变的 42
2.14 数据的溢出 42
2.15 案例学习 43
2.15.1 平均数计算 43
2.15.2 温度转换问题 44
第3章 运算符与表达式 49
3.1 概述 49
3.2 算术运算符 49
3.2.1 整数算术运算 50
3.2.2 实数算术运算 50
3.2.3 混合算术运算 51
3.3 关係运算符 51
3.4 逻辑运算符 53
3.5 赋值运算符 54
3.6 递增和递减运算符 55
3.7 条件运算符 56
3.8 逐位运算符 57
3.9 特殊运算符 57
3.9.1 逗号运算符 57
3.9.2 sizeof运算符 58
3.10 算术表达式 59
3.11 表达式的计算 60
3.12 算术表达式的优先权 61
3.13 一些可计算性问题 62
3.14 表达式中的类型转换 63
3.14.1 隐式类型转换 63
3.14.2 显式类型转换 65
3.15 运算符的优先权及其关联 67
3.16 数学函式 68
3.17 案例学习 69
3.17.1 销售人员的工资 69
3.17.2 二次方程的求解 70
第4章 输入输出操作管理 78
4.1 概述 78
4.2 读取一个字元 78
4.3 写字元 81
4.4 格式化输入 82
4.4.1 整数输入 83
4.4.2 实数输入 85
4.4.3 字元串输入 86
4.4.4 混合数据类型的读取 88
4.4.5 错误输入的检测 88
4.4.6 使用scanf函式时应记住的
几个要点 90
4.5 格式化输出 91
4.5.1 整数的输出 91
4.5.2 实数的输出 92
4.5.3 单个字元的显示 94
4.5.4 字元串的显示 95
4.5.5 混合数据的输出 96
4.5.6 提高输出的可读性 97
4.6 案例学习 98
4.6.1 库存报告 98
4.6.2 可靠性图形 100
第5章 判断与分支 106
5.1 概述 106
5.2 if判断语句 106
5.3 简单if语句 107
5.4 if...else语句 110
5.5 嵌套if...else语句 113
5.6 阶梯式else if语句 116
5.7 switch语句 119
5.8 : 运算符 122
5.9 goto语句 125
5.10 案例学习 128
5.10.1 数值的分布範围 128
5.10.2 账单计算 129
第6章 判断与循环 140
6.1 概述 140
6.2 while语句 142
6.3 do语句 144
6.4 for语句 146
6.4.1 简单的for循环语句 146
6.4.2 for循环的其他特性 149
6.4.3 for循环的嵌套 150
6.5 循环中的跳转 153
6.5.1 跳出循环 153
6.5.2 跳过循环的一部分 157
6.5.3 避免使用goto语句 159
6.5.4 跳出程式 159
6.6 简洁的测试表达式 160
6.7 案例学习 161
6.7.1 二项式係数表 161
6.7.2 柱状图 162
6.7.3 最小成本 164
6.7.4 描绘两函式的曲线图 165
第7章 数组 175
7.1 概述 175
7.2 一维数组 176
7.3 一维数组的声明 177
7.4 一维数组的初始化 179
7.4.1 编译时初始化 180
7.4.2 运行时初始化 181
7.5 二维数组 183
7.6 二维数组的初始化 187
7.7 多维数组 191
7.8 动态数组 192
7.9 与数组相关的其他内容 192
7.10 案例学习 193
7.10.1 数列的中值问题 193
7.10.2 标準偏差的计算 196
7.10.3 测试评分 197
7.10.4 产品与销售分析 200
第8章 字元数组与字元串 212
8.1 概述 212
8.2 字元串变数的声明与初始化 212
8.3 使用scanf函式从终端读取
字元串 214
8.3.1 读取一行文本 216
8.3.2 使用getchar和gets函式 216
8.4 在萤幕上显示字元串 218
8.4.1 使用printf函式 218
8.4.2 使用putchar和puts函式 222
8.5 字元的算术运算 222
8.6 将字元串组合在一起 224
8.7 两个字元串的比较 225
8.8 字元串处理函式 226
8.8.1 strcat( )函式 226
8.8.2 strcmp( )函式 227
8.8.3 strcpy( )函式 228
8.8.4 strlen( )函式 228
8.8.5 其他字元串函式 229
8.9 字元串表 231
8.10 字元串的其他特性 233
8.11 案例学习 234
8.11.1 计算文本中的字数 234
8.11.2 客户列表处理程式 236
第9章 用户自定义函式 243
9.1 概述 243
9.2 为什幺需要自定义函式 243
9.3 多函式程式 244
9.4 自定义函式的元素 246
9.5 函式的定义 246
9.5.1 函式头 247
9.5.2 函式名与类型 247
9.5.3 形参列表 247
9.5.4 函式体 248
9.6 返回值及其类型 249
9.7 函式调用 250
9.8 函式声明 252
9.9 函式的类型 254
9.10 无参数无返回值的函式 254
9.11 有参数无返回值的函式 256
9.12 有参数有返回值的函式 259
返回浮点值 261
9.13 无参数但有一个返回值的函式 262
9.14 返回多个值的函式 263
9.15 函式的嵌套 264
9.16 函式的叠代 265
9.17 将数组传递给函式 266
9.17.1 一维数组 266
9.17.2 二维数组 270
9.18 将字元串传递给函式 270
9.19 变数的作用域、可见性和生存期 271
9.19.1 自动变数 272
9.19.2 外部变数 273
9.19.3 外部声明 276
9.19.4 静态变数 277
9.19.5 暂存器变数 278
9.19.6 嵌套代码块 279
9.20 多档案程式 280
9.21 案例学习 283
曲线下的面积计算 283
第10章 结构体与共用体 292
10.1 概述 292
10.2 结构体的定义 292
10.3 声明结构体变数 293
10.4 访问结构体成员 295
10.5 结构体的初始化 296
10.6 结构体变数的複製与比较 298
10.7 单个成员的运算 299
10.8 结构数组 300
10.9 结构体中的数组 302
10.10 结构体中的结构体 303
10.11 结构体与函式 305
10.12 共用体 308
10.13 结构体的大小 309
10.14 位域 309
10.15 案例学习 312
书店库存 312
第11章 指针 322
11.1 概述 322
11.2 理解指针 322
11.3 访问变数的地址 324
11.4 指针变数的声明 325
11.5 指针变数的初始化 326
11.6 通过指针访问变数 328
11.7 指针链 330
11.8 指针表达式 330
11.9 指针的递增与比例因子 332
11.10 指针与数组 333
11.11 指针与字元串 336
11.12 指针数组 338
11.13 指针作为函式的参数 339
11.14 函式返回指针 342
11.15 指向函式的指针 342
11.16 指针与结构体 345
11.17 案例学习 348
11.17.1 考试成绩处理程式 348
11.17.2 库存更新程式 351
第12章 档案管理 357
12.1 概述 357
12.2 定义并打开档案 358
12.3 关闭档案 359
12.4 档案的输入输出操作 360
12.4.1 getc与putc函式 360
12.4.2 getw和putw函式 361
12.4.3 fprintf与fscanf函式 363
12.5 I/O操作的错误处理 365
12.6 随机访问档案 367
12.7 命令行参数 372
第13章 动态记忆体分配与鍊表 377
13.1 概述 377
13.2 动态记忆体分配 377
记忆体分配过程 377
13.3 用malloc函式分配一块记忆体 378
13.4 用calloc函式分配多个记忆体块 380
13.5 用free函式释放已用的空间 380
13.6 用realloc函式改变记忆体块的
大小 381
13.7 鍊表的概念 382
13.8 鍊表的优点 385
13.9 鍊表的种类 386
13.10 再论指针 386
13.11 创建鍊表 388
13.12 插入一个数据项 391
13.13 删除一个数据项 394
13.14 鍊表的套用 396
13.15 案例学习 397
13.15.1 在已排序鍊表中插入
数据 397
13.15.2 构建一个已排序的
鍊表 401
第14章 预处理器 407
14.1 概述 407
14.2 宏替换指令 407
14.2.1 简单宏替换 408
14.2.2 含参数的宏 410
14.2.3 宏嵌套 411
14.2.4 取消宏定义 411
14.3 档案包含 412
14.4 编译器控制指令 412
14.4.1 情形1 413
14.4.2 情形2 414
14.4.3 情形3 414
14.4.4 情形4 414
14.5 ANSI C的其他预处理器指令 415
14.5.1 #elif指令 416
14.5.2 #pragma指令 416
14.5.3 #error指令 416
14.5.4 字元串化运算符# 417
14.5.5 标记符贴上运算符## 417
第15章 C程式开发指导原则 420
15.1 概述 420
15.2 程式设计 420
15.2.1 问题分析 420
15.2.2 勾勒程式结构 420
15.2.3 算法开发 421
15.2.4 控制结构 421
15.3 程式编码 422
15.3.1 自身文档化 422
15.3.2 语句构造 423
15.3.3 输入/输出格式 423
15.3.4 程式的通用性 423
15.4 常见的程式错误 424
15.4.1 丢失分号 424
15.4.2 误用分号 424
15.4.3 丢失括弧 425
15.4.4 丢失引号 426
15.4.5 误用引号 426
15.4.6 使用不正确的注释字元 426
15.4.7 未定义变数 427
15.4.8 忽视了运算符的优先权 427
15.4.9 忽视了递增递减运算符的
计算顺序 428
15.4.10 忽视了函式参数的说明 428
15.4.11 在函式调用中实参和
形参类型不匹配 428
15.4.12 函式未声明 428
15.4.13 在scanf的参数中丢失了
&运算符 429
15.4.14 超出了数组的边界 429
15.4.15 忘记了给字元串的空字元
留出空间 430
15.4.16 使用未初始化的指针 430
15.4.17 丢失了间接运算符和
地址运算符 430
15.4.18 在指针表达式中
丢失括弧 431
15.4.19 在宏定义语句中参数
遗漏了括弧 431
15.5 程式测试与调试 431
15.5.1 错误的类型 432
15.5.2 程式测试 432
15.5.3 程式调试 433
15.6 程式的效率 434
15.6.1 运行时间 434
15.6.2 记忆体需求 434
附录Ⅰ 位级程式设计 436
Ⅰ.1 概述 436
Ⅰ.2 逐位逻辑运算符 436
Ⅰ.2.1 逐位与操作 436
Ⅰ.2.2 逐位或操作 438
Ⅰ.2.3 逐位非或操作 438
Ⅰ.3 逐位移位运算符 438
Ⅰ.4 逐位求反运算符 439
Ⅰ.5 掩码计算 440
附录Ⅱ 字元的ASCII值 441
附录Ⅲ 标準C的库函式 442
附录Ⅳ 项目设计 445
Ⅳ.1 库存管理系统 445
Ⅳ.2 登录记录系统 467
Ⅳ.3 鍊表 487
Ⅳ.4 矩阵相乘 495
附录Ⅴ C99的特性 498
Ⅴ.1 概述 498
Ⅴ.2 新关键字 498
Ⅴ.3 新注释 498
Ⅴ.4 新数据类型 499
Ⅴ.4.1 _Bool类型 499
Ⅴ.4.2 _Complex和_Imaginary
类型 499
Ⅴ.4.3 long long类型 499
Ⅴ.5 变数声明 500
Ⅴ.6 I/O格式化的变化 500
Ⅴ.7 数组处理 500
Ⅴ.7.1 可变长度数组 501
Ⅴ.7.2 数组声明中的类型说明 501
Ⅴ.7.3 结构的灵活数组成员 501
Ⅴ.8 函式实现 501
Ⅴ.8.1 默认为inline类型的
规则 502
Ⅴ.8.2 显式函式定义 502
Ⅴ.8.3 return语句的限制 502
Ⅴ.8.4 声明函式为inline 503
Ⅴ.9 受限指针 503
Ⅴ.10 编译器限制的变化 504
Ⅴ.11 其他改进 504
参考文献 505

标 签

搜索
随机推荐

Powered By 种豆资源网||