图书介绍
C语言从入门到精通PDF|Epub|txt|kindle电子书版本网盘下载
![C语言从入门到精通](https://www.shukui.net/cover/26/33471421.jpg)
- 陈锐等编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121118692
- 出版时间:2010
- 标注页数:474页
- 文件大小:94MB
- 文件页数:487页
- 主题词:C语言-程序设计
PDF下载
下载说明
C语言从入门到精通PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 起步篇1
第1章C语言基础1
1.1为什么要选择C语言1
1.1.1选择C语言的好处1
1.1.2 C语言的特点2
1.1.3如何学好C语言2
1.2程序设计语言基础——进制转换3
1.2.1二进制与位权4
1.2.2二进制数与十进制数的相互转换5
1.2.3十六进制数与十进制数的相互转换6
1.2.4十进制数与八进制的转换8
1.2.5各种计算机进制数的转换9
1.3计算机中数的表示10
1.3.1计算机中的正数与负数表示10
1.3.2原码、补码11
1.3.3浮点数13
1.4小结15
第2章C语言常用开发环境的介绍16
2.1 Turbo C 3.0开发环境的介绍16
2.1.1 Turbo C 3.0的开发环境16
2.1.2使用Turbo C 3.0运行C语言程序18
2.1.3 C程序的开发步骤19
2.2 Visual C++ 6.0开发环境的介绍20
2.2.1使用Visual C++ 6.0新建项目20
2.2.2在Visual C++ 6.0的项目中新建程序文件21
2.2.3 Visual C++ 6.0的开发环境23
2.2.4使用Visual C++ 6.0运行C语言程序24
2.3小结26
第2篇 基础篇27
第3章 基本数据类型27
3.1数据类型的定义及分类27
3.2变量与常量29
3.2.1变量29
3.2.2常量30
3.3整型变量31
3.3.1整型变量的定义32
3.3.2整型变量占用的字节数与表示范围32
3.3.3整型变量的存储形式33
3.3.4整型变量的赋值34
3.3.5一个简单的C程序——输出整型变量的值34
3.4实型变量35
3.4.1实型变量的定义与赋值35
3.4.2实型变量的表示范围36
3.4.3一个简单的C程序——输出实型变量的值36
3.5字符型变量36
3.5.1字符型变量的定义与赋值37
3.5.2字符型数据的存储形式37
3.5.3字符数据与字符串数据的区别39
3.6小结39
第4章 运算符与表达式40
4.1运算符与表达式的基础40
4.1.1运算符的分类40
4.1.2运算符的优先级与结合性41
4.1.3多种类型数据的混合运算——自动类型转换41
4.2算术运算符与算术表达式43
4.2.1+,-,*,/,%——双目运算符43
4.2.2算术表达式43
4.2.3强制类型转换44
4.2.4++++与—、+与——单目运算符45
4.3赋值运算符与赋值表达式47
4.3.1直接赋值运算符与直接赋值表达式47
4.3.2赋值表达式中的类型转换48
4.3.3复合算术赋值运算符与表达式53
4.4关系运算符与关系表达式54
4.4.1关系运算符54
4.4.2关系表达式55
4.5逻辑运算符与逻辑表达式56
4.5.1逻辑运算符56
4.5.2逻辑表达式56
4.6逗号运算符与逗号表达式58
4.6.1逗号运算符58
4.6.2逗号表达式59
4.6.3逗号运算符应用举例59
4.7小结60
第5章C语句与数据的输入/输出61
5.1语句61
5.1.1语句的分类61
5.1.2赋值语句63
5.1.3变量赋初值64
5.2字符数据的输入与输出64
5.2.1 putchar函数——字符数据输出函数65
5.2.2 getchar函数——字符数据输入函数65
5.2.3 getch函数——另一个字符数据输入函数66
5.3格式化数据的输入与输出67
5.3.1 printf函数——格式化数据的输出67
5.3.2 scanf函数——格式化数据的输入74
5.4小结77
第6章 结构化程序的设计79
6.1顺序结构程序的设计79
6.1.1顺序结构79
6.1.2顺序结构程序设计应用举例79
6.2选择结构程序的设计81
6.2.1 if选择结构82
6.2.2 switch选择结构90
6.2.3条件运算符与条件表达式95
6.2.4选择结构程序设计应用举例96
6.3循环结构程序设计100
6.3.1 while循环语句101
6.3.2 do-while循环语句102
6.3.3 for循环语句104
6.3.4 break语句109
6.3.5 continue语句110
6.3.6 goto语句112
6.3.7循环结构的嵌套113
6.3.8循环结构程序设计应用举例116
6.4小结120
第7章 数组121
7.1一维数组121
7.1.1定义一维数组121
7.1.2引用一维数组122
7.1.3初始化一维数组123
7.1.4一维数组应用举例123
7.2二维数组127
7.2.1定义二维数组127
7.2.2引用二维数组128
7.2.3初始化二维数组129
7.2.4二维数组应用举例130
7.3字符数组与字符串135
7.3.1定义字符数组与初始化135
7.3.2引用字符数组136
7.3.3字符数组与字符串136
7.3.4字符数组的输入与输出137
7.3.5字符串的相关函数138
7.3.6字符串应用举例143
7.4小结147
第8章 函数149
8.1函数初识与函数的分类149
8.1.1函数初识149
8.1.2函数的分类150
8.2函数的定义150
8.2.1无参函数的定义150
8.2.2有参函数的定义151
8.2.3有参函数传统的定义方式152
8.3函数的参数与函数返回值152
8.3.1实际参数与形式参数152
8.3.2函数返回值154
8.4函数的调用156
8.4.1函数的一般调用156
8.4.2函数原型159
8.4.3函数的嵌套调用162
8.5函数的递归调用165
8.5.1递归调用的定义165
8.5.2递归调用应用举例166
8.6数组作为函数的参数169
8.6.1数组元素作为函数参数169
8.6.2数组名作为函数参数171
8.6.3多维数组名作为函数参数174
8.7变量的作用域176
8.7.1局部变量176
8.7.2全局变量177
8.8变量的存储类别181
8.8.1自动变量181
8.8.2静态变量182
8.8.3寄存器变量183
8.8.4外部变量184
8.9内部函数与外部函数187
8.9.1内部函数187
8.9.2外部函数187
8.10小结189
第9章 指针190
9.1地址和指针190
9.1.1什么是地址190
9.1.2什么是指针——间接存取191
9.2指针与变量192
9.2.1定义指针变量192
9.2.2引用指针变量192
9.2.3指针变量作为函数的参数195
9.3指针与数组198
9.3.1指向数组元素的指针与指向数组的指针198
9.3.2指向多维数组的指针变量201
9.3.3数组名(指针)作为函数参数205
9.3.4指针数组214
9.3.5二级指针215
9.4指针与字符串217
9.4.1字符串指针217
9.4.2字符串指针作为函数参数218
9.4.3字符指针数组220
9.4.4指针数组作为mam的参数222
9.5指针与函数223
9.5.1函数指针——指向函数的指针224
9.5.2函数指针作为函数的参数225
9.5.3指针函数——返回指针值的函数228
9.5.4 void指针230
9.6指针与const230
9.6.1常量指针——指向常量的指针230
9.6.2指针常量——指针不可以改变231
9.6.3常量指针常量——指向常量的指针常量232
9.7小结233
第10章 结构体与联合体234
10.1结构体234
10.1.1定义结构体类型234
10.1.2定义结构体变量235
10.1.3引用结构体变量237
10.1.4初始化结构体变量238
10.1.5结构体应用举例240
10.2结构体数组241
10.2.1定义结构体数组241
10.2.2初始化结构体数组242
10.2.3结构体数组应用举例243
10.3指针与结构体246
10.3.1指向结构体变量的指针246
10.3.2指向结构体数组的指针248
10.3.3结构体变量作为函数的参数249
10.3.4指向结构体变量的指针作为函数的参数251
10.4用typedef定义类型252
10.4.1使用typedef定义类型252
10.4.2 typedef应用举例254
10.5联合体255
10.5.1定义联合体类型及变量255
10.5.2引用联合体256
10.5.3使用联合体应注意的问题257
10.5.4联合体的应用举例258
10.6枚举类型261
10.6.1定义枚举类型及变量261
10.6.2使用枚举类型的一些说明261
10.6.3枚举类型应用举例262
10.7小结265
第11章 位运算266
11.1位运算符与位运算266
11.1.1位与运算266
11.1.2位或运算268
11.1.3异或运算268
11.1.4取反运算270
11.1.5左移运算270
11.1.6右移运算273
11.1.7位复合赋值运算符275
11.2位段275
11.2.1定义位段275
11.2.2引用位段成员276
11.3小结277
第12章 预处理命令278
12.1宏定义#define278
12.1.1不带参数的宏定义278
12.1.2带参数的宏定义280
12.1.3条件编译命令中的运算符#和282
12.2文件包含命令#include283
12.2.1文件包含命令的两种方式283
12.2.2文件包含命令应用举例284
12.3条件编译命令285
12.3.1条件编译命令——#ifdef285
12.3.2条件编译命令——#ifndef287
12.3.3条件编译命令——#if287
12.4小结288
第3篇 提高篇291
第13章 链表291
13.1什么是链表291
13.1.1链表的基本概念291
13.1.2动态内存分配292
13.2链表的操作293
13.2.1创建链表293
13.2.2输出链表296
13.2.3链表的查找操作297
13.2.4链表的插入操作298
13.2.5链表的删除操作299
13.3链表应用举例303
13.3.1直接插入排序——使用链表实现303
13.3.2一元多项式的相加309
13.4小结312
第14章 文件314
14.1文件与文件类型指针314
14.1.1文件的分类314
14.1.2文件类型指针315
14.2打开文件与关闭文件315
14.2.1打开文件315
14.2.2关闭文件316
14.3文件的读写317
14.3.1 fgetc函数与fputc函数317
14.3.2 fread函数与fwrite函数319
14.3.3 fscanf函数与fprintf函数——格式化读写函数323
14.3.4 fgets函数与fputs函数——字符串读写函数325
14.4文件的定位325
14.4.1 rewind函数——重置文件指针326
14.4.2 fseek函数——定位文件指针327
14.4.3 ftell函数——得到文件指针位置329
14.5出错检测329
14.5.1 ferror函数330
14.5.2 clearerr函数330
14.6小结330
第15章 图形界面设计331
15.1相关概念331
15.1.1图形显示与适配器331
15.1.2显示器的工作原理332
15.2文本屏幕操作333
15.2.1屏幕操作函数333
15.2.2字符属性函数336
15.2.3文本操作函数338
15.2.4屏幕状态函数341
15.3图形系统的初始化与关闭343
15.3.1图形系统的初始化343
15.3.2图形系统的关闭346
15.4图形屏幕管理及属性346
15.4.1图形屏幕管理346
15.4.2设置图形属性347
15.5基本绘图函数349
15.5.1画点类函数349
15.5.2画线类函数350
15.5.3圆弧类函数351
15.5.4多边形函数352
15.5.5填充函数354
15.6图形模式下的文本输出356
15.6.1文本输出函数356
15.6.2文本属性函数357
15.6.3汉字的输出359
15.7小结362
第16章 键盘与鼠标操作363
16.1键盘操作363
16.1.1键盘编码363
16.1.2键盘操作函数364
16.2鼠标操作366
16.2.1鼠标的工作原理366
16.2.2鼠标综合应用举例371
16.3小结374
第17章 网络编程基础375
17.1网络基础知识375
17.1.1什么是计算机网络375
17.1.2网络协议375
17.1.3协议分层376
17.1.4网络参考模型377
17.1.5端口379
17.2 Winsocket基础379
17.2.1套接字(socket)379
17.2.2基于TCP的socket编程380
17.2.3基于UDP的socket编程381
17.3 Winsocket的相关函数381
17.3.1 WSAStartup函数——启动套接字库381
17.3.2 socket函数——建立套接字382
17.3.3 bind函数——绑定本地IP地址和端口383
17.3.4 listen 函数——侦听客户端请求384
17.3.5 accept函数——等待客户端的请求384
17.3.6 send函数——发送数据384
17.3.7 recv函数——接收数据385
17.3.8 connect函数——建立连接385
17.3.9 recvfrom函数——接收数据385
17.3.10 sendto函数——发送数据385
17.4基于TCP的简单网络程序386
17.4.1服务器端应用程序的实现386
17.4.2客户端应用程序的实现389
17.5基于UDP的简单网络聊天程序391
17.5.1服务器端应用程序的实现391
17.5.2客户端应用程序的实现393
17.6小结395
第18章 常用算法设计396
18.1算法基础396
18.1.1什么是算法及算法的描述语言396
18.1.2算法的特性397
18.1.3算法设计的目标398
18.1.4算法的时间复杂度和空间复杂度398
18.2迭代算法399
18.2.1算法思想399
18.2.2求一个数的平方根399
18.2.3谷角猜想400
18.3递推算法401
18.3.1认识递推402
18.3.2斐波那契数列402
18.3.3分西瓜404
18.3.4该存多少钱404
18.4穷举算法405
18.4.1算法思想405
18.4.2完全数406
18.4.3背包问题407
18.5递归算法409
18.5.1算法思想409
18.5.2数制转换409
18.5.3组合问题411
18.6分治算法412
18.6.1算法思想412
18.6.2求n个数的最大值和最小值413
18.6.3赛程安排问题415
18.7贪心算法418
18.7.1算法思想418
18.7.2加油站问题419
18.7.3找零钱问题420
18.8小结422
第19章 简单数据结构——队列和栈424
19.1队列424
19.1.1队列的定义424
19.1.2队列的表示与实现425
19.1.3顺序循环队列426
19.1.4顺序循环队列的实现427
19.1.5链式队列的表示与实现429
19.1.6队列的应用——商品货架模拟432
19.2栈436
19.2.1栈的定义436
19.2.2顺序栈的存储结构与实现436
19.2.3链式栈的存储结构与实现439
19.2.4栈的应用举例——算术表达式求值441
19.3小结445
第20章 常用技术——排序446
20.1排序的基础知识446
20.1.1排序的相关概念446
20.1.2排序算法的分类447
20.2插入类排序447
20.2.1直接插入排序447
20.2.2折半插入排序449
20.2.3希尔排序450
20.3选择类排序451
20.3.1简单选择排序451
20.3.2堆排序453
20.4交换类排序460
20.4.1冒泡排序460
20.4.2快速排序462
20.5归并类排序465
20.5.1二路归并排序的算法思想465
20.5.2二路归并排序算法的实现465
20.6分配类排序468
20.6.1基数排序的算法思想468
20.6.2基数排序算法的实现470
20.7各种排序方法的比较473
20.8小结474