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

  • 购买积分:12 如何计算积分?
  • 作  者:朱立华,郭剑主编;吴家皋,朱旻如副主编
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115367525
  • 页数:305 页
图书介绍:本书仍以知识模块为组织教材的主线,力求内容简洁、分析透彻,从根本性的原理上讲清楚C语言中的一些难点。全书主要内容包括:基本数据类型、运算符与表达式、流程控制、一维数组与一级指针、函数、二维数组及字符串、结构体与单链表、文件操作,以及两个综合程序举例。

第1章 计算机、C语言与二进制 1

1.1 计算机、程序与程序设计语言 1

1.1.1 电子计算机概述 2

1.1.2 程序与程序设计 4

1.1.3 程序设计语言简介 5

1.2 初识C语言 6

1.2.1 C语言的传奇身世 6

1.2.2 为什么选择C语言 7

1.2.3 C语言程序及其开发 9

1.3 信息的存储及进制问题 10

1.3.1 内存的基本知识 10

1.3.2 二进制、八进制及十六进制 11

1.3.3 进制间的相互转换 12

习题 13

第2章 初识C语言源程序及其数据类型 15

2.1 C语言源程序及其符号 15

2.1.1 C语言源程序的组成 15

2.1.2 C语言源程序中的6种基本符号 17

2.2 C语言中的数据类型 18

2.2.1 C语言数据类型的种类 18

2.2.2 基本数据类型及其修饰符 19

2.3 常量 19

2.3.1 整型常量 20

2.3.2 实型常量 20

2.3.3 字符常量 20

2.3.4 字符串常量 21

2.3.5 符号常量 21

2.4 变量 22

2.4.1 变量的定义及初始化 22

2.4.2 变量的输入和输出 23

2.4.3 用const修饰符限定变量 28

2.5 基本数据类型在计算机内部的表示 29

2.5.1 整型数据在内存中的存储形式 29

2.5.2 字符型数据在内存中的存储形式 30

2.5.3 实型数据在内存中的存储形式 30

2.6 本章常见错误及解决方案 30

习题 32

第3章 运算符与表达式 35

3.1 什么是运算符与表达式 35

3.2 运算符的优先级与结合性 36

3.3 常用运算符 36

3.3.1 算术运算符 36

3.3.2 关系运算符 38

3.3.3 逻辑运算符 38

3.3.4 条件运算符 40

3.3.5 赋值及复合赋值运算符 40

3.3.6 逗号运算符 41

3.3.7 自增、自减运算符 41

3.4 运算过程中的数据类型转换 43

3.4.1 表达式中的自动类型转换 43

3.4.2 赋值中的自动类型转换 43

3.4.3 强制类型转换 44

3.5 位运算符 44

3.6 本章常见错误及解决方案 46

习题 47

第4章 程序流程控制 50

4.1 语句与程序流程 50

4.1.1 语句的分类 50

4.1.2 程序流程及其表示 51

4.2 顺序结构 52

4.3 选择结构 53

4.3.1 if语句 53

4.3.2 switch语句 56

4.4 循环结构 58

4.4.1 while语句 58

4.4.2 do~while语句 59

4.4.3 for语句 60

4.4.4 循环嵌套 61

4.5 break与continue 63

4.6 应用举例——判断质数、百钱百鸡 64

4.7 本章常见错误及解决方案 66

习题 67

第5章 函数的基本知识 71

5.1 函数与模块化程序设计 71

5.2 函数的定义 73

5.3 函数的调用 75

5.3.1 函数调用的基本形式 76

5.3.2 函数调用的完整过程 77

5.4 函数的原型声明 79

5.5 函数的递归 81

5.6 变量的作用域与存储类型 85

5.6.1 变量的作用域 85

5.6.2 变量的存储类型 88

5.7 应用举例——二次项定理求值 91

5.8 本章常见错误及解决方案 94

习题 95

第6章 数组 100

6.1 一维数组 100

6.1.1 一维数组的定义 101

6.1.2 一维数组的初始化 101

6.1.3 一维数组的访问 102

6.1.4 一维数组应用举例——求和及Fibonacci数列 103

