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

  • 购买积分:11 如何计算积分?
  • 作  者:丁峻岭主编
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2007
  • ISBN:7113077463
  • 页数:279 页
图书介绍:本书内容包括C语言概述、数据类型、运算符与表达式、数据的输入和输出、选择型程序设计、数组、函数、编译预处理、指针等内容。

1.1 程序与程序设计 1

第1章 C语言概述 1

1.2 C语言的特点 2

1.3 C程序的基本结构 3

1.4 C语言的词类 5

1.4.1 字符集 5

1.4.2 保留字 5

1.4.3 标识符 5

1.4.4 分隔符 5

1.5 C程序的上机过程 5

1.5.1 C程序的建立和编辑 6

1.5.2 C程序的编译和运行 9

1.5.3 C程序的调试 11

课后练习 12

2.2 常量与变量 13

2.2.1 常量 13

2.1 C语言的数据类型 13

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

2.2.2 变量 14

2.3 整型数据 15

2.3.1 整型常量 15

2.3.2 整型变量 16

2.3.3 整型数据的存储方式 17

2.4 字符类型 18

2.4.1 字符与ASCII码 18

2.4.2 字符常量 18

2.4.3 字符变量 19

2.4.4 字符数据的存储方式 20

2.4.5 字符串常量 20

2.5 实数类型 21

2.5.1 定点数与浮点数 21

2.5.3 实型变量 22

2.5.2 实型常量 22

2.5.4 sizeof运算符 23

2.5.5 C语言基本数据类型小结 23

2.6 算术运算 24

2.6.1 运算符与表达式 24

2.6.2 双元算术运算符 25

2.6.3 复合算术赋值运算符 26

2.6.4 自加和自减运算 26

2.6.5 正负号运算符 27

2.6.6 赋值类运算符的副作用及限制 27

2.7 关系运算与逻辑运算 28

2.7.1 关系运算 28

2.7.2 逻辑运算 29

2.7.3 条件运算符 30

2.9 不同类型数据间的转换 31

2.9.1 基本概念 31

2.8 逗号运算符和逗号表达式 31

2.9.2 数据类型的隐式转换 33

2.9.3 数据类型的显式转换 34

课后练习 35

第3章 数据的输入和输出 36

3.1 printf函数 36

3.1.1 printf函数格式 36

3.1.2 格式说明 37

3.2.2 格式控制参数 42

3.2 scanf函数 42

3.2.1 地址参数 42

3.2.3 scanf函数的执行过程 44

3.2.4 scanf函数如何分隔数据项 44

3.2.5 scanf函数的停止与返回 47

3.3 getchar函数和putchar函数 48

3.3 getchar函数和putchar函数的定义 48

3.3.2 getchar函数和putchar函数的用法 48

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

课后练习 50

第4章 选择型程序设计 56

4.1 算法和算法的表示 56

4.1.1 算法的概念 56

4.1.2 算法的基本特征 58

4.1.3 算法的表示 59

4.1.4 结构化程序的三种基本结构 61

4.2 C语言的语句 64

4.2.1 C语言语句的基本概念 64

4.2.2 表达式语句 65

4.2.3 流程控制语句 65

4.2.4 复合语句 66

4.3 选择型程序结构 66

4.3.1 条件判断语句 66

4.3.2 多分支选择语句 69

4.4 选择型程序设计举例 71

课后练习 73

第5章 循环控制 75

5.1 先判断后执行循环控制语句while 75

5.2 先执行后判断循环控制语句do...while 77

5.3 循环次数控制语句for 80

5.4 goto语句以及用goto语句构成的循环结构 81

5.5 循环的嵌套 82

5.6 break语句和continue语句 84

5.7 程序举例 85

课后练习 88

第6章 数组 91

6.1 一维数组 91

6.1.1 一维数组的定义 91

6.1.2 一维数组的初始化 91

6.1.3 数组元素的引用 92

6.2.1 二维数组的定义 94

6.2 二维数组 94

6.2.2 二维数组元素的引用 96

6.2.3 二维数组的初始化 97

6.3 字符数组 99

6.3.1 字符串和字符串的存储方法 99

6.3.2 字符数组的初始化 99

6.3.3 字符串的输入 100

6.3.4 字符串的输出 102

6.3.5 字符串运算函数 103

6.3.6 二维字符数组 105

课后练习 107

第7章 函数 109

7.1 函数的基础知识 110

7.1.1 函数的基本概念 110

7.1.2 函数的传值调用 115

7.1.3 函数的嵌套调用 117

7.1.4 函数的递归调用 118

7.1.5 标准库函数 120

7.2 变量的存储属性 123

7.2.1 存储属性的概念 123

7.2.2 自动(auto)变量 124

7.2.3 寄存器(register)变量 126

7.2.4 静态(static)变量 127

7.2.5 外部(extern)变量 128

7.2.6 存储类别小结 132

7.3.1 Turbo C图形函数简介 134

7.3 画图程序的实现 134

7.3.2 图形函数调用举例 137

课后练习 139

第8章 编译预处理 141

