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

  • 购买积分:12 如何计算积分?
  • 作  者:陈波,吉根林主编
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2010
  • ISBN:9787113114282
  • 页数:304 页
图书介绍:本书为高等院校教材。

第1章 C语言概述 1

1.1 程序与程序设计语言 1

1.1.1 计算机与程序 1

1.1.2 程序设计语言 1

1.1.3 高级语言程序的开发过程 2

1.2 C语言的发展和特点 4

1.2.1 C语言的发展历史 4

1.2.2 C语言的特点 5

1.2.3 C和C++ 6

1.3 C语言程序的结构 6

1.4 C语言程序的上机步骤 10

本章小结及常见错误分析 11

习题1 11

上机实验题1 11

第2章 数据类型 12

2.1 数据类型的概念 12

2.2 常量和变量 12

2.2.1 字面常量 12

2.2.2 符号常量 13

2.2.3 变量 15

2.2.4 标识符的命名规则 17

2.3 整型数据 18

2.3.1 整型的分类 18

2.3.2 整型数据的内存表示 18

2.4 实型数据 19

2.4.1 实型数据的内存表示 19

2.4.2 实型数据的精确表示 19

2.5 字符型数据 20

2.5.1 字符的内存表示 20

2.5.2 转义字符 21

2.5.3 字符型与整型的等价关系 21

2.6 数据类型转换 24

2.6.1 自动类型转换 24

2.6.2 强制类型转换 26

2.7 算术运算符与算术表达式 26

2.7.1 C语言运算符简介 26

2.7.2 C基本的算术运算符 27

2.7.3 运算符的优先级与结合性 27

2.7.4 自增、自减运算符 27

2.8 赋值运算符与赋值表达式 30

2.8.1 赋值运算符 30

2.8.2 赋值中的类型转换 30

2.8.3 复合赋值运算符 31

2.8.4 赋值表达式 32

2.9 逗号运算符与逗号表达式 32

本章小结及常见错误分析 33

习题2 34

上机实验题2 36

第3章 基本语句与结构化程序设计 37

3.1 程序与基本语句 37

3.1.1 程序的概念 37

3.1.2 程序的评价 40

3.1.3 C基本语句 40

3.2 顺序结构程序设计 42

3.2.1 赋值语句 42

3.2.2 数据的格式化输入/输出 43

3.2.3 字符数据的非格式化输入/输出 50

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

3.3 分支结构程序设计 53

3.3.1 关系运算符与关系表达式 54

3.3.2 逻辑运算符与逻辑表达式 55

3.3.3 if语句 56

3.3.4 switch语句 62

3.3.5 分支结构程序设计举例 64

3.4 循环结构程序设计 66

3.4.1 for语句 66

3.4.2 while语句 69

3.4.3 do...while语句 70

3.4.4 几种循环的比较及应用举例 71

3.4.5 break和continue语句 75

3.4.6 循环的嵌套 76

3.5 综合应用举例 81

本章小结及常见错误分析 85

习题3 87

上机实验题3 88

第4章 数组 90

4.1 一维数组 90

4.1.1 一维数组的定义与初始化 90

4.1.2 一维数组的引用 91

4.1.3 一维数组应用举例 93

4.2 二维数组 96

4.2.1 二维数组的定义与初始化 96

4.2.2 二维数组的引用 97

4.2.3 二维数组应用举例 98

4.3 字符串与字符数组 100

4.3.1 字符数组的定义与初始化 100

4.3.2 字符串的输入/输出 102

4.3.3 字符串处理函数 104

4.3.4 字符数组应用举例 106

本章小结及常见错误分析 110

习题4 111

上机实验题4 113

第5章 函数和模块化程序设计 115

5.1 模块化程序设计方法 115

5.2 函数的定义与声明 116

5.2.1 函数的主要语法成分 116

5.2.2 函数编程示例 120

5.3 参数传递与返回值类型 122

5.3.1 参数的传递规则 122

5.3.2 函数返回值类型 122

5.4 局部变量与全局变量 123