6.2 二维数组 105

6.2.1 二维数组的定义 105

6.2.2 二维数组的初始化 106

6.2.3 二维数组的访问 107

6.3 向函数传递数组 109

6.3.1 向函数传递一维数组 109

6.3.2 向函数传递二维数组 111

6.4 数组常用算法介绍 112

6.4.1 数组元素查找 112

6.4.2 插入数组元素 114

6.4.3 数组元素删除 115

6.4.4 数组排序 117

6.5 本章常见错误及解决方案 119

习题 120

第7章 指针 125

7.1 指针变量 125

7.1.1 变量地址和变量的值 125

7.1.2 指针变量的定义和访问 126

7.1.3 指针变量的运算 129

7.2 指针与函数 131

7.2.1 传值与传地址 131

7.2.2 指针作形参返回多个值 134

7.2.3 返回指针的函数 135

7.3 指针与数组 136

7.3.1 指针与一维数组 137

7.3.2 指针和二维数组 139

7.4 应用举例 143

7.4.1 批量数据的统计 144

7.4.2 进制转换 145

7.4.3 选择法排序 147

7.4.4 矩阵中的运算 149

7.5 指针进阶 151

7.5.1 const与指针的结合 151

7.5.2 二级指针和指针数组 152

7.5.3 行指针与二维数组 154

7.5.4 指针与动态空间 156

7.5.5 指向函数的指针 161

7.6 本章常见错误及解决方案 163

习题 164

第8章 字符串 169

8.1 字符串的定义与初始化 169

8.2 字符串的常用操作 172

8.2.1 字符串的输入/输出 172

8.2.2 指向字符串的指针 174

8.2.3 字符串处理的常用函数 176

8.3 应用举例 180

8.3.1 回文的判断 180

8.3.2 统计单词出现次数 182

8.3.3 密码问题 183

8.3.4 字符串的排序 185

8.4 带参数的main函数 188

8.5 综合应用实例——单词本管理 189

8.6 本章常见错误及解决方案 195

习题 196

第9章 编译预处理与多文件工程程序 201

9.1 编译预处理 201

9.1.1 文件包含 201

9.1.2 宏定义 202

9.1.3 条件编译 204

9.2 多文件工程程序 205

9.2.1 多文件工程程序的组织结构 206

9.2.2 外部变量与外部函数 208

9.2.3 静态全局变量与静态函数 210

9.3 应用举例——多文件结构处理数组问题 210

9.4 本章常见错误及解决方案 216

习题 217

第10章 结构、联合、枚举 219

10.1 结构 219

10.1.1 结构的定义 219

10.1.2 结构体变量 221

10.1.3 结构体指针 224

10.1.4 结构体数组 225

10.1.5 结构体应用 226

10.2 链表 229

10.2.1 链表的概念 229

10.2.2 链表的基本操作 231

10.3 联合 240

10.4 枚举 242

10.5 本章常见错误及解决方案 244

习题 245

第11章 文件 247

11.1 文件与文件指针 247

11.2 文件的打开和关闭 248

11.2.1 文件打开操作 248

11.2.2 文件关闭操作 249

11.3 文件读写 249

11.3.1 字符读写 250

11.3.2 字符串读写 251

11.3.3 格式化读写 252

11.3.4 块数据读写 253

11.4 位置指针的定位 255

11.5 应用举例——文件的复制 257

11.6 本章常见错误及解决方案 258

习题 258

第12章 学生成绩管理系统的设计与实现 260

12.1 系统概述 260

12.2 数据类型的定义 261

12.3 为结构体类型定制的基本操作 262

12.4 用二进制文件实现数据的永久保存 268

12.5 用两级菜单四层函数实现系统 269

习题 280

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

附录B C语言的关键字 283

附录C Visual C++下各数据类型所占字节数及取值范围 284

附录D C语言运算符的优先级与结合性 285

附录E 常用的ANSI C标准库函数 287

附录F C语言程序设计常见错误及解决方案 292

附录G 命名规则 300

附录H C语言的发展简史 302

附录I 函数printf的格式转换说明符 303

附录J 函数printf的格式修饰符 304

参考文献 305