《学通C语言的24堂课》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:刘彬彬,孙秀梅等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302257288
  • 页数:714 页
图书介绍:本书从初中级用户的角度,科学合理的设计,全面讲述了使用C语言进行程序开发必备知识和技能,突出学、练、用结合。

第1部分 基础篇 3

第1堂课 初识C语言 3

1.1 C语言发展史 4

1.1.1程序语言简述 4

1.1.2 C语言历史 4

1.2 C语言的特点 5

1.3一个简单C程序 5

1.4一个完整的C程序 7

1.5 C语言程序的格式 10

1.6开发环境 11

1.6.1 Turbo C 2.0 11

1.6.2 Visual C++6.0 14

1.7照猫画虎——基本功训练 19

1.7.1基本功训练1——使用TC创建C文件 19

1.7.2基本功训练2——使用Visual C++ 6.0创建.c文件 20

1.7.3基本功训练3——打开一个C文件 21

1.7.4基本功训练4——设置工具栏 21

1.8情景应用——拓展与实践 22

1.8.1情景应用1——求和程序 22

1.8.2情景应用2——求10! 23

1.8.3情景应用3——猴子吃桃 24

1.8.4情景应用4——阳阳买苹果 25

1.9自我测试 26

1.10行动指南 27

1.11成功可以复制——迅雷创始人邹胜龙 27

第2堂课 掌握C语言数据类型 29

2.1 C语言的编程规范 30

2.1.1注释的合理使用 30

2.1.2程序中的“{}”要对齐 30

2.1.3合理使用空格使代码更规范 31

2.1.4换行使代码更清晰 31

2.2关键字 32

2.3标识符 32

2.4数据类型 33

2.5常量 34

2.5.1整型常量 34

2.5.2实型常量 36

2.5.3字符型常量 36

2.5.4转义字符 39

2.5.5符号常量 40

2.6变量 41

2.6.1整型变量 41

2.6.2实型变量 43

2.6.3字符型变量 45

2.7照猫画虎——基本功训练 46

2.7.1基本功训练1——定义正确的数据类型求圆周长 46

2.7.2基本功训练2——数值型常量的使用 47

2.7.3基本功训练3——字符变量的使用 48

2.7.4基本功训练4——实型变量的使用 48

2.8情景应用——拓展与实践 49

2.8.1情景应用1——十进制转换为二进制 49

2.8.2情景应用2——利用“#”输出图形 51

2.8.3情景应用3——打印杨辉三角 51

2.8.4情景应用4——利用“*”输出矩形 52

2.9自我测试 53

2.10行动指南 54

2.11成功可以复制——盖茨第二马克·扎克伯格 55

第3堂课 表达式与运算符 57

3.1表达式 58

3.2赋值运算符与赋值表达式 59

3.2.1变量赋初值 60

3.2.2自动类型转换 61

3.2.3强制类型转换 61

3.3算术运算符与表达式 62

3.3.1算术运算符 62

3.3.2算术表达式 63

3.3.3优先级与结合性 64

3.3.4自增自减运算符 66

3.4关系运算符与表达式 68

3.4.1关系运算符 68

3.4.2关系表达式 68

3.4.3优先级与结合性 69

3.5逻辑运算符与表达式 70

3.5.1逻辑运算符 70

3.5.2逻辑表达式 71

3.5.3优先级与结合性 71

3.6位逻辑运算符与表达式 72

3.6.1位逻辑运算符 72

3.6.2位逻辑表达式 72

3.7逗号运算符与表达式 73

3.8复合赋值运算符 74

3.9照猫画虎——基本功训练 75

3.9.1基本功训练1——使用基本的算术运算符 75

3.9.2基本功训练2——赋值表达式类型的转换 76

3.9.3基本功训练3——复合赋值运算符的应用 77

3.9.4基本功训练4——逗号运算符的应用 77

3.9.5基本功训练5——关系表达式进行算术运算 78

3.10情景应用——拓展与实践 78

3.10.1情景应用1——求1~10的累加和 78

3.10.2情景应用2——计算学生平均身高 79

