《C语言程序设计教程 翻译版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)程辉著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2011
  • ISBN:7040316633
  • 页数:498 页
图书介绍:本书作者为程辉 (Harry H. Cheng) 博士,美国加州大学戴维斯分校机械与航空工程、计算机科学教授, 集成工程实验室主任。1992年至今,程辉教授一直从事与C语言相关的教学和科研工作,本书为作者多年教学经验与成果的结晶。本翻译版是在原版书的基础上,结合中国实际的教学需求进行删减而成的。本书得到了倪光南院士以及清华大学、浙江大学、浙江理工大学等多所高校教师的大力推荐。本书配有以Ch为核心的C语言程序设计课程的教学平台,实现了C语言的直观交互式教学,降低了C语言的学习难度。本书使用高级数值计算、图形绘制功能以及工程用例,增强了C语言学习的生动性和实用性。操作简便和功能齐全的解释性C/C++集成开发环境ChIDE是专门为教师授课和学生学习而开发的,易学易用。

第1章 概述 1

1.1计算机硬件 2

1.1.1 CPU 3

1.1.2主存和外存 3

1.1.3输入输出设备 4

1.2计算机软件 4

1.2.1操作系统 4

1.2.2应用软件 6

1.3计算机编程语言 7

1.3.1机器码和汇编语言 7

1.3.2高级编译语言 7

1.3.3高级脚本语言 11

习题 13

第2章 入门 14

2.1第一个C程序 14

2.2实例运行要点 17

2.2.1在ChIDE下编辑和执行C程序 17

2.2.2命令shell环境下跨平台的文件处理命令 23

2.2.3 Ch环境下C程序、语句和表达式的交互运行 26

2.2.4命令shell下C程序的编译、链接和运行 30

2.2.5在ChIDE中程序的编辑、编译、链接和执行 33

习题 36

第3章 数制、标量数据类型与输入输出 39

3.1整数数制 39

3.1.1十进制数 39

3.1.2二进制数 39

3.1.3八进制数 41

3.1.4十六进制数 42

3.2字符集 43

3.3注释 44

3.4声明 45

3.5 32位和64位编程模式 46

3.6整数类型 47

3.6.1 int类型 48

3.6.2 short类型 49

3.6.3 C99标准中long long类型 50

3.6.4 long类型 50

3.6.5类型说明符signed和unsigned 50

3.6.6整型常量 51

3.7 C99标准中的布尔类型bool 52

3.8字符类型char 52

3.9浮点数类型 56

3.9.1 float类型 56

3.9.2 double和long double类型 57

3.9.3浮点常量 57

3.10 C99标准中的复数类型 60

3.11指针类型 60

3.12 typedef 61

3.13计算机编程数据模式的判定 62

3.14初始化 63

3.15 格式化输入输出的介绍 64

3.15.1函数printf() 64

3.15.2函数 scanf() 67

3.15.3重定向输入和输出到文件 71

3.15.4重定向程序输入输出的管道和文件归档的处理 73

3.16实例运行要点 74

习题 74

第4章 运算符与表达式 77

4.1赋值运算符 77

4.2算术运算符 79

4.3隐式类型转换 81

4.4运算符的优先级和结合律 82

4.5关系运算符 87

4.6逻辑运算符 89

4.7位运算符 93

4.8复合赋值运算符 96

4.9自增和自减运算符 97

4.10类型强制转换运算符 97

4.11 sizeof运算符 98

4.12条件运算符 100

4.13逗号运算符 101

4.14实例运行要点 102

4.14.1在Visual C+++编译时定义宏M PI 102

4.14.2在GNU C中使用标准的数学库函数 102

习题 103

第5章 语句和控制流 106

5.1设计算法的流程图 106

5.2简单语句和复合语句 107

5.3空语句和表达式语句 107

5.4选择语句 107

5.4.1 if语句 108

5.4.2 if-else语句 108

5.4.3 else-if语句 109

5.4.4 switch语句 114

5.5循环语句 117

5.5.1 while循环 117

5.5.2程序的主要部分和循环的控制 119

5.5.3 do-while循环 124

5.5.4 for循环 125

5.5.5嵌套的循环 129

5.6跳转语句 132

5.6.1 break语句 132

5.6.2 continue语句 133

5.7算法设计的伪代码和过程 133

5.8使用文件结束符或者文件结束组合键的循环终止 146

5.9实例运行要点 149

习题 149

第6章 函数 155

6.1函数定义 155

6.2函数原型 161

6.3函数调用:值传递与引用传递 164

6.4标准C头文件和库 164

6.5数学函数和C99中的通用型函数 165

6.6用于数学公式的函数 166

6.7递归函数 170

6.8算法设计与实现:二分法求方程根 172

