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

  • 购买积分:12 如何计算积分?
  • 作  者:贾宗璞,许合利主编
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115363572
  • 页数:310 页
图书介绍:本书是21世纪高等学校计算机规划教材,是高等院校计算机基础教育用教材,全书共分14章,主要内容包括:C语言概述,基本数据类型、运算符与表达式,顺序结构程序设计,选择结构程序设计,循环结构程序设计,数组,函数,编译预处理。

第1章 C语言概述 1

1.1 C语言的发展及特点 1

1.1.1 C语言的发展 1

1.1.2 C语言的特点 2

1.2 C语言程序的基本结构 3

1.3 算法及其描述 5

1.3.1 算法的概念 5

1.3.2 算法的描述方法 7

1.4 程序设计方法 11

1.4.1 程序设计的一般步骤 11

1.4.2 结构化程序设计方法 11

本章小结 13

习题 13

第2章 基本数据类型、运算符与表达式 15

2.1 C语言的数据类型 15

2.2 常量和变量 16

2.2.1 常量 16

2.2.2 变量 17

2.3 整型数据 18

2.3.1 整型常量的表示 18

2.3.2 整型变量 18

2.3.3 整型常量的类型 20

2.4 实型数据 20

2.4.1 实型常量的表示 20

2.4.2 实型变量 21

2.4.3 实型常量的类型 22

2.5 字符型数据 22

2.5.1 字符型常量 22

2.5.2 字符变量 24

2.6 算术运算符与算术表达式 25

2.6.1 基本算术运算符 25

2.6.2 算术表达式及算术运算符的优先级和结合性 26

2.6.3 自增、自减运算符 27

2.7 赋值运算符与赋值表达式 28

2.7.1 赋值运算符 28

2.7.2 复合赋值运算符 28

2.7.3 赋值表达式 29

2.8 逗号运算符与逗号表达式 29

2.9 位运算符 30

2.9.1 位运算符 30

2.9.2 位运算复合赋值运算符 31

2.10 数据类型转换与计算类型长度运算符 32

2.10.1 自动类型转换 32

2.10.2 强制类型转换 33

2.10.3 计算类型长度运算符 34

本章小结 34

习题 34

第3章 顺序结构程序设计 38

3.1 C语言语句概述 38

3.1.1 简单语句 38

3.1.2 复合语句 39

3.2 字符数据的输入/输出 39

3.2.1 字符输出函数(putchar) 40

3.2.2 字符输入函数(getchar) 40

3.3 格式化输入/输出函数 41

3.3.1 格式输出函数(printf) 41

3.3.2 格式输入函数(scanf) 44

3.4 顺序结构程序设计举例 47

本章小结 48

习题 49

第4章 选择结构程序设计 52

4.1 关系运算符和关系表达式 52

4.1.1 关系运算符 52

4.1.2 关系表达式 53

4.2 逻辑运算符和逻辑表达式 53

4.2.1 逻辑运算符 53

4.2.2 逻辑表达式 54

4.3 if语句及其构成的选择结构 55

4.3.1 if语句的形式 55

4.3.2 if语句的嵌套 57

4.3.3 条件运算符和条件表达式 59

4.4 switch语句及其构成的选择结构 60

4.4.1 switch语句的形式 60

4.4.2 在switch语句中使用break语句 61

4.5 选择结构程序设计举例 62

本章小结 64

习题 65

第5章 循环结构程序设计 70

5.1 概述 70

5.2 while语句 71

5.3 do-while语句 72

5.4 for语句 74

5.5 break语句和continue语句 76

5.5.1 break语句 76

5.5.2 continue语句 77

5.6 循环的嵌套 77

5.7 循环结构程序设计举例 78

本章小结 81

习题 81

第6章 数组 89

6.1 一维数组 89

6.1.1 一维数组的定义 89

6.1.2 一维数组元素的引用 90

6.1.3 一维数组的存储与初始化 91

6.1.4 一维数组程序设计举例 92

6.2 二维数组与多维数组 93

6.2.1 二维数组的定义 93

6.2.2 二维数组元素的引用 95

6.2.3 二维数组的初始化 95

