《C语言程序设计案例精粹 全程实录》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:崔丹,罗建航,朱维军等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121116889
  • 页数:464 页
图书介绍:本书一共分为两个部分,共14章,其中第1章到第9章为第一部分,第1章介绍了C语言开发的基本环境和工具,第2章到第9章介绍了C语言中的一些常见的基本问题的处理方法,包括数据问题、运算问题、数学问题、实际问题、文件管理、图形处理、链表和输入输出以及鼠标声音等的处理,第2部分为第10章到第14章,分别介绍了基本算法问题的实现;游戏程序的实现;棋牌类游戏程序的实现;管理系统的实现和一些其他的特殊问题的实现。

第1章 C语言开发环境简介 1

1.1 C语言发展历史 1

1.2 C语言的特点 2

1.3 C语言的广泛应用 3

1.4 Visual C++ 6.0开发环境概述 4

1.4.1 Visual C++ 6.0开发环境安装 4

1.4.2 Visual C++ 6.0开发环境介绍 8

1.5 Visual C++ 6.0下创建开发项目 10

1.5.1 Visual C++ 6.0下创建工程项目 10

1.5.2 Visual C++ 6.0下C语言源代码创建 12

实训1.1——一个经典的C语言程序 15

1.6 疑难解答和上机题 16

1.6.1 疑难解答 16

1.6.2 上机题 18

第2章 基本数据类型 19

2.1 数据类型概述 19

2.2 进制换算 20

2.2.1 进位计数制概述 20

2.2.2 二进制与其他进制转换 21

2.2.3 八进制与其他进制转换 22

2.2.4 十六进制与其他进制转换 23

2.2.5 十进制与二进制的转换 24

2.2.6 机器数及其在内存中的存储格式 25

2.3 常量 26

2.3.1 整型常量 26

2.3.2 实型常量 27

2.3.3 字符常量 28

2.3.4 字符串常量 29

2.4 变量 30

2.4.1 变量与内存结构 30

2.4.2 变量的定义 31

2.4.3 整型变量 32

2.4.4 实型变量 34

2.4.5 字符变量 35

2.5 枚举 35

2.5.1 枚举的定义 35

2.5.2 枚举变量的定义与使用 36

2.6 疑难解答和上机题 38

2.6.1 疑难解答 38

2.6.2 上机题 40

第3章 运算符和表达式 41

3.1 运算符与表达式的分类 41

3.1.1 运算符的分类 41

3.1.2 表达式的分类 43

3.2 运算符的优先级与结合性 44

3.3 赋值运算符与赋值表达式 46

3.4 算术运算符与算术表达式 48

3.4.1 算术运算符与数据类型 48

实训3.1——计算圆柱体体积 49

3.4.2 模除运算符 50

3.4.3 自增自减运算符 51

3.5 关系运算符与关系表达式 54

3.6 逻辑运算符与逻辑表达式 55

3.6.1 逻辑与(&&) 55

3.6.2 逻辑或(‖) 56

3.6.3 逻辑非(!) 57

实训3.2——判断闰年 58

3.7 位运算符 59

实训3.3——交换两变量的值 61

3.8 条件运算符 64

实训3.4——分段函数计算 64

3.9 sizeof运算符 65

3.10 强制类型转换 66

3.11 疑难解答和上机题 68

3.11.1 疑难解答 68

3.11.2 上机题 70

第4章 C语言标准输入与输出 71

4.1 C语言标准库函数概述 71

4.2 格式输出函数printf 72

4.2.1 标准格式输出 72

4.2.2 格式输出控制 76

4.3 格式输入函数scanf 78

4.3.1 标准格式输入 78

4.3.2 格式输入控制 82

4.4 字符输入输出函数 83

4.4.1 putchar函数 83

4.4.2 getchar函数 83

实训4.1——输出及格率 84

4.5 疑难解答和上机题 85

4.5.1 疑难解答 85

4.5.2 上机题 88

第5章 分支结构程序设计 89

5.1 结构化程序设计思想 89

5.2 简单的if语句 90

