C语言程序设计与实践

百科

本书以程序设计为主线,在详细阐述程序设计基本概念、原理和方法的基础谁教胡矿宽孩似须上,结合实践教学和学科竞赛的实际情况,通过经典实例扩木赵聚提父棉讲解和实训,使学生掌握利用C语言进行结构化程序设计的技术和方法。注重培养良好的编程风格,掌握常见的算法思路来自,真正提高学生运用C语言编程以解决实际问题的综合能力,为后续课程实践环节的教学打下良好基础布乙溶充苦笔缩

  • 书名 C语言程序设计与实践(第2版)
  • 作者 凌 云 谢满德 陈志贤 吴海燕
  • ISBN 978-7-111-55849-1
  • 定价 ¥39.00
  • 出版社 机械工业出版社

本书特色

  实例丰富。在介绍理论知识的同时,书中还给出了来自大量的实例和实训内容,360百科以提高学生的动手实践能力。

  重点突出。针对C语言语法庞杂、有些语句可以相互替代、有些语法不常使用的情况,本书重点介绍了基本的、常用的C语言语法知识,使学生容厂突消普易理解和掌握。

  融会贯通。着重介绍程序设计语言的共性,培养学生自学其他销体混攻今沉批程序设计语言的能力。

书目录

  前言

  教学建

  第1章 C语言与程序设计概述 1

  1.1 初见C语言程序 1

  1.2 计算机与程序设计 2

  1.2.1 指令与程序 2

  1.2.2 程序与程序设计 3

  1.2.3 程序设计和程序设计语言 3

  1.2.4 程序设计过程 4

  1.3 C语言学垂老冲端顺紧击确五习与自然语言学习的关系 5

  1.4 C语言的发展历史、现状与特点 6

  1.4.1 C语聚翻离轮状言的发展历史和现状 6

  1.4.2 C语言的特点 7

  习题 7

  第2章 示例驱动的C语言语法元素 8

  2.1 变量与表达式 8

  2.2 分支语句 9

  2.2.1 if语句 9

  2.2.2 switch语句 11

  2.3 循环语句 12

  2.3.1 while循环语句 12

  2.3.2 for循环语句 12

  2.4 符号常量 13

  2.5 输入/输出 14

  2.6 数组 15

  2.7 函数 道款子目具完该怕轮15

  2.8 算法 17

  2.8.1 算法概念 17

  2.8.2 流程图与算法描述 18

  习题 19

  第3章 基本数据类型和表达式 20

  3.1 基本语法单位 20

  3.结硫总1.1 基本符号 20

  养移把害束黄根裂3.1.2 关键字 20

  3吃用注今亚误.1.3 标识符 20

  3.2 数据类型 21

  3.3 常量与理难质吸缺该误存往变量 22

  3.3.1 常量 22

  3.3.2 变量 25

  3.3.3 变量的初始化 27

  3.4 表达式和运外诉另告垂算符 28

  3.垂甚阿字胜4.1 算术运算符 28

  3.4.2 赋值运算符 30

  3.4.3 关系运算符 31

