C语言从入门到精通

当前位置:首页 > 网络编程 > 编程语言与程序设计 > C语言从入门到精通

出版社:清华大学出版社
出版日期:2012-9
ISBN:9787302287520
作者:明日科技
页数:402页

章节摘录

版权页:   插图:   1.1 C语言的发展史 1.1.1 程序语言简述 在介绍C语言的发展历程之前,先对程序语言进行大概的了解。 1.机器语言 机器语言是低级语言,也称为二进制代码语言。计算机使用的是由0和1组成的二进制数组成的一串指令来表达计算机操作的语言。机器语言的特点是,计算机可以直接识别,不需要进行任何的翻译。 2.汇编语言 汇编语言是面向机器的程序设计语言。为了减轻使用机器语言编程的痛苦,用英文字母或符号串来替代机器语言的二进制码,这样就把不易理解和使用的机器语言变成了汇编语言。这样一来,使用汇编语言就比机器语言便于阅读和理解程序。 3.高级语言 由于汇编语言依赖于硬件体系,并且该语言中的助记符号数量比较多,所以其运用起来仍然不够方便。为了使程序语言能更贴近人类的自然语言,同时又不依赖于计算机硬件,于是产生了高级语言。这种语言,其语法形式类似于英文,并且因为远离对硬件的直接操作,而易于被普通人所理解与使用。 其中影响较大、使用普遍的高级语言有Fortran、ALGOL、Basic、COBOL、LISP、Pascal、PROLOG、C、C++、VC、VB、Delphi、Java等。 1.1.2 C语言的历史 从程序语言的发展过程可以看到,以前的操作系统等系统软件主要是用汇编语言编写的。但由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都不是很好,为了提高可读性和可移植性,人们开始寻找一种语言,这种语言应该既具有高级语言的特性,又不失低级语言的优点。于是,C语言产生了。 C语言是在由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)于1970年研制出的BCPL语言(简称B语言)的基础上发展和完善起来的。19世纪70年代初期,AT&TBell实验室的程序员丹尼斯·里奇第一次把B语言改为C语言。 最初,C语言运行于AT&T的多用户、多任务的UNIX操作系统上。后来,丹尼斯·里奇用C语言改写了UNIXC的编译程序,UNIX操作系统的开发者肯·汤普逊又用C语言成功地改写了UNIX,从此开创了编程史上的新篇章。UNIX成为第一个不是用汇编语言编写的主流操作系统。

前言

