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

  • 购买积分:12 如何计算积分?
  • 作  者:尚展垒,王鹏远,陈嫄玲等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121307393
  • 页数:301 页
图书介绍:C语言处理功能丰富,表达能力强,使用灵活方便,执行程序效率高,可移植性强;具有丰富的数据类型和运算符,语句非常简单,源程序简洁清晰;可以直接处理硬件系统和对外围设备接口进行控制。C语言是一种结构化的程序设计语言,支持自顶向下、逐步求精的结构化程序设计技术。本教材以指针为主线贯穿于始终,详细介绍了C语言程序设计的基本原理和方法。全书共分13章,主要介绍C语言基础知识,程序的控制结构,C语言中的构造型数据类型,指针型数据类型,程序中的文件及C语言的特点等内容,最后讲述了从C到C++的转变过程。

第1章 程序设计基础 1

1.1 程序设计与计算思维 1

1.2 算法 5

1.3 软件的编制步骤 11

1.4 C程序设计语言的产生与特点 12

1.5 简单程序设计 13

1.5.1 C语言的字符集 13

1.5.2 简单C程序举例 15

1.6 错误解析 18

本章小结 18

习题1 18

第2章 数据类型、运算符与表达式 20

2.1 数据类型 20

2.1.1 变量与常量 21

2.2.2 整型数据 23

2.2.3 实型数据 26

2.2.4 字符型数据 27

2.3 运算符与表达式 31

2.3.1 C运算符简介 31

2.3.2 算术运算符和算术表达式 32

2.3.3 关系运算符与关系表达式 33

2.3.4 逻辑运算符与逻辑表达式 34

2.3.5 赋值运算符和赋值表达式 35

2.3.6 逗号运算符和逗号表达式 38

2.3.7 自增、自减运算符 39

2.3.8 条件运算符和条件表达式 39

2.4 不同类型数据之间的转换 40

2.5 错误解析 42

本章小结 43

习题2 44

第3章 编译预处理 46

3.1 宏定义 46

3.1.1 符号常量(不带参数)的宏定义 47

3.1.2 带参数的宏定义 48