6.2.4 二维数组程序设计举例 96

6.2.5 多维数组概述 97

6.3 字符数组与字符串 98

6.3.1 字符数组的定义 98

6.3.2 字符数组的初始化 98

6.3.3 字符数组元素的引用 98

6.3.4 字符串与字符数组 99

6.3.5 字符串处理函数 101

6.3.6 字符数组程序设计举例 103

本章小结 105

习题 105

第7章 函数 112

7.1 模块化程序设计 112

7.1.1 模块化程序设计概念 112

7.1.2 函数概述 113

7.2 函数的定义 114

7.2.1 函数定义的一般形式 114

7.2.2 函数的返回 115

7.3 函数的调用 115

7.3.1 函数调用的一般方式 115

7.3.2 函数参数的传递 116

7.3.3 函数的声明 117

7.3.4 函数的嵌套调用 117

7.4 函数的递归调用 119

7.5 数组作为函数参数 121

7.5.1 数组元素作函数实参 121

7.5.2 数组名作为函数参数 122

7.5.3 多维数组名作为函数参数 123

7.6 变量的作用域 124

7.6.1 局部变量 124

7.6.2 全局变量 125

7.7 变量的存储类别 126

7.7.1 变量的生存期 126

7.7.2 局部变量的存储类别 126

7.7.3 全局变量的存储类别 128

7.8 内部函数和外部函数 130

本章小结 131

习题 131

第8章 编译预处理 138

8.1 宏定义 138

8.1.1 无参宏定义 138

8.1.2 带参宏定义 141

8.2 条件编译 144

8.3 文件包含 146

本章小结 148

习题 148

第9章 指针 150

9.1 地址和指针的概念 150

9.2 指针变量 151

9.2.1 指针变量的定义与赋值 151

9.2.2 指针变量的引用 152

9.3 指针与数组 154

9.3.1 指针与一维数组 154

9.3.2 指针与二维数组 157

9.4 指针与字符串 160

9.4.1 指向字符数组的指针变量 160

9.4.2 指向字符串常量的指针变量 161

9.5 指针与函数 162

9.5.1 指针作为函数的参数 162

9.5.2 指向函数的指针(函数指针) 166

9.5.3 返回指针值的函数(指针函数) 168

9.6 指针数组和多级指针 169

9.6.1 指针数组的定义 169

9.6.2 指针数组与字符串 170

9.6.3 多级指针 171

9.6.4 指针数组作为函数参数 172

9.6.5 带参main函数 172

本章小结 174

习题 174

第10章 结构体、共用体及枚举类型 182

10.1 结构体变量的定义 182

10.1.1 结构体类型的定义 182

10.1.2 结构体变量的定义 183

10.2 结构体变量的引用和初始化 184

10.2.1 结构体变量的引用 184

10.2.2 结构体变量的初始化 185

10.3 结构体数组 185

10.3.1 结构体数组的定义 185

10.3.2 结构体数组的初始化 186

10.3.3 结构体数组的引用 186

10.4 结构体指针变量 187

10.4.1 指向结构体变量的指针 187

10.4.2 指向结构体数组的指针 189

10.5 结构体与函数 190

10.5.1 结构体变量作为函数参数 190

10.5.2 返回结构体类型数据的函数 190

10.5.3 结构体指针作为函数参数 191

10.6 位段结构体 192

10.6.1 位段结构体类型及其变量的定义 192

10.6.2 位域的引用 193

10.7 链表 194

10.7.1 链表概述 194

10.7.2 内存动态管理 194

10.7.3 创建链表 196

10.7.4 顺序访问链表中的结点 197

10.7.5 在链表中插入结点 197

10.7.6 在链表中删除结点 200

10.8 共用体 202

10.8.1 共用体类型及其变量的定义 202

10.8.2 共用体变量的引用 203

10.9 枚举类型 204

10.9.1 枚举类型和枚举变量的定义 204

10.9.2 枚举类型变量的赋值和使用 205

10.10 用typedef定义类型 206

本章小结 207

习题 207

第11章 文件 212

11.1 文件概述 212

11.1.1 文件的概念 212

11.1.2 文件的分类 212