3.10.3情景应用3——求一元二次方程ax2+bx+c=0的根 79

3.10.4情景应用4——求字符串中字符的个数 80

3.10.5情景应用5——计算a+=a*=a/=a-6 81

3.11自我测试 82

3.12行动指南 83

3.13成功可以复制——善于抓住时机的人徐少春 84

第4堂课 数据输入/输出函数 87

4.1语句 88

4.2字符数据输入/输出 88

4.2.1字符数据输出 88

4.2.2字符数据输入 89

4.3字符串输入/输出 91

4.3.1字符串输出函数 91

4.3.2字符串输入函数 92

4.4格式输出函数 93

4.5格式输入函数 95

4.6顺序程序设计应用 99

4.7照猫画虎——基本功训练 100

4.7.1基本功训练1——使用字符函数输入/输出字符 100

4.7.2基本功训练2——使用字符输出函数输出“mrsoft” 101

4.7.3基本功训练3——输出相对的最小整数 102

4.7.4基本功训练4——输出乘法口诀表 102

4.7.5基本功训练5——输出两个数的最大公约数 103

4.8情景应用——拓展与实践 104

4.8.1情景应用1——将输入的小写字符转换为大写字符 104

4.8.2情景应用2——用“*”号输出图案 105

4.8.3情景应用3——输出3×3的矩阵 106

4.8.4情景应用4——输出一个字符的前驱字符 106

4.8.5情景应用5——根据输入判断能否组成三角形 107

4.9自我测试 108

4.10行动指南 110

4.11成功可以复制——暴雪公司的领航者迈克·莫汉 110

第5堂课 设计选择/分支结构程序 113

5.1 if语句 114

5.2 if语句的基本形式 114

5.2.1 if语句形式 114

5.2.2 if…else语句形式 117

5.2.3 else if语句形式 121

5.3 if的嵌套形式 124

5.4条件运算符 126

5.5 switch语句 127

5.5.1 switch语句的基本形式 127

5.5.2多路开关模式的switch语句 131

5.6 if else语句和switch语句的区别 132

5.7选择结构程序应用 134

5.8照猫画虎——基本功训练 136

5.8.1基本功训练1——单条件单分支选择语句 136

5.8.2基本功训练2——单条件双分支选择语句 136

5.8.3基本功训练3——条件运算符的使用 137

5.8.4基本功训练4——计算工人工资 138

5.8.5基本功训练5——判断闰年 139

5.9情景应用——拓展与实践 140

5.9.1情景应用1——从小到大输出3个数 140

5.9.2情景应用2——求学生的最低分和最高分 141

5.9.3情景应用3——模拟自动售货机 142

5.9.4情景应用4——模拟ATM机界面程序 143

5.9.5情景应用5——计算某日是该年的第几天 146

5.10自我测试 147

5.11行动指南 150

5.12成功可以复制——因特网的点火人马克·安德森 151

第6堂课 循环控制 153

6.1循环语句 154

6.2 while语句 154

6.3 do…while语句 157

6.4 for语句 158

6.4.1 for语句使用 158

6.4.2 for循环的变体 161

6.4.3 for语句中的逗号应用 163

6.5 3种循环语句的比较 164

6.6循环嵌套 164

6.6.1循环嵌套的结构 164

6.6.2循环嵌套实例 166

6.7转移语句 166

6.7.1 goto语句 167

6.7.2 break语句 168

6.7.3 continue语句 169

6.8照猫画虎——基本功训练 170

6.8.1基本功训练1——求某个数的阶乘 170

6.8.2基本功训练2——一元钱的兑换方案 171

6.8.3基本功训练3——特殊等式 172

6.8.4基本功训练4——计算1 2+2 2+…+10 2 173

6.8.5基本功训练5——输出10~100之间的素数 173

6.9情景应用——拓展与实践 175

6.9.1情景应用1——爱因斯坦阶梯问题 175

6.9.2情景应用2——斐波那契数列 176

6.9.3情景应用3——银行存款问题 177

6.9.4情景应用4——计算学生的最高分 177

6.9.5情景应用5——统计不及格的人数 178

