《C语言程序设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:李忠月,励龙昌主编;虞铭财,黄海隆副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302374527
  • 页数:377 页
图书介绍:C语言程序设计课程的教学重点应该是培养学生的实践编程能力,教学模式要从知识传授转为能力培养,本教材以程序设计为中心来组织内容。全书以程序设计为主线,从应用出发,通过案例和问题引入内容,重点讲解程序设计的思想和方法,并结合相关的语言知识的介绍。

第1章 概述 1

1.1 计算机程序设计语言 1

1.2 用程序设计语言编写程序的步骤 2

1.2.1 编码 2

1.2.2 编译 2

1.2.3 调试 3

1.2.4 维护 3

1.3 结构化程序设计方法 4

1.4 算法 4

1.4.1 算法的特性 5

1.4.2 算法的描述 5

1.5 关于C程序设计语言 8

1.5.1 C语言出现的历史背景 8

1.5.2 C语言的特点 9

1.6 简单的C语言程序 10

练习题 16

第2章 类型、运算符与表达式 18

2.1 变量 18

2.1.1 变量的命名规则 18

2.1.2 变量的声明 19

2.2 数据类型及长度 20

2.2.1 short与long限定符 20

2.2.2 signed与unsigned限定符 20

2.2.3 每种数据类型的printf和scanf格式转换符 21

2.3 常量 24

2.3.1 整数常量与浮点数常量 24

2.3.2 字符常量 24

2.3.3 字符串常量 24

2.3.4 符号常量 25

2.3.5 枚举常量 26

2.4 常量表达式 27

2.5 算术运算符 27

2.6 关系运算符与逻辑运算符 27

2.7 自增运算符与自减运算符 29

2.8 逗号运算符 30

2.9 赋值运算符与表达式 31

2.10 条件运算符与条件表达式 31

2.11 一元运算符sizeof 33

2.12 类型转换 33

2.13 运算符的优先级及求值次序 35

练习题 36

第3章 分支结构 44

3.1 实例导入 44

3.2 语句与程序块 45

3.3 if-else语句 45

3.4 else-if语句 48

3.5 switch语句 50

3.6 应用实例:学生成绩管理 56

练习题 58

第4章 循环结构 62

4.1 实例导入 62

4.2 while循环 65

4.3 for循环 70

4.4 do-while循环 74

4.5 三种循环语句的比较 76

4.6 循环结构的嵌套 76

4.7 break语句与continue语句 83

4.8 goto语句与标号 86

4.9 专题1:正整数的拆分 87

4.10 专题2:迭代法 90

4.11 应用实例:学生成绩管理 95

练习题 95

第5章 输入与输出 109

5.1 getchar()函数 109

5.2 putchar()函数 110

5.3 printf()函数 112

5.4 scanf()函数 114

5.5 应用实例:求和 116

练习题 122

第6章 函数 126

6.1 实例导入 126

6.2 函数的基本知识 129

6.2.1 函数的定义 129

6.2.2 函数的调用 130

6.2.3 函数的声明 133

6.2.4 函数设计的基本原则 137

6.3 函数的嵌套调用 137

6.4 函数的递归调用 137

6.5 变量的存储类型 143

6.6 变量的类别 144

6.6.1 外部变量与内部变量 144

6.6.2 静态变量 145

6.6.3 寄存器变量 146

6.7 变量的作用域与生存期 147

6.8 程序块结构 153

6.9 变量的初始化 154

6.10 预处理器 154

6.10.1 文件包含 154

6.10.2 宏替换 155

6.10.3 条件编译 157

6.11 专题3:最大公约数的求解 158

6.11.1 brute-force算法 159

6.11.2 欧几里得算法 159

6.11.3 更相减损法 160

6.12 专题4:素数的判定 161

6.12.1 素数判定的基本方法 161

6.12.2 素数判定的筛选法 168

练习题 170

第7章 数组 184

7.1 实例导入 184

7.2 一维数组 187

7.2.1 一维数组的定义 187

7.2.2 一维数组元素的引用 188

7.2.3 一维数组的初始化 188

7.2.4 一维数组的应用举例 189

7.3 二维数组 192

7.3.1 二维数组的定义 192

7.3.2 二维数组元素的引用 192

7.3.3 二维数组的初始化 193

