标题：C语言开发入门及项目实战
作者：
明日科技
图书详细信息：
ISBN：9787302276685  [1]      定价：59.8元
印次：1-1
装帧：平装
印刷日期：2011-12-28
图书简介：
本书全面介绍了使用C语言进行编程的各种技术，是学习C语言编程技术的完美教程。全书以Visual C++ 6.0开发环境为基础，分3篇18章讲解了C语言编程中的各种技术。其中，第1篇为入门篇，主要包括初识C语言、一个简单的C语言程序、算法入门、常用数据类型、运算符与表达式、数据输入/输出函数、选择及分支结构程序设计、循环结构、数组、函数编程基础、指针解析等内容；第2篇为提高篇，主要包括常用数据结构、位运算、存储管理、预处理和函数类型、文件的读写操作、图形图像处理等内容；第3篇为应用篇，主要利用所学知识开发一个图书管理系统。
本书提供了大量的自学视频、源程序、素材，提供了相关的模块库、案例库、素材库、题库等多种形式辅助学习资料，还提供迅速及时的微博、QQ、论坛等技术支持。
本书内容详尽、实例丰富，非常适合作为零基础学习人员的学习用书和大中专院校师生的学习教材，也适合作为相关培训机构的师生和软件开发人员的参考资料。
前言：
欢迎来到C语言的世界，并通过本书学习C语言。本书内容反映了C语言的最新变化，其编排方式非常适合学习和讲授这门语言。
C语言是一种面向过程的编程语言，可用于开发各种应用程序及系统软件，近几年，C语言的发展呈逐年上升趋势，这也说明了C语言的简单、现代特点正被更多人认同。本书内容本书提供了C语言编程从入门到项目开发所必备的知识，并且分篇进行讲解，使读者的学习更有针对性。学习本书内容时，一定要熟练掌握入门篇的所有内容，以便为以后的应用开发打下扎实的基础；然后可以有针对性地学习提高篇的内容，为开发专业软件项目存储必备的知识；最后学习一个项目的完整开发过程，为以后的实际项目开发积累一定的经验。学习本书内容时，各篇内容需要花费的精力比例如下图所示。
第1篇  入门篇（第1～11章）：主要包括初识C语言、一个简单的C语言程序、算法入门、常用数据类型、运算符与表达式、数据输入/输出函数、选择及分支结构程序设计、循环结构、数组、函数编程基础、指针解析等内容。通过本篇的学习，读者应熟练掌握C语言编程的基础知识，并能开发一些小型的应用程序。
第2篇  提高篇（第12～17章）：主要包括常用数据结构、位运算、存储管理、预处理和函数类型、文件的读写操作、图形图像处理等内容。通过本篇的学习，读者可以开发基本的应用程序，并能够掌握开发综合应用程序的方法。
第3篇  应用篇（第18章）：本篇通过一个完整的图书管理系统，运用软件工程的设计思想，讲解如何进行软件项目的实践开发。书中按照编写项目计划书→系统设计→数据库设计→创建项目→实现项目→运行项目→解决开发常见问题的过程进行介绍，带领读者一步一步亲身体验开发项目的全过程。本书特点?  技术新颖，讲解细致
使用Visual C++ 6.0和Turbo C 2.0进行讲解，淋漓尽致地展示出了C语言的基础知识，使读者能够真正掌握C语言初学者应该学习的知识。
?  实例丰富，贴近实际
对每个技术点进行详细讲解时，都提供了大量的示例和实例进行演示，这些示例和实例大部分来源于实际开发，读者可以学为所用，快速提升自身开发技能，并有效解决实际开发中遇到的各类问题。
?  动手实践，一体学习
每章都提供了大量的上机演练和实战模拟，使读者在学习技术的同时，能够亲自动手实践，体验编程带来的成就感。另外，上机演练和实战模拟的详细讲解及源码与《C语言经典编程282例》中的实例相对应，读者可以根据自身实际情况进行参考。
?  注释详尽，视频讲解
为了便于读者更好地学习和使用本书，书中所有的代码都提供了详尽的注释。而且，本书配套资源提供了覆盖全书的语音视频讲解教学录像，读者可以通过视频快速、直观、轻松地学习。
本书配套资源
本书提供了内容丰富的配套资源，包括自学视频、源程序、素材，以及模块库、案例库、题库、素材库等多项辅助内容，读者朋友可以通过如下方式获取。
第1种方式：
（1）请登陆清华大学出版的网址，在网页右上角的搜索文本框中输入本书书名（注意区分大小写和留出空格），或者输入本书关键字，或者输入本书ISBN号（注意去掉ISBN号间隔线“-”），单击“搜索”按钮。
（2）找到本书后单击超链接，在该书的网页下侧单击“网络资源”超链接，即可下载。
第2种方式：
访问本书的新浪微博：C语言图书，找到配套资源的链接地址进行下载。本书适应人群?  大中专院校师生           ?  面临就业的学生
?  零基础学习人员                    ?  相关培训机构的老师和学员
?  初、中级程序开发人员               ?  准备从事软件开发工作的求职者
?  编程爱好者                       ?  立志编程的其他专业人士
目录：
第1篇  入门篇
第1章  初识C语言
（ 自学视频、源程序：
配套资源\mr\1\） 2
1.1  编程语言的发展 3
1.1.1  机器语言 3
1.1.2  汇编语言 3
1.1.3  高级语言 4
1.2  C语言的历史 5
1.2.1  C语言的产生 5
1.2.2  C程序的特点 6
1.2.3  C语言的发展趋势 6
1.2.4  C语言的应用领域 7
1.2.5  如何学好C语言 7
1.3  本章小结 8
1.4  技能专项测试 8
1.5  实战模拟 10
第2章  一个简单的C语言程序
（ 自学视频、源程序：
配套资源\mr\2\） 11
2.1  一个简单的例子 12
上机演练 15
2.2  认识C语言程序 16
2.2.1  认识C语言程序的开发
环境 16
上机演练 23
2.2.2  认识标识符 23
2.2.3  认识关键字 25
2.2.4  认识注释 26
2.2.5  认识变量 27
2.3  编译错误信息 27
2.3.1  严重错误信息及分析 27
2.3.2  一般错误信息及分析 27
2.3.3  警告信息及分析 34
2.4  提高程序的可读性 35
2.5  本章小结 36
2.6  技能专项测试 36
2.7  实战模拟 38
第3章  算法入门
（ 自学视频、源程序：
配套资源\mr\3\） 39
3.1  算法 40
3.1.1  什么是算法 40
3.1.2  算法的特性 40
3.1.3  算法的好坏 41
3.2  算法的描述 42
3.2.1  自然语言 42
3.2.2  流程图 42
3.2.3  3种基本结构 43
3.2.4  N-S流程图 46
3.2.5  伪代码 50
3.3  本章小结 50
3.4  技能专项测试 51
3.5  实战模拟 52
第4章  常用数据类型
（ 自学视频、源程序：
配套资源\mr\4\） 53
4.1  数据类型 54
4.1.1  什么是数据类型 54
4.1.2  数据类型的分类 54
4.2  常量 55
4.2.1  整型常量 55
4.2.2  实型常量 57
4.2.3  字符型常量 58
4.2.4  符号常量 64
上机演练 65
4.3  变量 66
4.3.1  整型变量 66
4.3.2  实型变量 69
4.3.3  字符型变量 72
上机演练 74
4.4  变量的存储类别 74
4.4.1  动态存储与静态存储 74
4.4.2  auto变量 75
4.4.3  static变量 76
4.4.4  register变量 78
4.4.5  extern变量 79
4.5  混合运算 79
4.6  本章小结 81
4.7  技能专项测试 81
4.8  实战模拟 83
第5章  运算符与表达式
（ 自学视频、源程序：
配套资源\mr\5\） 84
5.1  表达式 85
5.2  赋值运算符与赋值表达式 87
5.2.1  变量赋初值 87
5.2.2  自动类型转换 88
5.2.3  强制类型转换 89
5.3  算术运算符与表达式 90
5.3.1  算术运算符 91
5.3.2  算术表达式 91
5.3.3  优先级与结合性 92
5.3.4  自增自减运算符 94
上机演练 96
5.4  关系运算符与表达式 96
5.4.1  关系运算符 96
5.4.2  关系表达式 97
5.4.3  优先级与结合性 97
5.5  逻辑运算符与表达式 99
5.5.1  逻辑运算符 99
5.5.2  逻辑表达式 99
5.5.3  优先级与结合性 101
上机演练 101
5.6  位逻辑运算符与表达式 102
5.6.1  位逻辑运算符 102
5.6.2  位逻辑表达式 102
5.7  逗号运算符与表达式 103
5.8  条件运算符与表达式 104
5.9  复合赋值运算符 105
5.10  本章小结 106
5.11  技能专项测试 107
5.12  实战模拟 109
第6章  数据输入/输出函数
（ 自学视频、源程序：
配套资源\mr\6\） 110
6.1  语句 111
6.1.1  表达式语句 111
6.1.2  函数调用语句 111
6.1.3  空语句 112
6.1.4  控制语句 113
6.1.5  复合语句 113
6.2  字符数据输入/输出 114
6.2.1  字符数据输出 114
6.2.2  字符数据输入 115
6.3  字符串输入/输出 117
6.3.1  字符串输出函数 117
6.3.2  字符串输入函数 118
6.4  格式输出函数 119
6.5  格式输入函数 123
6.6  顺序程序设计应用 126
上机演练 128
6.7  本章小结 128
6.8  技能专项测试 129
6.9  实战模拟 131
第7章  选择及分支结构程序设计
（ 自学视频、源程序：
配套资源\mr\7\） 132
7.1  if语句 133
7.2  if语句的基本形式 133
7.2.1  if语句形式 133
7.2.2  if…else语句形式 136
7.2.3  else if语句形式 139
上机演练 142
7.3  if的嵌套形式 142
7.4  switch语句 145
7.4.1  switch语句的基本形式 145
7.4.2  多路开关模式的switch
语句 149
7.5  if…else语句和switch语句的
区别 151
7.6  选择结构程序应用 153
7.7  本章小结 154
7.8  技能专项测试 155
7.9  实战模拟 158
第8章  循环结构
（ 自学视频、源程序：
配套资源\mr\8\） 159
8.1  循环语句 160
8.2  while型循环 160
8.2.1  while语句的一般形式 161
8.2.2  while语句的死循环 164
8.2.3  while语句的空循环体 165
8.2.4  while循环语句的常见
错误 165
上机演练 166
8.3  do…while型循环 167
8.4  for型循环 169
8.4.1  for循环语句的一般形式 169
8.4.2  灵活多变的for循环语句 172
8.4.3  应用for语句中的逗号 174
上机演练 175
8.5  比较3种循环 176
8.6  运用循环嵌套 176
8.6.1  各种结构的循环嵌套 176
8.6.2  循环嵌套实例 178
上机演练 179
8.7  转移语句 179
8.7.1  goto语句 180
8.7.2  break语句 182
8.7.3  continue语句 183
上机演练 183
8.7.4  区别3种跳转语句 184
8.8  本章小结 184
8.9  技能专项测试 185
8.10  实战模拟 188
第9章  数组
（ 自学视频、源程序：
配套资源\mr\9\） 189
9.1  数组的概念 190
9.1.1  数组的分类 190
9.1.2  数组的维数 191
9.2  一维数组 191
9.2.1  一维数组的定义 191
9.2.2  一维数组的引用 193
9.2.3  一维数组的初始化 194
9.2.4  一维数组的应用 196
9.2.5  一维数组的注意事项 198
9.3  二维数组 198
9.3.1  二维数组的定义 199
9.3.2  二维数组的引用 200
9.3.3  二维数组的初始化 200
9.3.4  二维数组的应用 202
上机演练 203
9.4  多维数组 204
9.5  字符数组 204
9.5.1  字符数组的定义 204
9.5.2  字符数组的引用 204
9.5.3  字符数组的初始化 205
9.5.4  字符数组的结束标志 206
9.5.5  字符数组的输出 207
9.5.6  字符数组的输入 208
9.5.7  字符数组的应用 209
上机演练 210
9.6  字符串处理函数 210
9.6.1  字符串复制 211
9.6.2  字符串连接 212
9.6.3  字符串比较 213
9.6.4  字符串大小写转换 215
9.6.5  获得字符串长度 216
9.7  熟练应用数组 217
9.7.1  实现字符匹配 217
9.7.2  反转输出字符串 218
9.8  本章小结 219
9.9  技能专项测试 219
9.10  实战模拟 221
第10章  函数编程基础
（ 自学视频、源程序：
配套资源\mr\10\） 222
10.1  函数概述 223
10.2  函数的定义 225
10.2.1  函数定义的形式 225
10.2.2  定义与声明 228
上机演练 229
10.3  了解返回语句 230
10.3.1  从函数返回 230
10.3.2  返回值 234
10.4  传递函数参数 236
10.4.1  形式参数与实际参数 236
10.4.2  数组做函数参数 238
10.4.3  了解main()函数的参数 242
10.5  调用函数 242
10.5.1  函数调用方式 243
10.5.2  嵌套调用 245
10.5.3  递归调用 247
上机演练 249
10.6  灵活应用函数 249
10.7  本章小结 255
10.8  技能专项测试 256
10.9  实战模拟 258
第11章  指针解析
（ 自学视频、源程序：
配套资源\mr\11\） 259
11.1  指针概述 260
11.1.1  地址与指针 260
11.1.2  解读变量与指针 261
11.1.3  使用指针变量 261
11.1.4  指针自加自减运算 265
上机演练 266
11.2  数组与指针 266
11.2.1  一维数组与指针 266
11.2.2  二维数组与指针 271
11.2.3  字符串与指针 273
11.2.4  字符串数组 274
上机演练 276
11.3  指向指针的指针 276
上机演练 278
11.4  函数参数的指针变量 278
上机演练 286
11.5  返回指针值的函数 286
11.6  指针数组作main()函数的
参数 288
11.7  本章小结 289
11.8  技能专项测试 289
11.9  实战模拟 292
第2篇  提高篇
第12章  常用数据结构
（ 自学视频、源程序：
配套资源\mr\12\） 294
12.1  结构体 295
12.1.1  结构体类型的概念 295
12.1.2  结构体变量的定义 296
12.1.3  结构体变量的引用 298
12.1.4  结构体类型的初始化 300
12.2  结构体数组 301
12.2.1  定义结构体数组 301
12.2.2  初始化结构体数组 302
上机演练 304
12.3  结构体指针 304
12.3.1  指向结构体变量的指针 304
12.3.2  指向结构体数组的指针 307
12.3.3  结构体作函数参数 308
12.4  包含结构的结构 311
12.5  链表 312
12.5.1  链表概述 312
12.5.2  创建动态链表 313
12.5.3  输出链表 315
12.6  链表相关操作 318
12.6.1  链表的插入操作 318
12.6.2  链表的删除操作 319
12.7  共用体 322
12.7.1  共用体的概念 323
12.7.2  共用体变量的引用 323
12.7.3  共用体变量的初始化 324
12.7.4  共用体类型的数据特点 325
上机演练 325
12.8  枚举类型 326
12.9  本章小结 327
12.10  技能专项测试 327
12.11  实战模拟 329
第13章  位运算
（ 自学视频、源程序：
配套资源\mr\13\） 330
13.1  位与字节 331
13.2  位运算操作符 331
13.2.1  “与”运算符 332
13.2.2  “或”运算符 333
13.2.3  “取反”运算符 335
13.2.4  “异或”运算符 336
13.2.5  “左移”运算符 338
13.2.6  “右移”运算符 339
13.2.7  位运算复合赋值运算符 340
13.2.8  长度不同的数据进行位
运算 341
上机演练 341
13.3  循环移位 341
上机演练 343
13.4  位段 343
13.4.1  位段的概念与定义 343
13.4.2  位段相关说明 345
13.5  本章小结 346
13.6  技能专项测试 346
13.7  实战模拟 348
第14章  存储管理
（ 自学视频、源程序：
配套资源\mr\14\） 349
14.1  内存组织方式 350
14.1.1  内存组织方式概述 350
14.1.2  堆与栈 350
14.2  动态管理 352
14.2.1  malloc()函数 353
14.2.2  calloc()函数 353
14.2.3  realloc()函数 354
14.2.4  free()函数 355
上机演练 356
14.3  内存丢失 356
14.4  本章小结 357
14.5  技能专项测试 357
14.6  实战模拟 359
第15章  预处理和函数类型
（ 自学视频、源程序：
配套资源\mr\15\） 360
15.1  宏定义 361
15.1.1  不带参数的宏定义 361
15.1.2  带参数的宏定义 362
上机演练 363
15.2  #include指令 364
15.3  条件编译 365
15.3.1  #if命令、#else命令和#elif
命令 366
15.3.2  #ifdef及#ifndef命令 368
15.3.3  #undef命令 369
15.3.4  #line命令 369
15.3.5  #pragma命令 370
15.4  内部函数和外部函数 371
15.4.1  内部函数 371
15.4.2  外部函数 372
15.5  本章小结 373
15.6  技能专项测试 373
15.7  实战模拟 376
第16章  文件的读写操作
（ 自学视频、源程序：
配套资源\mr\16\） 377
16.1  文件概述 378
16.2  文件基本操作 379
16.2.1  文件指针 379
16.2.2  文件的打开 380
16.2.3  文件的关闭 382
16.3  读写文件 382
16.3.1  写字符函数——fputc()
函数 382
16.3.2  读字符函数——fgetc()
函数 383
16.3.3  写字符串函数——fputs()
函数 384
16.3.4  读字符串函数——fgets()
函数 385
16.3.5  格式化写入函数——fprintf()
函数 387
16.3.6  格式化读取函数——fscanf()
函数 388
16.3.7  数据块读写函数——fread()
函数和fwrite()函数 389
上机演练 391
16.4  定位文件 392
16.4.1  随机读写操作——fseek()
函数 392
16.4.2  返回位置指针——rewind()
函数 394
16.4.3  得到文件位置——ftell()
函数 395
16.5  本章小结 397
16.6  技能专项测试 397
16.7  实战模拟 399
第17章  图形图像处理
（ 自学视频、源程序：
配套资源\mr\17\） 400
17.1  字符屏幕 401
17.1.1  定义文本窗口 401
17.1.2  颜色设置 401
17.1.3  文本的输入和输出 402
17.1.4  屏幕操作函数 403
上机演练 405
17.2  图形显示 406
17.2.1  图形模式初始化 406
17.2.2  屏幕颜色设置 408
17.2.3  基本图形函数 410
17.2.4  封闭图形的填充 417
上机演练 419
17.3  图形屏幕 419
17.4  图形模式下文本输出 421
17.4.1  文本输出函数 421
17.4.2  文本属性设置 422
上机演练 424
17.5  本章小结 424
17.6  技能专项测试 424
17.7  实战模拟 426
第3篇  应用篇
第18章  图书管理系统
（ 自学视频、源程序：
配套资源\mr\18\） 428
18.1  概述 429
18.1.1  需求分析 429
18.1.2  开发工具选择 429
18.2  系统设计 429
18.2.1  系统目标 429
18.2.2  系统功能结构 429
18.2.3  系统预览 429
18.2.4  开发及运行环境 430
18.3  数据库设计 431
18.3.1  安装MySQL数据库 431
18.3.2  启动MySQL数据库 434
18.3.3  创建数据库 435
18.3.4  数据表结构 436
18.4  C语言开发数据库程序的
流程 436
18.5  C语言操作MySQL数据库 438
18.5.1  MySQL常用数据库操作
函数 438
18.5.2  连接MySQL数据 440
18.5.3  查询图书表记录 440
18.5.4  插入图书表记录 442
18.5.5  修改图书表记录 443
18.5.6  删除图书表记录 444
18.6  文件引用 445
18.7  变量和函数定义 446
18.8  主要功能模块设计 446
18.8.1  显示主菜单信息 446
18.8.2  显示所有图书信息 448
18.8.3  添加图书信息 450
18.8.4  修改图书信息 454
18.8.5  删除图书信息 459
18.8.6  查询图书信息 463
18.9  本章小结 464