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

  • 购买积分:13 如何计算积分?
  • 作  者:任正云,李素若,赖玲主编;琚辉,胡玉荣,张牧,肖衡副主编;田原主审
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2016
  • ISBN:9787517043553
  • 页数:366 页
图书介绍:本书结合作者多年教学和科研实践的经验和体会,全面系统、深入浅出地阐述了C语言的基本概念、语法和语义,以及用C语言进行程序设计的基本方法和技巧。在保留第二版的描述风格、编排体系和选例的基础之上,关注了C99标准,在介绍C 99标准时注意与C89比较,根据学生的认知规律和知识体系的需要,将第二版的指针分解成两章,其中地址和指针提到数组之前,指针的应用放置在数组之后。改版后的主要内容包括数据类型和表达式、流程控制、算法分析、函数与程序结构等。概念准确,结构合理,层次清晰,实例丰富,选材精心,语言通俗易懂。本次再版以Visual C++6.0环境为基础进行修订,内容更丰富,叙述更详细,描述更加准确。每章末都配有习题可供不同层次的读者练习。本书十分注重知识的应用,重点章节都给出了应用举例。本书的一个亮点是给出了学生成绩管理系统、大奖赛评分系统和万年历的程序,虽然所给出程序代码不一定最优化,但可以引导读者分析,给读者以启发。本书是一本准确而又较全面反映标准C语言的教材,配有《C语言程序设计上机指导与习题解答》(第三版)一书。既可供高等院校计算机和非计算机专业本、专科或培训班教学使用,也是广大科技工

第1章 C语言程序设计基础 1

1.1 程序设计及程序设计语言 1

1.1.1 程序设计语言的发展 1

1.1.2 C语言的发展过程 3

1.2 C语言的特点 4

1.3 C程序结构 5

1.3.1 简单的C程序介绍 5

1.3.2 C程序结构 7

1.4 源程序的编辑、编译、链接与运行 8

习题 10

第2章 C语言的数据类型与基本操作 13

2.1 常量与变量 13

2.1.1 常量 13

2.1.2 变量 17

2.2 标识符和关键字 20

2.3 整型数在计算机中的存储方式 21

2.4 有符号的数据类型和无符号的数据类型 23

2.5 运算符和表达式 24

2.5.1 赋值运算符和赋值表达式 25

2.5.2 算术运算符和算术表达式 27

2.5.3 长度测试运算符sizeof 28

2.5.4 关系运算符和关系表达式 29

2.5.5 逻辑运算符与逻辑表达式 30

2.5.6 条件运算符与条件运算表达式 33

2.5.7 逗号运算符与逗号表达式 35

2.5.8 位运算 36

2.6 不同类型数据间的转换 39

习题 41

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

3.1 算法 48

3.1.1 算法的组成要素 48

3.1.2 算法的表示方法 49

3.1.3 自顶向下、逐步细化的设计过程 52

3.2 C语句概述 55

3.2.1 控制语句 55

3.2.2 表达式语句 55

3.2.3 复合语句 56

3.3 数据的输入和输出 57

3.3.1 数据的输出函数 57

3.3.2 刷新输出 63

3.3.3 scanf函数 63

3.4 getchar函数与putchar函数 67

3.4.1 字符输出函数putchar() 67

3.4.2 字符输入函数getchar() 68

习题 69

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

4.1 if语句 75

4.1.1 if语句的形式 75

4.1.2 if语句的嵌套 81

4.1.3 良好结构的程序 84

4.2 switch语句 85

4.3 程序举例 87

习题 93

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

5.1 while语句 100

5.2 do-while语句 107

5.3 for语句 109

5.4 三种循环语句的比较 113

5.5 循环的嵌套 114

5.6 break语句和continue语句 119

5.6.1 break语句 120

5.6.2 continue语句 121

5.7 综合实例 121

5.7.1 列举算法 121

5.7.2 试探算法 123

5.7.3 密码问题 125

习题 126

第6章 函数 135

6.1 函数概述 135

6.1.1 模块化程序设计方法 135

6.1.2 函数的概念 136

6.2 函数的定义与声明 138

6.2.1 函数定义 139

6.2.2 函数的参数和返回值 140

6.2.3 函数的声明 141

6.3 函数的调用 141

6.3.1 函数调用的一般形式 141

6.3.2 函数参数的传递方式 142

6.3.3 函数的嵌套调用 145

6.3.4 函数的递归调用 146

6.4 局部变量和全局变量 150

6.4.1 局部变量 150

6.4.2 全局变量 152

6.5 变量的存储属性 155

6.5.1 自动变量(auto) 156

6.5.2 寄存器变量(register) 157

6.5.3 静态变量(static) 158

6.5.4 外部变量 159

6.6 编译预处理 161