6.10自我测试 179

6.11行动指南 182

6.12成功可以复制——微型博客Twitter创始人埃文·威廉姆斯 183

第7堂课 数组的应用 185

7.1一维数组 186

7.1.1一维数组的定义和引用 186

7.1.2一维数组初始化 187

7.1.3一维数组应用 189

7.2二维数组 190

7.2.1二维数组的定义和引用 190

7.2.2二维数组初始化 191

7.2.3二维数组应用 192

7.3多维数组 193

7.4数组的排序算法 194

7.4.1选择法排序 194

7.4.2冒泡法排序 196

7.4.3交换法排序 197

7.4.4插入法排序 199

7.4.5折半法排序 201

7.4.6排序算法的比较 204

7.5照猫画虎——基本功训练 205

7.5.1基本功训练1——逆序存放数据 205

7.5.2基本功训练2——查找数组中的最值 206

7.5.3基本功训练3——判断一个数是否存在数组中 207

7.5.4基本功训练4——相邻元素之和 208

7.5.5基本功训练5——求二维数组对角线之和 208

7.6情景应用——拓展与实践 209

7.6.1情景应用1——选票统计 209

7.6.2情景应用2——模拟比赛打分 211

7.6.3情景应用3——统计学生成绩 212

7.6.4情景应用4——矩阵的转置 213

7.6.5情景应用5——设计魔方阵 215

7.7自我测试 216

7.8行动指南 218

7.9成功可以复制——射击游戏之父John Carmack 218

第8堂课 字符数组 221

8.1字符数组的应用 222

8.1.1字符数组定义和引用 222

8.1.2字符数组初始化 222

8.1.3字符数组的结束标志 224

8.1.4字符数组的输入/输出 224

8.1.5字符数组应用 226

8.2字符串处理函数 227

8.2.1字符串复制 227

8.2.2字符串连接 228

8.2.3字符串比较 229

8.2.4 字符串大小写转换 230

8.2.5获得字符串长度 232

8.3照猫画虎——基本功训练 233

8.3.1基本功训练1——不使用strcpy函数实现字符串复制功能 233

8.3.2基本功训练2——用字符数组存储学生姓名并输出 234

8.3.3基本功训练3——字符升序排列 234

8.3.4基本功训练4——在指定位置插入字符 236

8.3.5基本功训练5——删除字符串中的连续字符 237

8.4情景应用——拓展与实践 238

8.4.1情景应用1——统计各种字符个数 238

8.4.2情景应用2——字符串倒置 239

8.4.3情景应用3——字符串替换 240

8.4.4情景应用4——回文字符串 241

8.4.5情景应用5——字符串加密和解密 242

8.5自我测试 244

8.6行动指南 245

8.7成功可以复制——图文世界的缔造者约翰·沃洛克 246

第2部分 提高篇 251

第9堂课 函数的应用 251

9.1函数概述 252

9.2函数的定义 253

9.2.1函数定义的形式 254

9.2.2定义与声明 255

9.3返回语句 257

9.3.1从函数返回 257

9.3.2返回值 258

9.4函数参数 259

9.4.1形式参数与实际参数 260

9.4.2数组作函数参数 261

9.4.3 main的参数 266

9.5函数的调用 267

9.5.1函数调用方式 267

9.5.2嵌套调用 269

9.5.3递归调用 271

9.6内部函数和外部函数 273

9.6.1内部函数 274

9.6.2外部函数 275

9.7局部变量和全局变量 276

9.7.1局部变量 276

9.7.2全局变量 278

9.8函数应用 280

9.9照猫画虎——基本功训练 285

9.9.1基本功训练1——设计函数输出两个数中的最大值 285

9.9.2基本功训练2——设计函数计算学生的平均成绩 286

9.9.3基本功训练3——判断素数 287

9.9.4基本功训练4——求数组元素中的最小值 287

9.9.5基本功训练5——打印1到5的阶乘 288

9.10情景应用——拓展与实践 289

9.10.1情景应用1——递归解决年龄问题 289

9.10.2情景应用2——百钱百鸡问题 290

