标题：C语言从入门到精通（实例版）
图书信息
作者：明日科技 
图书详细信息：　　ISBN：9787302287575　　定价：69.8元　　印次：1-1　　装帧：平装　　印刷日期：2012-7-4　　
图书简介
《C语言从入门到精通（实例版）》从初学者的角度出发，通过通俗易懂的语言，丰富多彩的实例，详细介绍了使用Visual C++ 6.0（部分使用Turbo C）进行C语言应用程序开发应该掌握的各方面技术。全书共分14章，包括初识C语言、C语言基础、顺序与选择结构程序设计、循环控制、数组、函数、指针、结构体与共用体、算法、位运算、预处理、文件、图形图像、商品信息管理系统。书中所有知识都结合具体实例进行介绍，涉及的程序代码给出了详细的注释，可以使读者轻松领会C语言应用程序开发的精髓，快速提高开发技能。另外，本书除了纸质内容之外，配书光盘中还给出了海量开发资源库，主要内容如下：　　 语音视频讲解：总时长17小时，共193段  实例资源库：881个实例及源码详细分析　　 模块资源库：15个经典模块开发过程完整展现  项目案例资源库：15个企业项目开发过程完整展现　　 测试题库系统：616道能力测试题目  面试资源库：371个企业面试真题　　 PPT电子教案　　本书适合作为软件开发入门者的自学用书，也适合作为高等院校相关专业的教学参考书，也可供开发人员查阅、参考。　　
图书前言
丛书说明：“软件开发视频大讲堂”（第1版）于2008年8月出版以来，因其编写细腻，易学实用，配备全程视频等，在软件开发类图书市场上产生了很大反响，绝大部分品种在全国软件开发零售图书排行榜中名列前茅，2009年多个品种被评为“全国优秀畅销书”。　　“软件开发视频大讲堂”丛书（第2版）于2010年8月出版，自出版至今，绝大部分品种在全国软件开发类零售图书排行榜中，依然持续名列前茅。丛书迄今累计已销售近40万册，被百余所高校计算机相关专业、软件学院选为教学参考书，在众多的软件开发类图书中成为一支最耀眼的品牌。　　“软件开发视频大讲堂”丛书（第3版）在前两版的基础上，增删了品种，修正了疏漏，重新录制了视频，提供了从入门学习，到实例应用，到模块开发，到项目开发，到能力测试，直到面试等各个阶段的海量开发资源库。为了方便教学，还提供了教学课件PPT。　　C语言是Combined Language（组合语言）的中英文混合简称，是一种计算机程序设计语言。它既有高级语言的特性，又具有汇编语言的特性；既可编写系统应用程序，也可作为应用程序设计语言，编写不依赖于计算机硬件的应用程序。因此，C语言的应用非常广泛，不仅可以应用在软件开发中，还可以应用到单片机及嵌入式系统开发中。　　本书内容　　本书提供了从入门到编程高手所必备的各类知识，全书共分4篇，大体结构如下图所示。
　　第1篇：基础知识。本篇通过介绍初识C语言、C语言基础、顺序与选择结构程序设计以及循环控制等知识，并结合丰富的图示、实例、经典的范例和视频帮助读者快速掌握C语言，为以后的学习奠定坚实的基础。　　第2篇：核心技术。本篇主要介绍了数组、函数、指针、结构体与共用体以及算法等知识，通过这一部分的学习可以帮助读者在C语言的学习上得到进一步的提升，体会到C语言编程的灵魂所在。书中结合丰富的图示、实例、经典的范例和视频，帮助读者更轻松地掌握C语言编程的核心技术。　　第3篇：高级应用。本篇主要介绍了位运算、预处理、文件和图形图像等C语言的高级应用，通过学习本篇，能够使用位运算进一步了解计算机底层的一些操作和实现原理，使用预处理应用简化程序的修改、阅读、移植和调试等功能，使用文件操作对磁盘文件进行读写数据和修改等操作，还可以使用C语言中强大的图形图像库函数实现多彩的C语言界面和游戏编程。　　第4篇：项目实战。本篇通过开发一个大型、完整的商品信息管理系统，运用软件工程的设计思想，介绍如何进行软件项目的实践开发。书中按照编写需求分析→预处理设计→结构体设计→功能函数声明→各功能函数的实现过程进行介绍，带领读者一步步亲身体验开发项目的全过程。　　本书特点　　* 由浅入深，循序渐进：本书以初中级程序员为对象，先从C语言基础讲起，再介绍C语言的核心技术，然后介绍C语言的高级应用，最后讲解开发一个完整项目。讲解过程中步骤详尽、版式新颖，让读者在阅读中一目了然，从而快速把握书中内容。　　* 语音视频，讲解详尽：书中每一章节均提供声图并茂的语音教学视频，读者可以根据书中提供的视频位置在光盘中找到。这些视频能够引导初学者快速入门，感受编程的快乐和成就感，增强进一步学习的信心，从而快速成为编程高手。　　* 实例典型，轻松易学：通过实例学习是最好的学习方式，本书通过一个知识点、一个实例、一个结果、一段评析、一个综合应用的模式，透彻详尽地讲述了实际开发中所需的各类知识。书中还增加了很多贴近生活、易于理解的经典范例，使读者能够从枯燥的编程中找到生活中的趣味。　　* 精彩栏目，贴心提醒：本书根据需要在各章使用了很多“注意”、“说明”等小提示，可以使读者在学习过程中更轻松地理解相关知识点及概念，并熟练地掌握个别技术的应用技巧。　　* 应用实践，随时练习：书中几乎每章都提供了“实践与练习”，让读者通过对问题的解答重新回顾、熟悉所学的知识，举一反三，为进一步学习做好充分的准备。　　读者对象　　? 初学编程的自学者 ? 编程爱好者　　? 大中专院校的老师和学生 ? 相关培训机构的老师和学员　　? 毕业设计的学生 ? 初中级程序开发人员　　? 程序测试及维护人员 ? 参加实习的“菜鸟”程序员
致读者　　本书由明日科技C程序开发团队组织编写，主要编写人员有曹飞飞、朱晓、赵永发、顾彦玲、刘玲玲、王小科、赵会东、赛奎春、高春艳、杨丽、王国辉、陈丹丹、李伟、潘凯华、李慧、刘欣、李继业、寇长梅、陈英、刘莉莉、刘淇、王双、黎秋芬、陈媛、房大伟、刘云峰、吕双、顾丽丽、孟范胜、董大永、李继业、尹强、张磊、王军、刘彬彬、卢瀚、安剑、巩建华、刘锐宁、李伟明、梁水、李鑫、孙秀梅、李钟尉等。在编写本书的过程中，我们以科学、严谨的态度，力求精益求精，但错误、疏漏之处在所难免，敬请广大读者批评指正。　　感谢您购买本书，希望本书能成为您编程路上的领航者。　　“零门槛”编程，一切皆有可能。祝读书快乐！　　　　　　编 者 
图书目录
第1篇 基 础 知 识
第1章 初识C语言 3　　视频讲解：26分钟　　1.1 C语言简介 4　　1.1.1 编程语言的发展 4　　1.1.2 什么是C语言 4　　1.1.3 C语言的特点 5　　1.2 认识C程序 6　　1.2.1 简单的C程序 6　　1.2.2 C程序的开发环境 8　　1.2.3 编程原则 16　　1.2.4 编译出错提示 18　　范例1 输出一个正方形 27　　范例2 用TC 2.0打开文本文件 27　　1.3 经典范例 28　　1.3.1 经典范例1 十进制转换为十六进制 28　　1.3.2 经典范例2 三个数由小到大排序 28　　1.4 小结 29　　1.5 实践与练习 29　　第2章 C语言基础 31　　视频讲解：1小时28分钟　　2.1 数据类型 32　　2.2 常量 33　　2.2.1 整型常量 33　　2.2.2 实型常量 34　　2.2.3 字符型常量 35　　2.2.4 符号常量 37　　范例1 计算学生平均身高 38　　范例2 求圆的周长 38　　2.3 变量 39　　2.3.1 整型变量 39　　2.3.2 实型变量 42　　2.3.3 字符型变量 44　　范例3 实型数据的存储 45　　范例4 字符型数据进行算术运算 45　　2.4 运算符与表达式 46　　2.4.1 赋值运算符与表达式 47　　2.4.2 算术运算符与表达式 51　　2.4.3 关系运算符与表达式 53　　2.4.4 逻辑运算符与表达式 54　　2.4.5 逗号运算符与表达式 55　　2.4.6 三目运算符与表达式 56　　范例5 判断闰年 57　　范例6 判断整数倍 58　　2.5 经典范例 58　　2.5.1 经典范例1 混合运算 58　　2.5.2 经典范例2 检查字符类型 59　　2.5.3 经典范例3 判断三角形的类型 60　　2.6 小结 61　　2.7 实践与练习 61　　第3章 顺序与选择结构程序设计 63　　视频讲解：1小时39分钟　　3.1 C语句及赋值语句 64　　3.1.1 C语句的概述 64　　3.1.2 赋值语句 66　　范例1 判断回文数 67　　范例2 阶梯问题 68　　3.2 字符数据输入/输出 69　　3.2.1 字符数据输出 69　　3.2.2 字符数据输入 70　　范例3 将输入的小写字母转换为　　大写字母 71　　范例4 使用字符函数输入/输出字符 72　　3.3 格式输入/输出函数 73　　3.3.1 格式输出函数 73　　3.3.2 格式输入函数 77　　范例5 求一元二次方程的根 79　　范例6 求直角三角形的斜边 80　　3.4 if语句 81　　3.4.1 if语句的基本形式 81　　3.4.2 if语句的其他形式 82　　3.4.3 if语句的嵌套形式 84　　范例7 判断偶数 85　　范例8 平方和值判断 86　　3.5 switch语句 87　　范例9 评定成绩等级 89　　范例10 加油站加油 90　　3.6 经典范例 91　　3.6.1 经典范例1 计算运输公司的计费 91　　3.6.2 经典范例2 一年的日期情况 93　　3.6.3 经典范例3 模拟自动售货机 94　　3.7 小结 95　　3.8 实践与练习 95　　　　第4章 循环控制 97　　视频讲解：1小时6分钟　　4.1 while及do while语句 98　　4.1.1 while语句 98　　4.1.2 do while语句 100　　范例1 从键盘中输入一个数n，求n！ 101　　范例2 买苹果问题 102　　4.2 for语句 102　　4.2.1 for循环的变体 103　　4.2.2 循环嵌套 106　　范例3 统计不及格人数 109　　范例4 一元钱兑换方案 110　　4.3 转移语句 110　　4.3.1 goto语句 110　　4.3.2 break语句 112　　4.3.3 continue语句 114　　范例5 求出给定数值内的所有正整数的和 115　　范例6 偶数拆分 115　　4.4 经典范例 116　　4.4.1 经典范例1 灯塔数量 116　　4.4.2 经典范例2 平方和运算 117　　4.4.3 经典范例3 打印乘法口诀表 118　　4.5 小结 119　　4.6 实践与练习 119
第2篇 核 心 技 术
第5章 数组 123　　视频讲解：1小时4分钟　　5.1 一维数组 124　　5.1.1 一维数组的定义和引用 124　　5.1.2 一维数组的初始化 126　　范例1 判断一个数是否存储在数组中 128　　范例2 选票统计 128　　5.2 二维数组 129　　5.2.1 二维数组的定义和引用 130　　5.2.2 二维数组的初始化 131　　范例3 求二维数组对角线之和 133　　范例4 打印杨辉三角 134　　5.3 字符数组 135　　5.3.1 字符数组的定义和引用 135　　5.3.2 字符数组的初始化 136　　5.3.3 字符数组的结束标志 137　　5.3.4 字符数组的输入/输出 138　　5.3.5 字符串处理函数 141　　范例5 统计各种字符的个数 148　　范例6 字符升序排列 149　　5.4 多维数组 150　　5.5 经典范例 150　　5.5.1 经典范例1 模拟比赛打分 150　　5.5.2 经典范例2 打印5阶幻方 152　　5.5.3 经典范例3 找出排在后面的国家名 153　　5.6 小结 154　　5.7 实践与练习 154　　第6章 函数 155　　视频讲解：1小时48分钟　　6.1 函数的简介 156　　6.1.1 概述 156　　6.1.2 函数的定义与声明 158　　范例1 计算任意两个整数的积 161　　范例2 求最大公约数与最小公倍数 162　　6.2 返回语句 163　　6.2.1 函数返回 163　　6.2.2 返回值 165　　范例3 求任意两个数的平均数 167　　范例4 判断素数 167　　6.3 函数参数 168　　6.3.1 形式参数和实际参数 168　　6.3.2 数组作函数参数 170　　范例5 求字符串中字符个数 174　　范例6 求学生的平均身高 175　　6.4 函数的调用 176　　6.4.1 函数的调用方式 176　　6.4.2 嵌套调用 178　　6.4.3 递归调用 180　　范例7 分数计算器 182　　范例8 递归解分鱼问题 184　　6.5 局部变量和全局变量 185　　6.5.1 局部变量 185　　6.5.2 全局变量 188　　6.6 变量的存储类别 190　　6.6.1 静态存储与动态存储 190　　6.6.2 auto变量 191　　6.6.3 static变量 193　　6.6.4 register变量 195　　6.6.5 extern变量 195　　6.7 内部函数和外部函数 197　　6.7.1 内部函数 197　　6.7.2 外部函数 198　　范例9 最大值与最小值对调 199　　范例10 使用register定义局部变量 200　　6.8 库函数 201　　6.8.1 数学函数 202　　6.8.2 字符和字符串函数 204　　范例11 小数分离 207　　范例12 求任意数n次幂 208　　6.9 经典范例 209　　6.9.1 经典范例1 某日是该年的第几天 209　　6.9.2 经典范例2 递归解决年龄问题 210　　6.9.3 经典范例3 一数三平方 211　　6.10 小结 212　　6.11 实践与练习 213　　第7章 指针 215　　视频讲解：50分钟　　7.1 指针相关概念 216　　7.1.1 地址与指针 216　　7.1.2 指针变量 217　　7.1.3 “&”和“*”运算符 220　　7.1.4 指针的算术运算 221　　范例1 转向的指针 223　　范例2 数值的运算 224　　7.2 一维数组与指针 225　　7.2.1 指向数组元素的指针 225　　7.2.2 使用指针访问数组 226　　范例3 查找数列中的最值 230　　范例4 逆序存放数组元素 231　　7.3 二维数组与指针 232　　范例5 输出二维数组有关值 234　　范例6 输出二维数组的任一行、任一列 235　　7.4 字符串与指针 236　　7.4.1 字符型指针 237　　7.4.2 字符串数组 238　　范例7 字符串的匹配 239　　范例8 将若干字符串按照字母顺序输出 240　　7.5 指针作函数参数 241　　7.5.1 指针变量作函数的参数 242　　7.5.2 数组指针作函数的参数 245　　7.6 指向指针的指针 250　　范例9 使用指针的指针输出字符串 252　　范例10 输入月份号输出英文月份名 253　　7.7 函数型指针 254　　7.8 main函数的参数 256　　范例11 用函数指针实现求两个数据的和　　与差 257　　范例12 用指向函数的指针比较大小 258　　7.9 经典范例 259　　7.9.1 经典范例1 字符串插入 259　　7.9.2 经典范例2 删除数组中的连续　　元素 260　　7.9.3 经典范例3 输出销售额 261　　7.10 小结 262　　7.11 实践与练习 263　　第8章 结构体与共用体 265　　视频讲解：1小时2分钟　　8.1 结构体 266　　8.1.1 结构体类型的概念 266　　8.1.2 结构体变量的定义和引用 267　　8.1.3 结构体变量的初始化 271　　8.2 结构体数组 273　　8.2.1 定义结构体数组 273　　8.2.2 初始化结构体数组 274　　范例1 比较计数 276　　范例2 找出最高分 277　　范例3 信息查询 278　　8.3 结构体指针 280　　8.3.1 结构体指针变量的声明 280　　8.3.2 结构体指针的引用 281　　8.3.3 结构体数组指针 283　　8.3.4 结构体作函数的参数 284　　范例4 统计分钟数 287　　范例5 指向数组元素的结构体指针运算 288　　8.4 包含结构的结构 289　　8.5 链表 290　　8.5.1 链表概述 290　　8.5.2 单链表的建立 292　　8.5.3 链表的输出 294　　8.5.4 链表相关操作 296　　范例6 合并两个链表 302　　范例7 创建循环链表 303　　范例8 创建双向链表 304　　8.6 共用体 307　　8.6.1 共用体的概念 307　　8.6.2 共用体变量的定义和引用 308　　8.6.3 共用体变量的初始化 310　　范例9 取出整型数据的高字节数据 311　　范例10 共用体处理任意类型数据 311　　8.7 枚举类型 312　　范例11 选择颜色 314　　范例12 输出星期几 315　　8.8 用typedef定义类型 316　　8.9 经典范例 318　　8.9.1 经典范例1 候选人选票程序 318　　8.9.2 经典范例2 使用共用体存放学生和　　老师信息 319　　8.9.3 经典范例3 约瑟夫环 320　　8.10 小结 322　　8.11 实践与练习 322　　第9章 算法 323　　视频讲解：1小时8分钟　　9.1 算法基础 324　　9.1.1 算法的概念 324　　9.1.2 流程图 324　　9.1.3 三种基本结构 326　　9.1.4 N-S流程图 327　　范例1 判断偶数 328　　范例2 求整数和 328　　9.2 排序算法 329　　9.2.1 选择排序 330　　9.2.2 冒泡排序 331　　9.2.3 插入排序 334　　9.2.4 希尔排序 335　　9.2.5 快速排序 337　　9.3 查找算法 339　　9.3.1 顺序查找 339　　9.3.2 折半查找 340　　9.3.3 分块查找 342　　9.3.4 哈希查找 344　　9.4 经典范例 348　　9.4.1 经典范例1 百钱百鸡问题 348　　9.4.2 经典范例2 斐波那契数列 349　　9.4.3 经典范例3 尼科彻斯定理 350　　9.5 小结 351　　9.6 实践与练习 351　　　　第3篇 高 级 应 用
第10章 位运算 355　　视频讲解：44分钟　　10.1 位运算操作符 356　　10.1.1 “或”运算符 356　　10.1.2 “与”运算符 357　　10.1.3 “取反”运算符 359　　10.1.4 “异或”运算符 360　　10.1.5 “左移”运算符 362　　10.1.6 “右移”运算符 364　　范例1 取一个整数的后4位 365　　范例2 取出给定16位二进制数的奇数位 365　　10.2 循环移位 366　　10.3 位段 368　　10.3.1 位段的概念与定义 369　　10.3.2 位段相关说明 370　　范例3 输出各个位段的值 371　　范例4 位段变量的内存分配 372　　10.4 经典范例 373　　10.4.1 经典范例1 求一个数的补码 373　　10.4.2 经典范例2 使二进制数特定位翻转 373　　10.4.3 经典范例3 RSA加密算法的实现 374　　10.5 小结 376　　10.6 实践与练习 376　　第11章 预处理 377　　视频讲解：44分钟　　11.1 宏定义 378　　11.1.1 不带参数的宏定义 378　　11.1.2 带参数的宏定义 379　　范例1 不带参数的宏定义的简单应用 381　　范例2 利用宏定义求偶数和 381　　11.2 “文件包含”处理 382　　11.3 条件编译 383　　11.3.1 #if相关命令 384　　11.3.2 #ifdef及#ifndef命令 386　　11.3.3 #undef命令 388　　11.3.4 #line及#pragma命令 388　　范例3 编写头文件包含圆面积的计算公式 389　　范例4 使用条件编译将字符转换为大写 390　　11.4 经典范例 391　　11.4.1 经典范例1 找最小数 391　　11.4.2 经典范例2 利用文件包含设计　　输出模式 392　　11.4.3 经典范例3 使用条件编译隐藏密码 392　　11.5 小结 393　　11.6 实践与练习 393　　第12章 文件 395　　视频讲解：1小时23分钟　　12.1 文件概述 396　　12.2 文件基本操作 396　　12.2.1 文件的打开 396　　12.2.2 文件的关闭 398　　范例1 关闭打开的所有文件 398　　范例2 同时显示两个文件的内容 400　　12.3 文件的读写 401　　12.3.1 字符形式读写文件 402　　12.3.2 字符串形式读写文件 404　　12.3.3 成块读写文件 406　　12.3.4 格式化读写函数 409　　范例3 以行为单位读写文件 411　　范例4 重命名文件 412　　12.4 文件的定位 413　　12.4.1 fseek函数 413　　12.4.2 rewind函数 415　　12.4.3 ftell函数 416　　12.5 经典范例 419　　12.5.1 经典范例1 合并两个文件信息 419　　12.5.2 经典范例2 文件替换时的错误处理 420　　12.5.3 经典范例3 文件分割 422　　12.6 小结 424　　12.7 实践与练习 424　　第13章 图形图像 425　　视频讲解：38分钟　　13.1 字符屏幕 426　　13.1.1 定义文本窗口 426　　13.1.2 颜色设置 426　　　　13.1.3 文本的输入和输出 427　　13.1.4 屏幕操作函数 428　　13.2 图形显示 431　　13.2.1 图形模式初始化 431　　13.2.2 屏幕颜色设置 434　　13.2.3 基本图形函数 436　　13.2.4 封闭图形的填充 443　　范例1 颜色变换 445　　范例2 彩色扇形 446　　13.3 图形屏幕 447　　13.4 图形模式下文本输出 448　　13.4.1 文本输出函数 449　　13.4.2 文本属性设置 450　　范例3 跳动的小球 452　　范例4 变化的同心圆 453　　13.5 经典范例 454　　13.5.1 经典范例1 绘制正弦曲线 454　　13.5.2 经典范例2 绘制彩带 455　　13.5.3 经典范例3 绘制五角星 456　　13.6 小结 457　　13.7 实践与练习 457
第4篇 项 目 实 战
第14章 商品信息管理系统 461　　视频讲解：21分钟　　14.1 需求分析 462　　14.2 预处理技术 462　　14.3 结构体的使用 463　　14.4 函数声明技术 463　　14.5 功能选择界面 464　　　　14.6 录入商品信息 466　　14.7 查询商品信息 469　　14.8 删除商品信息 471　　14.9 修改商品信息 473　　14.10 插入商品信息 475　　14.11 统计商品数 478　　14.12 小结 479