丛书说明:“软件开发视频大讲堂”(第1版)于2008年8月出版以来,因其编写细腻,易学实用,配备全程视频等,在软件开发类图书市场上产生了很大反响,绝大部分品种在全国软件开发零售图书排行榜中名列前茅,2009年多个品种被评为“全国优秀畅销书”。     “软件开发视频大讲堂”丛书(第2版)于2010年8月出版,自出版至今,绝大部分品种在全国软件开发类零售图书排行榜中,依然持续名列前茅。丛书迄今累计已销售近40万册,被百余所高校计算机相关专业、软件学院选为教学参考书,在众多的软件开发类图书中成为一支最耀眼的品牌。  “软件开发视频大讲堂”丛书(第3版)在前两版的基础上,增删了品种,修正了疏漏,重新录制了视频,提供了从入门学习,到实例应用,模块开发,项目开发,能力测试,面试等各个阶段的海量开发资源库。为了方便教学,还提供了教学课件PPT,读者可登录清华大学出版社网站直接下载。  C语言是Combined Language(组合语言)的简称,它作为一种计算机设计语言,具有高级语言和汇编语言的特点,受到广大编程人员的喜爱。C语言的应用非常广泛,既可以用于编写系统应用程序,也可以作为编写应用程序的设计语言,还可以具体应用到有关单片机以及嵌入式系统的开发。这就是为什么大多数学习者学习编写程序都选择C语言的原因。本书内容  本书提供了从入门到编程高手所必备的各类知识,共分4篇。  第1篇:基础知识。本篇讲解了C语言基础知识,只有具备扎实的基础知识才能更快地掌握更高级的技术内容。通过对C语言的历史和特性、选择C语言的开发环境、算法的内容、C语言的数据类型、运算符与表达式、常用的数据输入/输出函数、选择结构程序设计和循环控制等内容的介绍,结合流程图和实例,并通过视频的指导讲解,可帮助读者为以后编程奠定坚实的基础。  第2篇:核心技术。本篇介绍了C语言的数组、函数和指针这三大部分内容,并将前面所学的基础内容融入其中,是更高级的程序设计内容。读者学习完这一部分,应能够编写一些简单的C语言应用程序。  第3篇:高级应用。本篇介绍了结构体和共用体、位运算、预处理、文件、存储管理和网络套接字编程的内容。读者学习完这一部分,就能够设计较大的程序,并且涉及的范围更广。  第4篇:项目实战。本篇通过一个大型的学生成绩管理系统,运用软件工程的设计思想,介绍如何进行软件项目的开发。书中按照“编写需求分析→系统设计→功能设计→创建项目→实现项目模块功能→运行项目”的步骤,带领读者一步一步地亲身体验开发项目的全过程。本书特点◆ 由浅入深,循序渐进。本书以初中级程序员为对象,先从C语言基础学起,再学习C语言的程序结构,然后学习C语言的高级应用,最后学习开发一个完整的项目。讲解步骤详尽,版式新颖,并且在程序中会给出相应的实例以便于读者理解所讲解的知识。在讲解实例时分步骤分析,使读者在阅读时一目了然,从而快速把握书中内容。◆ 语音视频,讲解详尽。书中每一章节均提供声图并茂的视频教学录像,读者可以根据书中提供的录像位置在光盘中找到相应的文件。这些录像能够引导初学者快速入门,感受编程的快乐和成就感,增强进一步学习的信心,从而快速成为编程高手。◆ 实例典型,轻松易学。通过实例学习是最好的学习方式,本书通过“一个知识点、一个例子、一个结果、一段评析、一个综合应用”的模式,透彻详尽地讲述了实际开发中所需的各类知识。另外,为了便于读者阅读程序代码,快速学习编程技能,书中几乎为每行代码都提供了注释。◆ 精彩栏目,贴心提醒。本书根据需要在各章使用了很多“注意”、“说明”、“技巧”等小栏目,让读者可以在学习过程中更轻松地理解相关知识点及概念,更快地掌握个别技术的应用技巧。◆应用实践,随时练习。书中几乎每章都提供了“实践与练习”,让读者能够通过对问题的解答重新回顾、熟悉所学的知识,举一反三,为进一步学习做好充分的准备。读者对象◆初学编程的自学者             ◆编程爱好者◆大中专院校的老师和学生       ◆相关培训机构的老师和学员◆毕业设计的学生               ◆初中级程序开发人员◆程序测试及维护人员           ◆参加实习的“菜鸟”级程序员读者服务  为了方便解决本书疑难问题,读者朋友可加我们的QQ(可容纳10万人),也可以留言,我们将竭诚为您服务。致读者  本书由C程序开发团队组织编写,主要编写人员有赵永发、高文财、高春艳、王小科、寇长梅、赵会东、王国辉、陈丹丹、李伟、刘欣、李慧、潘凯华、李继业、刘淇、王双、赵旭阳、陈媛、顾彦玲、陈英、刘莉莉、房大伟、刘云峰、吕双、顾丽丽、孟范胜、董大永、李继业、尹强、张磊、王军、刘彬彬、卢瀚、安剑、巩建华、刘锐宁、李伟明、梁水、李鑫、孙秀梅、李钟尉等。在编写本书的过程中,我们始终本着科学、严谨的态度,力求精益求精,但错误、疏漏之处在所难免,敬请广大读者批评指正。  感谢您购买本书,希望本书能成为您编程路上的领航者。  “零门槛”编程,一切皆有可能。  祝读书快乐!                                                                    编  者

书籍目录

