当前位置:主页 > 书籍配套资源 > C语言配套资源
《C语言开发从入门到精通》配套资源

《C语言开发从入门到精通》配套资源

  • 更新:2022-05-08
  • 大小:3.61 MB
  • 类别:C语言
  • 作者:王长青,、韩海玲
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

编辑推荐

本书特色是实现了入门知识、实例演示、范例演练、技术解惑、综合实战5大部分内容的融合,让读者看得懂、用得上、学得会。

一本书的容量,讲解了入门类、范例类和项目实战类三类图书的内容。

丰富的配套资源 学习更高效
330个实例,更多的实践演练机会
749分钟视频讲解,降低学习难度
220个拓展实例,真正地举一反三
69个技术解惑,破解学习难点

“技术讲解”→范例演练”→“技术解惑”贯穿全书,全面掌握C语言开发

技术讲解:通过110个实例,循序渐进地讲解了C语言开发的各个知识点。
范例演练:220个拓展范例和2个综合实例,使读者真正具有项目实战能力。
技术解惑:把容易混淆的概念单独讲解和剖析,帮助读者绕过学习中的陷阱。

内容简介

本书循序渐进、由浅入深地详细讲解了C语言开发的技术,并通过具体实例的实现过程演练了各个知识点的具体使用流程。全书共22章,第1~4章分别讲解了C语言开发的基础知识,包括C语言简介,安装开发工具等;第5~10章分别讲解了函数、输入/输出、流程控制、数组操作等知识,这些内容都是C语言技术的核心知识;第11~20章分别讲解了指针、结构体、共用体和枚举、链表、位运算、预编译、文件操作、错误调试和高级编程技术的知识,这些内容是C语言开发技术的重点和难点;第21~22章分别通过2个综合实例的实现过程,介绍了C语言在综合项目中的开发过程。全书内容以“技术解惑”和“范例演练”贯穿全书,引领读者全面掌握C语言。
本书不但适用C语言的初学者,也适合有一定C语言基础的读者学习,还可以作为大专院校相关专业的师生用书和培训学校的教材。

作者简介

上海复旦大学计算机科学技术学院硕士,通信工程博士,精通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

资源下载

资源下载地址1:https://box.lenovo.com/l/M1ZAL3

相关资源

网友留言