6.6.1 宏定义 161

6.6.2 文件包含 167

6.6.3 条件编译 169

6.7 应用举例 170

习题 179

第7章 地址和指针 188

7.1 地址和指针的概念 188

7.2 指针变量 190

7.2.1 指针变量的定义 190

7.2.2 指针变量的引用 190

7.2.3 指针变量作为函数的参数 192

7.3 指向指针的指针 195

习题 196

第8章 数组 200

8.1 一维数组 200

8.1.1 一维数组的定义 200

8.1.2 一维数组的初始化 201

8.1.3 一维数组元素的引用 202

8.1.4 一维数组的使用 202

8.2 二维数组和多维数组 208

8.2.1 二维数组和多维数组的概念及其定义 208

8.2.2 二维数组的初始化 210

8.2.3 二维数组和多维数组的引用 212

8.2.4 二维数组的经典实例 213

8.3 字符数组 216

8.3.1 字符数组的定义 217

8.3.2 字符数组的输入输出 218

8.3.3 常用字符串函数 219

8.3.4 字符数组的使用 222

8.3.5 常数数组 223

8.3.6 C99标准中的变长数组 224

8.4 数组应用实例 224

8.4.1 排序 224

8.4.2 二分查找 228

8.4.3 选择排序 230

8.4.4 扑克游戏的发牌 231

习题 233

第9章 指针的应用 239

9.1 一维数组与指针 239

9.1.1 数组名的特殊意义及其在访问数组元素中的作用 239

9.1.2 数组元素的指针 240

9.1.3 指针变量的运算 241

9.2 指针与二维数组 250

9.3 字符串与指针 255

9.3.1 字符串的表示形式 255

9.3.2 字符指针作为函数的参数 258

9.4 指针数组 261

9.4.1 指针数组的概念 261

9.4.2 指针数组与指向指针的指针变量 263

9.5 函数的指针 266

9.5.1 函数的指针和指向函数的指针变量 266

9.5.2 函数的指针作为函数参数 267

9.5.3 函数指针的应用 268

9.6 返回指针的函数 271

9.7 main()函数的返回值和参数 272

9.7.1 main()函数的返回值 273

9.7.2 main()函数的参数 273

习题 274

第10章 结构体和共用体 281

10.1 概述 281

10.2 结构体与结构体类型变量 281

10.2.1 结构体类型的定义 281

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

10.2.3 结构体变量的引用 284

10.2.4 结构体变量的初始化 285

10.3 结构体数组 287

10.4 指向结构体类型数据的指针 290

10.4.1 指向结构体变量的指针 290

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

10.4.3 结构体指针变量作为函数的参数 292

10.4.4 结构体与函数的类型 295

10.5 动态存储分配与链表 297

10.5.1 链表的概念 297

10.5.2 动态存储分配 298

10.5.3 建立和输出链表 300

10.5.4 链表的基本操作 300

10.6 共用体 309

10.6.1 共用体的概念和定义 309

10.6.2 共用体变量的引用 311

10.7 枚举类型 313

10.7.1 枚举的定义与说明 314

10.7.2 枚举类型变量的赋值与引用 314

10.8 用Typedef定义类型 315

10.9 应用实例——学生成绩管理系统 316

习题 327

第11章 文件 332

11.1 文件的概念 332

11.1.1 文件的类型 332

11.1.2 C语言对文件的处理方法 333

11.1.3 文件的访问方式 333

11.2 格式化数据文件操作 334

11.2.1 打开文件函数fopen() 334

11.2.2 关闭文件函数fclose() 336

11.2.3 从文件中格式化输入数据fscanf() 336

11.2.4 向文件中格式化输出函数fprintf() 337

11.2.5 文件建立 337

11.2.6 文件访问 338

11.2.7 文件修改 339

11.3 字符数据文件操作 340

11.3.1 fgetc()函数——从指定文件中读取一个字符 340

11.3.2 fputc()函数——指向文件输出一个字符 341

11.3.3 fgets()函数——从文件中读一个字符串 342

11.3.4 fputs()函数——向指定文件输出一个字符串 342

11.3.5 feof()函数——文件操作是否到文件尾的检测函数 343

11.4 fread()与fwrite()函数 343

11.5 文件位置定位与错误处理函数 345

11.5.1 rewind()函数——将文件读写指针定位于文件头 345

11.5.2 fseek()函数——重新定位文件位置指针 346

11.5.3 ftell()函数——测试当前读写指针位置 346

11.5.4 ferror()函数——检测文件流操作中的错误 346

11.5.5 clearerr()函数——清除出错标志 346

11.6 应用实例——大奖赛评分系统 346

习题 352

附录A ASCII字符编码一览表 356

附录B C语言的关键字和运算符 357

附录C C语言库函数 359

参考文献 366