第1篇  基 础 知 识
第1章 C语言概述
3
视频讲解:29分钟
1.1 C语言的发展史
4
1.1.1 程序语言简述
4
1.1.2 C语言的历史
4
1.2 C语言的特点
5
1.3 一个简单的C程序
6
1.4 一个完整的C程序
8
1.5 C语言程序的格式
12
1.6 开发环境
13
1.6.1 Turbo C 2.0
13
1.6.2 Visual C++ 6.0
17
1.7 小结
22
第2章 算法
23
视频讲解:22分钟
2.1 算法的基本概念
24
2.1.1 算法的特性
24
2.1.2 算法的优劣
25
2.2 算法的描述
25
2.2.1 自然语言
25
2.2.2 流程图
26
2.2.3 N-S流程图
29
2.3 小结
32
第3章 数据类型
33
视频讲解:39分钟
3.1 编程规范
34
3.2 关键字
35
3.3 标识符
35
3.4 数据类型
36
3.5 常量
37
3.5.1 整型常量
38
3.5.2 实型常量
40
3.5.3 字符型常量
41
3.5.4 转义字符
43
3.5.5 符号常量
44
3.6 变量
45
3.6.1 整型变量
45
3.6.2 实型变量
47
3.6.3 字符型变量
50
3.7 变量的存储类别
51
3.7.1 动态存储与静态存储
51
3.7.2 auto变量
52
3.7.3 static变量
52
3.7.4 register变量
53
3.7.5 extern变量
54
3.8 混合运算
55
3.9 小结
56
3.10 实践与练习
56
第4章 运算符与表达式
57
视频讲解:29分钟
4.1 表达式
58
4.2 赋值运算符与赋值表达式
60
4.2.1 变量赋初值
60
4.2.2 自动类型转换
62
4.2.3 强制类型转换
62
4.3 算术运算符与算术表达式
63
4.3.1 算术运算符
63
4.3.2 算术表达式
64
4.3.3 优先级与结合性
65
4.3.4 自增/自减运算符
67
4.4 关系运算符与关系表达式
69
4.4.1 关系运算符
69
4.4.2 关系表达式
69
4.4.3 优先级与结合性
70
4.5 逻辑运算符与逻辑表达式
71
4.5.1 逻辑运算符
72
4.5.2 逻辑表达式
72
4.5.3 优先级与结合性
72
4.6 位逻辑运算符与位逻辑表达式
73
4.6.1 位逻辑运算符
74
4.6.2 位逻辑表达式
74
4.7 逗号运算符与逗号表达式
74
4.8 复合赋值运算符
76
4.9 小结
77
4.10 实践与练习
77
第5章 常用的数据输入/输出函数
79
视频讲解:40分钟
5.1 语句
80
5.2 字符数据输入/输出
80
5.2.1 字符数据输出
80
5.2.2 字符数据输入
81
5.3 字符串输入/输出
83
5.3.1 字符串输出函数
83
5.3.2 字符串输入函数
85
5.4 格式输出函数
85
5.5 格式输入函数
88
5.6 顺序程序设计应用
92
5.7 小结
93
5.8 实践与练习
94
第6章 选择结构程序设计
95
视频讲解:44分钟
6.1 if语句
96
6.2 if语句的基本形式
96
6.2.1 if语句形式
96
6.2.2 if…else语句形式
99
6.2.3 else if语句形式
103
6.3 if的嵌套形式
106
6.4 条件运算符
109
6.5 switch语句
110
6.5.1 switch语句的基本形式
111
6.5.2 多路开关模式的switch语句
114
6.6 if…else语句和switch语句的区别
116
6.7 选择结构程序应用
118
6.8 小结
120
6.9 实践与练习
120
第7章 循环控制
121
视频讲解:41分钟
7.1 循环语句
122
7.2 while语句
122
7.3 do-while语句
125
7.4 for语句
127
7.4.1 for语句使用
127
7.4.2 for循环的变体
130
7.4.3 for语句中的逗号应用
132
7.5 3种循环语句的比较
133
7.6 循环嵌套
134
7.6.1 循环嵌套的结构
134
7.6.2 循环嵌套实例
135
7.7 转移语句
137
7.7.1 goto语句
137
7.7.2 break语句
139
7.7.3 continue语句
140
7.8 小结
141
7.9 实践与练习
141

