当前位置:首页 > 工业技术
标准C程序设计 programing in ansi C eng
标准C程序设计 programing in ansi C eng

标准C程序设计 programing in ansi C engPDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:(印)巴拉古路萨米(Balagurusamy,E.) 金名等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302172451
  • 页数:507 页
图书介绍:本书是印度各大学使用最广的C语言程序设计教材之一。本书在前一版的基础上增加介绍了C99的一些新特性,并增加了不少复习题和项目设计题,而且在附录Ⅳ中给出了4各完整的应用程序开发实例,使得本书的实际应用性更强。
《标准C程序设计 programing in ansi C eng》目录

第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

复习题 17

编程练习 19

第2章 常量、变量及数据类型 22

2.1 概述 22

2.2 字符集 22

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

复习题 46

编程练习 47

第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

复习题 71

编程练习 75

第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

复习题 101

编程练习 104

第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

复习题 132

编程练习 137

第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

复习题 168

编程练习 172

第7章 数组 176

7.1 概述 176

7.2 一维数组 177

7.3 一维数组的声明 178

7.4 一维数组的初始化 180

7.4.1 编译时初始化 181

7.4.2 运行时初始化 182

7.5 二维数组 184

7.6 二维数组的初始化 188

7.7 多维数组 192

7.8 动态数组 193

7.9 与数组相关的其他内容 193

7.10 案例学习 194

7.10.1 数列的中值问题 194

7.10.2 标准偏差的计算 197

7.10.3 测试评分 198

7.10.4 产品与销售分析 201

复习题 207

编程练习 210

第8章 字符数组与字符串 213

8.1 概述 213

8.2 字符串变量的声明与初始化 213

8.3 使用scanf函数从终端读取字符串 215

8.3.1 读取文本行 217

8.3.2 使用getchar和gets函数 217

8.4 在屏幕上显示字符串 219

8.4.1 使用printf函数 219

8.4.2 使用putchar和puts函数 223

8.5 字符的算术运算 223

8.6 将字符串组合在一起 225

8.7 两个字符串的比较 226

8.8 字符串处理函数 227

8.8.1 strcat()函数 227

8.8.2 strcmp()函数 228

8.8.3 strcpy()函数 229

8.8.4 strlen()函数 229

8.8.5 其他字符串函数 230

8.9 字符串表 232

8.10 字符串的其他特性 234

8.11 案例学习 235

8.11.1 计算文本中的字数 235

8.11.2 客户列表处理程序 237

复习题 239

编程练习 242

第9章 用户自定义函数 244

9.1 概述 244

9.2 为什么需要自定义函数 244

9.3 多函数程序 245

9.4 自定义函数的元素 247

9.5 函数的定义 247

9.5.1 函数头 248

9.5.2 函数名与类型 248

9.5.3 形参列表 248

9.5.4 函数体 249

9.6 返回值及其类型 250

9.7 函数调用 251

9.8 函数声明 253

9.9 函数的类型 255

9.10 无参数无返回值的函数 255

9.11 有参数无返回值的函数 257

9.12 有参数有返回值的函数 260

9.13 无参数但有一个返回值的函数 263

9.14 返回多个值的函数 264

9.15 函数的嵌套 265

9.16 函数的迭代 266

9.17 将数组传递给函数 267

9.17.1 一维数组 267

9.17.2 二维数组 271

9.18 将字符串传递给函数 271

9.19 变量的作用域、可见性和生存期 272

9.19.1 自动变量 273

9.19.2 外部变量 274

9.19.3 外部声明 277

9.19.4 静态变量 278

9.19.5 寄存器变量 279

9.19.6 嵌套代码块 280

9.20 多文件程序 281

9.21 案例学习 284

复习题 286

编程练习 290

第10章 结构体与共用体 293

10.1 概述 293

10.2 结构体的定义 293

10.3 声明结构体变量 294

10.4 访问结构体成员 296

10.5 结构体的初始化 297

10.6 结构体变量的复制与比较 299

10.7 单个成员的运算 300

10.8 结构数组 301

10.9 结构体中的数组 303

10.10 结构体中的结构体 304

10.11 结构体与函数 306

10.12 共用体 309

10.13 结构体的大小 310

10.14 位域 310

10.15 案例学习 313

复习题 317

编程练习 320

第11章 指针 323

11.1 概述 323

11.2 理解指针 323

11.3 访问变量的地址 325

11.4 指针变量的声明 326

11.5 指针变量的初始化 327

11.6 通过指针访问变量 329

11.7 指针链 331

11.8 指针表达式 331

11.9 指针的递增与比例因子 333

11.10 指针与数组 334

11.11 指针与字符串 337

11.12 指针数组 339

11.13 指针作为函数的参数 340

11.14 函数返回指针 343

11.15 指向函数的指针 343

11.16 指针与结构体 346

11.17 案例学习 349

11.17.1 考试成绩处理程序 349

11.17.2 库存更新程序 352

复习题 354

编程练习 357

第12章 文件管理 358

12.1 概述 358

12.2 定义并打开文件 359

12.3 关闭文件 360

