C语言开发从入门到精通(异步图书)
- 体积:5.37 MB
- 语言:中文
- 日期:2018-06-07
- 推荐:人
简介:本书循序渐进、由浅入深地详细讲解了C语言开发的技术,并通过具体实例的实现过程演练了各个知识点的具体使用流程。全书共22章,第1~4章分别讲解了C语言开发的基础知识,包括C语言简介,安装开发工具等;第5~10章分别讲解了函数、输入/输出、流程控制、数组操作等知识,这些内容都是C语言技术的核心知识;第11~20章分别讲解了指针、结构体、共用体和枚举、链表、位运算、预编译、文件操作、错误调试和高级编程技术的知识,这些内容是C语言开发技术的重点和难点;第21~22章分别通过2个综合实例的实现过程,介绍了C语言在综合项目中的开发过程。全书内容以“技术解惑”和“范例演练”贯穿全书,引领读者全面掌握C语言。
这些资源你可能感兴趣
本书循序渐进、由浅入深地详细讲解了C语言开发的技术,并通过具体实例的实现过程演练了各个知识点的具体使用流程。全书共22章,第1~4章分别讲解了C语言开发的基础知识,包括C语言简介,安装开发工具等;第5~10章分别讲解了函数、输入/输出、流程控制、数组操作等知识,这些内容都是C语言技术的核心知识;第11~20章分别讲解了指针、结构体、共用体和枚举、链表、位运算、预编译、文件操作、错误调试和高级编程技术的知识,这些内容是C语言开发技术的重点和难点;第21~22章分别通过2个综合实例的实现过程,介绍了C语言在综合项目中的开发过程。全书内容以“技术解惑”和“范例演练”贯穿全书,引领读者全面掌握C语言。
本书不但适用C语言的初学者,也适合有一定C语言基础的读者学习,还可以作为大专院校相关专业的师生用书和培训学校的教材。
编辑推荐
本书特色是实现了入门知识、实例演示、范例演练、技术解惑、综合实战5大部分内容的融合,让读者看得懂、用得上、学得会。
一本书的容量,讲解了入门类、范例类和项目实战类三类图书的内容。
丰富的配套资源 学习更高效
330个实例,更多的实践演练机会
749分钟视频讲解,降低学习难度
220个拓展实例,真正地举一反三
69个技术解惑,破解学习难点
“技术讲解”→范例演练”→“技术解惑”贯穿全书,全面掌握C语言开发
技术讲解:通过110个实例,循序渐进地讲解了C语言开发的各个知识点。
范例演练:220个拓展范例和2个综合实例,使读者真正具有项目实战能力。
技术解惑:把容易混淆的概念单独讲解和剖析,帮助读者绕过学习中的陷阱。
作者简介
上海复旦大学计算机科学技术学院硕士,通信工程博士,精通Java、C语言、C++程序开发,擅长底层技术和应用程序的结合。现在就职于可穿戴设备委员会成员单位上海微系统研究院,专门从事于可穿戴设备的研发工作。在工作过程中申请了多项国家专利,是国内可穿戴设备行业的领军人物。
目录
第1章C语言之定位1
(视频总计24分钟,实例1个,拓展实例2个,技术解惑3个)
1.1C语言的诞生2
1.2第一印象的建立2
1.3理解编译系统——学习的第一步3
1.4揭开存储器的层次5
1.5技术解惑6
1.5.1学习C语言还有用吗6
1.5.2怎样学好C语言7
1.5.3学好C语言的建议7
第2章C语言开发工具详解8
(视频总计15分钟,技术解惑3个)
2.1用DOS开发C程序9
2.1.1安装Turbo C 3.09
2.1.2认识Turbo C 3.0集成开发环境11
2.1.3Turbo C 3.0开发演习14
2.2在Windows环境下开发C程序15
2.2.1Visual Studio 2010介绍15
2.2.2安装Visual Studio 201015
2.2.3认识Visual Studio 2010开发环境17
2.3在Linux下开发C程序18
2.3.1装备GCC18
2.3.2GCC基本使用介绍20
2.4技术解惑22
2.4.1安装Visual Studio的几个常见问题22
2.4.2有没有轻量级的、可以复制和粘贴代码的工具22
2.4.3Windows7中安装Visual Studio的常见问题22
第3章算法——抓住程序的灵魂23
(视频总计25分钟,技术解惑2个)
3.1我们对算法的理解24
3.1.1为什么是程序灵魂24
3.1.2何谓算法24
3.1.3算法的特性25
3.2算法表示法——流程图26
3.3用计算机语言表示算法27
3.4技术解惑27
3.4.1初学者的一个困惑27
3.4.2另外一种表示方法——N—S流程图28
第4章程序员的基本素质培养29
(视频总计15分钟,技术解惑1个)
4.1养成好的命名习惯30
4.2C程序文件结构30
4.2.1C程序组成部分30
4.2.2C程序格式总结31
4.3养成好的C语言编程风格32
4.3.1随时使用缩进格式32
4.3.2注意大符号的位置32
4.3.3函数的规则33
4.3.4注意注释33
4.4如何成为一名优秀的程序员33
4.5技术解惑35
第5章C语言语法36
(视频总计23分钟,实例5个,拓展实例10个,技术解惑4个)
5.1标识符和关键字37
5.2最基本的数据类型37
5.3常量和变量的深入理解38
5.3.1常量详解39
5.3.2变量详解40
5.4整型数据42
5.4.1整型常量详解42
5.4.2整型变量详解44
5.5实型数据46
5.5.1实型常量详解46
5.5.2实型变量详解46
5.5.3了解实型常量的类型48
5.6字符型数据48
5.6.1字符常量详解49
5.6.2字符串常量详解50
5.6.3字符变量详解51
5.7初始化变量52
5.8整型、实型和字符型数据间的运算总结53
5.8.1自动转换53
5.8.2强制转换54
5.9技术解惑54
5.9.1C语言中无符号整型变量和有符号整型变量指什么?54
5.9.2C语言中字符变量是怎么回事55
5.9.3怎么理解字符型数据取值范围为0~25555
5.9.4怎样将带小数点的字符型数据转换成浮点型的55
第6章运算符和表达式56
(视频总计29分钟,实例8个,拓展实例16个,技术解惑5个)
6.1运算符和表达式的基本概况57
6.1.1先看运算符的种类57
6.1.2再看运算符的优先级58
6.2算术运算符和算术表达式详解59
6.2.1单目运算符59
6.2.2双目运算符60
6.3赋值运算符和赋值表达式60
6.3.1基本赋值运算符61
6.3.2复合赋值运算符61
6.3.3赋值表达式62
6.4关系运算符和关系表达式详解63
6.4.1关系运算符63
6.4.2关系表达式63
6.5逻辑运算符和逻辑表达式详解64
6.5.1逻辑运算符64
6.5.2逻辑表达式64
6.6逗号运算符和逗号表达式详解66
6.6.1逗号运算符66
6.6.2逗号表达式66
6.7求字节数运算符详解67
6.8技术解惑68
6.8.1C语言运算符优先级的详细情况68
6.8.2有少数运算符有规定表达式求值的顺序70
6.8.3在C语言中可以进行混合运算吗70
6.8.4在一个逻辑条件语句中常数项永远在左侧70
6.8.5赋值处理的自动类型转换70
第7章输入和输出72
(视频总计25分钟,实例7个,拓展实例14个,技术解惑3个)
7.1先来了解C语句初步73
7.1.1C语句简介73
7.1.2赋值语句74
7.2打通任督二脉——数据输入和输出详解75
7.2.1putchar函数(字符输出函数)76
7.2.2getchar函数(字符输入函数)77
7.2.3printf函数(格式输出函数)78
7.2.4scanf函数(格式输入函数)81
7.2.5puts函数(字符串输出函数)84
7.2.6gets函数(字符串输入函数)84
7.3技术解惑85
7.3.1gets函数和scanf函数的区别85
7.3.2克服gets函数的缺陷85
7.3.3一个C语言的输入和输出问题87
第8章流程控制88
(视频总计32分钟,实例8个,拓展实例16个,技术解惑3个)
8.1最常见的顺序结构89
8.2选择结构89
8.2.1单分支结构语句90
8.2.2双分支结构语句91
8.2.3还要使用多分支结构语句94
8.2.4条件运算符和条件表达式96
8.3循环结构详解97
8.3.1for语句循环98
8.3.2while语句99
8.3.3do—while语句101
8.3.4正确对待goto语句102
8.3.5break/continue跳跃103
8.3.6死循环/退出程序104
8.4技术解惑105
8.4.1循环中的低效问题105
8.4.2分析C语言循环语句的效率105
8.4.3使用for循环语句的注意事项106
第9章数组和字符串——数据存在形式107
(视频总计49分钟,实例13个,拓展实例26个,技术解惑4个)
9.1一维数组108
9.1.1定义一维数组108
9.1.2引用一维数组元素108
9.1.3初始化一维数组109
9.2多维数组110
9.2.1二维数组110
9.2.2多维数组113
9.3字符数组与字符串115
9.3.1字符数组116
9.3.2字符串与字符数组116
9.3.3字符数组的输入和输出117
9.4字符串处理函数119
9.4.1测试字符串长度函数119
9.4.2字符串大小写转换函数119
9.4.3字符串复制函数120
9.4.4字符串比较函数121
9.4.5字符串连接函数123
9.4.6其他的字符串函数124
9.4.7将字符串转换成数值的函数124
9.5字符处理函数125
9.5.1字符检测函数详解125
9.5.2字符大小写转换函数详解127
9.6技术解惑128
9.6.1数组的下标总是从0开始吗128
9.6.2C语言对数组的处理是非常有效的吗128
9.6.3初始化赋值一维数组的注意事项129
9.6.4冒泡排序129
第10章函数——C语言的CPU130
(视频总计65分钟,实例14个,拓展实例28个,技术解惑10个)
10.1C语言函数的基础知识131
10.1.1函数的分类131
10.1.2函数的定义132
10.2必须知道的函数声明和函数原型133
10.3函数的参数135
10.3.1形参和实参详解135
10.3.2可以将数组名作为函数参数136
10.3.3可以将数组作为函数参数138
10.4函数的返回值140
10.5怎样实现函数的调用142
10.5.1函数的调用格式142
10.5.2函数调用的方式142
10.5.3被调函数的声明方式144
10.5.4对调用函数的方式进行深入分析144
10.6函数的嵌套调用和递归调用146
10.6.1函数嵌套调用详解146
10.6.2函数递归调用详解148
10.7必须了解变量的作用域和生存期151
10.7.1变量作用域详解151
10.7.2静态存储变量和动态存储变量153
10.8谈谈C的内部函数和外部函数159
10.8.1内部函数详解159
10.8.2外部函数详解160
10.9必须知道的库函数161
10.10技术解惑162
10.10.1深入分析项目文件162
10.10.2要尽量避免不必要的函数调用164
10.10.3请确保声明和定义是静态的,除非希望从不同的文件中调用该函数164
10.10.4避免过长的main(函数)164
10.10.5函数的地址本身也是数据166
10.10.6什么时候说明函数167
10.10.7一个函数可以有多少个参数168
10.10.8如果一个函数没有返回值,是否需要加入return语句168
10.10.9在程序退出main函数之后还有可能执行一部分代码168
10.10.10exit()函数和return语句有什么不同169
第11章指针是学习C语言的最大障碍170
(视频总计61分钟,实例14个,拓展实例28个,技术解惑8个)
11.1基本概念171
11.2变量的指针和指向变量的指针变量171
11.2.1声明指针变量172
11.2.2指针变量的初始化172
11.2.3指针变量的引用173
11.2.4关于指针运算符的说明174
11.2.5指针变量的运算175
11.2.6指针变量作为函数参数176
11.2.7void类型的指针179
11.3指针和数组180
11.3.1数组元素的指针181
11.3.2指向一维数组元素的指针变量182
11.3.3通过指针引用数组元素182
11.3.4数组名作函数参数185
11.4指针和多维数组187
11.4.1多维数组的地址187
11.4.2指向多维数组的指针变量189
11.5指针和字符串192
11.5.1指针访问字符串192
11.5.2字符串指针作函数参数193
11.5.3使用字符串指针变量与字符数组的区别194
11.6指针数组和多级指针195
11.6.1指针数组195
11.6.2多级指针的定义和应用196
11.6.3指向指针的指针198
11.6.4main函数的参数198
11.7指针函数和函数指针199
11.7.1指针函数199
11.7.2函数指针200
11.8技术解惑202
11.8.1指针初始化时应注意的问题202
11.8.2指针赋值时应注意的问题203
11.8.3指针用于数组时应注意的问题204
11.8.4结构中使用指针时应注意的问题204
11.8.5避免不必要的内存引用205
11.8.6避免悬空指针和野指针205
11.8.7数组下标与指针的效率解析205
11.8.8使用指针时的常见错误206
第12章数据的熔炉——结构体、共用体和枚举208
(视频总计49分钟,实例12个,拓展实例24个,技术解惑4个)
12.1结构体209
12.1.1定义结构体类型209
12.1.2定义结构体类型变量209
12.1.3引用结构体变量211
12.1.4初始化结构体变量213
12.2进一步谈结构体数组214
12.2.1定义结构体数组214
12.2.2初始化结构体数组215
12.2.3引用结构体数组216
12.3详谈结构体指针217
12.3.1定义结构体指针变量217
12.3.2初始化结构体指针变量218
12.3.3引用结构体指针变量218
12.3.4指向结构变量的指针219
12.3.5指向结构体数组的指针220
12.4在函数中使用结构体220
12.4.1结构体变量和结构体指针可以作为函数参数221
12.4.2函数可以返回结构体类型的值222
12.5共用体(联合)223
12.5.1定义共用体和共用体变量223
12.5.2引用和初始化共用体变量224
12.6枚举225
12.6.1定义枚举类型225
12.6.2定义枚举变量226
12.6.3引用枚举变量227
12.7为什么需要用typedef定义类型228
12.7.1类型定义符typedef基础228
12.7.2使用typedef229
12.8技术解惑230
12.8.1可以省略结构名吗230
12.8.2是否可以定义一种通用数据类型方便地存储任意类型的数据呢230
12.8.3分析结构和共用体的区别231
12.8.4一个定义C结构体的问题231
第13章链表232
(视频总计25分钟,实例4个,拓展实例8个,技术解惑3个)
13.1动态内存分配233
13.1.1为什么用动态内存分配233
13.1.2如何实现动态内存分配及其管理233
13.2链表详解236
13.2.1链表基本介绍236
13.2.2单向链表237
13.2.3创建一个链表239
13.2.4删除整个链表240
13.2.5在链表中插入节点240
13.2.6在链表中删除节点241
13.2.7双向链表242
13.2.8循环链表243
13.3技术解惑244
13.3.1一段代码对链表的总结244
13.3.2面试题—判断单链表是否有环248
13.3.3面试题—实现单链表逆置248
第14章位运算250
(视频总计22分钟,实例2个,拓展实例4个,技术解惑3个)
14.1位运算符和位运算251
14.1.1按位与运算(&)251
14.1.2按位或运算252
14.1.3按位异或运算252
14.1.4取反运算253
14.1.5左移运算253
14.1.6右移运算254
14.1.7位运算应用实例254
14.2位域256
14.2.1位域的定义和位域变量的说明256
14.2.2位域的使用257
14.3技术解惑257
14.3.1二进制补码运算公式257
14.3.2面试题:从某个数中取出指定的某些位258
14.3.3位域的内存对齐原则258
第15章预编译处理259
(视频总计27分钟,实例3个,拓展实例6个,技术解惑6个)
15.1预编译基础260
15.2宏定义260
15.2.1不带参数的宏定义260
15.2.2带参数的宏定义262
15.2.3字符串化运算符264
15.2.4并接运算符264
15.3文件包含详解265
15.4条件编译267
15.4.1#ifdef…#else…#endif命令267
15.4.2#ifdefined…#else…#endif268
15.4.3#ifndef…#else…#endif268
15.4.4#if!defined…#else…#endif268
15.4.5#ifdef…#elif…#elif…#else…#endif269
15.5技术解惑270
15.5.1还有其他预编译指令吗270
15.5.2带参的宏定义和函数不同271
15.5.3总结C语言中的预处理指令271
15.5.4预编译指令的本质是什么271
15.5.5sizeof(int)在预编译阶段是不会被求值的272
15.5.6多行预处理指令的写法272
第16章文件操作273
(视频总计56分钟,实例14个,拓展实例28个,技术解惑5个)
16.1C领域中的文件274
16.1.1文本文件274
16.1.2文件分类275
16.2文件指针275
16.3实现文件打开与关闭276
16.3.1打开文件276
16.3.2关闭文件278
16.4文件读写详解279
16.4.1字符读写函数280
16.4.2字符串读写函数282
16.4.3格式化读写函数283
16.4.4数据块读写函数284
16.4.5其他的读写函数286
16.5必须掌握文件的随机读写287
16.5.1fseek函数详解287
16.5.2rewind函数详解289
16.5.3ftell函数详解289
16.6文件管理函数详解290
16.6.1删除文件290
16.6.2重命名文件291
16.6.3复制文件291
16.7文件状态检测函数详解293
16.7.1feof函数详解293
16.7.2ferror函数详解293
16.7.3clearerr函数详解294
16.8Win32API中的文件操作函数294
16.8.1创建和打开文件295
16.8.2读取、写入和删除文件295
16.9技术解惑296
16.9.1文件指针和文件内部的位置指针是一个含义吗296
16.9.2fseek函数的换行问题296
16.9.3怎样解决gets函数的溢出问题296
16.9.4feof函数会多读一个数据吗297
16.9.5流和文件有何关系297
第17章错误和程序调试298
(视频总计9分钟,技术解惑3个)
17.1常见错误分析299
17.1.1语法错误299
17.1.2逻辑错误(语义错误)300
17.1.3内存错误303
17.2错误的检出与分离308
17.3调试时的注意事项309
17.3.1上机前要先熟悉程序运行的环境309
17.3.2程序设计过程中要为程序调试做好准备309
17.4技术解惑310
17.4.1编译通过并不代表运行正确310
17.4.2两段代码的编译差别310
17.4.3调试程序的方法与技巧310
第18章组件技术313
(视频总计19分钟)
18.1组件技术概述314
18.2体系结构314
18.2.1体系结构的概念314
18.2.2CORBA技术体系315
18.2.3DCOM技术319
第19章C语言高级编程技术322
(视频总计33分钟,实例12个,拓展实例8个)
19.1何谓C的高级编程技术323
19.2分析文本的屏幕输出和键盘输入323
19.2.1实现文本的屏幕输出323
19.2.2实现键盘输入329
19.2.3应用实例330
19.3分析图形显示方式和鼠标输入332
19.3.1初始化图形模式332
19.3.2清屏和恢复显示函数详解334
19.3.3建立独立图形运行程序335
19.3.4基本绘图函数详解335
19.3.5线性函数详解339
19.3.6颜色控制函数详解340
19.3.7分析填色函数和画图函数344
19.3.8图形窗口函数详解347
19.3.9分析图形方式下的文本输出函数347
19.4菜单设计350
19.4.1实现下拉式菜单350
19.4.2实现弹出式菜单353
第20章网络编程技术358
(视频总计33分钟,实例3个,拓展实例2个)
20.1OSI七层网络模型359
20.2TCP/IP子协议360
20.2.1IP协议361
20.2.2TCP协议362
20.2.3UDP协议363
20.2.4ICMP协议363
20.3使用C语言开发网络项目363
20.3.1网络编程方式364
20.3.2网络通信基本流程364
20.3.3搭建开发环境365
20.3.4两个常用的数据结构365
20.3.5WindowsSockets基础365
20.4常用的Winsock函数366
20.4.1WSAStartup函数366
20.4.2socket函数366
20.4.3inet_addr函数367
20.4.4gethostbyname函数367
20.4.5bind函数367
20.4.6connect函数367
20.4.7select函数367
20.4.8recv函数368
20.4.9sendto函数368
20.5MAC地址368
20.6NetBIOS编程369
20.6.1处理过程369
20.6.2NetBIOS命令369
20.6.3NetBIOS名字解析370
20.6.4何谓NetBEUI372
20.6.5NetBIOS范围373
20.6.6NetBios控制块373
20.7实战演练——获取当前机器MAC地址373
20.7.1选择开发工具373
20.7.2设计MFC窗体373
20.7.3具体编码374
第21章初入江湖——游戏项目设计381
(视频总计45分钟)
21.1游戏功能描述382
21.2游戏总体设计382
21.2.1功能模块设计383
21.2.2数据结构设计385
21.2.3构成函数介绍386
21.3游戏具体实现387
21.3.1预处理387
21.3.2主函数389
21.3.3初始化界面处理390
21.3.4时钟中断处理391
21.3.5成绩、速度和帮助处理391
21.3.6满行处理392
21.3.7方块显示和消除处理394
21.3.8游戏方块操作判断处理395
第22章风云再起——网络项目设计398
(视频总计28分钟)
22.1系统功能描述399
22.2系统总体设计399
22.2.1功能模块设计399
22.2.2数据结构设计401
22.2.3构成函数介绍402
22.3系统具体实现403
22.3.1预处理403
22.3.2初始化处理404
22.3.3控制模块405
22.3.4数据报解读处理406
22.3.5Ping测试处理408
22.3.6主函数409
本书评论