3.1.3 取消宏定义(#undef) 50

3.2 文件包含 51

3.3 条件编译 52

3.4 错误解析 53

本章小结 54

习题3 54

第4章 选择结构 56

4.1 if语句 56

4.1.1 if语句中的条件表示 56

4.1.2 if语句的三种形式 57

4.1.3 复合语句在分支语句中的应用 62

4.1.4 if语句的嵌套 63

4.1.5 条件运算符与条件表达式 65

4.2 switch语句 66

4.3 应用程序举例 70

4.4 错误解析 72

本章小结 73

习题4 74

第5章 循环结构 79

5.1 while语句 79

5.2 for语句 84

5.3 do…while语句 89

5.4 多重循环结构 93

5.5 break语句和continue语句 98

5.5.1 break语句 98

5.5.2 continue语句 99

5.6 应用程序举例 101

5.7 错误解析 109

本章小结 113

习题5 114

第6章 函数 116

6.1 函数的基本概念 116

6.1.1 模块化程序设计 116

6.1.2 C程序的一般结构 117

6.1.3 函数的定义 118

6.2 函数的使用 120

6.2.1 函数的调用 120

6.2.2 函数的参数传递 123

6.3 函数的传址引用 125

6.3.1 地址的存储与使用 125

6.3.2 指针说明和指针对象的引用 126

6.4 变量的存储类型及作用域 129

6.4.1 变量的存储类型 130

6.4.2 局部变量与全局变量 131

6.5 函数的递归调用 134

6.5.1 递归的基本思想 134

6.5.2 最大公约数 135

6.5.3 最近共同祖先 136

6.6 错误解析 137

习题6 138

第7章 数组 140

7.1 一维数组的定义及使用 140

7.1.1 一维数组的定义 140

7.1.2 一维数组的引用 142

7.1.3 一维数组的初始化 144

7.1.4 程序举例 147

7.2 一维数组与指针运算 152

7.2.1 一维数组的数组名 152

7.2.2 一维数组的下标与指针 153

7.2.3 作为函数参数的一维数组的数组名 157

7.3 二维数组的定义及使用 162

7.3.1 二维数组的定义 162

7.3.2 二维数组元素的引用 163

7.3.3 二维数组的初始化 164

7.3.4 二维数组应用举例 166

7.4 二维数组与指针运算 168

7.4.1 二维数组的数组名 168

7.4.2 二维数组的下标与指针 168

7.4.3 作为函数参数的二维数组的数组名 170

7.5 使用内存动态分配实现动态数组 175

7.5.1 动态内存分配的步骤 176

7.5.2 动态内存分配函数 176

7.6 错误解析 178

本章小结 179

习题7 180

第8章 字符数组与字符串 182

8.1 字符数组 182

8.1.1 字符数组的定义 182

8.1.2 字符数组的初始化 183

8.1.3 字符数组的赋值 183

8.2 字符串 184

8.2.1 字符串常量 184

8.2.2 利用字符串对字符数组初始化 184

8.2.3 字符数组与字符串的输入、输出 185

8.2.4 字符串处理函数 189

8.2.5 字符指针 191

8.3 字符数组与字符串应用举例 194

8.4 错误解析 198

本章小结 201

习题8 201

第9章 结构和联合 204

9.1 结构的声明与引用 204

9.1.1 结构的声明 204

9.1.2 结构的引用 207

9.2 结构数组的声明、引用和初始化 208

9.2.1 结构数组的声明与引用 208

9.2.2 结构数组的初始化 209

9.3 联合 211

9.3.1 联合的定义 211

9.3.2 联合变量的说明 212

9.3.3 联合变量的赋值和使用 212

9.4 应用程序举例 215

9.5 错误解析 217

本章小结 218

习题9 218

第10章 文件 220

10.1 文件概述 220

10.2 文件的使用 221

10.2.1 文件的声明 222

10.2.2 文件的打开与关闭 222

10.2.3 文件的写/读 224

10.3 随机文件的读/写 233

10.4 应用程序举例 235

10.5 错误解析 240

本章小结 241

习题10 241

第11章 指针与链表 243

11.1 数组、地址与指针 243

11.1.1 数组、地址与指针的关系 243

11.1.2 一维数组中的地址与指针 244

11.1.3 二维数组中的地址与指针 246

11.2 指针数组与指向指针的指针 248

11.2.1 指针数组 248

11.2.2 指向指针的指针 251

11.3 指针数组作为main()函数的参数 253

11.4 指向函数的指针——函数指针 254

11.5 指针作为函数的返回值——指针函数 256

11.6 链表 258

11.6.1 链表的概念 258

11.6.2 链表的实现 258

11.6.3 单向链表的操作 259

11.6.4 链表输出函数 261

11.7 应用程序举例 262

11.8 常见错误及解决办法 263

本章小结 265

习题11 267

第12章 位运算 270

12.1 位运算的概念 270

12.1.1 字节与位 270

12.1.2 补码 271

12.2 二进制位运算 272

12.2.1 二进制位运算 272

12.2.2 位复合赋值运算符 279

12.3 应用程序举例 279

12.4 错误解析 280

本章小结 280

习题12 280

第13章 从C语言到C++语言 282

13.1 尽量用const和inline而不用#define 282

13.2 尽量用<iostream>而不用<stdio.h> 284

13.3 尽量用new和delete而不用malloc和free 286

13.4 尽量使用C++语言风格的注释 287

13.5 错误解析 287

本章小结 288

习题13 288

附录A 常见的C关键字 289

附录B C运算符的优先级与结合性 290

附录C 常用字符与ASCII码对照表 291

附录D 常用ANSI C标准库函数 293

参考文献 300