第2篇 核 心 技 术
第8章 数组
145
视频讲解:1小时7分钟
8.1 一维数组
146
8.1.1 一维数组的定义和引用
146
8.1.2 一维数组初始化
148
8.1.3 一维数组应用
150
8.2 二维数组
151
8.2.1 二维数组的定义和引用
151
8.2.2 二维数组初始化
152
8.2.3 二维数组应用
155
8.3 字符数组
156
8.3.1 字符数组的定义和引用
157
8.3.2 字符数组初始化
157
8.3.3 字符数组的结束标志
159
8.3.4 字符数组的输入和输出
160
8.3.5 字符数组应用
161
8.4 多维数组
162
8.5 数组的排序算法
163
8.5.1 选择法排序
163
8.5.2 冒泡法排序
165
8.5.3 交换法排序
167
8.5.4 插入法排序
169
8.5.5 折半法排序
171
8.5.6 排序算法的比较
174
8.6 字符串处理函数
174
8.6.1 字符串复制
174
8.6.2 字符串连接
176
8.6.3 字符串比较
177
8.6.4 字符串大小写转换
179
8.6.5 获得字符串长度
180
8.7 数组应用
181
8.7.1 反转输出字符串
181
8.7.2 输出系统日期和时间
183
8.7.3 字符串的加密和解密
184
8.8 小结
186
8.9 实践与练习
186
第9章 函数
187
视频讲解:55分钟
9.1 函数概述
188
9.2 函数的定义
190
9.2.1 函数定义的形式
191
9.2.2 定义与声明
192
9.3 返回语句
194
9.3.1 从函数返回
194
9.3.2 返回值
195
9.4 函数参数
197
9.4.1 形式参数与实际参数
197
9.4.2 数组作函数参数
199
9.4.3 main函数的参数
205
9.5 函数的调用
206
9.5.1 函数的调用方式
206
9.5.2 嵌套调用
209
9.5.3 递归调用
211
9.6 内部函数和外部函数
214
9.6.1 内部函数
214
9.6.2 外部函数
215
9.7 局部变量和全局变量
216
9.7.1 局部变量
217
9.7.2 全局变量
220
9.8 函数应用
221
9.9 小结
227
9.10 实践与练习
228
第10章 指针
229
视频讲解:1小时2分钟
10.1 指针相关概念
230
10.1.1 地址与指针
230
10.1.2 变量与指针
231
10.1.3 指针变量
231
10.1.4 指针自加自减运算
235
10.2 数组与指针
237
10.2.1 一维数组与指针
237
10.2.2 二维数组与指针
241
10.2.3 字符串与指针
244
10.2.4 字符串数组
246
10.3 指向指针的指针
247
10.4 指针变量作函数参数
250
10.5 返回指针值的函数
258
10.6 指针数组作main函数的参数
260
10.7 小结
262
10.8 实践与练习
262