9.10.3情景应用3——求最大公约数和最小公倍数 292

9.10.4情景应用4——求直角三角形斜边 293

9.10.5情景应用5——小数分离 294

9.11自我测试 294

9.12行动指南 296

9.13成功可以复制——征途巨人史玉柱 297

第10堂课 变量的存储类别 299

10.1了解变量的存储类型 300

10.2使用auto关键字声明自动变量 300

10.3使用static关键字声明静态变量 301

10.4使用register关键字声明寄存器变量 303

10.5使用extern关键字声明外部变量 304

10.5.1声明在一个文件中使用的外部变量 304

10.5.2声明在多个文件中使用的外部变量 305

10.6 使用static关键字声明静态外部变量 306

10.7照猫画虎——基本功训练 307

10.7.1基本功训练1——声明自动变量 307

10.7.2基本功训练2——比较两个数的大小 308

10.7.3基本功训练3——求两个数的和 309

10.7.4基本功训练4——计算用户输入整数的乘积 309

10.7.5基本功训练5——使用register定义局部变量 310

10.8情景应用——拓展与实践 311

10.8.1情景应用1——婚礼上的谎言 311

10.8.2情景应用2——求新同学的年龄 312

10.8.3情景应用3——捕鱼和分鱼 313

10.8.4情景应用4——求邮票总数 314

10.8.5情景应用5——巧分苹果 315

10.9自我测试 316

10.10行动指南 318

10.11成功可以复制——缔造华人的硅谷传奇杨致远 319

第11堂课C语言中的指针 321

11.1指针相关概念 322

11.1.1地址与指针 322

11.1.2变量与指针 323

11.1.3指针变量 323

11.1.4指针自加自减运算 326

11.2数组与指针 327

11.2.1一维数组与指针 328

11.2.2二维数组与指针 331

11.2.3字符串与指针 333

11.2.4字符串数组 334

11.3指向指针的指针 336

11.4指针变量作函数参数 338

11.5返回指针值的函数 343

11.6指针数组作main函数的参数 345

11.7照猫画虎——基本功训练 346

11.7.1基本功训练1——利用指针查找数列中最大值和最小值 346

11.7.2基本功训练2——利用指针实现字符串复制 347

11.7.3基本功训练3——实现数组元素值逆序存放 348

11.7.4基本功训练4——使用指针连接两个字符串 349

11.7.5基本功训练5——利用指针输出数组元素 350

11.8情景应用——拓展与实践 351

11.8.1情景应用1——查找成绩不及格的学生 351

11.8.2情景应用2——使用指针实现冒泡排序 352

11.8.3情景应用3——输入月份号输出英文月份名 353

11.8.4情景应用4——使用指针插入元素 354

11.8.5情景应用5——使用指针交换两个数组中的最大值 355

11.9自我测试 357

11.10行动指南 359

11.11成功可以复制——杀毒王王江民 360

第12堂课 结构体的使用 363

12.1结构体 364

12.1.1结构体类型的概念 364

12.1.2结构体变量的定义 365

12.1.3结构体变量的引用 366

12.1.4结构体类型的初始化 368

12.2结构体数组 370

12.2.1定义结构体数组 370

12.2.2初始化结构体数组 371

12.3结构体指针 373

12.3.1指向结构体变量的指针 373

12.3.2指向结构体数组的指针 376

12.3.3结构体作函数参数 377

12.4包含结构的结构 380

12.5照猫画虎——基本功训练 381

12.5.1基本功训练1——结构体变量的初始化 381

12.5.2基本功训练2——使用结构体存放学生信息 382

12.5.3基本功训练3——整数排序 383

12.5.4基本功训练4——指向数组元素的结构指针运算 384

12.5.5基本功训练5——计算学生的平均成绩 385

12.6情景应用——拓展与实践 386

12.6.1情景应用1——找出最高分 386

12.6.2情景应用2——候选人选票程序 387

12.6.3情景应用3——求平面上两点的距离 388

12.6.4情景应用4——设计通讯录 389

12.6.5情景应用5——输出火车票价 390

12.7自我测试 392

12.8行动指南 394

