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

  • 购买积分:12 如何计算积分?
  • 作  者:张磊编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2014
  • ISBN:9787113182090
  • 页数:326 页
图书介绍:全书共9章,分别为程序设计概述、简单程序设计、分支结构程序设计、循环结构程序设计、数组程序设计、函数程序设计、指针程序设计、结构体程序设计和文件程序设计。每章均设有实验指导,分为基础实验和综合实验两部分,与理论教学内容紧密衔接,相辅相成。

第1章 程序设计概述 1

1.1 程序设计语言 1

1.2 算法 2

1.2.1 算法概念与算法描述 2

1.2.2 算法的逻辑结构 4

1.2.3 算法的特性 6

1.2.4 算法评价 7

1.3 程序设计与实现 8

1.3.1 程序设计的基本过程 8

1.3.2 使用Visual C++6.0实现C语言程序 8

1.3.3 程序设计示例 9

1.4 C语言程序的基本结构 13

1.4.1 程序的函数化结构 13

1.4.2 程序中的基本语句 15

1.4.3 标识符与保留字 15

1.4.4 程序风格 16

小结 16

习题1 17

实验1 编辑运行C语言程序 19

第2章 简单程序设计 22

2.1 用printf()函数输出数据 22

2.1.1 固定数值的加法程序 22

2.1.2 printf()函数 24

2.2 用scanf()函数输入数据 27

2.2.1 任意数值的加法程序 27

2.2.2 scanf()函数 28

2.3 输入/输出字符数据 31

2.4 数据、运算及宏命令 32

2.4.1 数据类型 33

2.4.2 常量 33

2.4.3 简单变量 34

2.4.4 算术运算 37

2.4.5 赋值运算 38

2.4.6 宏命令include和define 39

2.5 程序设计举例 43

2.5.1 计算三角形面积 44

2.5.2 字母转换 45

2.5.3 鸡兔同笼问题 46

2.6 表达式中数据类型的转换 47

2.7 用typedef命名数据类型 48

小结 49

习题2 49

实验2 简单程序设计 53

第3章 分支结构程序设计 55

3.1 简单条件的分支程序 55

3.1.1 判断优等生程序 55

3.1.2 关系表达式 56

3.1.3 if语句 57

3.1.4 条件运算 64

3.2 复合条件的分支程序 65

3.2.1 复合条件的优等生判断程序 65

3.2.2 逻辑表达式 66

3.3 用switch语句实现分支控制 68

3.4 goto语句 71

3.5 分支结构应用举例 72

3.5.1 闰年问题 72

3.5.2 判断等边三角形 73

3.5.3 求解一元二次方程 75

3.5.4 学生成绩分等显示 76

小结 78

习题3 78

实验3 分支结构程序设计 81

第4章 循环结构程序设计 86

4.1 while循环结构程序 86

4.1.1 while循环程序示例 86

4.1.2 while语句 87

4.1.3 自增、自减运算 88

4.2 do-while循环结构程序 90

4.2.1 do-while循环程序示例 90

4.2.2 do-while语句 91

4.3 for循环结构程序 91

4.3.1 for循环程序示例 91

4.3.2 for语句 92

4.3.3 逗号表达式 93

4.4 循环体中的控制命令 94

4.4.1 break命令 94

4.4.2 continue命令 95

4.5 多重循环程序 96

4.5.1 多重循环程序示例 96

4.5.2 多重循环的一般结构 97

4.6 循环结构程序设计举例 98

4.6.1 字符统计 98

4.6.2 比赛评分问题 99

4.6.3 学生成绩分等统计 101

4.6.4 最大公约数 103

4.6.5 Fibonacci数列 104

4.6.6 乘法表 105

4.6.7 搬砖问题 106

4.6.8 找素数 107

4.6.9 哥德巴赫猜想 108

小结 109

习题4 110

实验4 循环结构程序设计 114

第5章 数组程序设计 117

5.1 一维数组程序设计 117

5.1.1 逆序输出数据程序 117

5.1.2 一维数组的定义 118

5.1.3 数值型一维数组的输入和输出 119

5.1.4 数值型一维数组的初始化 120

5.1.5 字符型一维数组的初始化 122

5.1.6 一维数组的存储 122

5.2 字符串操作 123

5.2.1 字符串的输入/输出 123

5.2.2 多字符串操作函数 127

5.3 二维数组程序设计 129

5.3.1 矩阵求和程序 129

5.3.2 二维数组的定义 130

5.3.3 二维数组的输入和输出 131

5.3.4 二维数组的初始化 132

5.3.5 二维数组的存储 133

5.4 数组应用 134

5.4.1 排序 134

5.4.2 查找 136

5.4.3 单词统计 138

