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

  • 购买积分:12 如何计算积分?
  • 作  者:刘欣亮,李敏主编;王爱珍,韩丰,韩同跃等副主编;普杰信主审
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121188398
  • 页数:328 页
图书介绍:本书是河南省精品课程配套教材,全书共分12章,主要介绍C语言程序设计基础知识、数据的存储与运算、三种结构化程序设计方法、数组、函数、指针、用户自定义数据类型和文件系统等,每章均配有典型习题,突出了实用性,强调理论与实践相结合,培养学生的编程能力。本书配有PPT,且内容丰富、注重实践;突出重点、分散难点;例题广泛、结合实际。

程序设计基础篇 1

第1章 C语言概述 1

1.1 程序设计语言的发展过程 1

1.1.1 机器语言(第一代语言) 1

1.1.2 汇编语言(第二代语言) 1

1.1.3 高级语言 1

1.2 C语言简介 2

1.2.1 C语言的发展 2

1.2.2 C语言的特点 2

1.2.3 C和C++语言 3

1.3 C语言程序的结构 4

1.3.1 简单的C语言程序 4

1.3.2 C语言程序的结构 6

1.4 C语言程序的运行步骤和集成开发环境 8

1.4.1 C语言程序的运行步骤 8

1.4.2 C语言的集成开发环境 8

小结 9

习题1 9

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

2.1 C语言数据类型概述 11

2.2 常量 12

2.2.1 常量的概念 12

2.2.2 符号常量 12

2.2.3 整型常量 13

2.2.4 实型常量 14

2.2.5 字符常量 15

2.2.6 字符串常量 17

2.3 变量 18

2.3.1 变量的概念及其应用 18

2.3.2 整型变量 18

2.3.3 实型变量 20

2.3.4 字符型变量 23

2.4 算术运算符和算术表达式 25

2.4.1 运算符概述 25

2.4.2 算术运算符和算术表达式 25

2.5 赋值运算符和赋值表达式 27

2.5.1 赋值运算符 27

2.5.2 赋值表达式及其值 27

2.5.3 复合赋值运算符 28

2.6 逗号运算符和逗号表达式 29

2.7 数据类型转换 30

2.7.1 数据类型的自动转换 30

2.7.2 数据类型的强制转换 32

小结 33

习题2 33

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

3.1 结构化程序设计方法 36

3.1.1 自顶向下、逐步求精、模块化的结构化程序设计方法 36

3.1.2 程序的结构 36

3.2 C语言语句概述 37

3.2.1 表达式语句 38

3.2.2 函数调用语句 39

3.2.3 控制语句 39

3.2.4 复合语句 39

3.2.5 空语句 40

3.3 程序的注释 40

3.4 数据的输入与输出 41

3.4.1 输入和输出的基本概念 41

3.4.2 输入和输出的实现 41

3.5 字符数据输入/输出函数 42

3.5.1 字符输出函数putchar 42

3.5.2 字符输入函数getchar 43

3.6 格式输入/输出函数 44

3.6.1 格式输出函数printf 44

3.6.2 格式输入函数scanf 50

3.7 顺序结构程序设计举例 52

小结 55

习题3 55

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

4.1 关系表达式和逻辑表达式 58

4.1.1 关系运算符和关系表达式 58

4.1.2 逻辑运算符和逻辑表达式 60

4.2 条件运算符和条件表达式 62

4.2.1 条件运算符 62

4.2.2 条件表达式和求值规则 62

4.3 if语句 64

4.3.1 if语句的格式和功能 64

4.3.2 if语句的嵌套 71

4.4 switch语句 77

4.5 分支语句应用程序设计 80

4.6 switch语句与多分支if语句的比较 85

小结 85

习题4 85

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

5.1 循环结构的引入 90

5.2 三种实现循环结构的语句 90

5.2.1 while语句 90

5.2.2 do-while语句 93

5.2.3 for语句 95

5.3 break语句和continue语句 101

5.3.1 break语句 101

5.3.2 continue语句 102

5.4 循环嵌套 103

5.4.1 循环嵌套的概念 103

5.4.2 常见的形式 103

5.4.3 循环嵌套的执行过程 103

5.4.4 使用注意事项 104

5.5 综合程序设计 105

5.5.1 穷举法 105

5.5.2 递推法 109

5.5.3 迭代法 111

小结 115

习题5 115

第6章 数组 119

6.1 数组的引入 119

6.1.1 问题的提出 119

6.1.2 数组的基本概念 120

6.1.3 数组的分类 121

6.2 一维数组 121

6.2.1 一维数组的定义 121

6.2.2 一维数组的引用 121

6.2.3 一维数组的存储 122

6.2.4 一维数组的初始化 122

6.2.5 一维数组的应用举例 124

6.3 多维数组 132

6.3.1 二维数组的定义 132