5.2.1 if语句的定义 90

5.2.2 合理设计if语句 92

实训5.1——求一元二次方程的实根解 93

5.3 多分支if语句 95

5.3.1 if-else语句的结构 95

5.3.2 if-else语句的应用 96

5.3.3 if-else-if语句的结构及应用 98

5.4 嵌套if-else语句 101

5.4.1 嵌套if-else语句的定义 101

5.4.2 嵌套if-else语句的应用 103

实训5.2——求一元二次方程的复数根解 104

5.5 switch语句 107

5.5.1 switch语句的定义 108

5.5.2 break语句 110

5.5.3 switch语句的执行与应用 110

实训5.3——使用switch语句实现四则运算 111

5.6 嵌套switch语句 113

5.6.1 嵌套switch语句的定义 113

5.6.2 嵌套switch语句的执行与应用 114

5.7 疑难解答和上机题 116

5.7.1 疑难解答 116

5.7.2 上机题 118

第6章 循环结构程序设计 119

6.1 循环语句的提出 119

6.2 for循环语句 120

6.2.1 for语句的定义 121

6.2.2 for语句的执行 121

6.2.3 for语句的应用 122

6.3 for循环嵌套语句 125

6.3.1 for循环嵌套语句的定义与执行 125

6.3.2 for循环嵌套语句的应用 126

实训6.1——打印九九乘法表 127

实训6.2——打印三位数水仙花数 129

6.4 while循环语句 131

6.4.1 while循环语句的定义 131

6.4.2 while循环语句的应用 132

实训6.3——记录键盘输入字符数 133

6.5 do-while循环语句 135

6.5.1 do-while循环语句的定义 135

6.5.2 do-while循环语句的应用 136

6.6 goto语句 139

6.7 break语句和continue语句 140

6.7.1 break语句 140

6.7.2 continue语句 141

6.8 疑难解答和上机题 142

6.8.1 疑难解答 142

6.8.2 上机题 145

第7章 数组 147

7.1 一维数组 147

7.1.1 一维数组的定义 147

7.1.2 一维数组赋值与引用 149

7.1.3 一维数组的应用 153

实训7.1——数列排序 154

7.2 二维数组 156

7.2.1 二维数组的定义 157

7.2.2 二维数组的赋值与引用 158

7.2.3 二维数组的应用 160

实训7.2——学员平均成绩计算 162

实训7.3——输出杨辉三角 164

7.3 字符数组 166

7.3.1 字符数组的定义 166

7.3.2 字符数组的赋值与引用 167

7.3.3 字符数组与字符串 169

7.3.4 二维字符数组 171

7.4 疑难解答和上机题 173

7.4.1 疑难解答 173

7.4.2 上机题 175

第8章 函数 177

8.1 函数的定义 177

8.1.1 函数的分类 177

8.1.2 函数的定义 178

8.2 函数的调用与声明 181

8.2.1 函数的调用 181

实训8.1——计算数学分段函数 183

8.2.2 函数的声明 185

实训8.2——近似计算圆周率π 188

8.2.3 函数的参数 191

8.3 局部变量与全局变量 193

8.3.1 局部变量 193

8.3.2 全局变量 195

8.4 函数的嵌套调用和递归 197

实训8.3——汉诺塔程序设计 199

8.5 数组作函数参数 202

8.6 疑难解答和上机题 204

8.6.1 疑难解答 204

8.6.2 上机题 205

第9章 指针 207

9.1 指针的引入 207

9.1.1 指针的定义 207

9.1.2 指针的引用 208

9.2 指针和地址 210

9.2.1 指针和地址的关系 210

9.2.2 指针和地址的区别 214

9.2.3 void指针和空指针 216

9.3 指针与数组 217

9.3.1 指针与数组首地址 217

9.3.2 指针与数组名的区别 219

实训9.1——指针转换数组中字母大小写 220

9.4 指针与函数 223

9.4.1 指针作函数参数 223

9.4.2 函数返回指针 227

9.4.3 指向函数的指针 228

9.5 指针与字符串 229

9.5.1 指针与字符串的关系 229