7.3.4 二维数组的应用举例 194

7.4 字符数组 199

7.4.1 字符数组的定义和引用 199

7.4.2 字符数组的初始化 199

7.4.3 字符数组的输入输出 201

7.4.4 字符数组的应用举例 203

7.5 数组与函数参数 206

7.5.1 数组元素作函数实参 206

7.5.2 数组名作函数实参 207

7.6 查找和排序 209

7.6.1 查找 209

7.6.2 排序 210

7.7 专题5:进制转换 214

7.8 应用实例:学生成绩管理 216

练习题 218

第8章 指针 238

8.1 实例导入 238

8.2 指针的基本知识 243

8.2.1 指针变量的声明 243

8.2.2 指针变量的初始化 243

8.2.3 指针变量的基本运算 243

8.3 指针与数组 246

8.3.1 指针与一维数组 246

8.3.2 指针与多维数组 254

8.4 指针与函数 256

8.4.1 指针作为函数的参数 256

8.4.2 指针作为函数的返回值 259

8.4.3 指向函数的指针 262

8.5 字符指针与函数 264

8.6 指针数组 265

8.6.1 指针数组的声明 265

8.6.2 指针数组的初始化 265

8.6.3 指针数组与二维数组的区别 266

8.7 命令行参数 266

8.8 指向指针的指针 267

8.9 动态分配 268

8.9.1 动态分配内存 268

8.9.2 释放内存 269

8.9.3 void类型 269

8.9.4 动态数组 269

8.9.5 查找malloc中的错误 271

练习题 271

第9章 结构 291

9.1 结构类型的用处 291

9.2 结构的基本知识 296

9.2.1 结构类型的定义 297

9.2.2 结构变量的定义 297

9.2.3 结构成员的访问 298

9.2.4 对结构变量的操作 298

9.2.5 结构变量的初始化 300

9.2.6 结构的嵌套 301

9.3 结构数组 302

9.4 结构指针 305

9.5 typedef 307

9.6 结构与函数 308

9.7 单链表 309

9.7.1 单链表的初始化 310

9.7.2 单链表的输出 310

9.7.3 单链表的插入 311

9.7.4 单链表的删除 313

9.7.5 链表的综合操作 313

9.8 联合 315

9.9 枚举 318

9.9.1 枚举类型的定义 318

9.9.2 枚举变量的定义 318

9.9.3 对枚举变量的操作 319

9.10 应用实例:学生成绩管理 321

9.10.1 用结构数组实现 322

9.10.2 用单链表实现 323

练习题 326

第10章 位运算 336

10.1 位运算符 336

10.1.1 与运算符 336

10.1.2 或运算符 336

10.1.3 异或运算符 337

10.1.4 取反运算符 337

10.1.5 左移运算符和右移运算符 338

10.2 位赋值运算符 341

10.3 位域 341

练习题 343

第11章 文件 345

11.1 实例导入 346

11.2 C语言中文件的使用 347

11.2.1 声明FILE类型的变量 348

11.2.2 打开文件 348

11.2.3 执行I/O操作 349

11.2.4 关闭文件 349

11.3 字符I/O 350

11.3.1 读字符函数fgetc() 350

11.3.2 写字符函数fputc() 350

11.4 面向行I/O 353

11.4.1 读字符串函数fgets() 353

11.4.2 写字符串函数fputs() 353

11.5 格式化I/O 354

11.5.1 格式化输出 354

11.5.2 格式化输入 354

11.6 数据块读写 356

11.6.1 数据块读函数fread() 356

11.6.2 数据块写函数fwrite() 356

11.7 文件的定位 356

11.7.1 fseek()函数 356

11.7.2 ftell()函数 358

11.7.3 frewind()函数 358

11.8 错误检测函数 359

11.8.1 clearerr()函数 359

11.8.2 feof()函数 359

11.8.3 ferror()函数 359

11.9 应用实例:学生成绩管理 360

练习题 364

附录A 常用字符与ASCII码对照表 369

附录B 常用的C语言库函数 371

B.1 数学函数 371

B.2 字符处理函数 372

B.3 字符串处理函数 373

B.4 实用函数 374

附录C 与具体实现相关的限制 375

附录D 原码、反码和补码 376

参考文献 377