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

  • 购买积分:12 如何计算积分?
  • 作  者:高建华,张华,关焕梅等主编;刘英,腾冲,周雅洁等副主编
  • 出 版 社:武汉:武汉大学出版社
  • 出版年份:2015
  • ISBN:9787307150997
  • 页数:350 页
图书介绍:C语言是目前广泛流行的程序设计语言之一,是许多计算机专业人员和计算机爱好者编制软件强有力的开发工具,也是国内外大学普遍开设的计算机基础课程之一。 本书共分为13章,内容包括C语言概述,基本数据类型、运算符和表达式,C语言程序设计初步、选择结构、循环结构,数组,函数,指针,字符串,结构体、共用体和枚举,文件,位运算和编译预处理。

第1章 概述 1

1.1 计算机程序与语言简介 1

1.1.1 计算机程序 1

1.1.2 计算机语言及其处理程序 1

1.1.3 程序开发的一般步骤 3

1.2 C语言简介 4

1.2.1 C语言的起源 4

1.2.2 C语言的标准 5

1.2.3 C语言的主要特点 6

1.3 C语言程序的基本结构 7

1.3.1 几个简单的C语言程序 7

1.3.2 C语言程序的基本结构 10

1.3.3 C语言的字符集、关键字和标识符 10

1.4 C语言程序的编程环境 12

本章小结 14

思考题 14

第2章 基本数据类型、运算符和表达式 15

2.1 引例 15

2.2 C语言的数据类型 16

2.3 常量和变量 16

2.4 C语言程序中的数据 18

2.4.1 整型数据 18

2.4.2 字符型数据 22

2.4.3 实型数据 25

2.4.4 符号常量 27

2.5 运算符和表达式 28

2.5.1 算术运算符和算术表达式 29

2.5.2 赋值运算符和赋值表达式 31

2.5.3 逗号运算符和逗号表达式 33

2.6 不同类型数据间的混合运算 34

2.7 标准库函数简介 36

本章小结 38

思考题 38

第3章 C语言程序设计初步 39

3.1 结构化程序的概念 39

3.2 算法简介 40

3.2.1 算法的基本概念 40

3.2.2 算法的基本结构 40

3.2.3 算法的表示方法 41

3.3 C语言程序的基本语句 44

3.3.1 声明语句 44

3.3.2 表达式语句 44

3.3.3 函数调用语句 44

3.3.4 空语句 45

3.3.5 复合语句 45

3.3.6 流程控制语句 46

3.4 数据输入输出的概念与C语言实现 47

3.5 几种输入输出数据的方法 47

3.5.1 用函数putchar输出单个字符数据 48

3.5.2 用函数getchar输入单个字符数据 49

3.5.3 用函数printf按指定格式输出数据 50

3.5.4 用函数scanf按指定格式输入数据 58

3.6 程序设计案例:幼儿知识小测验 64

本章小结 65

思考题 65

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

4.1 引例 67

4.2 表示条件判断的基本方法 67

4.2.1 关系运算符和关系表达式 67

4.2.2 逻辑运算符和逻辑表达式 69

4.3 用if语句实现选择结构 71

4.3.1 if语句的基本形式 71

4.3.2 if语句的嵌套 76

4.3.3 条件运算符和条件表达式 79

4.4 用switch语句实现选择结构 81

4.4.1 switch语句基本语法 81

4.4.2 使用switch语句的要点 83

4.5 程序设计案例:计算器 85

本章小结 87

思考题 87

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

5.1 引例 88

5.2 用while语句实现循环结构 89

5.2.1 while语句的基本语法 89

5.2.2 while语句使用要点 91

5.3 用do-while语句实现循环结构 92

5.3.1 do-while语句的基本语法 92

5.3.2 do-while语句使用要点 93

5.4 用for语句实现循环结构 95

5.4.1 for语句的基本语法 95

5.4.2 for语句使用要点 96

5.5 嵌套循环结构 99

5.6 在循环结构中使用13reak语句和continue语句 101

5.6.1 break语句 101

5.6.2 continue语句 104

5.7 不受推崇的goto语句 105

5.8 程序设计案例:猜数字游戏 107

本章小结 110

思考题 110

第6章 数组 112

6.1 引例 112

6.2 一维数组 114

6.2.1 一维数组的定义和存储 114

6.2.2 一维数组元素的引用 116

6.2.3 一维数组的初始化 117

6.2.4 一维数组元素的输入输出 118

6.2.5 一维数组应用举例 120

6.3 二维数组 126

6.3.1 二维数组的定义和存储 126

6.3.2 二维数组元素的引用 126

6.3.3 二维数组的初始化 127

6.3.4 二维数组的输入输出 128

6.3.5 二维数组应用举例 129

6.4 程序设计案例:折半查找 133

本章小结 135

思考题 136

第7章 函数 137

7.1 程序的模块化 137

7.2 C语言的函数 138

7.3 函数的定义 140

7.4 函数的调用 144

7.4.1 函数调用的一般形式 144

7.4.2 函数的参数 146

7.4.3 函数的返回值 147

7.4.4 函数的声明 148

7.4.5 数组作为函数参数 149

7.4.6 函数的嵌套调用 151

7.4.7 函数的递归调用 152

7.5 变量的作用域 156

7.5.1 局部变量 156

7.5.2 全局变量 156

7.5.3 作用域存在重叠区的同名变量 159

7.6 变量的存储类别 160

7.6.1 自动变量 161

7.6.2 寄存器变量 161

