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

  • 购买积分:12 如何计算积分?
  • 作  者:杨忠宝,董晓明编著
  • 出 版 社:北京市:北京大学出版社
  • 出版年份:2010
  • ISBN:9787301169025
  • 页数:318 页
图书介绍:C语言在计算机程序设计领域应用非常广泛,它具有功能丰富、语句简洁、使用方便、语法灵活、数据结构多样、能对硬件进行操作、高移植性和通用性等诸多优点。C语言既有高级语言的特点,又有汇编语言等低级语言的特点,它已经成为编制系统软件和应用软件的首选语言。

第1章 C语言概述 1

1.1 C语言的历史 1

1.2 C语言的特点 2

1.3 C语言程序的开发过程 3

1.3.1 C语言调试步骤 3

1.3.2 Visual C++ 6.0环境下调试程序的方法 4

1.4 简单的C语言程序 7

习题 9

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

2.1 数据类型 11

2.2 常量与变量 12

2.3 整型数据 14

2.4 实型数据 17

2.5 字符型数据 19

2.6 类型转换 22

2.7 基本运算符和表达式 24

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

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

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

2.7.4 求字节数运算符 30

习题 31

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

3.1 结构化程序设计 34

3.2 C语言的语句 36

3.3 数据的输出 37

3.3.1 格式输出函数——printf函数 37

3.3.2 字符输出函数——putchar函数 42

3.4 数据的输入 43

3.4.1 格式输入函数——scanf函数 43

3.4.2 字符输入函数——getchar函数 45

3.5 程序举例 46

习题 47

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

4.1 关系运算符、逻辑运算符、条件运算符 51

4.1.1 关系运算符和表达式 51

4.1.2 逻辑运算符和表达式 53

4.1.3 条件运算符和条件表达式 55

4.2 选择结构程序设计 56

4.2.1 if语句 56

4.2.2 switch语句 62

4.3 程序举例 65

习题 67

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

5.1 while语句 72

5.2 do-while语句 75

5.3 for语句 78

5.4 break语句和continue语句 82

5.4.1 break语句 82

5.4.2 continue语句 84

5.5 循环嵌套 85

5.6 程序举例 87

习题 92

第6章 数组 99

6.1 一维数组 99

6.1.1 一维数组的定义和引用 99

6.1.2 一维数组的初始化 103

6.1.3 一维数组程序举例 104

6.2 二维数组 111

6.2.1 二维数组的定义和引用 111

6.2.2 二维数组的初始化 113

6.2.3 二维数组程序举例 116

6.3 字符数组与字符串 119

6.3.1 字符数组的定义和初始化 119

6.3.2 字符串 121

6.3.3 字符串处理函数 126

6.3.4 程序举例 128

习题 132

第7章 函数 138

7.1 函数概述 138

7.2 函数定义 139

7.2.1 函数定义的一般形式 139

7.2.2 函数的返回值 141

7.3 函数调用 143

7.3.1 函数调用的一般形式 143

7.3.2 参数传递 144

7.3.3 对被调用函数的声明 146

7.3.4 函数的嵌套调用 147

7.4 函数的递归调用 150

7.5 数组作函数参数 152

7.5.1 数组元素作函数参数 152

7.5.2 数组名作函数参数 153

7.6 局部变量和全局变量 157

7.6.1 局部变量 157

7.6.2 全局变量 159

7.7 变量的存储类别 160

7.7.1 动态存储方式与静态存储方式 160

7.7.2 变量的存储类别 161

习题 164

第8章 指针 174

8.1 指针的基本概念 174

8.1.1 变量与地址 174

8.1.2 指针与指针变量 175

8.1.3 直接访问与间接访问 175

8.2 指针变量的定义和引用 175

8.2.1 指针变量的定义 175

8.2.2 指针变量的引用 176

8.2.3 指针变量的算术运算 179

8.2.4 指针变量作为函数的参数 180

8.3 指针与一维数组 182

8.3.1 通过指针变量引用数组元素 182

8.3.2 用数组名及指针作为函数的参数 184

8.4 指针与二维数组 188

8.4.1 二维数组的地址 188

8.4.2 指向二维数组的指针变量 191

8.5 指针与字符串 192

8.5.1 字符串的表现形式及访问方式 192

8.5.2 使用字符数组和字符型指针变量处理字符串的区别 196

8.6 指针与函数 198

8.6.1 返回指针值的函数 198

8.6.2 指向函数的指针 199

8.7 二级指针和指针数组 200

8.7.1 二级指针 200

8.7.2 指针数组 201

8.7.3 main函数的参数 204

习题 206

第9章 结构体与链表 216

9.1 结构体类型变量的定义 216

9.2 结构体类型变量的引用 219

9.3 结构体的初始化 221

9.4 结构体与数组 223

9.4.1 结构体中包含数组 223

9.4.2 结构体数组 223

9.5 结构体和指针 226

9.5.1 结构体中包含指针 226

9.5.2 指向结构体的指针 228

9.6 用结构体指针处理链表 232

9.6.1 链表介绍 232

9.6.2 动态存储分配 233

9.6.3 链表的基本操作 235

9.7 共用体 248

9.8 枚举 251

9.8.1 枚举类型的定义和枚举变量的定义 251

9.8.2 枚举变量的使用 252

9.9 类型定义 254

9.10 应用举例 256

习题 258

第10章 文件 268

10.1 文件概述 268

10.2 文件类型指针 270

10.3 文件的打开与关闭 270

10.3.1 文件打开函数fopen 270

10.3.2 文件关闭函数fclose 272

10.4 文件的读写操作 272

10.4.1 字符读写函数:fgetc和fputc 272

10.4.2 格式化读写函数:fscanf和fprintf 275

10.4.3 数据块读写函数:fread和fwrite 277

10.4.4 字符串读写函数:fgets和fputs 279

10.5 文件定位函数 280

10.5.1 rewind函数 280

10.5.2 fseek函数 281

习题 283

第11章 编译预处理 288

11.1 宏定义 288

11.1.1 无参数的宏定义 289

11.1.2 带参数的宏定义 291

11.2 文件包含 293

11.3 条件编译 296

11.3.1 #if命令 296

11.3.2 #ifdef…#else…#endif 296

11.3.3 #ifndef…#else…#endif 298

11.3.4 #undef 298

11.3.5 应用举例 298

习题 300

第12章 位运算 303

12.1 二进制位逻辑运算 303

12.1.1 “按位与”运算符& 304

12.1.2 “按位或”运算符| 305

12.1.3 “按位异或”运算符^ 306

12.1.4 “按位取反”运算符~ 307

12.2 移位运算 307

12.2.1 左移运算符〈〈 307

12.2.2 右移运算符〉〉 308

习题 309

附录 312

参考文献 319