5.4.1 局部变量 123

5.4.2 全局变量 124

5.4.3 重名问题 125

5.5 变量的存储属性 126

5.5.1 动态变量与静态变量 126

5.5.2 寄存器变量 127

5.6 数组名作为函数参数 128

5.6.1 一维数组名作为函数参数 128

5.6.2 二维数组名作为函数参数 133

5.7 函数的嵌套调用 136

5.8 递归函数 138

本章小结及常见错误分析 143

习题5 144

上机实验题5 147

第6章 指针 149

6.1 指针与地址的概念 149

6.2 指向变量的指针 150

6.2.1 指针变量的定义与初始化 150

6.2.2 通过指针访问变量 151

6.2.3 指针变量作为函数参数 152

6.2.4 指针的强制转换 155

6.2.5 void指针类型 156

6.3 指针与一维数组 157

6.3.1 指针的算术运算 157

6.3.2 指针用于数组处理 159

6.3.3 指针与字符串 162

6.3.4 数组名作为函数参数 165

6.4 指针与二维数组 169

6.4.1 指针与二维数组的关系 169

6.4.2 向函数传递二维数组 171

6.5 指针数组和指向指针的指针 174

6.5.1 指针数组的定义与使用 174

6.5.2 指针数组与字符串数组 176

6.5.3 指向指针的指针 177

6.5.4 main()函数的形参 179

6.6 指向函数的指针 181

6.6.1 函数指针的定义与使用 181

6.6.2 函数指针数组的使用 182

6.6.3 函数指针作为函数参数 184

6.7 返回指针的函数 186

本章小结及常见错误分析 189

习题6 191

上机实验题6 194

第7章 编译预处理 196

7.1 宏定义 196

7.1.1 无参宏定义 196

7.1.2 带参宏定义 198

7.2 文件包含 201

7.3 条件编译 202

7.4 C语言程序的结构 205

本章小结及常见错误分析 206

习题7 207

上机实验题7 208

第8章 结构体、共用体和枚举类型 209

8.1 结构体类型与结构体变量 209

8.1.1 结构体类型的定义 210

8.1.2 结构体变量的定义及初始化 211

8.1.3 结构体变量的引用 214

8.1.4 程序举例 214

8.2 结构体数组 215

8.2.1 结构体数组的定义与初始化 216

8.2.2 程序举例 217

8.3 指向结构体的指针 219

8.3.1 指向结构体变量的指针 219

8.3.2 指向结构体数组的指针 221

8.4 用typedef定义类型 222

8.5 结构体的应用——链表 224

8.5.1 链表的概念 224

8.5.2 链表结点的定义 225

8.5.3 链表的建立 226

8.5.4 链表的基本操作 229

8.6 共用体类型 233

8.6.1 共用体的定义 233

8.6.2 程序举例 234

8.7 枚举类型 235

本章小结及常见错误分析 236

习题8 237

上机实验题8 241

第9章 文件 242

9.1 文件的概念 242

9.1.1 C语言文件的分类 242

9.1.2 文件操作的基本步骤 243

9.2 文件类型指针 243

9.3 文件的常用操作 244

9.3.1 文件的打开与关闭 244

9.3.2 文件的读/写 247

9.3.3 文件的定位 254

9.3.4 文件的检测 257

9.4 文件操作函数小结 258

9.5 应用举例 259

本章小结及常见错误分析 261

习题9 262

上机实验题9 265

第10章 位运算 266

10.1 位运算符和位运算 266

10.1.1 按位与运算符 266

10.1.2 按位或运算符 267

10.1.3 按位异或运算符 267

10.1.4 取反运算符 268

10.1.5 左移运算符 269

10.1.6 右移运算符 269

10.2 位运算应用举例 270

本章小结及常见错误分析 271

习题10 272

上机实验题10 272

附录A 常见字符与ASCII代码对照表 273

附录B C语言运算符的优先级和结合性 274

附录C Visual C++ 6.0环境下C程序的基本开发过程 275

附录D 模拟试卷 288

参考文献 304