7.6.3 外部变量 162

7.6.4 静态变量 163

7.7 较大型C语言程序的组织 164

7.7.1 头文件 164

7.7.2 内部函数和外部函数 165

7.7.3 把程序划分成多个文件 165

7.7.4 构建多文件的程序 168

7.8 程序设计案例:井字棋游戏 168

本章小结 173

思考题 174

第8章 指针 175

8.1 指针和指针变量 175

8.1.1 引例 175

8.1.2 指针与地址 176

8.1.3 指针变量 177

8.2 指针变量的使用 178

8.2.1 指针变量的定义 178

8.2.2 指针变量的引用 179

8.2.3 指针变量的初始化 180

8.2.4 指针变量作为函数参数 181

8.3 指针与数组 182

8.3.1 指针变量的运算 182

8.3.2 数组的指针和指向数组的指针变量 185

8.3.3 数组作为函数参数 193

8.4 指针数组和指向指针的指针 196

8.4.1 指针数组 196

8.4.2 指向指针的指针 197

8.5 指针与函数 198

8.5.1 函数指针与指向函数的指针变量 198

8.5.2 函数指针作为函数参数 200

8.5.3 返回指针的函数 203

8.6 指针与动态内存管理 205

8.6.1 动态内存的分配与管理 205

8.6.2 void指针类型 206

8.7 程序设计案例:学生成绩查询系统 206

本章小结 210

思考题 210

第9章 字符串 212

9.1 字符串的基本概念 212

9.2 用字符数组存储和处理字符串 213

9.2.1 字符数组的定义 213

9.2.2 字符数组的引用 213

9.2.3 字符数组的初始化 214

9.2.4 字符数组的输入输出 216

9.3 指向字符串的指针变量 218

9.3.1 字符串指针变量的定义与初始化 218

9.3.2 字符串指针变量与字符数组 219

9.3.3 字符串指针变量作为函数参数 221

9.4 字符串处理函数 222

9.4.1 gets函数 222

9.4.2 puts函数 223

9.4.3 strlen函数 224

9.4.4 strcat函数 225

9.4.5 strcpy函数 225

9.4.6 strcmp函数 226

9.4.7 strlwr函数 227

9.4.8 strupr函数 227

9.5 程序设计案例:字符串排序 227

本章小结 230

思考题 230

第10章 结构体、共用体和枚举 232

10.1 引例 232

10.2 结构体 232

10.2.1 结构体类型的定义 232

10.2.2 结构体类型变量的定义 234

10.2.3 结构体类型变量的存储结构 235

10.2.4 结构体类型变量的引用 238

10.2.5 结构体数组 239

10.2.6 结构体指针 242

10.2.7 结构体与函数 242

10.3 typedef的用法 247

10.4 用结构体和指针实现链表 249

10.4.1 链表的概念 249

10.4.2 对单向链表的操作 250

10.5 共用体 254

10.5.1 共用体类型的定义 254

10.5.2 共用体类型变量的定义 254

10.5.3 共用体类型变量的存储结构 255

10.5.4 共用体类型变量的引用 255

10.6 枚举 259

10.6.1 枚举类型的定义 259

10.6.2 枚举类型变量的定义 259

10.6.3 枚举类型变量的引用 260

10.7 程序设计案例 262

10.7.1 图书信息管理系统 262

10.7.2 学生信息管理系统 271

10.7.3 贪食蛇游戏 276

本章小结 286

思考题 286

第11章 文件处理 287

11.1 文件的概念及其分类 287

11.1.1 文件的概念 287

11.1.2 文件的分类 287

11.2 C语言的文件处理方法 288

11.2.1 流 288

11.2.2 缓冲区 288

11.2.3 文件指针 288

11.3 文件的打开与关闭 289

11.3.1 文件的打开 289

11.3.2 文件的关闭 291

11.4 文件的顺序读写 292

11.4.1 字符读写 292

11.4.2 字符串读写 295

11.4.3 格式读写 297

11.4.4 数据块读写 300

11.5 文件的随机读写 304

11.5.1 函数rewind 305

11.5.2 函数fseek 305

11.5.3 ftell函数 307

11.6 程序设计案例 308

本章小结 321

思考题 321

第12章 位运算和位段 322

12.1 位运算的概念 322

12.2 位运算符的含义及其使用 323

12.2.1 按位“与”运算(&) 323

12.2.2 按位“或”运算(|) 323

12.2.3 按位“非”运算(~) 323

12.2.4 按位“异或”运算(^) 323

12.2.5 “左移”运算(<<) 324

12.2.6 “右移”运算(>>) 325

12.2.7 长度不同的两个数进行位运算的规则 326

12.2.8 位复合赋值运算符 326

12.3 位段 326

12.3.1 位段的定义 327

12.3.2 位段的使用 328

本章小结 330

思考题 330

第13章 编译预处理 331

13.1 编译预处理的概念 331

13.2 宏定义 331

13.2.1 不带参数的宏定义 331

13.2.2 带参数的宏定义 334

13.3 文件包含 336

13.4 条件编译 337

本章小结 339

思考题 340

附录A 常用ASCII字符 341

附录B 运算符 342

附录C 常用标准库函数 344

C.1 数学函数 344

C.2 字符函数 345

C.3 字符串函数 345

C.4 输入输出函数 346

C.5 进程函数 348

C.6 内存分配函数 348

C.7 时间函数 348

C.8 随机数产生器函数 349

C.9 类型转换函数 349

参考文献 350