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

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

第1章 计算机的组成与程序设计语言 1

1.1 计算机的组成及工作过程 1

1.2 机器语言程序设计 5

1.3 机器语言的局限性 6

1.4 高级程序设计语言与C语言 7

1.5 C语言程序及其开发 9

本章小结 10

习题 11

第2章 基本数据类型 12

2.1 常量与变量 12

2.2 整型 17

2.3 字符型 22

2.4 实型 26

2.5 typedef类型名 29

本章小结 29

习题 30

第3章 表达式与运算符 33

3.1 表达式与算术运算符 33

3.2 关系运算符 34

3.3 逻辑运算符 36

3.4 自增自减运算符 38

3.5 位运算符 39

3.6 条件运算符 41

3.7 赋值和复合赋值运算符 42

3.8 逗号运算符 44

3.9 内部类型转换 44

本章小结 45

习题 46

第4章 程序流程控制 47

4.1 算法与语句 47

4.1.1 算法及其描述方法 47

4.1.2 C语言的语句分类 49

4.2 顺序结构 49

4.3 选择结构 50

4.3.1 if~else语句 50

4.3.2 switch~case语句 54

4.4 循环结构 56

4.4.1 for语句 56

4.4.2 while语句 59

4.4.3 do~while语句 61

4.4.4 循环嵌套 64

4.5 其他流程控制语句 67

4.5.1 break语句 68

4.5.2 continue语句 68

4.5.3 goto语句 69

本章小结 70

习题 71

第5章 一级指针与一维数组 75

5.1 一级指针类型 75

5.1.1 直接引用与间接引用 75

5.1.2 地址的类型——指针类型 76

5.1.3 指针的基本操作——间接引用 77

5.1.4 指针的基本操作——加减一个整数 78

5.1.5 指针的其他基本操作 79

5.2 一维数组类型 79

5.2.1 一维数组的定义 79

5.2.2 一维数组的初始化 80

5.2.3 一维数组名的双重含义 84

5.3 一级指针变量与一维数组 85

5.3.1 指针变量 85

5.3.2 指针变量定义中的“*”的位置 87

5.3.3 数组指针的基类型和指针变量的基类型相同 87

5.3.4 数组指针的基类型和指针变量的基类型不同 88

5.3.5 一个变量等价于一个长度为1的数组 89

5.3.6 取址运算和间接引用运算互为逆运算 89

5.3.7 “野”指针和void指针 90

5.4 移动下标与移动指针的比较 91

5.5 一维数组应用举例 93

5.5.1 查找一个数据元素 93

5.5.2 插入一个数据元素 94

5.5.3 删除一个数据元素 96

5.5.4 选择法排序 97

本章小结 98

习题 99

第6章 函数 103

6.1 函数定义与调用 103

6.2 函数声明 107

6.3 函数定义与调用举例 108

6.3.1 判断质数 108

6.3.2 求最大公约数 110

6.3.3 在数组中查找一个元素 111

6.3.4 选择法排序 112

6.3.5 冒泡法排序 113

6.4 函数调用与变量的存储类别 115

6.4.1 自动局部变量 115

6.4.2 静态局部变量 117

6.4.3 外部变量 119

6.4.4 寄存器变量 120

6.5 动态空间管理 120

6.5.1 一维动态空间的申请与释放 120

6.5.2 “耗尽”动态空间资源的实验 122

6.5.3 一种“野”指针的实验 122

6.5.4 筛选法求质数 124

6.5.5 约瑟夫环问题 125

6.6 关于函数调用的深入讨论 126

6.6.1 传值与传地址 126

6.6.2 返回值与返回地址 128

6.6.3 返回值与传地址 130

6.7 函数指针 131

6.8 递归 133

本章小结 136

习题 137

第7章 模块化程序设计相关 141

7.1 全局外部函数 141

7.2 静态外部函数 142

7.3 全局外部变量 143

7.4 静态外部变量 144

7.5 const常类型 145

7.5.1 const常量 145

7.5.2 指向const常量的指针 146

7.5.3 const常量指针 148

7.5.4 指向const常量的const常量指针 150

7.6 编译预处理 150

7.6.1 无参宏指令 150

7.6.2 带参宏指令 151

7.6.3 条件编译指令 152

7.6.4 文件包含指令 153

7.7 模块化程序设计方法简介 155

本章小结 156

习题 157

第8章 结构、联合、枚举 159

8.1 结构 159

8.1.1 结构定义 159

8.1.2 结构指针 162

8.1.3 结构数组 162

8.1.4 结构的嵌套 164

8.1.5 结构型返回值和地址调用 166

8.2 结构应用程序举例 166

8.2.1 学生记录排序 166

8.2.2 洗牌 168

8.3 联合 170

8.4 枚举 172

本章小结 173

习题 174

第9章 字符串 177

9.1 字符串的定义与存储 177

9.2 字符串的赋值和输出 178

9.2.1 字符串赋值 178

9.2.2 字符串的输入/输出处理 179

9.3 字符串处理函数的原型 180

9.4 字符串处理函数的实现 181

9.5 字符串应用程序举例 183

9.5.1 数字串转换函数的应用 183

9.5.2 判断回文 185

本章小结 186

习题 187

第10章 二维数组与指针 191

10.1 二维数组的定义与赋值 191

10.2 二维数组与一维数组 194

10.3 二维数组名的双重含义 197

10.4 二维数组与行指针 197

10.5 二维数组与列指针 199

10.6 一维指针数组与二级指针 201

10.7 一维指针数组与二维数组 203

10.8 二维动态空间的申请与释放 205

10.9 二维(数组)指针和一维(数组)指针的相互转化 206

10.10 以二级指针为形参的main函数 207

本章小结 208

习题 209

第11章 流与文件 212

11.1 文件指针 212

11.2 文件的打开与关闭 213

11.3 文件的读写 216

11.3.1 字符的读写 216

11.3.2 字符串的读写 218

11.3.3 无格式读写 219

11.3.4 格式读写 221

11.4 文件的随机访问 223

11.5 文件的复制 224

本章小结 225

习题 226

第12章 高级程序设计 228

12.1 单链表 228

12.1.1 单链表结点结构的定义 229

12.1.2 单链表的建立 229

12.1.3 单链表的遍历 231

12.1.4 单链表的查找 231

12.1.5 单链表的插入 232

12.1.6 单链表的删除 233

12.1.7 单链表的逆置 234

12.1.8 单链表操作的完整程序 235

12.1.9 其他类型的单链表 244

12.2 学生成绩档案管理系统的设计与实现 245

12.2.1 数据类型的定义 246

12.2.2 为结点类型定制的基本操作 247

12.2.3 用二进制文件实现数据的永久保存 248

12.2.4 用两级菜单四层函数实现系统 250

本章小结 260

习题 260

第13章 C++初步 262

13.1 输入/输出 262

13.2 结构 266

13.3 内联函数 266

13.4 默认函数 267

13.5 函数重载 268

13.6 运算符重载 268

13.7 引用 270

13.8 布尔型 272

本章小结 273

习题 274

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

附录B C语言的关键字 277

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

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

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

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

附录G 命名规则 294

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

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

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

参考文献 299