12.9成功可以复制——中国第一程序员求伯君 395

第13堂课 共用体的综合应用 397

13.1共用体 398

13.1.1共用体的概念 398

13.1.2共用体变量的引用 398

13.1.3共用体变量的初始化 399

13.1.4共用体类型的数据特点 400

13.2枚举类型 400

13.3照猫画虎——基本功训练 401

13.3.1基本功训练1——共用体变量的应用 401

13.3.2基本功训练2——共用体处理任意类型数据 402

13.3.3基本功训练3——取出整型数据的高字节数据 403

13.4情景应用——拓展与实践 404

13.4.1情景应用1——使用共用体存放学生和老师信息 404

13.4.2情景应用2——输出今天星期几 405

13.4.3情景应用3——制作花束 406

13.5自我测试 408

13.6行动指南 409

13.7成功可以复制——80后新贵、泡泡网CEO李想 409

第14堂课 使用预处理命令 411

14.1宏定义 412

14.1.1不带参数的宏定义 412

14.1.2带参数的宏定义 413

14.2 #include指令 414

14.3条件编译 416

14.3.1 #if命令 416

14.3.2 #ifdef及#ifndef命令 418

14.3.3 #undef命令 419

14.3.4 #line命令 419

14.3.5 #pragma命令 420

14.4照猫画虎——基本功训练 420

14.4.1基本功训练1——不带参数的宏定义求平行四边形面积 420

14.4.2基本功训练2——定义带参数的宏实现求两个整数的乘积 421

14.4.3基本功训练3——编写头文件包含圆面积的计算公式 422

14.4.4基本功训练4——使用条件编译将字符转换为大写 423

14.4.5基本功训练5——使用宏定义实现数组值的互换 424

14.5情景应用——拓展与实践 425

14.5.1情景应用1——使用带参数的宏求圆面积 425

14.5.2情景应用2——利用宏定义求偶数和 426

14.5.3情景应用3——从3个数中找出最小数 427

14.5.4情景应用4——利用文件包含设计输出模式 428

14.5.5情景应用5——使用条件编译隐藏密码 428

14.6自我测试 429

14.7行动指南 431

14.8成功可以复制——使计算机成为生活的必需品比尔·盖茨 432

第3部分 高级篇 435

第15堂课 存储管理 435

15.1内存组织方式 436

15.1.1内存组织方式 436

15.1.2堆管理 436

15.2动态管理 437

15.2.1 malloc函数 437

15.2.2 calloc函数 438

15.2.3 realloc函数 439

15.2.4 free函数 439

15.3内存丢失 440

15.4照猫画虎——基本功训练 441

15.4.1基本功训练1——sizeof关键字的应用 441

15.4.2基本功训练2——为具有3个数组元素的数组分配内存 442

15.4.3基本功训练3——为二维数组动态分配内存 442

15.5情景应用——拓展与实践 444

15.5.1情景应用1——使用malloc()函数分配内存 444

15.5.2情景应用2——调用calloc()函数动态分配内存 444

15.5.3情景应用3——商品信息的动态存放 445

15.6自我测试 446

15.7行动指南 447

15.8成功可以复制——知识改变命运、科技改变生活李彦宏 448

第16堂课 链表在C语言中的应用 451

16.1链表 452

16.1.1链表概述 452

16.1.2静态链表 453

16.1.3处理动态链表所需的函数 454

16.2链表相关操作 454

16.2.1创建动态链表 454

16.2.2输出链表 456

16.2.3链表的插入操作 458

16.2.4链表的删除操作 459

16.3链表的表现形式 463

16.3.1单向链表 463

16.3.2循环链表 464

16.3.3双向链表 464

16.4照猫画虎——基本功训练 465

16.4.1基本功训练1——创建单向链表 465

16.4.2基本功训练2——向单向链表中插入元素 467

16.4.3基本功训练3——删除结点元素 469

16.4.4基本功训练4——创建双向链表 471

16.4.5基本功训练5——创建循环链表 474

16.5情景应用——拓展与实践 475

16.5.1情景应用1——单向链表逆置 475