6.3.2 二维数组的引用 133

6.3.3 二维数组的存储 134

6.3.4 二维数组的初始化 134

6.3.5 二维数组应用举例 135

6.4 字符数组 139

6.4.1 字符数组的定义与初始化 139

6.4.2 字符数组的输入和输出 140

6.4.3 常用的字符串处理函数 142

6.4.4 字符数组的应用举例 145

小结 149

习题6 149

第7章 函数与预处理命令 152

7.1 概述 152

7.1.1 使用函数的重要性 152

7.1.2 用户自定义函数的三个基本元素 156

7.2 函数的调用 159

7.2.1 函数的简单调用 159

7.2.2 函数的嵌套调用 167

7.2.3 函数的递归调用 169

7.3 数组作为函数参数 173

7.3.1 数组元素作为函数参数 173

7.3.2 数组名作为函数参数 174

7.4 变量的分类 176

7.4.1 按作用域分类 176

7.4.2 按存储类别分类 180

7.5 多文件程序 185

7.6 编译预处理 187

7.6.1 宏定义 187

7.6.2 文件包含 192

小结 194

习题7 194

第8章 典型算法与综合程序设计 197

8.1 数值计算方法 197

8.1.1 大数阶乘计算 197

8.1.2 一元n次方程根的数值计算 199

8.1.3 定积分的计算 201

8.2 实用工具的设计 202

8.2.1 计算器 203

8.2.2 万年历 205

8.3 游戏类的设计 208

8.3.1 猜拳 208

8.3.2 汉诺塔 211

小结 213

程序设计进阶篇 214

第9章 指针 214

9.1 指针的概念 214

9.2 变量的指针和指向变量的指针变量 214

9.2.1 指针变量的定义 214

9.2.2 指针变量的引用 215

9.2.3 指针变量作为函数参数 217

9.3 数组的指针和指向数组的指针变量 219

9.3.1 指向数组元素的指针 219

9.3.2 数组元素的引用 220

9.3.3 用数组名作为函数参数 223

9.3.4 多维数组的指针和指向多维数组的指针变量 230

9.4 字符串的指针和指向字符串的指针变量 232

9.4.1 字符串的访问 232

9.4.2 字符串指针变量与字符数组的区别 235

9.5 函数的指针变量 235

9.6 指针型函数 237

9.7 指针数组和指向指针的指针 238

9.7.1 指针数组的概念 238

9.7.2 指向指针的指针 242

小结 243

习题9 244

第10章 结构体与共用体 249

10.1 结构体引入 249

10.2 结构体变量的使用 250

10.2.1 结构体变量的定义 250

10.2.2 结构体变量的引用 252

10.2.3 结构体变量的初始化 253

10.2.4 结构体变量的使用 254

10.3 结构体数组 255

10.4 结构体变量作为函数的参数和返回值 257

10.5 结构体和指针 261

10.5.1 指向结构体变量的指针 261

10.5.2 指向结构体数组的指针 262

10.5.3 指向结构体变量的指针作为函数参数 264

10.5.4 函数返回值为指向结构体变量的指针 265

10.6 动态内存分配与链表 266

10.6.1 动态内存函数 266

10.6.2 用指针处理链表 268

10.6.3 链表的定义 269

10.6.4 链表的基本操作 269

10.7 共用体类型 275

10.7.1 共用体类型的定义 275

10.7.2 共用体变量的定义 276

10.7.3 共用体变量的使用 276

10.7.4 共用体实例 277

10.8 枚举类型 278

10.8.1 枚举类型的定义 278

10.8.2 枚举变量的定义 279

10.8.3 枚举变量的赋值和使用 279

10.9 自定义类型 280

小结 281

习题10 281

第11章 位运算 284

11.1 位运算符概述 284

11.1.1 与运算 284

11.1.2 或运算 285

11.1.3 异或运算 286

11.1.4 求反运算 287

11.1.5 移位运算 287

11.2 位运算赋值运算符 288

11.3 位域(位段) 289

11.3.1 位域的定义和位域变量的说明 289

11.3.2 位域的使用 290

小结 292

习题11 293

第12章 文件 294

12.1 文件概述 294

12.2 文件指针的定义 294

12.3 文件的基本操作 295

12.3.1 文件打开函数 295

12.3.2 文件关闭函数 296

12.3.3 文件检测函数 296

12.3.4 文件定位函数 297

12.3.5 字符读写函数 298

12.3.6 字符串读写函数 301

12.3.7 格式化读写函数 303

12.3.8 数据块读写函数 304

12.4 综合程序设计 306

小结 314

习题12 314

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

附录B 扩展ASCII码对照表 318

附录C C语言关键字 319

附录D C语言的9种控制语句 320

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

附录F 常用的ANSI C标准库函数 323

参考文献 328