当前位置:首页 > 工业技术
C程序设计案例与提高教程
C程序设计案例与提高教程

C程序设计案例与提高教程PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:王金鹏,肖进杰编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302391739
  • 页数:421 页
图书介绍:本书共三篇:第一篇是基本C编程精要,概括了基本C中最重要的一些知识点,总结大量的编程技巧和经验,并指出编程中易犯的错误;第二篇讲述了扩展C语言的一些实用编程知识:内存管理机制与TC编译模式、BIOS和DOS调用、I/O接口的输入输出、中断服务程序、C作图与图形处理、键盘和鼠标操作、汉字的显示与放大以及数据结构基础等;第三篇是实例解析,汇集了大量典型实例,并对这些实例进行分析讲解,给出了源代码。
《C程序设计案例与提高教程》目录

第一篇 基本C语言编程精要 3

第1章 C语言标准及常用编译器介绍 3

1.1 C语言标准介绍 3

1.1.1 经典C语言 3

1.1.2 C89 3

1.1.3 C99 3

1.2 Turbo C 2.0编程环境及常用操作简介 4

1.2.1 TC的安装和配置 4

1.2.2 TC的调用 5

1.2.3 在TC中编辑、运行程序并查看结果 6

1.2.4 在DOS命令行中运行程序 6

1.2.5 在TC中调试程序 7

1.2.6 多文件程序的创建和运行 8

1.3 Visual C++ 6.0编程环境及常用操作简介 8

1.3.1 工程及源文件的建立 8

1.3.2 程序的编译、连接和运行 11

1.3.3 程序的调试 11

习题1 13

第2章 输入输出 14

2.1 printf()和scanf()的常见问题 14

2.1.1 printf()函数 14

2.1.2 scanf()函数 15

2.2 输入数据时的回车换行问题 18

2.3 输出时常用的几个函数 19

2.3.1 clrscr() 19

2.3.2 getch()和getche() 19

2.4 输入输出重定向 20

习题2 22

第3章 程序的流程控制 25

3.1 选择结构 25

3.1.1 if语句和if-else语句 25

3.1.2 嵌套的if语句 26

3.1.3 if语句常见错误 28

3.1.4 if语句中的短路效应 32

3.1.5 switch语句 33

3.1.6 选择结构程序举例 35

3.2 循环结构 38

3.2.1 3种循环语句 38

3.2.2 计数器控制循环和其他条件控制循环 39

3.2.3 break和continue 40

3.2.4 循环结束时循环变量的值 42

3.2.5 循环举例 43

习题3 46

第4章 数组与指针 48

4.1 数组的由来及数组的元素 48

4.1.1 一维数组的由来及一维数组的元素 48

4.1.2 多维数组的由来及多维数组的元素 48

4.1.3 使用数组时的注意事项 49

4.2 指针变量及其应用 50

4.2.1 指针变量的定义、赋值和使用 50

4.2.2 指针变量的类型及运算 52

4.3 数组名的指针类型 53

4.3.1 数组名指向的对象 53

4.3.2 用数组名表示数组元素 55

4.4 用指针变量处理数组 56

4.4.1 用指向变量的指针变量处理数组 56

4.4.2 用指向数组的指针变量处理数组 59

4.4.3 用指针变量处理数组时的类型问题 60

4.5 不同场合下使用变量的方法 61

4.5.1 简单变量 61

4.5.2 下标变量 63

习题4 65

第5章 函数 67

5.1 函数的定义 67

5.1.1 函数定义的格式 67

5.1.2 函数的返回类型 68

5.1.3 函数参数的设置 70

5.2 函数的调用 72

5.2.1 函数调用前的声明 72

5.2.2 函数调用的方式 73

5.3 函数调用时的参数传递 74

5.4 地址作函数参数 76

5.4.1 什么时候传地址 76

5.4.2 变量的地址作参数 76

5.4.3 数组名作参数 78

5.4.4 不再用全局变量 81

5.4.5 地址作参数是单向传递还是双向传递 83

5.5 递归函数 84

5.5.1 递归的条件 84

5.5.2 递归与迭代 85

5.6 函数编程的常见错误 86

习题5 87

第6章 文件 89

6.1 文件的概念和文件的种类 89

6.1.1 文件的范畴 89

6.1.2 文件中存储数据的两种方式 89

6.1.3 文件的种类 90

6.1.4 文件操作的两个层面及缓冲区的概念 90

6.2 文件类型指针 91

6.3 文件的打开和关闭 93

6.3.1 文件的打开 93

6.3.2 文件的关闭 97

6.4 文件的读写 98

6.4.1 常用读写函数 98

6.4.2 读写指针的移动和定位 99

6.4.3 两个与当前位置指针有关的函数 99

6.4.4 文件读写的例子 101

习题6 103

第7章 变量和字符处理的几个问题 105

7.1 与变量有关的几个问题 105

7.1.1 变量的本质 105

7.1.2 同名变量的分辨 106

7.1.3 变量赋初值及初值问题 107