第3篇 高 级 应 用
第11章 结构体和共用体
265
视频讲解:40分钟
11.1 结构体
266
11.1.1 结构体类型的概念
266
11.1.2 结构体变量的定义
267
11.1.3 结构体变量的引用
269
11.1.4 结构体类型的初始化
271
11.2 结构体数组
273
11.2.1 定义结构体数组
273
11.2.2 初始化结构体数组
275
11.3 结构体指针
277
11.3.1 指向结构体变量的指针
277
11.3.2 指向结构体数组的指针
280
11.3.3 结构体作为函数参数
282
11.4 包含结构的结构
284
11.5 链表
286
11.5.1 链表概述
286
11.5.2 创建动态链表
287
11.5.3 输出链表
290
11.6 链表相关操作
292
11.6.1 链表的插入操作
292
11.6.2 链表的删除操作
294
11.7 共用体
298
11.7.1 共用体的概念
298
11.7.2 共用体变量的引用
299
11.7.3 共用体变量的初始化
300
11.7.4 共用体类型的数据特点
301
11.8 枚举类型
301
11.9 小结
302
11.10 实践与练习
303
第12章 位运算
305
视频讲解:35分钟
12.1 位与字节
306
12.2 位运算操作符
306
12.2.1 “与”运算符
306
12.2.2 “或”运算符
308
12.2.3 “取反”运算符
309
12.2.4 “异或”运算符
310
12.2.5 “左移”运算符
312
12.2.6 “右移”运算符
313
12.3 循环移位
315
12.4 位段
317
12.4.1 位段的概念与定义
317
12.4.2 位段相关说明
319
12.5 小结
320
12.6 实践与练习
320
第13章 预处理
321
视频讲解:39分钟
13.1 宏定义
322
13.1.1 不带参数的宏定义
322
13.1.2 带参数的宏定义
323
13.2 #include指令
325
13.3 条件编译
327
13.3.1 #if命令
327
13.3.2 #ifdef及#ifndef命令
329
13.3.3 #undef命令
331
13.3.4 #line命令
331
13.3.5 #pragma命令
332
13.4 小结
333
13.5 实践与练习
333
第14章 文件
335
视频讲解:55分钟
14.1 文件概述
336
14.2 文件基本操作
336
14.2.1 文件指针
336
14.2.2 文件的打开
337
14.2.3 文件的关闭
338
14.3 文件的读写
338
14.3.1 fputc函数
338
14.3.2 fgetc函数
339
14.3.3 fputs函数
340
14.3.4 fgets函数
341
14.3.5 fprintf函数
342
14.3.6 fscanf函数
343
14.3.7 fread和fwrite函数
344
14.4 文件的定位
346
14.4.1 fseek函数
346
14.4.2 rewind函数
348
14.4.3 ftell函数
349
14.5 小结
352
14.6 实践与练习
352
第15章 存储管理
353
视频讲解:22分钟
15.1 内存组织方式
354
15.1.1 内存的组织方式
354
15.1.2 堆与栈
354

15.2 动态管理
356
15.2.1 malloc函数
356
15.2.2 calloc函数
357
15.2.3 realloc函数
358
15.2.4 free函数
359
15.3 内存丢失
360
15.4 小结
361
15.5 实践与练习
361
第16章 网络套接字编程
363
视频讲解:39分钟
16.1 计算机网络基础
364
16.1.1 IP地址
364
16.1.2 OSI七层参考模型
364
16.1.3 地址解析
365
16.1.4 域名系统
366
16.1.5 TCP/IP协议
366
16.1.6 端口
368
16.1.7 套接字的引入
368
16.1.8 网络字节顺序
369
16.2 套接字概述
369
16.2.1 套接字概述
369
16.2.2 TCP的套接字的socket编程
369
16.2.3 UDP的套接字的socket编程
370
16.3 套接字函数
371
16.3.1 套接字函数介绍
371
16.3.2 基于TCP的网络聊天程序
376
16.4 小结
382
16.5 实践与练习
382
第4篇 项 目 实 战
第17章 学生成绩管理系统
385
视频讲解:40分钟
17.1 需求分析
386
17.2 系统设计
386
17.3 功能设计
387
17.3.1 功能选择界面
387
17.3.2 录入学生成绩信息
388
17.3.3 查询学生成绩信息
391
17.3.4 删除学生成绩信息
392
17.3.5 修改学生成绩信息
393
17.3.6 插入学生成绩信息
395
17.3.7 统计学生人数
397
17.4 小结
397
附录A ASCII表
399

编辑推荐

