书中赠送的51CTO学习卡如已过期,可凭卡号致电400-851-9651置换为51CTO月度会员,享受和学习卡一样的服务
在手机和电脑两种平台上学C语言编程,并提供了扫描二维码辅助学习的方式
基于全新的C11标准讲解,采用当前流行的Visual Studio 2010编程环境
293个示例、141个习题、160余幅流程图、450余幅截屏插图
即便不在电脑边,也可随时随地用智能手机练习C语言编程,非常惬意
即便不在电脑边,也可随时随地用智能手机扫描二维码,查看习题答案,下载实例代码
按“知识点为何出现à解决什么问题à如何解决à巩固练习”的模式编写
活泼的讲解风格,大量的图文对照讲解,生动有趣的示例,让学习轻松而有趣
每节都安排了练习题,便于随学随练,每章后还安排了综合习题,便于巩固提高
提供QQ群、技术论坛和E-mail等完善的学习交流和沟通方式
完全站在没有编程经验的读者角度,手把手教会读者高效率学习C语言编程
讲解极其细致,一一击破C语言学习中可能会遇到的各种问题和难点
追根溯源,讲解每个知识点之间的因果关系,而不用去死记硬背C语言的语法规范
颠覆传统的C语言学习模式,采用全新的编排模式,带给读者超爽的编程学习体验
认真阅读本书即可顺利跨入C语言编程的大门,而无须再去上培训班
讲解时采用了大量的比喻、类比、对比和图示等多种方式,便于读者理解
《明明白白学通C语言(二维码版)》是一本与众不同的C语言图书,全书以全新的模式来分析和讲解C语言,以期带给读者不同的编程学习体验。本书基于全新的C11标准讲解,采用当前流行的Visual Studio 2010编程环境。本书创造性地将智能手机巧妙地应用到了C语言的学习中,而且还以二维码的方式提供了书中的示例代码和习题答案,便于读者可以随时随地拿出手机进行C语言的学习和编程训练。另外,本书遵循记忆曲线,每节都安排了练习题,读者可以随学随练,从而以较少的时间快速掌握所学的内容。
《明明白白学通C语言(二维码版)》共15章,分为3篇。第1篇为程序的基石——数据,介绍了C语言的概况及其处理的数据的种类,包括整型、实型和字符型等;第2篇为程序的本质——处理数据,介绍了C语言提供的处理数据的各种方法,包括运算符、表达式、语句及其结构等;第3篇为处理大量数据,介绍了C语言提供的对于大量数据的高级处理方法,包括数组、指针、结构和文件操作等。
本书非常适合年轻的群体阅读,书中每个知识点的讲解都是非常简单明了,读者只要认真阅读,定能明白编程的种种奥秘。本书也适合忘性大的读者阅读,因为每节都安排了练习题,当读者动手操作完这些练习题后,也肯定就记住了该节的知识点。另外,本书也是一本不需要死记硬背的C语言图书,书中将每个知识点为什么出现,解决什么问题,如何解决,都清晰地展现了出来。综上所述,本书的确可以让读者明明白白学通C语言。
本书精华内容
C语言概述
数据的表示
指代数据
运算符和表达式
语句
选择结构
循环结构
函数
同类型数据的集合——数组
指针
结构
联合与枚举
字符串
文件
预编译
唐峻,高级工程师、软件工程专业工程硕士。现为企业内部顾问和培训师,从事系统架构与集成、算法研究、ERP项目实施和DB2数据库分析等相关工作。多年来一直从事烟草行业信息化建设工作,参与过MIS系统、电子商务平台、行业标准化和ERP等项目的建设。对C语言有深入研究,具备扎实的理论知识和丰富的实践经验。
高旭光,工程师、企业内部顾问。大学期间主修计算机科学专业。擅长C语言程序设计。毕业后长期从事计算机应用与分析、网络应用、ERP项目实施和数据库分析等相关工作。
李淳,工程师、计算机科学技术专业工程硕士、软件设计师。现为企业内部顾问和培训师、高级信息系统项目管理师,从事ERP项目、数据库设计、大型项目管理和系统集成等相关领域的工作。对C语言有深入研究,精通Oracle数据库技术,有丰富的数据库配置、优化和故障分析经验。
唐小莉,项目管理师、企业内部顾问。长期从事计算机应用、ERP项目实施、项目管理和系统集成等工作。擅长C语言编程和数据库技术,有丰富的实战经验。
第1篇 程序的基石——数据
第1章 C语言概述
1.0 写在最前面的——如何使用本书
1.1 语言
1.1.1 “语言”的定义
1.1.2 计算机语言发展历程
1.1.3 C语言
1.2 编程方法
1.2.1 数据处理示例
1.2.2 第一步:分析问题
1.2.3 第二步:设想实现方法
1.2.4 第三步:编写程序代码
1.3 开发环境
1.3.1 电脑上的开发环境
1.3.2 手机上的开发环境
1.4 编写第一个C语言的程序
1.4.1 在电脑上编写第一个程序
1.4.2 在手机上编写第一个程序
1.5 EGE——简易图形库
1.6 如何学习C语言
1.6.1 技巧一:多看、多想、多练习7
1.6.2 技巧二:多沟通、多扩展视野
1.7 小结
第2章 数据的表示
2.1 计算机中的数据表示
2.1.1 二进制
2.1.2 整数
2.1.3 小数
2.1.4 文本
2.1.5 练习
2.2 程序中的数据表示
2.2.1 整数
2.2.2 小数
2.2.3 文本
2.2.4 练习
2.3 数据的分类——数据类型
2.3.1 整数类型
2.3.2 浮点类型
2.3.3 字符类型
2.4 小结
2.5 习题
第3章 指代数据
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.4 指代数据需要考虑的问题
3.4.1 范围
3.4.2 精度
3.5 程序中的指代
3.5.1 从问题中找到需要指代的数据
3.5.2 如何在程序中指代
3.6 特殊的指代——不变的量
3.6.1 为什么要指代不变的量
3.6.2 常数
3.6.3 常量
3.7 小结
3.8 习题
第2篇 程序的本质——处理数据
第4章 运算符和表达式
4.1 关联变量和数据
4.1.1 引入“=”
4.1.2 变量的初始化
4.1.3 表达式
4.1.4 类型匹配
4.1.5 练习
4.2 运算符一览
4.3 算术运算符
4.3.1 概述
4.3.2 除法“/”
4.3.3 取余“%”
4.3.4 练习
4.4 复合运算符
4.4.1 概述
4.4.2 复合运算符出现的意义
4.4.3 优先级
4.4.4 练习
4.5 自增自减运算符
4.5.1 概述
4.5.2 自增自减运算符出现的意义
4.5.3 优先级
4.5.4 练习
4.6 小结
4.7 习题
第5章 语句
5.1 输入输出I/O
5.1.1 格式化输入scanf()
5.1.2 scanf()的使用说明
5.1.3 其他输入方式
5.1.4 格式化输出printf()
5.1.5 printf()的使用说明
5.1.6 其他输出方式
5.1.7 练习
5.2 常见语句
5.2.1 赋值语句
5.2.2 空语句
5.2.3 复合语句
5.3 变量的作用域
5.3.1 局部变量
5.3.2 全局变量
5.3.3 练习
5.4 语句执行顺序
5.4.1 代码手段
5.4.2 工具手段
5.4.3 流程图
5.5 小结
5.6 习题
第6章 选择结构
6.1 顺序执行遇到的麻烦
6.1.1 顺序执行的程序
6.1.2 无法顺序执行
6.1.3 设想解决方案
6.2 条件判断依据
6.3 构建单一条件
6.3.1 关系运算 98
6.3.2 左右操作数类型不一致
6.3.3 关系运算符优先级
6.3.4 练习
6.4 构建多个条件
6.4.1 逻辑运算
6.4.2 逻辑运算符优先级
6.4.3 短路的逻辑运算符
6.4.4 练习
6.5 构建选择路径之if
6.5.1 流程图
6.5.2 if结构
6.5.3 if-else结构
6.5.4 if嵌套结构
6.5.5 练习
6.6 构建选择路径之switch
6.6.1 switch结构
6.6.2 比较if结构和switch结构
6.6.3 练习
6.7 小结
6.8 习题
第7章 循环结构
7.1 重复执行的语句
7.1.1 什么是重复执行
7.1.2 执行2~3次
7.1.3 执行有限次
7.1.4 执行不确定次
7.2 for循环
7.2.1 概述
7.2.2 逗号表达式
7.2.3 循环执行相同的语句
7.2.4 循环执行类似的语句
7.2.5 练习
7.3 其他循环
7.3.1 while循环
7.3.2 do-while循环
7.3.3 不同循环机制间的比较
7.3.4 练习
7.4 跳出循环
7.4.1 continue语句
7.4.2 break语句
7.4.3 goto语句
7.4.4 练习
7.5 循环中的循环——嵌套
7.5.1 嵌套实例一
7.5.2 嵌套实例二
7.5.3 嵌套实例三
7.5.4 练习
7.6 小结
7.7 习题
第8章 函数
8.1 循环无法解决的重复
8.1.1 循环的经典应用和局限
8.1.2 循环结构无法解决的重复问题
8.1.3 练习
8.2 完全重复——无参函数
8.2.1 定义无参函数
8.2.2 函数的返回值
8.2.3 使用无参函数
8.2.4 返回值的类型转换
8.2.5 函数多return语句处理
8.2.6 声明无参函数
8.2.7 函数体中的变量
8.2.8 练习
8.3 不完全重复——有参函数
8.3.1 定义有参函数
8.3.2 声明有参函数
8.3.3 练习
8.4 函数体中有函数
8.4.1 调用其他函数——嵌套函数
8.4.2 调用函数本身——递归函数
8.4.3 练习
8.5 库函数
8.5.1 如何使用库函数
8.5.2 文件包含的扩展应用
8.5.3 两种包含方式的不同
8.5.4 分类
8.5.5 库函数应用示例——猜大小
8.5.6 练习
8.6 小结
8.7 习题
第3篇 处理大量数据
第9章 同类型数据的集合——数组
9.1 大量数据的处理
9.2 基本数组
9.2.1 定义数组
9.2.2 使用数组
9.2.3 初始化数组
9.2.4 为数组赋值
9.2.5 数组的简单应用
9.3 数组排序
9.3.1 冒泡排序
9.3.2 选择排序
9.3.3 练习
9.4 二维数组
9.4.1 二维数组的本质——嵌套的数组
9.4.2 定义二维数组
9.4.3 使用二维数组
9.4.4 初始化二维数组
9.4.5 特殊的初始化方式
9.4.6 为二维数组赋值
9.4.7 二维数组的应用
9.4.8 练习
9.5 多维数组
9.6 小结
9.7 习题
第10章 指针
10.1 指针及其使用
10.1.1 指针是什么
10.1.2 定义指针变量
10.1.3 为指针变量赋值
10.1.4 通过指针访问数据
10.1.5 使用scanf()给指针赋值
10.1.6 练习
10.2 处理所指向的数据
10.2.1 四则运算
10.2.2 自增自减运算
10.2.3 指向常量的指针
10.2.4 定义指针为常量
10.3 指向一维数组的指针
10.3.1 为指针赋数组数据的地址
10.3.2 使用数组名为指针赋值
10.3.3 指向数组的指针的加减运算
10.3.4 指向同一数组的指针
10.3.5 指向二维数组的指针
10.4 保存指针的数组
10.4.1 定义指针数组
10.4.2 二维数组的特性
10.4.3 练习
10.5 指针在函数中的应用
10.5.1 指针作为函数参数
10.5.2 指针作为函数返回值
10.5.3 指向函数的指针
10.5.4 练习
10.6 二级指针
10.6.1 概述
10.6.2 在二维数组中的应用
10.6.3 练习
10.7 小结
10.8 习题
第11章 结构
11.1 结构概述
11.1.1 为什么要有结构
11.1.2 结构的构造及其变量的赋值
11.1.3 使用typedef简化结构类型名
11.1.4 练习
11.2 结构的使用
11.2.1 结构与指针
11.2.2 结构与数组
11.2.3 结构与函数
11.2.4 练习
11.3 结构的应用——链表
11.3.1 结构的成员是指向本结构的指针
11.3.2 数组与链表
11.3.3 链表概述
11.3.4 创建动态链表
11.3.5 练习
11.4 链表操作
11.4.1 插入结点到链表
11.4.2 删除链表中的结点
11.4.3 链表操作综合应用
11.4.4 练习
11.5 小结
11.6 习题
第12章 联合与枚举
12.1 结构遇到的困扰
12.1.1 引起困惑的小示例
12.1.2 困惑什么
12.1.3 设想的解决方案
12.2 联合概述
12.2.1 构造联合类型
12.2.2 定义联合类型的变量
12.2.3 引用联合类型变量成员
12.2.4 联合类型变量的赋值
12.2.5 练习
12.3 联合类型变量的特殊性
12.3.1 通过示例来发现
12.3.2 数据去哪儿了
12.3.3 看似不相干的成员变量
12.3.4 总结:联合类型变量的特殊性
12.3.5 解决结构遇到的困惑
12.3.6 练习
12.4 联合类型变量的简单使用
12.4.1 使用于函数的联合类型变量
12.4.2 指向联合类型变量的指针
12.5 枚举
12.5.1 枚举概述
12.5.2 枚举类型的使用
12.5.3 枚举类型应用
12.5.4 练习
12.6 小结
12.7 习题
第13章 字符串
13.1 概述
13.1.1 了解字符串
13.1.2 字符串数据的存储
13.1.3 字符串的赋值
13.1.4 练习
13.2 字符串的输出和输入
13.2.1 字符串的输出
13.2.2 字符串的输入
13.2.3 练习
13.3 指向字符串的指针
13.3.1 指针操作
13.3.2 二维字符数组与字符指针数组
13.3.3 main()的参数
13.3.4 练习
13.4 常见的字符串操作
13.4.1 “赋值”
13.4.2 “加法”
13.4.3 修改
13.4.4 “比较”
13.4.5 其他操作
13.4.6 练习
13.5 小结
13.6 习题
第14章 文件
14.1 两个亟待解决的问题
14.1.1 不得不再次运行程序
14.1.2 不得不重新输入数据
14.2 文件概述
14.2.1 文件
14.2.2 存储为文件的数据形式
14.2.3 程序读写文件数据的过程
14.3 文件的打开和关闭
14.3.1 操作文件前的准备
14.3.2 打开文件
14.3.3 关闭文件
14.3.4 练习
14.4 文件读写操作
14.4.1 必备基础知识
14.4.2 写入数据
14.4.3 读取数据
14.4.4 解决问题一:避免再次运行程序
14.4.5 练习
14.5 辅助功能
14.5.1 位置指针重定位
14.5.2 检测文件操作状态
14.5.3 解决问题二:避免重新输入数据
14.5.4 练习
14.6 二进制文件的位操作
14.6.1 位操作需求
14.6.2 实现位操作的方法——位运算
14.6.3 位运算符的使用方法
14.6.4 位操作实现
14.6.5 练习
14.7 小结
14.8 习题
第15章 预编译
15.1 概述
15.1.1 预编译指令
15.1.2 练习
15.2 宏
15.2.1 为什么需要宏
15.2.2 不带参数的宏
15.2.3 带参数的宏
15.2.4 取消宏
15.2.5 标准宏对象
15.2.6 练习
15.3 条件编译
15.3.1 为什么需要条件编译
15.3.2 #if指令
15.3.3 #ifdef指令
15.3.4 #ifndef指令
15.3.5 练习
15.4 文件包含
15.4.1 概述
15.4.2 定义自己的库函数
15.4.3 总结
15.5 小结
15.6 习题
互联网的普及和深入应用,使得所有人都认识到了IT技术的实用性和重要性。越来越多的人开始学习IT技术。编程技术由于其独特的创造性,至今仍然保持着很大的吸引力。其中,C语言作为编程领域的基础语言,成为了大部分人的首选入门语言。
如今,学习C语言的人不仅仅是大中专院校的学生,而且还有初中生和高中学生,甚至还有不少小学生。有很多人学习的时候不一定有电脑,但他们大多都有智能手机,这给读者的学习提供了便利,因为如今在手机上也可以学习编程了。基于这些实际情况,笔者重新研究了C语言的特点和读者的学习方式,并从中找到了两者的契合点而编写了本书。
本书不同于已经出版的C语言图书。本书在教学方式上有一个重大变化是将智能手机巧妙地应用到了C语言的学习中,而且也将书中的示例代码和习题答案以二维码的方式提供。这样读者不但可以在电脑上学习C语言编程,还可以随时随地拿出手机进行C语言的学习和编程训练。这在已经出版的C语言图书中是首创,是绝无仅有的。本书在内容编排上遵循简单明了、循序渐进的原则,而且遵循记忆曲线,每节都安排了练习题,便于读者随学随练,从而以最少的时间快速掌握所学的内容。这些特点使得本书非常适合年轻的读者群体,尤其是九零后和零零后的青少年。
通过阅读本书,读者将不再被抽象的理论和繁复的逻辑所困扰,可以愉快而轻松地掌握C语言编程。同时,读者也不用非要守在电脑跟前学习,也可以利用智能手机随时随地地学习。这无疑将大大提升读者的阅读体验。
本书特色
1.支持手机上学编程
如今,读者不一定随身携带电脑,但是绝对会带手机。本书详细地讲解了在手机上如何进行C语言编程。同时,本书采用扫二维码的模式,支持读者直接从网上下载源代码,然后在手机上调试和运行。
2.及时训练和测试
以往图书的习题和练习都集中在全书最后或者每章最后。读者阅读每章内容需要较长的时间,由于记忆曲线的问题,当读者看到习题部分,已经忘记了前面的知识部分。而本书适当地将习题穿插在每节内容的后面。因此读者可以在忘记知识之前,就动手操作和练习来巩固所学的知识。
3.知识讲解更直接
本书以因果关系的方式,对知识点进行引出,让读者能知其所以然。这样,读者避免了直接面对生硬抽象的理论知识,从而更轻松地掌握C语言。
4.纠正传统编程思维的误区
传统编程图书中,往往混淆编程逻辑、语法逻辑和程序底层逻辑,造成各种知识混杂在一起。而本书将这些知识重新划分,让读者能够清晰分辨和理解各个层面的内容,避免误入歧途。
5.采用全新的C语言标准C11
以往图书在讲解的时候往往采用C86等老的标准,造成读者在现在的编译器上产生各种错误。本书以最新的C11标准进行讲解,让读者不会为标准问题感到困惑。
6.采用Visual Studio 2010和C4droid两种开发环境
本书不但适合用计算机学习C语言编程的读者,还适合用智能手机学习C语言的读者。其中,计算机上的C语言编程环境采用当前最流行的Visual Studio 2010,智能手机上的编程环境是运行在安卓手机平台上的C4droid。
本书内容及体系结构
第1篇 程序的基石——数据(第1~3章)
本篇主要内容包括:C语言概述、数据的表示和数据的指代。通过本篇的学习,读者可以了解C语言的概括,以及C语言可以处理的数据的种类。
第2篇 程序的本质——处理数据(第4~8章)
本篇主要内容包括:运算符和表达式、语句、选择结构、循环结构和函数。通过本篇的学习,读者可以详细地了解和掌握到C语言处理数据的各种方法。
第3篇 处理大量数据(第9~15章)
本篇主要内容包括:数组、指针、结构、联合与枚举、字符串、文件和预编译。通过本篇的学习,读者可以详细地了解和掌握到C语言提供的对于大量数据的高级处理方法。
本书读者对象
* C语言编程初学者;
* 有一定编程基础而想全面理解C语言本质的读者;
* 初中、高中及大中专院校的学生;
* C语言爱好者;
* 社会培训班的学员。
学习建议
* 坚持编程。编程需要大量的练习。就像学习英语一样,只有不停地练习才能掌握英语的使用,所以只有不停地练习编写程序才能掌握好编程。
* 随时实践。学习时你可能脑子里随时会冒出很多想法,大胆使用程序去实现这些想法,从中获取成就感,这会成为你持续学习的动力。
* 相互交流和沟通。一个人学到的和想到的东西总是有限的,只有相互交流和沟通才能对一个知识点有更加全面和深入的理解。
本书约定
为了便于读者学习本书内容,尤其是方便通过手机学习C语言编程的读者,本书中的源代码、练习题和习题旁边配有对应的二维码。每个二维码都与相应示例或者习题所对应,以方便读者对应扫描,如下面两个图所示。
【示例2-8】 在程序中书写十进制的20、0、?1000,并输出。
01 #include
02
03 int main(int argc,char*argv[ ])
04 {
05 printr("%d %d %d
",20,0,1000);
06 return 0;
07 }
1.完成下列转换。
(101011100)2=( )8=( )16
(475)8=( )2=( )10
(98)10=( )8=( )16
(A12)16=( )2=( )10
在手机处于联网(WiFi/2G/3G/4G)的状态下,读者只要使用手机扫描二维码,就可以打开对应的源文件或答案。本书源文件都是UTF-8的编码模式。如果查看的时候出现乱码,请修改软件的编码模式。
本书配套资源获取方式
本书提供以下的配套资源:
* 本书开发环境;
* 本书实例源代码;
* 本书习题答案;
* 本书教学PPT。
为了节省读者的购书开支,本书放弃以配书光盘的方式提供这些资源,而是改为提供下载的方式。读者可以在本书的服务网站的相关版块上下载这些配套资源。实例源代码和习题答案也可以直接通过手机扫描二维码获取。另外,清华大学出版社的网站上也提供了本书的源程序、习题答案和教学PPT,以方便读者下载。
本书售后服务方式
编程学习的最佳方式是共同学习。但是由于环境所限,大部分读者都是独自前行。为了便于读者更好地学习C语言,我们构建了多样的学习环境,力图打造立体化的学习方式,除了对内容精雕细琢之外,还提供了完善的学习交流和沟通方式。主要有以下几种方式:
本书作者
本书主要由唐峻、高旭光、李淳和唐小莉共同编写。其他参与编写的人员有杜礼、高宏、郭立新、胡鑫鑫、黄进、黄胜忠、黄照鹤、赖俊文、李冠峰、李静、李为民、邱罡、邱伟、隋丽娜、王红艺、王健、王玉磊、魏汪洋、吴庆涛、肖俊宇。
中国思想家老子说“千里之行,始于足下”,学习C编程也如此,从一开始就要打好基础,才能在以后的编程之路上走得更远。希望在本书的带领下,能让你少走弯路,打好C语言编程的基本功,顺利跨入C语言编程殿堂的大门,笔者将欣慰之极!
本书作者
简直便宜爆炸 买东西还得上京东
评分东西还好吧,没有具体看东西
评分还没仔细研读,应该很好。
评分我喜欢的,我爱的,我就要去争取,凭什么啊,你先来就是你的啊,谁知道谁适合谁啊。
评分挺好的,很适合菜鸟学习,以后还会来的
评分我喜欢的,我爱的,我就要去争取,凭什么啊,你先来就是你的啊,谁知道谁适合谁啊。
评分质量不错,下次还会再买
评分非常有趣的c语言教学书,讲了100个不同类型的c语言趣味编程题的求解过程,可以有效的培养编程兴趣,拓宽编程思维,提高编程能力,增强读者的求职竞争力。多数实力都来自编程大赛和企业面试题具有很强的实用性。
评分这书真心不错,适合零基础的人学习。质量很好,包装也完全
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等,本站所有链接都为正版商品购买链接。
© 2025 windowsfront.com All Rights Reserved. 静流书站 版权所有