7.2 实型变量的存储及常见问题 108

7.2.1 实型变量的存储方式 108

7.2.2 实型变量的常见使用问题 110

7.3 字符处理的几个问题 111

7.3.1 结束标志用空字符还是换行符 111

7.3.2 循环次数是数组大小还是实际字符个数 112

习题7 112

第二篇 扩展C编程技术 117

第8章 内存管理机制与TC编译模式 117

8.1 寄存器和伪变量 117

8.1.1 微处理器中的寄存器 117

8.1.2 段寄存器及其用途 118

8.1.3 伪变量 119

8.2 内存的寻址模式 119

8.2.1 段式内存管理机制和实模式寻址 119

8.2.2 保护模式寻址 120

8.2.3 默认的段和偏移寄存器 121

8.2.4 近程指针与远程指针 121

8.2.5 与地址操作有关的几个函数(宏) 122

8.3 TC的编译模式 124

8.3.1 微模式 124

8.3.2 小模式 124

8.3.3 中模式 125

8.3.4 紧凑模式 125

8.3.5 大模式 125

8.3.6 巨模式 125

习题8 125

第9章 BIOS和DOS调用 126

9.1 概述 126

9.2 中断和中断向量表 127

9.2.1 中断 127

9.2.2 中断向量表 127

9.3 BIOS调用 128

9.3.1 BIOS调用简介 128

9.3.2 BIOS调用的方法和例子 129

9.4 DOS调用 130

9.4.1 DOS调用简介 130

9.4.2 DOS调用的方法和例子 131

9.5 BIOS和DOS系统调用函数 134

9.5.1 int86() 134

9.5.2 int86x() 136

9.5.3 intdos() 137

9.5.4 intdosx() 137

9.5.5 intr() 138

习题9 139

第10章 I/O接口的输入输出 140

10.1 I/O端口地址及编址方式 140

10.1.1 I/O端口的地址 140

10.1.2 I/O端口的编址 140

10.2 C语言用于I/O接口输入输出的函数 142

10.2.1 接口输入函数 142

10.2.2 接口输出函数 142

10.3 I/O接口输入输出举例 143

习题10 146

第11章 中断服务程序 147

11.1 硬中断和软中断 147

11.1.1 硬中断 147

11.1.2 软中断 148

11.2 中断向量表的写入 148

11.3 中断服务的实现 148

11.3.1 中断服务程序的编写 148

11.3.2 中断服务程序的安装 149

11.3.3 中断服务程序的激活 150

11.4 中断服务程序举例 151

习题11 155

第12章 C作图与图形处理 156

12.1 图形系统的初始化及基本框架 156

12.1.1 初始化图形系统 156

12.1.2 图形系统的关闭以及两种显示方式的转换 157

12.1.3 程序的基本框架及实例 158

12.2 图形系统中的像素与坐标 159

12.2.1 像素及坐标 159

12.2.2 像素函数及像素的颜色 159

12.3 常用图形函数 160

12.3.1 画点函数 160

12.3.2 有关画图坐标位置的函数 160

12.3.3 画线函数 161

12.3.4 画圆、椭圆和扇形函数 161

12.3.5 画矩形和条形图函数 162

12.3.6 颜色控制函数 162

12.3.7 线形控制函数 163

12.3.8 填充函数以及与填充有关的函数 164

12.4 图形方式下的文本输出函数 165

12.5 屏幕操作函数及动画基本知识 166

12.5.1 常用的屏幕操作函数 166

12.5.2 C语言动画设计的常用方法 167

12.5.3 动画示例 167

12.6 VRAM的读写 170

12.6.1 屏幕图形与VRAM的关系 170

12.6.2 VGA视频存储器的位面结构 170

12.6.3 将VRAM位面信息存入文件 171

12.6.4 将文件图像信息写入VRAM位面 172

习题12 174

第13章 键盘和鼠标操作 175

13.1 键盘操作 175

13.1.1 键盘的工作原理 175

13.1.2 键盘缓冲区 176

13.1.3 键盘处理函数 176

13.2 鼠标操作 177

13.2.1 鼠标的INT 33H功能调用 178

13.2.2 鼠标主要操作函数 180

13.2.3 改变鼠标形状 182

13.2.4 鼠标操作举例 184

习题13 187

第14章 汉字的显示与放大 188

14.1 汉字的编码 188

14.1.1 区位码 188

14.1.2 国标码 189

14.1.3 机内码 189

14.1.4 字形码 190

14.1.5 地址码 190

14.2 用作图方式显示和放大汉字 191

14.2.1 汉字的显示 191

14.2.2 汉字的放大 193

14.3 直接写VRAM法显示汉字 195

14.3.1 利用定序器直接写VRAM 195

14.3.2 用方式寄存器和位屏蔽寄存器直接写VRAM 198

习题14 201

第15章 数据结构基础 202

15.1 线性表 202

15.1.1 线性表的概念 202

15.1.2 线性表的存储结构 202

15.2 顺序表的操作 203

15.2.1 空顺序表的建立 203