“软件开发视频大讲堂”丛书系清华社“视频大讲堂”重点大系之一。该大系包括多个子系列,每个子系列的图书在其同品种的图书中销售名列前茅,其中:◆4个品种荣获“全行业优秀畅销品种”◆1个品种荣获2012年清华大学出版社“专业畅销书”一等奖◆绝大多数品种在“全国计算机零售图书排行榜”同品种排行中名列前茅◆截至目前该大系累计销售超过55万册◆该大系已成为近年来清华社计算机专业基础类零售图书最畅销的品牌之一“软件开发视频大讲堂”系列作为清华社“视频大讲堂”大系的子系列之一,继承和创新了清华社“视频大讲堂”大系的编写模式、写作风格和优良品质。本书突出了以下内容:◆总长总时长30小时同步视频演示讲解,可反复观摩,让学习更为快捷、高效◆  881个典型实例,通过实例学习更深入,更有趣,更有动力  ◆  371道面试真题,了解工作实例及面试问题,更好适应企业需求◆  616项能力测试题目,检测是否过关,了解学习之不足。◆  根据全国计算机零售图书排行榜,本书已经连续8月C语言类全国零售排行前2名   “软件开发视频大讲堂”系列作为清华社“视频大讲堂”大系的子系列之一,执着于专业,精细于品质:◆集基础知识、核心技能、高级应用、项目案例于一体◆好学、好用、高效

作者简介

《C语言从入门到精通(第2版)》从初学者的角度出发,以通俗易懂的语言,丰富多彩的实例,详细介绍了使用C语言进行程序开发应该掌握的各方面知识。全书共分17章,包括C语言概述、算法、数据类型、运算符与表达式、常用的数据输入/输出函数、选择结构程序设计、循环控制、数组、函数、指针、结构体和共用体、位运算、预处理、文件、存储管理、网络套接字编程和学生成绩管理系统。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会C语言程序开发的精髓,快速提高开发技能。另外,本书除了纸质内容之外,配书光盘中还给出了海量开发资源库,主要内容如下:
 语音视频讲解:总时长30小时,共123段
 实例资源库:881个实例及源码详细分析
 模块资源库:15个经典模块开发过程完整展现

 项目案例资源库:15个企业项目开发过程完整展现
 测试题库系统:616道能力测试题目
 面试资源库:371个企业面试真题
 PPT电子教案
本书适合作为软件开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,也可供开发人员查阅、参考。

图书封面


 C语言从入门到精通下载



发布书评

 
 


精彩短评 (总计19条)

  •     学习C语言必备
  •     还可以的书,理论版的,适合初学者。
  •     很适合初学者学习的一本C语言书籍,但是后期对重点的讲解不是很细致,需要结合其他书籍来学习
  •     还不错吧,看起来挺不错的!
  •     这本书很适合初学C语言的人看,看了一段时间,里面的内容也讲的很到位。很不错的一本书。送货速度也快
  •     里面的光碟讲解的不错 我喜欢
  •     很不错的,很清楚!适合我们去看!
  •     感觉还是不错的,看来几天才来评论的
  •     物美价廉 服务态度好
  •     很失望,都不检查一下,没有光盘就发货,这书本来讲的就差,再没光盘就成废物了,要不是嫌麻烦真心要退货!真想骂人了
  •     书很满意 包装仔细 发票清晰 以后还会来的 亚马逊上的书还是算比较全的
  •     回来的书有些损坏,快递只有塑料袋和一层气泡袋,拿到手时已经划破……这本书到时很新,但是就是袋子破了,书也损坏了、、
  •     看过以前的评价说纸张不是很好,犹豫过几天。后来还是觉得内容没影响就也了,到手后其实纸张和正常书店的差不多。发现个问题就是书应该是翻印的,书中灰色的颗粒感比较重,而且是黑白的内容,不知道刚出版的时候是不是也是黑白的。
  •     还不错,就是视频不大好,都是在照本宣科。
  •     烂
  •     非常喜欢的书,实例丰富
  •     C语言教科书
  •     实例是用英文的,一点也不好,光碟教学的那个女的老师说口头禅“啊”普通一点也不标准
  •     因为是同学推荐买的所以觉得还不错。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024