首页>参考读物>计算机科学与技术>软件与程序设计

C语言开发宝典
作者 : 曹飞飞 高春艳 等编著
出版日期 : 2012-06-12
ISBN : 978-7-111-37786-3
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 448
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书全面细致地讲解了使用C语言进行编程和实际项目开发的各种技术,是学习C语言编程的必备图书。全书以Visual C++ 6.0开发环境和Turbo C 2.0开发环境为基础,分两大部分共22章,讲解了C语言编程中的各种技术。其中,第一部分为开发技术,主要包括如何学好C语言、初识C语言、C语言的战前准备、C语言与算法、C语言基础、表达式与运算符、输入、输出函数、选择结构程序设计、循环结构程序设计、数组、函数、指针、结构体和共用体、位运算、存储管理、预处理、文件操作技术、图形图像等内容;第2部分为项目实战,主要包括五子棋游戏开发、学生管理系统、商品信息管理系统、图书管理系统等4个大型项目。

本书所配DVD光盘含有全程语音视频讲解教学录像、PPT课件以及实例的全部源代码,这些源代码都经过精心调试,在Windows XP、Windows 2000、Windows 2003和Windows 7下全部通过。

图书特色

本书特色
  知识系统 本书全面介绍了C语言的基本语法、字符界面程序的开发和图形界面应用程序的开发等内容,并通过4个综合项目讲解了应用程序开发的全过程,使读者既能系统地学习知识,又能够进行实际应用。
  实例丰富 讲解知识点时提供了丰富的实例,而且为了保证学完每个实例时都能学有所用,部分实例后面提供了“试一试”的练习题目,使读者能够随学随练,真正做到学有所用。
  注释完整 为便于读者更好地学习和使用本书的源代码,重要的代码都提供了详尽的注释。
  上机练习 为了提升编程者的实际开发水平,各章都提供了“上机练习”栏目,并提供多个练习题目以巩固所学。
  术语提炼 为了巩固本章所学的知识,在每章的后面增加了“术语”一节,把本章的术语进行集中整理展示。
  课后练习 每章最后提供专门的操作练习,供读者检验所学知识是否牢固掌握,题目的答案在http://www.mingrisoft.com网站下载。
  贴心提示 为了便于读者阅读,全书穿插一些注意、说明、技巧的相关内容。
  超值学习 本书为了保证零基础者能够完全入门,特别提供了入门训练营、模块开发课堂、项目开发课堂、能力测试(基础能力测试、数学及逻辑思维能力测试、编程英语能力测试、面试能力测试),可以帮助零基础者跨越障碍,为后续开发实际项目打下坚实基础。

图书前言

欢迎使用“程序员开发宝典系列”之《C语言开发宝典》!希望本书能成为您书架上的一部经典图书!
本书写作目的
  C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)于1970年在研制出的BCPL语言(B语言)的基础上发展和完善起来的,从其诞生以来就受到广大程序开发人员的追捧。市面上介绍C语言的书籍非常多,但真正能让读者零基础入门,并能开发出项目的书籍少之又少。为此,我们编写了本书,真正让读者能够零基础学习C语言编程,并开发出自己的项目,使本书真正成为每一位C语言编程人员的“入门第一书”。
本书主要内容
  本书提供了C语言编程从零基础入门到实际项目开发所必备的所有知识,并分两大部分进行讲解,每一部分内容都是笔者经过走访各个大学、书店和培训机构,听取老师、学生和读者的建议,并结合自己多年的开发经验,精心提炼出来的。为了使读者更好地学习本书,下面给出了本书的内容结构图。
  第一部分 开发技术(第0章至第17章):主要内容包括如何学好C语言、初识C语言、C语言的战前准备、C语言与算法、C语言基础、表达式与运算符、输入/输出函数、选择结构程序设计、循环结构程序设计、数组、函数、指针、结构体和共用体、位运算、存储管理、预处理、文件操作技术、图形图像等内容。通过本篇的学习,读者能够熟练掌握使用C语言编程的理论知识,并能具备开发各种应用程序的理论基础和初步的动手实践能力。
  第二部分 项目实战(第18章至第21章):主要内容包括五子棋游戏开发、学生管理系统、商品信息管理系统、图书管理系统4个大型项目,每个项目都运用软件工程的设计思想,让读者学习如何进行软件项目的实践开发,并按照从前期策划、设计流程到项目最终实现的整个过程进行介绍,带领读者逐步体验开发项目的全过程,使读者具备较强的实际项目开发能力。