12.4 文件的输入输出操作 361

12.4.1 getc与putc函数 361

12.4.2 getw和putw函数 362

12.4.3 fprintf与fscanf函数 364

12.5 I/O操作的错误处理 366

12.6 随机访问文件 368

12.7 命令行参数 373

复习题 375

编程练习 376

第13章 动态内存分配与链表 378

13.1 概述 378

13.2 动态内存分配 378

13.3 用malloc函数分配一块内存 379

13.4 用calloc函数分配多个内存块 381

13.5 用free函数释放已用的空间 381

13.6 用realloc函数改变内存块的大小 382

13.7 链表的概念 383

13.8 链表的优点 386

13.9 链表的种类 387

13.10 再论指针 387

13.11 创建链表 389

13.12 插入一个数据项 392

13.13 删除一个数据项 395

13.14 链表的应用 397

13.15 案例学习 398

13.15.1 在已排序链表中插入数据 398

13.15.2 构建一个已排序的链表 402

复习题 404

编程练习 406

第14章 预处理器 408

14.1 概述 408

14.2 宏替换指令 408

14.2.1 简单宏替换 409

14.2.2 含参数的宏 411

14.2.3 宏嵌套 412

14.3 文件包含 412

14.4 编译器控制指令 413

14.4.1 情形1. 414

14.4.2 情形2. 414

14.4.3 情形3. 415

14.4.4 情形4. 415

14.5 ANSI C的其他预处理器指令 416

14.5.1 #elif指令 416

14.5.2 #pragma指令 417

14.5.3 #error指令 417

14.5.4 字符串化运算符# 418

14.5.5 标记符粘贴运算符 418

复习题 419

编程练习 420

第15章 C程序开发指导原则 421

15.1 概述 421

15.2 程序设计 421

15.2.1 问题分析 421

15.2.2 勾勒程序结构 421

15.2.3 算法开发 422

15.2.4 控制结构 422

15.3 程序编码 423

15.3.1 自身文档化 423

15.3.2 语句构造 424

15.3.3 输入/输出格式 424

15.3.4 程序的通用性 424

15.4 常见的程序错误 425

15.4.1 丢失分号 425

15.4.2 误用分号 425

15.4.3 丢失括号 426

15.4.4 丢失引号 427

15.4.5 误用引号 427

15.4.6 使用不正确的注释字符 427

15.4.7 未定义变量 428

15.4.8 忽视了运算符的优先级 428

15.4.9 忽视了递增递减运算符的计算顺序 429

15.4.10 忽视了函数参数的说明 429

15.4.11 在函数调用中实参和形参类型不匹配 429

15.4.12 函数未声明 429

15.4.13 在scanf的参数中丢失了&运算符 430

15.4.14 超出了数组的边界 430

15.4.15 忘记了给字符串的空字符留*出空间 431

15.4.16 使用未初始化的指针 431

15.4.17 丢失了间接运算符和地址运算符 431

15.4.18 在指针表达式中丢失括号 432

15.4.19 在宏定义语句中参数遗漏了括号 432

15.5 程序测试与调试 432

15.5.1 错误的类型 433

15.5.2 程序测试 433

15.5.3 程序调试 434

15.6 程序的效率 435

15.6.1 运行时间 435

15.6.2 内存需求 435

复习题 435

附录Ⅰ 位级程序设计 437

Ⅰ.1 概述 437

Ⅰ.2 逐位逻辑运算符 437

Ⅰ.2.1 逐位与操作 437

Ⅰ.2.2 逐位或操作 439

Ⅰ.2.3 逐位非或操作 439

Ⅰ.3 逐位移位运算符 439

Ⅰ.4 逐位求反运算符 440

Ⅰ.5 屏蔽 441

附录Ⅱ 442

附录Ⅲ 443

附录Ⅳ 项目设计 446

Ⅳ1 库存管理系统 446

Ⅳ2 登录记录系统 468

Ⅳ3 链表 488

Ⅳ4 矩阵相乘 496

附录Ⅴ C99的特性 499

Ⅴ.1 概述 499

Ⅴ.2 新关键字 499

Ⅴ.3 新注释 499

Ⅴ.4 新数据类型 500

Ⅴ.4.1 Bool类型 500

Ⅴ.4.2 _Complex和_Imaginary类型 500

Ⅴ.4.3 long long类型 500

Ⅴ.5 变量声明 501

Ⅴ.6 I/O格式化的变化 501

Ⅴ.7 数组处理 501

Ⅴ.7.1 可变长度数组 502

Ⅴ.7.2 数组声明中的类型说明 502

Ⅴ.7.3 结构的灵活数组成员 502

Ⅴ.8 函数实现 502

Ⅴ.8.1 默认为inline类型的规则 503

Ⅴ.8.2 显式函数定义 503

Ⅴ.8.3 returm语句的限制 503

Ⅴ.8.4 声明函数为inline 504

Ⅴ.9 受限指针 504

Ⅴ.10 编译器限制的变化 505

Ⅴ.11 其他改进 505

参考文献 507

相关图书
作者其它书籍
返回顶部