编辑推荐
《C语言从入门到精通》,超级热销的C语言经典著作,100000读者的共同选择,长期雄踞各大书店、网店排行榜前列。本次改版在传承经典的基础上,对内容进行全面扩充,大量补充典型案例,贴近实战,帮助读者迅速积累开发经验。
强大的编委会阵容,业界专家倾力推荐
中国软件行业协会教育与培训委员会秘书长邱钦伦
微软开发工具及平台事业部产品经理胡德民
Sun亚洲全球化中心技术总监刘杰
龙马创新教育研究室总裁孔长征
河南省863软件孵化器有限公司总经理翟为唐
广东拓思软件科学园有限公司副总经理黄万民
西安863软件孵化器有限公司总经理楼文晓
郑州大学信息工程学院副院长周清雷
华大锐志软件人才孵化基地技术总监微软有价值专家(MVP)王豫翔
NEC信息系统(中国)有限公司开发部长石少峥
东忠集团副总裁李朝阳
《程序员》杂志、CSDN著名技术专家尹成
51CTO。com技术总监陈德勇
微软有价值专家(MVP)杨云
DVD光盘超值赠送
32小时全程同步教学录像,一线教学和开发人员贴心讲解,配合图书高效学习
18小时价值6000元的独门Oracle项目实战教学录像,帮您轻松学会Oracle数据库
225个典型范例、11个经典算法求解程序、6个完整项目,在实战中掌握C语言编程
134个实战测试及解析,举一反三,掌握更透彻
9个超值资源大放送
超值资源1:97页C语言标准库函数查询手册
超值资源2:16页C语言常用查询手册(头文件、关键字和常用字符ASCII码查询)
超值资源3:10套超值完整源代码
超值资源4:全国计算机等级考试二级C语言考试大纲及应试技巧
超值资源5:53道C语言常见面试题及解析电子书
超值资源6:31个C语言常见错误及解决方案电子书
超值资源7:51个C语言高效编程技巧
超值资源8:C语言程序员职业规划
超值资源9:C语言程序员面试技巧
《C语言从入门到精通(第2版)》特色
零基础、入门级的讲解——无论读者是否从事计算机相关行业,是否接触过C语言,是否使用C语言开发过项目,都能从本书中找到起点。
超多、实用、专业的范例和项目——本书结合实际工作中的范例,逐一讲解C语言的各种知识和技术。最后,还以实际开发项目来总结本书所学内容,帮助读者在实战中掌握知识,轻松拥有项目经验。
随时检测自己的学习成果——每章首页罗列了“本章要点”,以便读者明确学习方向。每章最后的“实战练习”则根据所在章的知识点精心设计而成,读者可以随时自我检测,巩固所学知识。
细致入微、贴心提示——本书在讲解过程中使用了“提示”、“注意”、“技巧”等小栏目,帮助读者在学习过程中更清楚地理解基本概念、掌握相关操作,并轻松获取实战技巧。
内容简介
《C语言从入门到精通(第2版)》以零基础讲解为宗旨,用实例引导读者学习,深入浅出地介绍了C语言的相关知识和实战技能。 《C语言从入门到精通(第2版)》第1篇【基础知识】主要讲解C语言的基础知识、C程序的组成、C语言的基本构成元素、变量、数制、数据类型、运算符和表达式、顺序结构与选择结构、循环语句与转向语句、输入和输出、数组、字符数组以及算法与流程图等;第2篇【核心技术】主要讲解函数、函数中的变量、文件、编译与预处理指令、库函数、位运算、结构体和联合体、数据结构等;第3篇【高级应用】主要讲解指针、指针与数组、指针与函数、指针与字符串、指针与结构体、指针的高级应用与技巧等;第4篇【项目实战】主要讲解项目规划、Linux下的C语言开发、通讯录、图书管理系统、信息管理系统以及K-均值聚类算法等;第5篇【趣味题解】主要讲解哥德巴赫猜想、猴子选大王游戏、迷宫求解、背包问题求解、火车车厢重排、哈夫曼编码的实现、八皇后问题的实现、商人过河游戏、K阶斐波那契序列的实现以及短路径的实现等。 《C语言从入门到精通(第2版)》所附DVD光盘中包含了与图书内容全程同步的教学录像。此外,还赠送了大量相关学习资料,以便读者扩展学习。 《C语言从入门到精通(第2版)》适合任何想学习C语言的读者,论您是否从事计算机相关行业,是否接触过C语言,均可通过学习快速掌握C语言的开发方法和技巧。
内页插图
目录
第0章 学习攻略
0.1 C语言的来源
0.2 C语言的特点
0.3 C语言处不在
0.4 C语言的学习经验
0.5 C语言的学习路线
第1篇 基础知识
第1章 步入C的世界——Hello C
1.1 C语言的开发环境
1.1.1 C常用开发环境
1.1.2 VC++开发环境的安装
1.1.3 TurboC2.0开发环境的安装
1.2 认识常用开发环境
1.2.1 认识VC++开发环境
1.2.2 认识Turbo开发环境
1.3 开始C编程——我的第1个C程序
1.3.1 程序编写及运行流程
1.3.2 在VisualC++6.0中开发C程序
1.3.3 在TurboC中开发C程序
1.4 高手点拨
1.5 实战练习
第2章 C程序的组成
2.1 简单例子
2.2 声明区
2.2.1 头文件
2.2.2 函数声明
2.2.3 变量声明
2.3 主函数
2.4 函数定义区
2.5 注释
2.6 代码的规矩
2.7 高手点拨
2.8 实战练习
第3章 C语言的基本构成元素——字符集、标识符和关键字
3.1 标识符和关键字
3.1.1 标识符
3.1.2 关键字
3.2 常量
3.2.1 什么是常量
3.2.2 常量的声明
3.3 常量的类别
3.3.1 数值常量
3.3.2 字符常量
3.3.3 字符串常量
3.3.4 符号常量
3.4 综合应用——常量指针与指针常量
3.5 高手点拨
3.6 实战练习
第4章 变量
4.1 变量
4.1.1 什么是变量
4.1.2 变量的定义与声明
4.2 变量的类别
4.2.1 局部变量
4.2.2 形式参数
4.2.3 全局变量
4.3 变量的存储类型
4.3.1 自动变量
4.3.2 静态变量
4.3.3 外部变量
4.3.4 寄存器变量
4.4 变量的赋值和初始化
4.5 综合应用——根据变量的不同决定运行的结果
4.6 高手点拨
4.7 实战练习
第5章 计算机如何识数——数制
5.1 二进制
5.2 八进制
5.3十进制
5.4 十六进制
5.5 数制间的转换
5.6 综合应用——数制转换
5.7 高手点拨
5.8 实战练习
第6章 数据的种类——数据类型
6.1 数据类型的分类
6.1.1 基本数据类型
6.1.2 构造数据类型
6.1.3 指针数据类型
6.1.4 空类型
6.2 整型
6.3 字符型
6.4 浮点型
6.5 类型转换
6.5.1 隐式转换
6.5.2 显式转换
6.6 综合应用——类型转换
6.7 高手点拨
6.8 实战练习
第7章 C世界中的加减乘除——运算符和表达式
7.1 C中的运算符和表达式
7.1.1 运算符
7.1.2 表达式
7.2 算术运算符和表达式
7.2.1 算术运算符
7.2.2 算术表达式
7.2.3 应用举例
7.3 关系运算符和表达式
7.3.1 关系运算符
7.3.2 关系表达式
7.3.3 应用举例
7.4 逻辑运算符和表达式
7.4.1 逻辑运算符
7.4.2 逻辑表达式
7.4.3 应用举例
7.5 条件运算符和表达式
7.6 赋值运算符和表达式
7.6.1 赋值运算符
7.6.2 赋值表达式
7.6.3 应用举例
7.7 自增、自减运算符
7.8 逗号运算符和表达式
7.9 位运算符
7.9.1 按位与运算符
7.9.2 按位或运算符
7.9.3 按位异或运算符
7.9.4 按位取反运算符
7.9.5 左移运算符
7.9.6 右移运算符
7.9.7 位运算赋值运算符
7.9.8 位运算应用
7.10 优先级与结合性
7.10.1 算术运算符的优先级和结合性
7.10.2 关系运算符的优先级和结合性
7.10.3 逻辑运算符的优先级和结合性
7.10.4 赋值运算符的优先级与结合性
7.11 综合应用——根据输入值计算结果
7.12 高手点拨
7.13 实战练习
第8章 顺序结构与选择结构
8.1 程序流程概述
8.2 语句
8.2.1 基本赋值语句
8.2.2 表达式语句
8.2.3 基本输入/输出语句
8.2.4 控制语句
8.2.5空语句和复合语句
8.3 顺序结构与语句
8.4 选择结构
8.4.1 选择结构
8.4.2 单分支选择结构——if语句
8.4.3 双分支选择结构——if-else语句
8.4.4 多分支选择结构——if-else的嵌套形式
8.4.5 多分支选择结构——switch语句
8.5 综合应用——根据不同的利润计算资金
8.6 高手点拨
8.7 实战练习
第9章 C程序的流程——循环结构与转向语句
9.1 循环结构与语句
9.1.1 循环结构
9.1.2 当型循环语句——for语句
9.1.3 当型循环语句——while语句
9.1.4 直到型循环语句——do-while语句
9.1.5 循环的嵌套
9.2 转向语句
9.2.1 goto语句
9.2.2 break语句
9.2.3 continue语句
9.3 综合应用——简单计算器
9.4 高手点拨
9.5 实战练习
第10章 用户与计算机的交互——输入和输出
10.1 标准输入/输出
10.2 格式化输入/输出
10.2.1 格式化输出函数——printf()
10.2.2 格式控制字符
10.2.3 格式化输入函数——scanf()
10.3 字符输入/输出
10.3.1 字符输出函数——putchar()
10.3.2 字符输入函数——getchar()
10.4 字符串输入/输出
10.4.1 字符串输出函数——puts()
10.4.2 字符串输入函数——gets()
10.5 高手点拨
10.6 实战练习
第11章 数组
11.1 数组概述
11.2 一维数组
11.2.1 一维数组的定义
11.2.2 一维数组的初始化
11.2.3 一维数组元素的操作
11.2.4 数组作为参数传递
11.2.5 一维数组的应用举例
11.3 二维数组
11.3.1 二维数组的定义
11.3.2 二维数组的初始化
11.3.3 二维数组元素的操作
11.3.4 二维数组的应用举例
11.4 多维数组
11.5 综合应用 —— 杨辉三角
11.6 高手点拨
11.7 实战练习
第12章字符数组
12.1 字符数组概述
12.2 字符数组
12.2.1 字符数组的初始化
12.2.2 字符数组的引用
12.2.3 字符数组的输入与输出
12.3 字符串
12.3.1 字符串和字符数组
12.3.2 字符串的输入/输出
12.3.3 字符串应用举例
12.4 综合应用——自动分类字符
12.5 高手点拨
12.6 实战练习
第13章 程序的灵魂——算法与流程图
13.1 算法基础
13.1.1 算法的概念
13.1.2 算法的特性
13.1.3 简单算法举例——解方程
13.2 流程图的基础
13.2.1 流程图中的元素及含义
13.2.2 流程图的绘制
13.3 如何表示一个算法
13.3.1 用自然语言表示算法
13.3.2 用流程图表示算法
13.3.3 用传统流程图表示3种基本结构
13.3.4 用N-S图表示算法
13.3.5 用伪代码表示算法
13.3.6 用计算机语言表示算法
13.4 结构化程序设计方法
13.5 综合应用——求解一元二次方程
13.6 高手点拨
13.7 实战练习
第2篇 核心技术
第14章 函数
14.1 函数概述
14.1.1 什么是函数
14.1.2 函数的分类
14.2 函数的定义
14.3 函数的返回值及类型
14.3.1 函数的返回值
14.3.2 函数的类型
14.4 函数的参数及传递方式
14.4.1 函数的参数
14.4.2 函数参数的传递方式
14.5 函数的调用
14.5.1 函数调用方式
14.5.2 函数的声明
14.5.3 函数的嵌套调用
14.5.4 函数的递归调用
14.6 内部函数和外部函数
14.6.1 内部函数
14.6.2 外部函数
14.7 main()函数
14.8 综合应用——用截弦法求方程的根
14.9 高手点拨
14.10 实战练习
第15章 函数中的变量
15.1 局部变量与全局变量
15.1.1 局部变量
15.1.2 全局变量
15.2 变量的存储类别
15.2.1 自动类型(auto)
15.2.2寄存器类型
前言/序言
《C语言从入门到精通(第2版)》图书简介 一、 前言:打开程序世界的大门,掌握编程语言的基石 在科技飞速发展的今天,编程语言已成为驱动创新、实现智能化的核心动力。而C语言,作为一门历史悠久、应用广泛且功能强大的编程语言,更是被誉为“程序设计语言的通用语言”,是深入理解计算机底层原理、学习更高级编程语言(如C++、Java、Python等)的绝佳起点。 本书《C语言从入门到精通(第2版)》正是为渴望踏入程序设计殿堂的初学者,以及希望巩固和深化C语言知识的进阶者精心打造。我们深知,学习一门编程语言,如同学习一门新的语言,需要耐心、理解和大量的实践。因此,本书在编写过程中,力求语言通俗易懂,概念讲解深入浅出,代码示例贴近实际,旨在帮助读者建立扎实的C语言基础,掌握程序设计的核心思想,最终能够独立地分析问题、设计解决方案并用C语言实现。 二、本书特色与亮点:循序渐进,由浅入深,实践驱动 1. 结构科学,逻辑严谨: 本书采用由浅入深的结构设计,从最基础的C语言环境搭建、数据类型、基本语法入手,逐步深入到流程控制、函数、数组、指针、结构体、文件操作等核心概念。每一个章节的内容都建立在前一章节的基础上,确保读者能够理解概念之间的内在联系,构建完整的知识体系。 2. 概念讲解透彻,比喻生动形象: 对于初学者而言,很多编程概念可能比较抽象。本书在讲解每一个知识点时,都力求用最清晰、最直观的方式进行阐述。我们会运用生活中的类比、生动形象的比喻,以及详细的流程图,帮助读者将抽象的概念具象化,更容易理解和记忆。例如,在讲解指针时,我们会将其类比为“门牌号”,形象地说明了指针存储的是内存地址,通过这个地址可以找到具体的数据。 3. 海量精选代码示例,即学即练: 理论知识的学习离不开实践的检验。本书提供了大量经过精心挑选和优化的代码示例,这些示例覆盖了各个知识点的应用场景,并附有详细的注释,解释代码的逻辑和实现思路。读者可以跟随示例进行敲击、运行和调试,通过亲手实践来巩固所学知识,培养解决问题的能力。 4. 强化习题设计,巩固提升: 每个章节的末尾都配有精心设计的习题,题型多样,难度循序渐进,包含选择题、填空题、编程题等。这些习题旨在帮助读者检测对本章知识的掌握程度,加深对概念的理解,并锻炼实际编程能力。对于编程题,我们鼓励读者独立思考,尝试不同的解决方案,并在遇到困难时参考附带的答案和解析。 5. 突出核心难点,提供专项突破: C语言中的指针、内存管理、递归等是初学者常常感到困惑的部分。本书特别对这些难点进行了重点讲解,通过多角度、多层次的阐述,并提供专门的练习,帮助读者克服学习障碍,真正掌握这些关键技能。 6. 融入实际应用场景,提升学习兴趣: 本书不仅仅局限于枯燥的语法讲解,还会适时地引入一些简单的实际应用场景,例如文件读写、简单的数据统计、文本处理等,让读者看到C语言的强大应用能力,从而激发学习的兴趣和动力。 7. “精通”进阶篇章,为深入学习铺路: 在打下坚实的基础之后,本书还将带领读者探索更高级的主题,例如预处理器、宏定义、位运算、链表、动态内存分配、文件I/O的深入应用等。这些章节的设计,旨在帮助读者从“入门”迈向“精通”,为未来学习更复杂的算法、数据结构以及操作系统等内容奠定坚实的基础。 8. 附录实用工具,助力学习: 本书的附录部分提供了C语言常用库函数速查表、ASCII码表等实用工具,方便读者在学习和编程过程中随时查阅,提高效率。 三、 目标读者群体: 零基础学习者: 对编程完全没有概念,希望系统学习一门强大的编程语言,为未来的技术发展打下基础。 计算机专业学生: 作为学校课程的补充教材,帮助理解C语言的核心概念,提升编程实践能力。 其他专业对编程感兴趣的读者: 希望通过C语言了解计算机工作原理,或将编程作为一种解决问题的工具。 希望巩固C语言知识的开发者: 学习过C语言但基础不牢固,希望通过系统性的学习来提升自己的编程水平。 准备参加IT技术面试的考生: C语言是许多IT岗位的必备技能,本书能帮助您系统复习和准备面试。 四、 内容概要: 本书共分为 XX 章(此处可以根据实际章节数进行填充,例如:二十余章),主要内容涵盖: 第一部分:C语言基础入门 计算机与程序设计简介: 介绍计算机的基本组成、程序设计的基本概念,以及C语言的地位和发展。 第一个C语言程序: 搭建开发环境,编写并运行经典的“Hello, World!”程序,理解程序的编译和执行过程。 变量、数据类型与运算符: 学习C语言的基本数据类型(整型、浮点型、字符型等),变量的声明和使用,以及各种算术、关系、逻辑、赋值等运算符。 基本输入输出: 掌握`printf()`和`scanf()`函数的使用,实现程序与用户的交互。 第二部分:程序控制结构 顺序结构: 理解程序的顺序执行特性。 选择结构: 学习`if`、`else`、`switch`语句,实现程序的条件分支。 循环结构: 掌握`while`、`do-while`、`for`循环,实现程序的重复执行,以及`break`和`continue`语句的应用。 第三部分:函数与模块化编程 函数的定义与调用: 理解函数的概念,学习如何定义和调用函数,实现代码的复用。 函数参数与返回值: 学习函数参数的传递方式(传值、传址),以及函数的返回值。 作用域与生命周期: 理解变量的作用域和生命周期,以及全局变量和局部变量的区别。 递归函数: 深入理解递归的原理与应用。 第四部分:数组与字符串 一维数组: 学习数组的定义、初始化和访问,以及数组的应用。 多维数组: 掌握二维及更高维数组的使用。 字符串: 学习C语言中字符串的表示方式(字符数组),以及常用的字符串处理函数(如`strcpy`、`strlen`、`strcmp`等)。 第五部分:指针与内存管理 指针的概念与声明: 深入理解指针的本质,以及指针变量的声明和使用。 指针与数组: 学习指针与数组之间的紧密联系,通过指针访问数组元素。 指针与函数: 掌握指针作为函数参数的应用,实现数据的传递和修改。 指向指针的指针: 理解多级指针的概念。 动态内存分配: 学习`malloc`、`calloc`、`realloc`、`free`等函数,实现程序运行时动态地分配和释放内存。 第六部分:结构体、共用体与枚举 结构体: 学习自定义数据类型,组织复杂数据结构。 共用体: 理解共用体内存共享的特性。 枚举: 学习使用枚举类型定义一组有命名的常量。 第七部分:文件输入输出 文件操作基础: 学习文件指针,掌握文件的打开、关闭、读写等基本操作。 文本文件与二进制文件: 理解不同类型文件的区别与处理。 格式化输入输出: 学习`fprintf`、`fscanf`等函数。 第八部分:预处理器与宏定义 预处理指令: 学习 `include`、`define`、`ifdef`等预处理指令。 宏定义: 理解宏定义的作用,以及函数式宏的使用。 第九部分:位运算与高级话题 位运算符: 掌握按位与、按位或、按位异或、按位取反、左移、右移等位运算符。 链表初步: (可选,视章节安排)介绍链表的概念和基本操作。 错误处理与调试技巧: (可选,视章节安排)讲解常见的编程错误以及调试方法。 五、 结语:开启你的编程之旅 掌握C语言,就如同拥有了一把开启程序世界大门的钥匙。本书《C语言从入门到精通(第2版)》致力于为您提供最全面、最实用、最易于理解的学习体验。我们相信,通过您的勤奋努力和本书的引导,您一定能够在这门强大的编程语言上取得显著的进步,为您的技术生涯打下坚实的基础,开启一段精彩的编程之旅。 立即翻开本书,开始您的C语言学习之路吧!