16.5.2情景应用2——双向链表逆序输出 477

16.5.3情景应用3——连接两个链表 479

16.5.4情景应用4——使用链表实现约瑟夫环 480

16.5.5情景应用5——查找两个链表中的相同元素 482

16.6自我测试 484

16.7行动指南 486

16.8成功可以复制——中国通信设备行业的领跑者任正非 486

第17堂课 栈和队列 489

17.1栈的定义和几种基本操作 490

17.1.1栈的定义 490

17.1.2栈常见的几种基本操作 491

17.2栈的存储和实现 492

17.2.1顺序栈 492

17.2.2链栈 494

17.3队列的定义和基本操作 497

17.3.1队列的定义 497

17.3.2队列常见的几种基本操作 497

17.4队列的存储及运算 497

17.4.1顺序队列 497

17.4.2链队列 500

17.4.3循环队列 501

17.5照猫画虎——基本功训练 501

17.5.1基本功训练1——应用栈实现进制转换 501

17.5.2基本功训练2——括号匹配检测 504

17.5.3基本功训练3——利用栈实现递归计算多项式 507

17.5.4基本功训练4——循环队列的基本操作 508

17.6情景应用——拓展与实践 511

17.6.1情景应用1——汉诺塔问题 511

17.6.2情景应用2——机票预售系统 513

17.6.3情景应用3——链队列的使用 515

17.7自我测试 519

17.8行动指南 520

17.9成功可以复制——软件业的华人教父王嘉廉 521

第18堂课 C语言中的位运算 523

18.1位与字节 524

18.2位运算操作符 524

18.2.1与运算符 524

18.2.2或运算符 525

18.2.3取反运算符 527

18.2.4异或运算符 528

18.2.5左移运算符 529

18.2.6右移运算符 530

18.3循环移位 532

18.4位段 533

18.4.1位段的概念与定义 533

18.4.2位段相关说明 534

18.5照猫画虎——基本功训练 535

18.5.1基本功训练1——输入两个整数实现按位与和按位或 535

18.5.2基本功训练2——使二进制数特定位翻转 536

18.5.3基本功训练3——整数与0异或 537

18.5.4基本功训练4——将输入的数左移两位并输出 538

18.5.5基本功训练5——编程实现循环右移 538

18.6情景应用——拓展与实践 539

18.6.1情景应用1——交换两个值不用临时变量 539

18.6.2情景应用2——取一个整数的后4位 540

18.6.3情景应用3——编写循环移位函数 541

18.6.4情景应用4——取出给定16位二进制数的奇数位 541

18.6.5情景应用5——求一个数的补码 542

18.7自我测试 543

18.8行动指南 544

18.9成功可以复制——创造互联网搜索时代谢尔盖·布林 545

第19堂课 文件操作技术 547

19.1文件概述 548

19.2文件基本操作 548

19.2.1文件指针 548

19.2.2文件的打开 549

19.2.3文件的关闭 549

19.3文件的读写 550

19.3.1 fputc函数 550

19.3.2 fgetc函数 551

19.3.3 fputs函数 551

19.3.4 fgets函数 552

19.3.5 fprintf函数 553

19.3.6 fscanf函数 554

19.3.7 fread函数和fwrite函数 555

19.4文件的定位 557

19.4.1 fseek函数 557

19.4.2 rewind函数 558

19.4.3 ftell函数 559

19.5照猫画虎——基本功训练 561

19.5.1基本功训练1——关闭打开的所有文件 561

19.5.2基本功训练2——读取指定文件的内容 563

19.5.3基本功训练3——同时显示两个文件的内容 564

19.5.4基本功训练4——随机读写文件 565

19.5.5基本功训练5——文件的错误处理 567

19.6情景应用——拓展与实践 569

19.6.1情景应用1——创建文件 569

19.6.2情景应用2——文件的复制 570

19.6.3情景应用3——删除文件 572

19.6.4情景应用4——重命名文件 573

19.6.5情景应用5——文件加密 575

19.7自我测试 577

19.8行动指南 579

19.9成功可以复制——IT风云人物鲍岳桥 579

