C语言程序设计

C语言程序设计
作 者: 本书编写组 编
出版社: 化学工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 编程语言与程序设计 计算机与互联网
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《C语言程序设计》作者简介

内容简介

本书从 C 语言程序设计的基本原理及程序设计的基本思想出发,将应用的概念和实际操作贯穿于全书的始终,秉承帮助读者不但掌握知识,而且具备应用知识能力的编写理念。书中的主要内容包括数据类型、运算符、表达式、分支、循环、函数、数组、指针、结构体、文件的概念和应用以及指针和各种构造类型的混合应用等,除了具体教学内容外还引入了一些逻辑推理题作为实际案例,供读者分析讨论使用,大大提高了阅读的兴趣性。本书既可作为各类高等院校、计算机水平考试培训、成人教育学校作为开设程序设计课程的教材,也可供计算机爱好者自学使用。

图书目录

1

引言 1

1.1 欢迎 / 1

1.2 程序设计概述 / 3

1.2.1 指令与程序 / 3

1.2.2 程序设计语言 / 4

1.2.3 程序开发的步骤 / 6

1.3 算法 / 7

1.3.1 算法的概念 / 7

1.3.2 算法的复杂性 / 8

1.3.3 算法的表示方法 / 8

1.4 结构化程序设计 / 10

1.5 C语言的编译与集成环境 / 11

1.5.1 C语言程序开发步骤 / 11

1.5.2 集成环境 / 12

2

数据类型 13

2.1 信息存储 / 13

2.1.1 信息编码 / 13

2.1.2 定点数与浮点数 / 14

2.1.3 信息存储 / 14

2.2 标识符 / 15

2.3 基本数据类型 / 17

2.4 常量 / 18

2.4.1 整型常量(整常数) / 18

2.4.2 实型常量 / 18

2.4.3 字符型常量 / 19

2.4.4 字符串常量 / 20

2.4.5 符号常量 / 21

2.5 变量 / 22

2.5.1 变量的定义 / 22

2.5.2 数据的存储 / 23

2.6 数据的输入与输出 / 25

2.6.1 输出字符putchar() / 25

2.6.2 输入字符getchar() / 26

2.6.3 格式化输出函数printf / 26

2.6.4 格式化输入函数scanf / 30

3

运算符与表达式 33

3.1 数据类型转换 / 33

3.2 运算符 / 34

3.3 表达式 / 34

3.4 算术表达式 / 35

3.4.1 算术运算符 / 35

3.4.2 自增运算符和自减运算符 / 35

3.4.3 算术运算符的优先级与结合性 / 36

3.4.4 算术表达式 / 37

3.5 位运算 / 37

3.6 赋值运算符 / 38

3.6.1 赋值运算符 / 38

3.6.2 赋值表达式 / 38

3.6.3 复合的赋值运算符 / 40

3.7 逗号运算符与逗号表达式 / 41

3.8 深入讨论表达式 / 42

4

分支结构 45

4.1 逻辑运算符和逻辑表达式 / 45

4.1.1 逻辑真与逻辑假 / 46

4.1.2 逻辑运算符 / 46

4.1.3 逻辑表达式 / 48

4.2 关系运算符和关系表达式 / 50

4.3 分支语句 / 52

4.3.1 if分支结构 / 52

4.3.2 空语句 / 55

4.3.3 复合语句 / 55

4.4 条件运算符 / 59

4.5 多分支if-else-if / 60

4.6 嵌套的if语句 / 63

4.7 switch和break语句 / 69

5

循环 77

5.1 while语句 / 78

5.2 do-while语句 / 81

5.3 for循环语句 / 83

5.4 三种循环语句的比较 / 86

5.5 循环嵌套 / 87

5.6 break和continue语句 / 88

5.7 goto语句 / 92

5.8 程序实例和分析 / 93

6

函数的使用 97

6.1 编写一个简单的函数 / 97

6.2 调用库函数 / 99

6.2.1 C语言的标准库函数 / 100

6.2.2 库函数的头文件 / 100

6.2.3 函数类型、函数名与形参 / 100

6.2.4 调用库函数 / 101

6.3 定义用户自定义函数 / 101

6.4 调用自定义函数 / 102

6.5 函数声明 / 104

6.5.1 函数声明 / 104

6.5.2 在函数外部进行函数声明 / 105

6.5.3 省略函数说明 / 106

6.6 函数的参数传递 / 107

6.6.1 参数传递 / 107

6.6.2 实参和形参数据类型不同 / 109

6.7 函数的返回值 / 110

6.7.1 函数返回 / 110

6.7.2 返回值 / 111

6.7.3 void类型的函数 / 112

6.7.4 函数返回值的数据类型 / 112

6.8 C语言程序的执行过程 / 113

6.9 函数的嵌套调用 / 114