本书特点
  q 零起点编程
  初学者学习编程最大的瓶颈是基础知识薄弱,本书为了保证零基础读者能完全入门,除了讲解细致,实例丰富外,还特别提供了“入门训练营”专题模块,该模块列出了零基础读者入门必须掌握的三大部分基础专项训练,以便打好基础,建立学习的兴趣。
   编程基础入门训练:讲解和训练开发中经常用到,但在书本中无法融入系统知识体系的知识。
   逻辑思维训练:提供了编程者必须掌握的逻辑思维知识,建立程序开发思维,为后续编程打下坚实基础。
   英语基本功训练:对于一些基础知识薄弱的读者,本部分提供了编写代码时经常用到的英语词汇,并进行专项讲解和训练。经过专项训练后,读者编写代码可得心应手。
  q 学练结合,适合自学
  由于本书定位为“入门第一书”,因此在讲解知识时,提供了丰富的实例。为了保证学完每个实例后能学有所用,大部分实例后面都提供了“试一试”的练习题目,帮助读者进行随学随练,真正入门。
  q 全面系统,贴近实际
  本书为了提升编程人员的实际开发水平,每个二级标题后面都提供了“上机练习”栏目,每个栏目提供多个实习题目,巩固所学。
  q 注释详尽,视频讲解
  为了便于读者更好地学习和使用本书,书中所有的代码都提供了详尽的注释;而且本书附带的DVD光盘提供了重点知识的语音视频讲解及PPT课件,读者可以通过视频快速、直观、轻松地学习。
本书读者对象
  q 零基础学习人员 q 大中专院校师生
  q 相关培训机构的老师和学员 q 编程爱好者
  q 面临就业的学生 q 初、中级程序开发人员
  q 准备从事软件开发的求职者 q 立志编程的其他专业人士
技术支持与服务
  如果您在学习或使用本书的过程中遇到问题或疑惑,可以通过以下方式与我们联系:
  q 服务网站:www.mingribook.com
  q 服务电话:0431-84978981/84978982
  q 企业QQ:4006751066
  q 学习社区:www.mrbccd.com
  q 服务信箱:mingrisoft@mingrisoft.com
  我们承诺将在1至5个工作日内给您提供解答。
关于作者
  本书由明日科技C语言程序开发团队策划并组织编写,主要编写人员有曹飞飞、高春艳、赛奎春、吴绪铎、朱晓、赵永发、高文才、杨丽、王国辉、陈丹丹、潘凯华、刘欣、李慧、陈英、赵会东、王小科等,在编写本书的过程中,我们以科学、严谨的态度,力求精益求精,但不足和疏漏之处在所难免,敬请广大读者批评指正。
  最后,感谢您选择本书,希望本书能成为您学习C语言编程路上的领航者。

编  者
2012年5月

上架指导

计算机\程序设计

封底文字

加本书的目录以及图书宣传页

作者简介

曹飞飞 高春艳 等编著:暂无简介

图书目录