第20堂课 图形图像处理 581

20.1字符屏幕 582

20.1.1定义文本窗口 582

20.1.2颜色设置 582

20.1.3文本的输入和输出 583

20.1.4屏幕操作函数 584

20.2图形显示 586

20.2.1图形模式初始化 586

20.2.2屏幕颜色设置 588

20.2.3基本图形函数 590

20.2.4封闭图形的填充 597

20.3图形屏幕 599

20.4图形模式下文本输出 600

20.4.1文本输出函数 600

20.4.2文本属性设置 601

20.5照猫画虎——基本功训练 603

20.5.1基本功训练1——闪烁的文字 603

20.5.2基本功训练2——实现背景颜色切换 604

20.5.3基本功训练3——绘制圆形 605

20.5.4基本功训练4——在屏幕中绘制两个相同的小球 605

20.5.5基本功训练5——绘制五角星 607

20.6情景应用——拓展与实践 609

20.6.1情景应用1——绘制折线图 609

20.6.2情景应用2——输出饼状图 611

20.6.3情景应用3——画条形图 612

20.6.4情景应用4——画玫瑰花 615

20.6.5情景应用5——菜单界面设计 619

20.7自我测试 625

20.8行动指南 627

20.9成功可以复制——IT大王王志东 627

第4部分 实战篇 631

第21堂课 猜数字游戏 631

21.1概述 632

21.2需求分析 632

21.3系统设计 632

21.3.1设计目标 632

21.3.2开发及运行环境 632

21.4程序预览 632

21.5设计思路 634

21.6文件引用 634

21.7主要功能实现 634

21.7.1主函数 634

21.7.2猜数字 635

21.7.3光标定位 637

第22堂课 五子棋游戏 639

22.1概述 640

22.2需求分析 640

22.3系统设计 640

22.3.1设计目标 640

22.3.2开发及运行环境 640

22.4程序预览 640

22.5 graphics.h文件 641

22.6设计思路 644

22.7预处理 644

22.7.1文件引用 644

22.7.2宏定义 645

22.8声明变量 645

22.9函数声明 645

22.10主要功能实现 645

22.10.1主函数 645

22.10.2开始游戏 647

22.10.3绘制棋盘 647

22.10.4绘制棋子 648

22.10.5清除棋子 648

22.10.6游戏过程 648

22.10.7判断胜负 653

第23堂课 学生成绩管理系统 657

23.1需求分析 658

23.2系统设计 658

23.3功能设计 658

23.3.1功能选择界面 659

23.3.2录入学生成绩信息 660

23.3.3查询学生成绩信息 662

23.3.4删除学生成绩信息 663

23.3.5修改学生成绩信息 664

23.3.6插入学生成绩信息 666

23.3.7统计学生人数 668

第24堂课 图书管理系统(MySQL) 669

24.1概述 670

24.1.1需求分析 670

24.1.2开发工具选择 670

24.2系统设计 670

24.2.1系统目标 670

24.2.2系统功能结构 670

24.2.3系统预览 670

24.2.4开发及运行环境 672

24.3数据库设计 673

24.3.1安装MySQL数据库 673

24.3.2启动MySQL数据库 676

24.3.3创建数据库 677

24.3.4数据表结构 678

24.4 C语言开发数据库程序的流程 678

24.5 C语言操作MySQL数据库 680

24.5.1 MySQL常用数据库操作函数 680

24.5.2连接MySQL数据 682

24.5.3查询图书表记录 683

24.5.4插入图书表记录 685

24.5.5修改图书表记录 686

24.5.6删除图书表记录 687

24.6文件引用 687

24.7变量和函数定义 688

24.8主要功能模块设计 688

24.8.1显示主菜单信息 688

24.8.2显示所有图书信息 690

24.8.3添加图书信息 692

24.8.4修改图书信息 698

24.8.5删除图书信息 704

24.8.6查询图书信息 710

24.9程序调试及错误处理 712

24.9.1解决创建数据表为一个文件的问题 712

24.9.2在创建数据表时,最后一句结尾没有标点 713

24.9.3无法启动MySQL服务 714