6.10 局部变量和全局变量 / 115

6.10.1 局部变量 / 115

6.10.2 全局变量 / 115

6.10.3 内部变量和外部变量 / 116

6.11 变量的存储类别 / 117

6.11.1 存储期属性 / 117

6.11.2 存储类别属性 / 118

7

图形化界面 124

7.1 Turbo C绘图基础 / 126

7.2 设置图形工作环境 / 127

7.3 图形绘制函数 / 128

7.4 图形模式的文本显示 / 129

7.5 俄罗斯方块初步 / 129

7.6 综合应用 / 130

8

指针 132

8.1 变量的指针与指针变量 / 132

8.1.1 变量的指针与取地址运算符 / 132

8.1.2 指针变量 / 133

8.2 用指针访问数据 / 135

8.3 指针变量的运算 / 139

8.3.1 指针的赋值运算 / 139

8.3.2 指针的关系运算 / 141

8.3.3 指针的算术运算 / 141

8.4 指针作为函数的参数 / 143

9

数组 150

9.1 一维数组的定义和引用 / 150

9.1.1 一维数组的定义和引用 / 150

9.1.2 一维数组的存储 / 152

9.1.3 一维数组的初始化 / 153

9.1.4 一维数组程序举例 / 153

9.2 指针与一维数组 / 154

9.2.1 用数组名指针法访问数组元素 / 154

9.2.2 用指针访问数组元素 / 155

9.2.3 数组元素的指针访问法 / 155

9.2.4 数组元素的指针下标访问法 / 158

9.3 数组作为函数的参数 / 159

9.4 二维数组的定义和引用 / 162

9.4.1 二维数组的定义和引用 / 162

9.4.2 二维数组的存储 / 163

9.4.3 二维数组的初始化 / 164

9.4.4 二维数组程序举例 / 164

9.5 字符数组 / 168

9.5.1 字符数组的定义 / 168

9.5.2 字符数组的初始化 / 169

9.5.3 字符数组的输入输出 / 171

9.5.4 字符数组与字符串 / 173

9.6 指针与字符串 / 176

9.6.1 指向字符数组的指针 / 176

9.6.2 指向字符串常量的指针 / 177

9.6.3 字符串作为函数参数 / 179

9.6.4 字符串处理库函数 / 180

9.7 动态内存分配 / 186

9.7.1 void类型的指针 / 186

9.7.2 指针的强制类型转换 / 186

9.7.3 动态内存分配 / 187

9.8 综合实例 / 189

9.9 掷骰子游戏 / 191

9.10 显示游戏文本信息 / 194

10

结构体和共用体 195

10.1 结构体 / 195

10.2 结构体数组 / 199

10.3 结构体指针 / 201

10.4 结构体与函数 / 205

10.5 共用体 / 207

10.6 枚举类型 / 208

10.7 用typedef定义类型 / 209

11

深入讨论指针 210

11.1 指针数组 / 210

11.2 指向指针的指针 / 214

11.3 返回指针的函数 / 215

11.4 指向函数的指针 / 218

11.4.1 指向函数的指针 / 218

11.4.2 指向函数的指针作为函数参数 / 220

11.5 链表的概念 / 221

11.6 单向链表的基本操作 / 223

12

文件 231

12.1 文件类型 / 231

12.2 磁盘文件系统 / 232

12.3 文件类型指针 / 232

12.4 文件打开与关闭 / 233

12.5 文件读写 / 235

13

深入讨论函数与程序结构 240

13.1 函数的递归调用 / 240

13.1.1 编写递归函数求n! / 240

13.1.2 迭代和递归 / 244

13.2 带参的main函数 / 245

13.3 内部函数和外部函数 / 246

13.3.1 内部函数 / 246

13.3.2 外部函数 / 246

13.4 编译预处理 / 247

13.4.1 宏定义 / 247

13.4.2 文件包含 / 249

13.4.3 条件编译 / 251

14

综合应用设计 254

14.1 实例说明 / 254

14.2 俄罗斯方块程序源代码 / 255

14.3 新出现的函数 / 267

14.3.1 捕捉按键 / 267

14.3.2 memset函数 / 267

14.3.3 memcpy函数 / 267

14.4 基本位置参数 / 268

14.4.1 面板区 / 268

14.4.2 下一个提示区 / 268

14.4.3 信息显示区域 / 269

14.5 画面内容的刷新 / 269

14.5.1 将方块嵌入面板 / 269

14.5.2 删除满行 / 269

14.6 方块的运动 / 270

14.6.1 定时下落 / 270

14.6.2 判断翻转 / 270

14.6.3 翻转 / 271

14.6.4 判断移动 / 271

14.6.5 移动 / 271

14.6.6 下落 / 271

14.6.7 直落到底 / 271

参考文献 272