《研究式学习--C语言程序设计》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:方娇莉,李向阳主编
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2010
  • ISBN:9787113107970
  • 页数:244 页
图书介绍:本教材用提出问题—分析问题—给出相关知识—举一反三的研究式学习方法来组织“C程序设计”这门课程。全书共分10章,1~3章为基础篇,4~8章为提高篇,9~10章为深入篇。与本书配套的还有《研究式学习——C语言程序设计习题与实验(第二版)》,提供习题与上机指导。

第1章 C语言入门 1

1.1 程序与算法 1

1.1.1 程序 1

1.1.2 算法 2

1.2 C程序介绍 3

1.2.1 简单C程序实践 3

1.2.2 标识符、变量和常量 5

1.2.3 数据与数据类型 6

1.3 C程序的基本操作 9

1.3.1 运算符与表达式 9

1.3.2 算术运算符和算术表达式 11

1.3.3 赋值运算符 11

1.3.4 复合赋值运算符 12

1.3.5 自增和自减运算符 12

1.3.6 逗号运算符 13

1.3.7 类型强制转换运算符 13

1.3.8 容量运算符 13

1.4 顺序结构 14

1.4.1 C程序语句 14

1.4.2 输出/输入函数 15

1.5 C语言规约 19

1.5.1 基本规约 19

1.5.2 可读性规约 20

1.5.3 结构化规约 20

1.5.4 正确性与容错性规约 20

1.6 小结 21

1.7 编程题 21

第2章 选择结构 22

2.1 问题的提出 22

2.1.1 问题 22

2.1.2 问题分析 22

2.1.3 程序 23

2.2 与选择结构有关的运算符和表达式 24

2.2.1 关系运算符和关系表达式 24

2.2.2 逻辑运算符和逻辑表达式 24

2.2.3 条件运算符和条件表达式 26

2.3 条件语句 27

2.3.1 if语句 27

2.3.2 switch语句 34

2.4 综合应用 36

2.5 小结 39

2.6 编程题 39

第3章 循环结构 41

3.1 问题的提出 41

3.1.1 问题 41

3.1.2 问题分析 41

3.1.3 程序 43

3.2 循环语句 44

3.2.1 for语句 44

3.2.2 while语句 48

3.2.3 do...while语句 50

3.2.4 循环嵌套 51

3.2.5 break和continue语句 54

3.3 综合应用 56

3.4 小结 60

3.5 编程题 61

第4章 数组 62

4.1 问题的提出 62

4.2 一维数组的定义及应用 63

4.2.1 一维数组的定义 63

4.2.2 一维数组元素的引用 63

4.2.3 一维数组的初始化 64

4.2.4 一维数组的应用 64

4.3 二维数组的定义及应用 68

4.3.1 二维数组的定义 68

4.3.2 二维数组元素的引用 69

4.3.3 二维数组的初始化 69

4.3.4 二维数组的应用 70

4.4 字符数组 73

4.4.1 字符数组的定义 73

4.4.2 字符数组元素的引用 74

4.4.3 字符数组的初始化 75

4.4.4 字符数组的应用 76

4.4.5 字符串处理函数 80

4.5 综合应用 82

4.6 小结 90

4.7 编程题 91

第5章 函数 92

5.1 认识函数 92

5.1.1 问题及分析 92

5.1.2 函数引例 93

5.1.3 函数的概念与分类 93

5.2 函数的定义和调用 95

5.2.1 函数头 95

5.2.2 函数体 95

5.2.3 函数原型声明与调用 96

5.3 函数的参数传递 97

5.3.1 问题的提出 97

5.3.2 问题分析 98

5.3.3 程序 98

5.4 函数的嵌套调用和递归调用 99

5.5 变量的作用域 100

5.5.1 问题及分析 100

5.5.2 示例程序 101

5.5.3 局部变量和全局变量 101

5.6 变量的存储类型 102

5.6.1 问题及分析 102

5.6.2 示例程序 102

5.6.3 局部变量的存储类型 103

5.6.4 全局变量的存储类型 104

5.7 编译预处理 105

5.7.1 宏定义命令 106

5.7.2 文件包含 107

5.8 综合应用 107

5.8.1 问题分析 107

5.8.2 主函数设计 108

5.8.3 及格率统计函数 109

5.8.4 平均分统计函数 109

5.8.5 不及格名单统计函数 109

5.8.6 系统集成 110

5.9 小结 110

5.10 编程题 111

第6章 用户自定义数据类型 112

6.1 枚举 112

6.1.1 问题的提出 112

6.1.2 问题的分析 112

6.1.3 程序 113

6.1.4 枚举类型的定义及使用规则 114

6.2 结构体 114