9.5.2 指针引用字符串 231

9.6 指针与二维数组 233

9.6.1 指针和二维数组的关系 233

9.6.2 指针数组 237

实训9.2——输出main函数参数值 239

9.7 内存分配 241

9.7.1 指针与内存分配 241

9.7.2 malloc函数 242

9.7.3 memset函数 245

9.7.4 free函数 245

实训9.3——指针实现简单月历计算 246

9.8 疑难解答与上机题 248

9.8.1 疑难解答 248

9.8.2 上机题 250

第10章 结构体与共用体 251

10.1 结构体的定义 251

10.2 结构体变量 253

10.2.1 结构体变量的定义 253

10.2.2 结构体变量的初始化 254

10.2.3 结构体变量的引用 255

10.2.4 结构体数组 257

实训10.1——身份证信息录入 258

10.2.5 结构体的嵌套 261

10.3 结构体指针 262

10.3.1 结构体指针的定义 262

10.3.2 结构体指针引用结构体成员 263

10.3.3 指向结构体数组的结构体指针 264

10.4 结构体变量的内存分配 265

10.4.1 动态分配结构体内存 265

10.4.2 结构体在内存中的存储结构 269

10.5 结构体指针作函数参数 270

10.5.1 结构体指针作函数参数的定义 271

10.5.2 结构体指针作函数参数的应用 272

10.6 共用体的定义 273

10.6.1 共用体的定义 273

10.6.2 共用体变量的定义与应用 273

10.7 共用体的内存结构 275

实训10.2——教师学生信息卡设计 276

10.8 疑难解答和上机题 279

10.8.1 疑难解答 279

10.8.2 上机题 280

第11章 链表 281

11.1 什么是链表 281

11.2 结构体实现单链表 282

11.2.1 单链表结点的结构体实现 283

11.2.2 单链表的结构体实现 284

11.3 结构体实现双向链表 287

11.3.1 双向链表结点的结构体实现 287

11.3.2 双向链表结点的内存分配 290

11.4 链表结点的插入与删除 291

11.4.1 单链表结点的插入 291

11.4.2 双向链表结点的插入 292

11.4.3 单链表结点的删除 293

11.4.4 双向链表结点的删除 294

实训11.1——新员工录入员工信息表 294

11.5 疑难解答和上机题 297

11.5.1 疑难解答 297

11.5.2 上机题 298

第12章 编译预处理 299

12.1 宏定义 299

12.1.1 什么是宏定义 300

12.1.2 宏定义的应用 302

实训12.1——程序不同Log的打印 305

12.1.3 宏定义的终止 307

12.2 文件包含 307

12.2.1 头文件包含 307

实训12.2——银行卡信息录入 308

12.2.2 头文件中的函数声明 311

12.3 条件编译 312

12.3.1 #if…#else和#endif命令 312

12.3.2 #ifdef…#endif和#ifndef…#endif命令 314

12.4 疑难解答和上机题 316

12.4.1 疑难解答 316

12.4.2 上机题 317

第13章 文件 319

13.1 文件和文件指针 319

13.1.1 流和文件 319

13.1.2 文件指针 320

13.2 文件的打开和关闭 321

13.2.1 文件的打开 321

13.2.2 文件的关闭 324

13.3 文件的读写 325

13.3.1 字符处理函数fgetc和fputc 326

实训13.1——建立readme文件 328

13.3.2 字符串处理函数fgets和fputs 331

13.3.3 数据段处理函数fread和fwrite 334

实训13.2——项目信息录入与输出 335

13.3.4 标准格式读写函数fprintf和fscanf 340

13.4 文件的定位 341

13.5 疑难解答和上机题 342

13.5.1 疑难解答 342

13.5.2 上机题 344

第14章 C语言标准数学库函数 345

14.1 平方根计算函数sqrt 345

14.2 指数函数exp和pow 347

14.2.1 指数函数exp 347

14.2.2 指数函数pow 348

14.3 取对数函数log和log10 349

14.3.1 自然对数函数log 349

14.3.2 10为底的对数函数log10 350