8.1 宏定义(#define) 141

8.1.1 不带参宏定义 141

8.1.2 带参宏定义 143

8.2.1 文件包含的格式 146

8.1.3 书写宏定义命令行应注意的问题 146

8.2 文件包含(#include) 146

8.2.2 典型举例 147

8.2.3 文件包含的使用特点 147

8.2.4 标准头文件 148

8.3 条件编译 149

8.3.1 条件编译的概念 149

8.3.2 条件编译的三种具体格式 149

8.3.3 使用条件编译的优点 150

课后练习 151

第9章 指针 152

9.1 地址和指针 152

9.1.1 指针概述 152

9.1.2 指针变量的定义 153

9.1.3 指针变量的引用 154

9.2.1 一维数组的地址表示法(地址法) 155

9.2 一维数组的指针表示方法 155

9.2.2 一维数组的指针表示法 156

9.2.3 使用指针法应注意的问题 157

9.2.4 应用指针法举例 157

9.2.5 指针变量的运算 158

9.3 二维数组的指针表示方法 160

9.3.1 二维数组的地址 160

9.3.2 二维数组中的行地址与列地址 161

9.3.3 指针在二维数组中的应用举例 163

9.4 函数参数与指针、数组 164

9.4.1 指针作为函数参数 164

9.4.2 数组名作为函数参数 166

9.4.3 指向数组的指针作函数参数 168

9.5 返回指针值的函数 170

9.5.1 返回指针值函数的定义形式 170

9.5.2 返回指针值的函数用法举例 171

9.6.2 函数指针的定义 172

9.6.1 函数的指针 172

9.6 指向函数的指针变量 172

9.6.3 函数指针的特点 173

9.6.4 函数指针用法举例 173

9.6.5 使用函数指针的优点 176

9.7 指针与字符串 177

9.7.1 指向字符串的指针用法举例 177

9.7.2 字符数组与字符指针的用法区别 178

9.8 指针数组 179

9.8.1 引入指针数组的原因 179

9.8.2 定义指针数组的形式 179

9.8.3 指针数组的应用举例 180

9.9 指向指针的指针 183

9.9.1 指向指针的指针的定义 183

9.9.2 双重指针的用法和举例 183

9.10.1 main函数中的参数形式 187

9.10.2 main函数参数的传递过程 187

9.10 main函数中的参数 187

9.9.3 多重指针的用法和举例 187

9.10.3 有关main函数参数的举例 188

9.11 指针数据小结 189

9.11.1 常用的指针类型变量归纳 189

9.11.2 指向void类型的指针 190

课后练习 191

第10章 结构体、共用体与枚举型 193

10.1 结构体类型的基本知识 193

10.1.1 结构体类型的定义 193

10.1.2 定义结构体类型变量的方法 194

10.1.3 结构体变量的初始化 196

10.1.4 结构体变量的引用 197

10.1.5 结构体变量的输入和输出 199

10.2 结构体数组 200

10.2.1 结构体数组的定义 200

10.2.2 结构体数组的初始化 201

10.2.3 结构体数组的引用 202

10.3 结构体变量与函数 204

10.3.1 结构体变量作为函数参数 204

10.3.2 返回结构体类型值的函数 206

10.4 结构体变量与指针 207

10.4.1 结构体指针 207

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

10.4.3 用作函数参数的结构体指针 210

10.5 链表 211

10.5.1 动态存储分配和链表的概念 211

10.5.2 用包含指针项的结构体变量构成结点 213

10.5.3 内存动态分配函数 214

10.5.4 链表应用举例 216

10.6.1 枚举类型的概念 224

10.6.2 枚举类型和枚举变量的定义 224

10.6 枚举类型数据 224

10.6.3 有关枚举常量的说明 225

10.7 共同体类型数据 227

10.7.1 共同体的概念 227

10.7.2 共同体变量的引用 229

10.7.3 共同体变量的应用 230

10.8 用typedef定义类型 232

10.8.1 使用typedef定义类型 232

10.8.2 使用typedef定义类型时应注意的问题 233

课后练习 234

第11章 位运算 235

11.1 位运算与位运算符 235

11.1.1 按位与运算符 235

11.1.2 按位或运算符 237

11.1.3 按位异或运算符 238

11.1.4 按位取反运算符 239

11.1.5 左移运算符 239

11.1.6 右移运算符 240

11.2 位运算应用举例 241

11.3 位段 244

11.3.1 位段的概述 244

11.3.2 位段的引用 246

课后练习 248

第12章 文件 249

12.1 缓冲型文件指针变量的定义 250

12.2 缓冲型文件的打开与关闭 251

12.2.1 文件的打开(fopen函数) 251

12.2.2 文件的关闭(fclose函数) 253

12.3 缓冲型文件的读写 254

12.3.1 输入和输出一个字符 254

12.3.2 输入和输出一个字符串 256

12.3.3 格式化的输入和输出 258

12.3.4 按“记录”的方式输入和输出 260

12.4.1 文件的定位 262

12.4 缓冲型文件的定位与随机读写 262

12.4.2 随机读写 263

12.5 缓冲型文件操作的出错检测 266

12.5.1 ferror函数 266

12.5.2 clearerr函数 266

12.6 非缓冲文件系统(系统I/O) 266

12.6.1 非缓冲文件系统的主要特点 266

12.6.2 打开文件 268

12.6.3 文件的读写与关闭 269

12.6.4 缓冲区的设置 270

课后练习 271

附录A ASCII码表 272

附录B C常用库函数 273

附录C C语言的关键字 277

附录D 运算符的优先级与结合性 278

参考文献 280