6.2.1 问题的提出 114

6.2.2 定义一个结构体类型 115

6.2.3 结构体变量的定义及使用 116

6.2.4 结构体中的结构体成员 119

6.2.5 结构体数组及其使用 119

6.2.6 函数间结构体变量的数据传递 121

6.3 共用体 123

6.3.1 问题的提出 123

6.3.2 问题分析 123

6.3.3 程序 124

6.3.4 共用体类型的定义与引用 125

6.4 综合应用 126

6.5 小结 128

6.6 编程题 130

第7章 指针 131

7.1 指针的引入 131

7.1.1 问题的提出 131

7.1.2 问题分析 131

7.1.3 程序 132

7.1.4 指针的定义及运算 133

7.2 数组与指针 134

7.2.1 指向一维数组的指针 134

7.2.2 指针指向数组时的运算 136

7.2.3 指向二维数组的指针 136

7.3 用指针实现字符串的操作 137

7.4 指针和函数 139

7.4.1 用指向函数的指针实现函数调用 139

7.4.2 返回指针值的函数 141

7.5 指针数组和指向指针的指针 142

7.5.1 指针数组的概念 142

7.5.2 指向指针的指针 143

7.5.3 指针数组作main()函数的参数 145

7.6 用指针实现数据的动态管理 146

7.6.1 问题 146

7.6.2 问题分析 146

7.6.3 程序 147

7.6.4 动态数据管理在插入、删除操作中的优点 150

7.7 综合应用 151

7.8 小结 152

7.9 编程题 154

第8章 文件 155

8.1 问题的提出 155

8.1.1 问题 155

8.1.2 问题分析 155

8.1.3 程序 155

8.2 文件的概念 158

8.2.1 文件的定义 158

8.2.2 文件的分类 158

8.2.3 文件缓存区 159

8.2.4 文件类型与文件指针 160

8.2.5 文件的操作过程 160

8.3 文件的打开和关闭 161

8.3.1 文件的打开 161

8.3.2 文件的关闭 162

8.4 文件的读/写操作 163

8.4.1 以字符为单位进行文件读/写的函数:fgetc()、fputc() 163

8.4.2 基于字符串的读/写的函数:fgets()、fputs() 164

8.4.3 格式化读/写函数:fscanf()、fprintf() 166

8.4.4 数据块读/写函数:fread()、fwrite() 167

8.5 文件的定位操作 169

8.6 文件的出错检测 172

8.7 综合应用 174

8.8 小结 178

8.9 编程题 179

第9章 图形及音乐编程基础 180

9.1 图形显示基础 180

9.1.1 问题的提出 180

9.1.2 问题分析 180

9.1.3 具体实现 180

9.1.4 图形系统的初始化和关闭 181

9.1.5 图形的坐标设置 183

9.1.6 背景色和作图色的设置 184

9.2 基本绘图函数 185

9.2.1 画点函数 185

9.2.2 有关画图坐标位置的函数 185

9.2.3 画线函数 187

9.2.4 画矩形和条形图函数 188

9.2.5 画椭圆、圆和扇形图函数 188

9.3 画线的线型设定函数 189

9.4 封闭图形的填色函数及有关画图函数 191

9.4.1 填色函数 191

9.4.2 与填充函数有关的作图函数 191

9.4.3 可对任意封闭图形填充的函数 193

9.5 图形模式下的文本输出 194

9.5.1 文本输出函数 194

9.5.2 有关文本字体、字型和输出方式的设置 194

9.6 音乐编程 196

9.6.1 音乐编程基础 196

9.6.2 计算机乐谱 197

9.7 综合应用 199

9.8 小结 205

9.9 编程题 205

第10章 面向对象的程序设计 206

10.1 问题的提出 206

10.1.1 问题 207

10.1.2 问题分析 207

10.1.3 程序 208

10.1.4 程序调试与运行 209

10.1.5 对该问题的进一步讨论 210

10.2 类和对象 213

10.2.1 定义类 213

10.2.2 创建和引用对象 214

10.2.3 构造函数与析构函数 215

10.3 继承与派生 217

10.3.1 单一继承 218

10.3.2 多重继承 219

10.3.3 友元函数和友元类 220

10.4 多态性 221

10.4.1 函数重载和运算符重载 222

10.4.2 虚函数 223

10.5 面向对象的程序设计方法 224

10.5.1 C语言的发展 224

10.5.2 面向对象的设计方法 225

10.5.3 用Microsoft Visual C++编程 225

10.6 综合应用 227

10.7 小结 234

10.8 编程题 234

附录A ASCII码表 235

附录B C语言中的关键字 237

附录C C标准库函数 238

参考文献 244