5.4.4 矩阵运算 139

5.4.5 使用数组管理学生成绩 144

5.4.6 杨辉三角形 147

小结 148

习题5 149

实验5 数组程序设计 153

第6章 函数程序设计 155

6.1 函数概述 155

6.2 自定义函数示例 156

6.3 函数定义及调用 157

6.3.1 函数定义 157

6.3.2 函数值和return命令 159

6.3.3 函数调用 160

6.4 函数嵌套和递归函数 164

6.4.1 函数嵌套 165

6.4.2 递归函数 166

6.5 关于数组的函数设计 170

6.5.1 数组元素作函数参数 170

6.5.2 一维数组名作函数参数 171

6.5.3 关于二维数组的函数设计 174

6.6 函数应用举例 176

6.6.1 “学生成绩分等统计”函数化 176

6.6.2 求解Fibonacci数列 177

6.6.3 使用判断素数函数求解哥德巴赫猜想式 179

6.6.4 排序函数的设计与应用 180

6.6.5 生成数字字符串 181

6.7 变量的作用域和存储类型 184

6.7.1 变量的作用域 184

6.7.2 变量的存储类型 186

6.8 编译连接多个源文件的C程序 187

小结 188

习题6 189

实验6 使用自定义函数的程序设计 193

第7章 指针程序设计 195

7.1 指针概述 195

7.2 指针变量的定义和使用 196

7.2.1 指针变量程序示例 196

7.2.2 定义指针变量 196

7.2.3 使用指针变量 197

7.3 指针与数组 199

7.3.1 用指针访问一维数组 199

7.3.2 用指针访问二维数组 202

7.3.3 用指针处理字符串 205

7.3.4 指针数组 206

7.4 指针作函数参数 207

7.4.1 简单变量指针作函数参数 207

7.4.2 指向数组的指针作函数参数 208

7.4.3 字符串指针作函数参数 210

7.4.4 指针数组作函数参数 212

7.4.5 使用带参数的main()函数 214

7.5 指针函数和指向函数的指针变量 215

7.5.1 指针函数 215

7.5.2 指向函数的指针变量 217

7.6 指针应用举例 218

7.6.1 “学生成绩分等统计”进一步函数化 218

7.6.2 指针作参数的排序函数 219

7.6.3 三色球问题 221

7.6.4 字符串查找 222

小结 224

习题7 224

实验7 指针程序设计 230

第8章 结构体程序设计 234

8.1 结构体数据概述 234

8.2 结构体类型和结构体变量 235

8.2.1 使用结构体变量存储学生数据 235

8.2.2 定义结构体数据类型 236

8.2.3 结构体变量的定义及使用 237

8.3 结构体数组 240

8.3.1 结构体数组的定义及元素引用 240

8.3.2 结构体数组的初始化 241

8.3.3 使用结构体数组存储学生数据 241

8.4 结构体指针变量 242

8.4.1 结构体指针变量的定义及使用 242

8.4.2 结构体指针作函数的参数 244

8.5 使用链表存储数据 245

8.5.1 使用链表存储学生数据 245

8.5.2 链表的特点 246

8.5.3 动态内存管理函数 246

8.5.4 定义链表结构 247

8.6 链表的基本操作 248

8.6.1 链表结点的插入 249

8.6.2 链表结点的删除 252

8.6.3 链表结点的查找 253

8.7 结构体应用举例 256

8.7.1 字符串加密 256

8.7.2 学生数据综合处理 258

8.7.3 Josephus问题 262

小结 264

习题8 264

实验8 结构体程序设计 270

第9章 文件程序设计 273

9.1 文件概述 273

9.1.1 文件的概念 273

9.1.2 文件的分类 274

9.1.3 文件的一般操作过程 274

9.1.4 文件的指针 275

9.2 文件的基本操作 276

9.2.1 打开和关闭文件 276

9.2.2 最基本的文件读/写函数 277

9.3 文件的数据块读/写 280

9.3.1 数据块读/写函数 280

9.3.2 用文件管理学生数据 281

9.4 文件的其他操作 283

9.4.1 文件位置指针定位 283

9.4.2 文件的格式化读/写 286

9.4.3 文件的字符串操作 288

9.5 文件应用举例 288

9.5.1 文件复制 289

9.5.2 存储在文件中的学生数据排序 289

小结 291

习题9 291

实验9 文件程序设计 294

附录A “学生数据管理”系列例题简表 297

附录B “字符串处理”系列例题简表 299

附录C C语言的经典保留字 300

附录D 常用的C语言库函数 302

附录E 常用ASCII码字符对照表 305

附录F 习题(选择题)参考答案 306

附录G 习题(编程题)参考程序 307

参考文献 326