前言
第一部分  开 发 技 术
第0章  如何学好C语言 2
第1章  初识C语言 4
视频讲解:14分钟
1.1  C语言介绍 4
1.1.1  程序语言简述 4
1.1.2  C语言的发展史 5
1.2  选择C语言的理由 5
1.3  一个简单的C程序 6
1.4  术语 7
1.5  小结 8
1.6  练习 8
第2章  C语言的战前准备 9
视频讲解:18分钟
2.1  程序的基本编写格式 9
2.2  C语言常用开发工具简介 10
2.2.1  Turbo C 2.0 10
2.2.2  Visual C++ 6.0 14
2.2.3  Dev-C++ 18
2.2.4  Eclipse for C/C++ 19
2.3  术语 19
2.4  小结 19
2.5  练习 19
第3章  C语言与算法 20
视频讲解:13分钟
3.1  算法的基本概念 20
3.1.1  什么是算法 20
3.1.2  算法的特性 20
3.1.3  算法的好坏 21
3.2  算法描述 21
3.2.1  自然语言 22
3.2.2  流程图 22
3.2.3  3种基本结构 23
3.2.4  N-S流程图 25
3.2.5  伪代码 28
3.3  术语 29
3.4  小结 29
3.5  练习 29
第4章  C语言基础 30
视频讲解:47分钟
4.1  C语言基础编程规范 30
4.1.1  合理使用注释 30
4.1.2  代码的缩进 31
4.1.3  常量和变量的命名规范 31
4.1.4  函数的命名规范 31
4.1.5  程序中对应的{}要对齐 31
4.1.6  合理使用空格使代码更规范 32
4.1.7  换行使代码更清晰 32
4.2  语言要素 33
4.2.1  关键字 33
4.2.2  标识符 33
4.3  数据类型 35
4.4  解读常量 36
4.4.1  整型常量 36
4.4.2  实型常量 38
4.4.3  字符型常量 38
4.4.4  符号常量 41
4.5  剖析变量 42
4.5.1  整型变量 42
4.5.2  实型变量 44
4.5.3  字符型变量 47
4.6  分解枚举 49
4.7  使用typedef定义类型 50
4.8  变量的存储类型 52
4.8.1  动态存储与静态存储 52
4.8.2  auto变量 53
4.8.3  static变量 53
4.8.4  register变量 54
4.8.5  extern变量 55
4.9  混合运算 56
4.10  术语 57
4.11  小结 57
4.12  练习 57
第5章  表达式与运算符 58
视频讲解:34分钟
5.1  赋值运算符与赋值表达式 58
5.1.1  变量赋初值 58
5.1.2  自动类型转换 60
5.1.3  强制类型转换 60
5.2  算术运算符与算术表达式 61
5.2.1  算术运算符 61
5.2.2  算术表达式 62
5.2.3  优先级与结合性 63
5.2.4  自增自减运算符 64
5.3  关系运算符与关系表达式 66
5.3.1  关系运算符 66
5.3.2  关系表达式 66
5.3.3  优先级与结合性 67
5.4  逻辑运算符与逻辑表达式 68
5.4.1  逻辑运算符 69
5.4.2  逻辑表达式 69
5.4.3  优先级与结合性 69
5.5  位逻辑运算符与位逻辑表达式 70
5.5.1  位逻辑运算符 70
5.5.2  位逻辑表达式 71
5.6  逗号运算符与逗号表达式 71
5.7  复合赋值运算符 72
5.8  判断条件运算符 73
5.9  运算符的优先级 74
5.10  术语 74
5.11  小结 74
5.12  练习 74
第6章  输入/输出函数 75
视频讲解:21分钟
6.1  解读语句 75
6.2  字符数据的输入/输出 75
6.2.1  字符数据输出 75
6.2.2  字符数据输入 76
6.3  字符串的输入/输出 77
6.3.1  字符串输出函数 78
6.3.2  字符串输入函数 78
6.4  格式输出函数 79
6.5  格式输入函数 82
6.6  术语 85
6.7  小结 85
6.8  练习 86
第7章  选择结构程序设计 87
视频讲解:35分钟
7.1  了解if语句 87
7.2  多样的if语句形式 87
7.2.1  if语句形式 87
7.2.2  if else语句形式 90
7.2.3  else if语句形式 91
7.3  if语句的嵌套使用 94
7.4  if语句的常见错误 96
7.4.1  使用分号的注意事项 96
7.4.2  条件放置注意事项 97
7.4.3  if和else配对的注意事项 97
7.4.4  大括号的重要性 97
7.5  判断分支选择结构的switch语句 98
7.5.1  switch语句的基本形式 98
7.5.2  多路开关模式的switch语句 100
7.6  合理选择if语句和switch语句 102
7.7  选择结构的应用 104
7.8  术语 106
7.9  小结 106
7.10  练习 107
第8章  循环结构程序设计 108
视频讲解:46分钟
8.1  循环语句的概念 108
8.2  实现while循环 108
8.2.1  while语句的一般形式 108
8.2.2  while语句的死循环 110
8.2.3  while语句的空循环体 110
8.2.4  while循环语句的常见错误 111
8.3  实现for循环 112
8.3.1  for循环语句的一般形式 113
8.3.2  for循环的灵活多变 114
8.3.3  for语句中逗号的使用 117
8.4  总要执行的do while语句 118
8.5  比较3种循环 120
8.6  运用循环嵌套 120
8.6.1  各种结构的循环嵌套 120
8.6.2  循环嵌套实例 122
8.7  跳转语句 123
8.7.1  goto语句 123
8.7.2  break语句 124
8.7.3  continue语句 125
8.8  3种跳转语句的区别 126
8.9  术语 127
8.10  小结 127
8.11  练习 127
第9章  数组 128
视频讲解:30分钟
9.1  数组概述 128
9.1.1  数组的分类 128
9.1.2  数组的维数 128
9.2  一维数组 129
9.2.1  一维数组的定义 129
9.2.2  一维数组的引用 129
9.2.3  一维数组的初始化 130
9.2.4  一维数组的注意事项 133
9.3  二维数组 134
9.3.1  二维数组的定义 134
9.3.2  二维数组的引用 135
9.3.3  二维数组的初始化 135
9.4  多维数组 138
9.5  字符数组 138
9.5.1  字符数组的定义 138
9.5.2  字符数组的引用 138
9.5.3  字符数组的初始化 139
9.5.4  字符数组的结束标志 140
9.5.5  字符数组的输入/输出 141
9.6  常见字符串处理函数 144
9.6.1  字符串复制 144
9.6.2  字符串连接 146
9.6.3  字符串比较 147
9.6.4  字符串大小写转换 148
9.6.5  获得字符串长度 150
9.7  术语 151
9.8  小结 151
9.9  练习 151
第10章  函数 152
视频讲解:37分钟
10.1  函数概述 152
10.2  函数的定义 154
10.2.1  函数的定义形式 155
10.2.2  定义与声明 157
10.3  函数中的返回语句 159
10.3.1  函数返回 159
10.3.2  返回值 161
10.4  函数参数 163
10.4.1  形式参数和实际参数 163
10.4.2  数组做函数参数 165
10.5  函数的调用 169
10.5.1  函数调用方式 169
10.5.2  嵌套调用 172
10.5.3  递归调用 174
10.6  内部函数和外部函数 176
10.6.1  内部函数 176
10.6.2  外部函数 177
10.7  局部变量和全局变量 179
10.7.1  局部变量 179
10.7.2  全局变量 181
10.8  灵活应用函数 183
10.8.1  数学函数 184
10.8.2  字符和字符串函数 186
10.9  术语 189
10.10  小结 189
10.11  练习 190
第11章  指针 191
视频讲解:17分钟
11.1  指针概述 191
11.1.1  地址与指针 191
11.1.2  变量与指针 192
11.1.3  使用指针变量 192
11.1.4  &和*运算符 195
11.1.5  指针自加自减运算 196
11.2  数组与指针 198
11.2.1  一维数组与指针 198
11.2.2  二维数组与指针 202
11.2.3  字符串与指针 205
11.2.4  字符串数组 206
11.3  指向指针的指针 208
11.4  函数参数中的指针变量 211
11.5  返回指针的函数 219
11.6  main()函数中的指针 221
11.7  术语 223
11.8  小结 223
11.9  练习 223
第12章  结构体和共用体 224
视频讲解:28分钟
12.1  理解并应用结构体 224
12.1.1  结构体类型的概念 224
12.1.2  结构体类型的定义 225
12.1.3  结构体类型的引用 227
12.1.4  结构体类型的初始化 229
12.2  掌握结构体数组 231
12.2.1  定义结构体数组 231
12.2.2  初始化结构体数组 233
12.3  解读结构体指针 235
12.3.1  指向结构体变量的指针 235
12.3.2  指向结构体数组的指针 237
12.3.3  结构体做函数参数 239
12.4  包含结构的结构 242
12.5  理解并应用共用体 243
12.5.1  共用体的概念 243
12.5.2  共用体变量的引用 244
12.5.3  共用体变量的初始化 245
12.5.4  共用体类型的数据特点 246
12.6  术语 246
12.7  小结 246
12.8  练习 247
第13章  位运算 248
视频讲解:20分钟
13.1  位与字节 248
13.2  位运算操作符 248
13.2.1  “与”运算符 249
13.2.2  “或”运算符 250
13.2.3  “取反”运算符 252
13.2.4  “异或”运算符 253
13.2.5  “左移”运算符 255
13.2.6  “右移”运算符 257
13.2.7  位运算复合赋值运算符 258
13.2.8  长度不同的数据进行位运算 258
13.3  循环移位 259
13.4  位段的概念 262
13.4.1  位段的概念与定义 262
13.4.2  位段相关说明 263
13.5  术语 264
13.6  小结 264
13.7  练习 265
第14章  存储管理 266
视频讲解:18分钟
14.1  内存组织方式 266
14.1.1  内存组织方式简介 266
14.1.2  堆与栈 266
14.2  动态管理 269
14.2.1  malloc()函数 269
14.2.2  calloc()函数 270
14.2.3  realloc()函数 271
14.2.4  free()函数 272
14.3  内存丢失 273
14.4  变量的存储类别 274
14.4.1  动态存储与静态存储 274
14.4.2  修饰一个局部变量为自动的auto
变量 274
14.4.3  声明位置不同意义不同的static变量 275
14.4.4  寄存器存储类的register变量 276
14.4.5  外部存储的extern变量 276
14.5  术语 277
14.6  小结 277
14.7  练习 277
第15章  预处理 278
视频讲解:17分钟
15.1  灵活使用宏定义 278
15.1.1  不带参数的宏定义 278
15.1.2  带参数的宏定义 279
15.2  #include指令 281
15.3  条件编译 283
15.3.1  #if命令 283
15.3.2  #ifdef及#ifndef命令 286
15.3.3  #undef命令 287
15.3.4  #line命令 287
15.3.5  #pragma命令 288
15.4  合理使用预处理 289
15.4.1  C语言中包括的预处理功能 289
15.4.2  使用宏时需要注意的问题 289
15.4.3  文件包含嵌套的问题 289
15.5  小结 290
15.6  练习 290
第16章  文件操作技术 291
视频讲解:36分钟
16.1  文件概念 291
16.2  文件的基本操作 292
16.3  文件指针 293
16.4  文件的打开与关闭 293
16.4.1  文件的打开 293
16.4.2  文件的关闭 295
16.5  读/写文件的函数 295
16.5.1  写字符函数—fputc()函数 295
16.5.2  读字符函数—fgetc()函数 296
16.5.3  写字符串函数—fputs()函数 298
16.5.4  读字符串函数—fgets()函数 299
16.5.5  格式化写入函数—fprintf()函数 300
16.5.6  格式化读取函数—fscanf()函数 302
16.5.7  数据块读/写函数—fread()函数和fwrite()函数 303
16.6  定位文件 306
16.6.1  随机读/写操作—fseek()函数 306
16.6.2  返回位置指针—rewind()函数 308
16.6.3  得到文件位置—ftell()函数 310
16.7  术语 313
16.8  小结 313
16.9  练习 313
第17章  图形图像 314
视频讲解:25分钟
17.1  字符屏幕函数 314
17.1.1  定义文本窗口 314
17.1.2  颜色设置 315
17.1.3  文本的输入和输出 315
17.1.4  屏幕操作函数 316
17.2  图形显示函数 319
17.2.1  图形模式初始化 319
17.2.2  屏幕颜色设置 322
17.2.3  基本图形函数 324
17.2.4  封闭图形的填充 332
17.3  图形屏幕 335
17.4  图形模式下的文本输出 336
17.4.1  文本输出函数 337
17.4.2  有关文本、字体、输出方式的设置 338
17.5  术语 340
17.6  小结 340
17.7  练习 340
第二部分  项 目 实 战
第18章  五子棋游戏开发 342
视频讲解:15分钟
18.1  概述 342
18.2  需求分析 342
18.3  系统设计 342
18.3.1  设计目标 342
18.3.2  开发及运行环境 343
18.4  程序预览 343
18.5  graphics.h文件 344
18.6  设计思路 346
18.7  预处理 347
18.7.1  文件引用 347
18.7.2  宏定义 347
18.8  声明变量 347
18.9  函数声明 347
18.10  主要功能实现 348
18.10.1  主函数 348
18.10.2  开始游戏 349
18.10.3  绘制棋盘 350
18.10.4  绘制棋子 350
18.10.5  清除棋子 350
18.10.6  游戏过程 351
18.10.7  判断胜负结果 356
18.11  开发总结 358
第19章  学生管理系统 359
视频讲解:10分钟
19.1  需求分析 359
19.2  系统设计 359
19.3  预处理 360
19.3.1  文件引用 360
19.3.2  宏定义 360
19.4  函数声明 360
19.5  功能设计 361
19.5.1  功能选择界面 361
19.5.2  输入学生信息界面 362
19.5.3  查询学生信息界面 365
19.5.4  删除学生信息界面 366
19.5.5  修改学生信息界面 367
19.5.6  插入学生信息界面 369
19.5.7  学生成绩排名 370
19.5.8  统计学生人数 372
19.6  开发总结 373
第20章  商品信息管理系统 374
视频讲解:17分钟
20.1  需求分析 374
20.2  预处理 374
20.2.1  文件引用 375
20.2.2  宏定义 375
20.3  声明结构体 375
20.4  函数声明 375
20.5  功能选择界面 376
20.6  输入商品信息 377
20.7  查询商品信息 379
20.8  删除商品信息 380
20.9  修改商品信息 382
20.10  插入商品信息 383
20.11  商品总额排名 385
20.12  统计商品数 386
20.13  开发总结 387
第21章  图书管理系统 388
视频讲解:17分钟
21.1  概述 388
21.1.1  需求分析 388
21.1.2  开发工具选择 388
21.2  系统设计 388
21.2.1  系统目标 388
21.2.2  系统功能结构 389
21.2.3  系统预览 389
21.2.4  开发及运行环境 391
21.3  数据库设计 391
21.3.1  安装MySQL数据库 392
21.3.2  启动MySQL数据库 398
21.3.3  创建数据库 398
21.3.4  数据表结构 399
21.4  C语言开发数据库程序的流程 400
21.4.1  引入头文件 400
21.4.2  引入库函数 401
21.5  C语言操作MySQL数据库 402
21.5.1  MySQL常用数据库操作函数 402
21.5.2  连接MySQL数据库 404
21.5.3  查询图书表记录 405
21.5.4  插入图书表记录 407
21.5.5  修改图书表记录 407
21.5.6  删除图书表记录 408
21.6  文件引用 409
21.7  变量和函数定义 410
21.8  主要功能模块设计 410
21.8.1  显示主菜单信息 410
21.8.2  显示所有图书信息 412
21.8.3  添加图书信息 415
21.8.4  修改图书信息 420
21.8.5  删除图书信息 425
21.8.6  查询图书信息 431
21.9  开发总结 433
附录A  ASCII码表 434
附录B  运算符的优先级 437

教学资源推荐
作者: [美] 劳拉·格雷泽(Laura Graesser) 龚辉伦(Wah Loon Keng) 著
作者: 骆斌 主编 邵栋 任桐炜 编著
作者: [美]托尼·加迪斯(Tony Gaddis)著
参考读物推荐
作者: 谢贤芳 古万荣 等编著
作者: Bill Dudney, Stephen Asbury, Joseph K.Krozak, Kevin Wittkopf
作者: (美)Mickey Williams
作者: [英]大卫·格里菲思(David Griffiths),[英]道恩·格里菲思(Dawn Griffiths) 著