11.2 文件类型指针和文件位置指针 214

11.2.1 文件类型指针 214

11.2.2 文件位置指针 214

11.3 文件的打开和关闭 214

11.3.1 文件打开函数 215

11.3.2 文件关闭函数 216

11.4 文件的读写 217

11.4.1 读写一个字符的函数 217

11.4.2 块读写函数 218

11.4.3 其他读写函数 221

11.5 文件的定位和出错检测 221

11.5.1 文件的定位函数 221

11.5.2 出错检测函数 223

本章小结 223

习题 224

第12章 C++基础 229

12.1 概述 229

12.1.1 C++的发展历程 229

12.1.2 面向对象程序设计 230

12.2 C++对C的扩充 231

12.2.1 C++的输入/输出 231

12.2.2 重载函数与缺省参数的函数 233

12.2.3 变量的引用 234

12.2.4 内联函数 236

12.2.5 作用域运算符 236

12.2.6 new和delete 237

12.3 类与对象 238

12.3.1 类的定义 238

12.3.2 对象 239

12.3.3 构造函数 240

12.3.4 析构函数 243

12.4 继承与派生 243

12.4.1 继承与派生的方式 243

12.4.2 派生类的三种继承方式 244

12.4.3 派生类的构造和析构函数 246

12.5 多态性与虚函数 248

12.5.1 多态性 248

12.5.2 虚函数 249

本章小结 251

习题 251

第13章 VC++6.0开发环境及程序测试与调试 254

13.1 VC++6.0的主窗口界面 254

13.2 编辑C语言源程序文件 255

13.2.1 新建C源程序文件 256

13.2.2 编辑已存在的文件 258

13.3 编译、连接和运行程序 258

13.3.1 编译 259

13.3.2 连接 260

13.3.3 运行 261

13.4 建立和运行多个文件的方法 261

13.5 程序测试与调试 263

13.5.1 程序测试 263

13.5.2 程序调试 265

13.6 常见编译、连接出错信息 267

第14章 上机实验内容 274

14.1 上机实验总目的和要求 274

14.1.1 上机实验总目的 274

14.1.2 上机实验总要求 274

14.2 实验一 基本数据类型、运算符与表达式 275

14.2.1 实验目的和要求 275

14.2.2 实验内容及操作步骤 275

14.2.3 选做题 277

14.3 实验二 顺序和选择程序设计 278

14.3.1 实验目的和要求 278

14.3.2 实验内容及操作步骤 278

14.3.3 选做题 280

14.4 实验三 循环程序设计 281

14.4.1 实验目的和要求 281

14.4.2 实验内容及操作步骤 281

14.4.3 选做题 283

14.5 实验四 数组 283

14.5.1 实验目的和要求 283

14.5.2 实验内容及操作步骤 283

14.5.3 选做题 285

14.6 实验五 函数(1) 286

14.6.1 实验目的和要求 286

14.6.2 实验内容及操作步骤 286

14.6.3 选做题 289

14.7 实验六 函数(2)与编译预处理 289

14.7.1 实验目的和要求 289

14.7.2 实验内容及操作步骤 289

14.7.3 选做题 290

14.8 实验七 指针 290

14.8.1 实验目的和要求 290

14.8.2 实验内容及操作步骤 290

14.8.3 选做题 292

14.9 实验八 结构体、共用体与枚举类型 293

14.9.1 实验目的和要求 293

14.9.2 实验内容及操作步骤 293

14.9.3 选做题 296

14.10 实验九 文件 296

14.10.1 实验目的和要求 296

14.10.2 实验内容及操作步骤 297

14.10.3 选做题 298

14.11 实验十 C++基础 298

14.11.1 实验目的和要求 298

14.11.2 实验内容及操作步骤 298

14.11.3 选做题 298

14.12 实验十一 综合程序设计 299

14.12.1 实验目的和要求 299

14.12.2 实验内容及步骤 299

14.12.3 选做题 300

附录Ⅰ ASCII代码对照表 301

附录Ⅱ C语言中的关键字 302

附录Ⅲ 运算符优先级和结合方向 303

附录Ⅳ 常用库函数 305

参考文献 310