企责  3.4.4 逻辑运算符 33

  3.4.5 位运算爱倒势符 35

  3.4.6 逗号运算符 38

  3.4.7 条件运算符 39

  3总然方控尼似吧皮具称.4.8 运算符的优先级和结合性 39

  3.5 各类数值晶值型数据间的混合运月海乐总船李怕似音如断算 41

  习题 41

  第4角盟可案背岁树控章 输入/输出语句 43

  4.1 putchar函数 43

  4.2 printf函数 44

  4.2.1 printf函数的形式 44

  4.2.2 格式说明字符 45

  4.3 getchar函数 51

  4.4 scanf函数 51

  4.4.1 一般形式 51

  4.4.2 格式说明 52

  4.4.3 执行scanf函数过程中应注意的问题 53

  4.5 程序示例 55

  习题 56

  第5章 C语言程序结构 58

  5.1 C语句 58

  5.2 程序设计基础 59

  5.3 结构化程序设计的三种基本结构 60

  5.3.1 顺序结构 60

  5.3.2 选择结构 60

  5.3.3 循环结构 61

  5.4 if分支语句 62

  5.4.1 第一种if语句形式 62

  5.4.2 第二种if语句形式 62

  5.4.3 第三种if语句形式 63

  5.4.4 if语句的嵌套 65

  5.4.5 程序示例 67

  5.5 switch分支语句 68

  5.6 while循环语句 71

  5.7 do…while循环语句 73

  5.8 for循环语句 75

  5.9 break语句和continue语句 79

  5.9.1 break语句 80

  5.9.2 continue语句 80

  5.10 多重循环的嵌套 81

  5.11 程序示例 83

  习题 85

  第6章 数组 88

  6.1 一维数组 88

  6.1.1 一维数组的定义 88

  6.1.2 一维数组元素的引用 89

  6.1.3 一维数组元素的初始化 89

  6.2 二维数组 96

  6.2.1 双下标变量 97

  6.2.2 二维数组及其定义 97

  6.2.3 二维数组的初始化 98

  6.2.4 二维数组应用示例 99

  6.3 综合应用示例 100

  6.4 字符数组 103

  6.4.1 字符串和字符串结束标志 105

  6.4.2 字符数组的输入/输出 105

  6.4.3 字符串函数 106

  6.4.4 二维的字符数组 110

  6.4.5 字符数组应用示例 111

  习题 116

  第7章 函数 118

  7.1 函数的定义 119

  7.2 函数的一般调用 121

  7.2.1 函数调用的形式 121

  7.2.2 形式参数和实际参数 121

  7.2.3 函数的返回值 124

  7.2.4 函数调用的方式 125

  7.2.5 主调函数和被调函数的相对位置关系 126

  7.2.6 函数调用时值的单向传递性 128

  7.2.7 函数调用示例 128

  7.3 函数的嵌套调用 130

  7.4 递归调用 133

  7.4.1 函数的递归调用 133

  7.4.2 递归调用应用示例 134

  7.5 用数组作为函数参数 137

  7.5.1 用数组元素作为函数实参 137

  7.5.2 用数组名作为函数参数 138

  7.5.3 用多维数组作为函数参数 139

  7.6 变量的作用域--局部变量和全局变量 140

  7.6.1 局部变量 140

  7.6.2 全局变量 142

  7.7 变量的存储类别和生存期 144

  7.7.1 变量的存储类别 144

  7.7.2 动态变量 144

  7.7.3 静态变量 148

  7.7.4 外部变量 149

  7.8 内部函数和外部函数 153

  7.8.1 内部函数 153

  7.8.2 外部函数 153

  习题 154

  第8章 编译预处理 159

  8.1 宏定义 159

  8.1.1 不带参数的宏定义 159

  8.1.2 带参数的宏定义 161

  8.2 文件包含 165

  8.3 条件编译 167

  8.3.1 条件编译语句1 167

  8.3.2 条件编译语句2 168

  8.3.3 条件编译语句3 169

  习题 170

  第9章 指针 175

  9.1 地址和指针的概念 175

  9.2 指针变量和地址运算符 175

  9.2.1 指针变量的定义 175

  9.2.2 指针变量的使用 176

  9.3 指针和数组 177

  9.3.1 通过指针存取数组元素 177

  9.3.2 字符串和指针 179

  9.4 指针和函数 180

  9.4.1 用指针作为函数的参数 180

  9.4.2 用指针作为函数的返回值 182

  9.4.3 指向函数的指针 184

  9.5 多级指针 187

  9.5.1 多级指针的概念和使用 187

  9.5.2 多级指针和多级数组 188

  9.5.3 命令行参数 190

  9.6 指针和动态存储管理 191

  9.6.1 概述 191

  9.6.2 malloc函数和free函数 192

  9.6.3 动态存储管理的应用 192

  9.7 指针和指针运算小结 195

  习题 196

  第10章 结构与联合 199

  10.1 结构体类型变量的定义和引用 199

  10.1.1 结构体类型变量的定义 201

  10.1.2 结构体类型变量的引用 201

  10.1.3 结构体类型变量的初始化 201

  10.2 结构体数组的定义和引用 203

  10.3 结构体指针的定义和引用 204

  10.3.1 指向结构体类型变量的指针的使用 204

  10.3.2 指向结构体类型数组的指针的使用 205

  10.4 链表的定义和操作 208

  10.4.1 链表 208

  10.4.2 链表的建立 209

  10.4.3 输出链表元素 211

  10.4.4 删除链表元素 211

  10.4.5 插入链表元素 212

  10.4.6 查询链表元素 213

  10.5 联合 213

  10.5.1 联合的定义 213

  10.5.2 联合成员的引用 215

  10.5.3 应用示例 216

  10.5.4 数组、结构和联合类型的比较 217

  10.6 枚举类型 217

  10.7 用typedef定义类型名 219

  习题 220

  第11章 文件操作 223

  11.1 文件的基本概念 223

  11.1.1 概述 223

  11.1.2 文件分类 223

  11.1.3 缓冲文件系统和非缓冲文件系统 223

  11.1.4 流式文件 224

  11.2 标准文件 224

  11.3 文件类型指针 225

  11.4 文件的打开与关闭 225

  11.4.1 文件的打开 225

  11.4.2 文件的关闭 226

  11.5 文件的顺序读写 227

  11.6 文件顺序读写的常用函数 227

  11.7 文件顺序读写的应用示例 234

  11.8 文件的随机读写 235

  11.8.1 文件的定位 235

  11.8.2 文件操作的出错检测 238

  11.9 非缓冲文件系统 238

  习题 241

  第12章 综合实训 243

  12.1 综合实训1:俄罗斯方块游戏 243

  12.1.1 问题描述 243

  12.1.2 问题分析 243

  12.1.3 数据结构分析 244

  12.1.4 程序执行流程和设计分析 246

  12.1.5 程序运行和测试 251

  12.2 综合实训2:五子棋游戏 252

  12.2.1 问题描述 252

  12.2.2 问题分析 252

  12.2.3 数据结构分析 252

  12.2.4 程序执行流程和设计分析 254

  12.2.5 程序运行和测试 258

  12.3 综合实训3:员工管理系统 258

  12.3.1 问题描述 258

  12.3.2 问题分析 259

  12.3.3 数据结构分析 259

  12.3.4 程序执行流程和设计分析 260

  12.3.5 程序运行和测试 262

  12.4 综合实训设计中的分析与讨论 263

  第13章 初涉ACM/ICPC 266

  13.1 ACM/ICPC概述 266

  13.2 迷宫问题与深度优先搜索 267

  13.2.1 问题描述 267

  13.2.2 问题分析与求解 267

  13.2.3 问题小结 269

  13.3 斐波那契数列 269

  13.3.1 问题描述 269

  13.3.2 问题分析与求解 269

  13.3.3 问题小结 270

  13.4 8枚银币 271

  13.4.1 问题描述 271

  13.4.2 问题分析与求解 271

  13.4.3 问题小结 273

  13.5 筛选求质数 273

  13.5.1 问题描述 273

  13.5.2 问题分析与求解 273

  13.5.3 问题小结 274

  13.6 超长整数运算(大数运算) 275

  13.6.1 问题描述 275

  13.6.2 问题分析与求解 275

  13.6.3 问题小结 276

  13.7 经典01背包问题与动态规划算法 276

  13.7.1 问题描述 276

  13.7.2 问题分析与求解 276

  13.7.3 问题小结 278

  13.8 二分图的最大匹配、完美匹配和匈牙利算法 278

  13.8.1 问题描述 278

  13.8.2 问题分析与求解 278

  13.8.3 问题小结 281

  13.9 中序式转后序式(前序式) 281

  13.9.1 问题描述 281

  13.9.2 问题分析与求解 281

  13.9.3 问题小结 283

  13.10 一些提供练习服务的网站 283

  参考文献 285

标签:
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com