15.2.2 求顺序表中某元素的序号 203

15.2.3 顺序表元素的插入 204

15.2.4 顺序表元素的删除 204

15.3 链表及操作 205

15.3.1 线性链表的表示 205

15.3.2 线性链表的操作 206

15.3.3 循环链表 209

15.3.4 双向链表 209

15.4 栈 210

15.4.1 栈的概念 210

15.4.2 栈的实现 210

15.5 队列 214

15.5.1 队列的概念 214

15.5.2 队列的实现和操作 215

习题15 217

第三篇 实例解析 221

第16章 基本编程实例 221

实例1 利用输入重定向从文件中读数据 221

实例2 火车托运费的计算 222

实例3 找小偷 223

实例4 判断整数能被3、5、7中的哪些数整除 224

实例5 找假货 225

实例6 计算某天是一年中的第几天 227

实例7 国民生产总值多少年翻番 227

实例8 兑换硬币 228

实例9 里程碑上的对称数 229

实例10 辗转赋值法求表达式的值 230

实例11 随机数的生成 231

实例12 打印魔方阵 233

实例13 猜数游戏 234

实例14 二维数组的排序输出 235

实例15 寻找假币 236

实例16 打印乘法口诀 237

实例17 计算矩阵相乘 238

实例18 向排好序的数组中插入数据 239

实例19 数组作计数器 240

实例20 判断字符串是否回文 241

实例21 找素数 242

实例22 字符串转换为实数 243

实例23 任意进制数的转换 245

实例24 利用位运算求整数的原码或补码 246

实例25 字符串逆置 246

实例26 用递归法逆序输出字符串 247

实例27 用递归法对数组排序 247

实例28 向主调函数中的局部变量存数据 248

实例29 通过指针变量使函数“返回”两个值 249

实例30 利用位运算对字母进行大小写转换 250

实例31 用结构体处理学生成绩 251

实例32 报数游戏 252

实例33 带参数的main函数 253

实例34 时钟程序 254

实例35 简单的计算器(一) 256

实例36 简单的计算器(二) 258

第17章 算法与数据结构实例 262

实例1 冒泡法排序 262

实例2 选择法排序 263

实例3 插入排序 264

实例4 储油问题 265

实例5 0-1背包问题 267

实例6 顺序表的插入和删除 270

实例7 链表操作(一) 272

实例8 链表操作(二) 277

实例9 链表的逆置 279

实例10 约瑟夫环 280

实例11 双链表的操作 283

实例12 多项式的表示和计算 287

实例13 十进制数转换为二进制数 290

实例14 检查括号配对 292

实例15 八皇后问题 294

实例16 迷宫问题 296

实例17 骑士巡游问题 299

实例18 农夫过河问题 302

实例19 表达式计算 308

第18章 趣味数学和数值计算实例 315

实例1 马克思手稿中的数学题 315

实例2 新郎和新娘配对 316

实例3 分糖果 317

实例4 泊松的分酒问题 319

实例5 求π的近似算法 321

实例6 角谷猜想 323

实例7 四方定量 324

实例8 卡布列克数 325

实例9 求解线性方程 327

实例10 求积分 331

实例11 超长整数的加法 332

第19章 图形编程实例 338

实例1 画点及画线函数 338

实例2 绘制圆、圆弧和椭圆 339

实例3 画矩形和条形的函数 340

实例4 设置背景色和前景色 340

实例5 设置线条类型 341

实例6 设置填充类型和填充颜色 342

实例7 图形方式下输出文本 343

实例8 绘制时钟 343

实例9 跳动小球 345

实例10 用直方图显示学生成绩分布 347

实例11 用圆饼图显示比例 349

实例12 相向运动的球 350

实例13 模拟满天星 351

实例14 正弦曲线 352

实例15 卫星环绕地球运动 353

实例16 按钮的制作 355

实例17 火箭发射演示 358

实例18 火焰动画制作 360

第20章 系统和文件操作实例 364

实例1 获取并修改当前驱动器 364

实例2 建立目录 365

实例3 选择当前目录 366

实例4 删除目录 366

实例5 获得当前目录 367

实例6 建立文件 368

实例7 打开文件 369

实例8 读文件 370

实例9 写文件 371

实例10 关闭文件 372

实例11 删除文件 373

实例12 文件改名 374

实例13 读取CMOS信息 375

实例14 文件连接 376

实例15 文件读写操作 377

第21章 趣味游戏实例 379

实例1 俄罗斯方块 379

实例2 贪吃蛇游戏 381

实例3 潜艇大战 383

实例4 搬运工 384

实例5 商人过河游戏 387

实例6 五子棋 389

实例7 扫雷 389

第22章 综合应用实例 392

实例1 数据文件的读取及图形显示 392

实例2 数独游戏的求解 399

实例3 通信录管理系统 404

附录A 常用的视频BIOS调用 408

附录B INT 21H常用功能调用一览表 414

附录C ASCII码表 419

参考文献 421

相关图书
作者其它书籍
返回顶部