6.9实例运行要点 178

6.9.1在Ch命令shell中函数的交互运行 178

6.9.2 Ch中函数文件的使用 179

习题 180

第7章 数组 185

7.1数组声明 185

7.1.1一维数组 185

7.1.2二维数组 186

7.1.3有关数组定义 186

7.1.4数组的大小 186

7.2数组存储 187

7.3数组初始化 189

7.4数组中的数据处理 190

7.5向函数传递数组 202

7.5.1函数的一维数组传递 202

7.5.2函数的二维数组传递 207

7.6 C99中的可变长数组 210

7.6.1函数的可变长数组传递 210

7.6.2待定形数组 212

7.7实例运行要点 213

习题 213

第8章 预处理 216

8.1宏替换 217

8.2源文件包含 220

8.3条件包含 220

8.4 Pragma指令 223

8.5实例运行要点 226

习题 227

第9章 存储类型和程序结构 229

9.1全局变量和局部变量 229

9.1.1标识符的作用域 230

9.1.2标识符的命名空间 233

9.2存储类型 233

9.2.1对象的存储期 233

9.2.2函数内的静态变量 234

9.2.3函数外的静态变量 236

9.3外部变量与函数 238

9.3.1标识符连接 238

9.3.2函数之间通信方式的选择 240

9.4环境变量 241

9.5实例运行要点 245

习题 247

第10章 指针 248

10.1指针变量 248

10.1.1指针运算符 249

10.1.2与指针相关的关系运算符 252

10.2指针的算术运算 252

10.3按地址传递参数调用函数 258

10.4指针修饰词const 265

10.5指针与数组的关系 266

10.6用指针传递一维数组给函数 268

10.7动态内存分配 270

10.8返回指针的函数 275

10.9指针的指针 276

10.10指针数组 279

10.11函数指针 285

10.11.1函数指针作为函数的参数 288

10.11.2用二分法设计一个函数求方程的根 290

10.12指针用于硬件接口 293

习题 294

第11章 字符与字符串 298

11.1字符的编码 298

11.2字符的输入与输出 299

11.3字符处理函数 300

11.4字符串 302

11.5字符串的输入与输出 303

11.6续行符 306

11.7把字符串转化成数值 306

11.8字符串操作 309

11.8.1求字符串长度 309

11.8.2字符串复制 310

11.8.3字符串连接 312

11.8.4字符串比较 315

11.8.5字符串搜索 316

11.9函数main)及命令行参数 317

习题 319

第12章 结构体与枚举 321

12.1结构体 321

12.1.1结构体的定义 321

12.1.2结构体类型变量的声明 322

12.1.3结构体指针 324

12.1.4结构体成员的访问 325

12.1.5结构体的初始化 328

12.1.6结构体的大小 329

12.1.7结构体的赋值与比较 331

12.1.8结构体数组 332

12.1.9结构体作为函数参数 335

12.1.10返回结构体的函数 339

12.1.11返回结构体指针的函数 341

12.1.12结构体的动态内存分配 343

12.1.13结构体中指针类型的成员操作处理 345

12.1.14嵌套结构体 346

12.2枚举 352

12.3一个GPA库的设计及其应用 353

12.3.1一个GPA库的设计与实现 354

12.3.2 GPA库的测试 363

12.3.3自顶向下设计方法以及一个菜单驱动的交互式GPA程序的实现 366

习题 378

第13章 文件处理 381

13.1打开与关闭文件 381

13.2顺序文件的读与写 383

13.3使用数据文件的GPA库的设计及其应用 394

13.3.1开发一个使用数据文件的GPA库 395

13.3.2开发一个菜单驱动的使用数据文件的交互式GPA程序 401

习题 408

第14章 动态数据结构 410

14.1自引用结构体 410

14.2单链表 414

14.2.1创建和释放一个结点 417

14.2.2在链表头前插入一个结点 420

14.2.3在链表尾部插入一个结点 421

14.2.4在链表中插入一个结点 422

14.2.5在链表中查找并删除一个结点 423

14.2.6打印一个结点和链表的信息 427

14.2.7删除整个链表 427

14.3软件开发案例研究——开发一个菜单驱动的交互式GPA程序 428

14.3.1模块化软件设计——可重用库与应用软件的分离 428

14.3.2开发一个使用单链表的GPA库 429

14.3.3开发一个菜单驱动的使用单链表的交互式GPA程序 444

14.3.4进一步优化GPA库及其应用程序 450

14.4实例运行要点 451

习题 451

附录A 用ChIDE调试程序 454

附录B 绘图函数库和数组数据 461

附录C Ch的高级数值分析功能 482

附录D 关键字 494

附录E Ch支持的C99功能 496

附录F ASCII码字符集 497