14.4 绝对值函数abs和fabs 351

14.4.1 绝对值函数abs 351

14.4.2 绝对值函数fabs 352

14.5 三角函数 353

14.5.1 正弦函数sin和asin 353

14.5.2 其他三角函数 354

14.6 取整函数floor和ceil 356

14.6.1 取整函数floor 356

14.6.2 取整函数ceil 357

14.7 疑难解答和上机题 358

14.7.1 疑难解答 358

14.7.2 上机题 360

第15章 字符串处理 361

15.1 字符串复制函数strcpy 361

15.1.1 库函数strcpy 362

15.1.2 自定义函数strcpy 363

15.2 字符串连接与比较函数strcat和strcmp 364

15.2.1 字符串连接函数strcat 364

15.2.2 字符串比较函数strcmp 365

15.3 字符串长度与查找函数strlen和strchr 367

15.3.1 字符串长度计算函数strlen 367

15.3.2 字符串查找函数strchr 368

15.4 字符串输入输出函数gets和puts 369

15.4.1 字符串输入函数gets 369

15.4.2 字符串输出函数puts 370

15.5 其他字符串处理函数 371

15.5.1 特定字符串比较函数strcmp 371

15.5.2 字符串重设函数strnset 372

15.5.3 字符串子串查找函数strstr 373

实训15.1——文章中字符串查找与替换 375

15.6 疑难解答和上机题 377

15.6.1 疑难解答 377

15.6.2 上机题 379

第16章 C语言调试 381

16.1 C语言开发入门 381

16.1.1 注释的编写 381

16.1.2 代码风格 384

16.2 C语言单步调试与跟踪 388

16.3 C语言断点调试与跟踪 389

16.3.1 设置调试断点 389

16.3.2 断点调试 391

16.4 查看动态内存 393

实训16.1——代码风格设计 395

16.5 疑难解答和上机题 397

16.5.1 疑难解答 397

16.5.2 上机题 398

第17章 软件测试 399

17.1 软件测试概述 399

17.1.1 什么是软件测试 399

17.1.2 软件测试模型、分类和流程 400

17.2 搭建软件测试环境 402

17.2.1 分析被测软件 402

17.2.2 搭建软件测试环境 403

17.3 软件测试过程 404

17.3.1 函数级软件测试 404

17.3.2 模块级软件测试 411

17.4 疑难解答和上机题 413

17.4.1 疑难解答 413

17.4.2 上机题 414

第18章 C语言常用算法 415

18.1 什么是算法 415

18.2 排序算法 416

18.2.1 起泡排序 416

18.2.2 选择排序 420

18.2.3 合并排序 423

18.2.4 快速排序 424

18.3 查找算法 426

18.3.1 顺序查找算法 427

18.3.2 折半查找算法 428

18.4 二叉树 429

18.4.1 二叉树的结构 430

18.4.2 C语言实现简单的二叉树 431

18.4.3 二叉树的简单操作 433

实训18.1——合并两个有序数组 437

18.5 疑难解答和上机题 440

18.5.1 疑难解答 440

18.5.2 上机题 442

第19章 C语言应用实例 443

19.1 C语言巧解问题实例 443

19.1.1 求1~1000之内的素数 443

19.1.2 巧解古代百钱买百鸡问题 445

19.1.3 巧解换钱币问题 446

19.1.4 求1~20000之间的平方回文数 446

19.1.5 验证卡布列克常数 448

19.2 C语言应用实例——计算数学公式 450

19.2.1 C语言实现三角函数sinx逼近 450

19.2.2 C语言实现三角函数cosx逼近 451

19.2.3 C语言计算排列组合 452

19.3 C语言编写万年历 453

19.3.1 万年历的实现流程 453

19.3.2 万年历程序设计流程 454

19.3.3 万年历程序编写 455

19.3.4 结果验证与代码完善 459

19.4 疑难解答和上机题 460

19.4.1 疑难解答 460

19.4.2 上机题 461

附录A ASCII字符集及其编码 463

附录B C语言中常用关键字的说明 464