C语言从入门到精通(第4版)
作者:明日科技
出版社:清华大学出版社
出版时间:2019-01-01
ISBN:9787302521464
定价:¥69.80
篇?基础知识
章?C语言概述2
视频讲解:33分钟
1.1C语言的发展史3
1.1.1程序语言简述3
1.1.2C语言的历史3
1.2C语言的特点4
1.3一个简单的C程序5
1.4一个完整的C程序7
1.5C语言程序的格式11
1.6开发环境12
1.6.1Visual C6.012
1.6.2Visual Studio201719
1.7小结25
第2章?算法26
视频讲解:22分钟
2.1算法的基本概念27
2.1.1算法的特性27
2.1.2算法的优劣28
2.2算法的描述28
2.2.1自然语言29
2.2.2流程图29
2.2.3N-S流程图32
2.3小结34
第3章?数据类型35
视频讲解:39分钟
3.1编程规范36
3.2关键字37
3.3标识符37
3.4数据类型38
3.5常量39
3.5.1整型常量40
3.5.2实型常量42
3.5.3字符型常量43
3.5.4转义字符46
3.5.5符号常量46
3.6变量47
3.6.1整型变量47
3.6.2实型变量50
3.6.3字符型变量52
3.7变量的存储类别53
3.7.1静态存储与动态存储54
3.7.2auto变量54
3.7.3static变量55
3.7.4register变量55
3.7.5extern变量56
3.8混合运算57
3.9小结58
3.10实践与练习58
第4章?运算符与表达式59
视频讲解:31分钟
4.1表达式60
4.2赋值运算符与赋值表达式62
4.2.1变量赋初值62
4.2.2自动类型转换64
4.2.3强制类型转换64
4.3算术运算符与算术表达式65
4.3.1算术运算符65
4.3.2算术表达式66
4.3.3优先级与结合性67
4.3.4自增/自减运算符69
4.4关系运算符与关系表达式71
4.4.1关系运算符71
4.4.2关系表达式71
4.4.3优先级与结合性72
4.5逻辑运算符与逻辑表达式73
4.5.1逻辑运算符74
4.5.2逻辑表达式74
4.5.3优先级与结合性74
4.6位逻辑运算符与位逻辑表达式75
4.6.1位逻辑运算符76
4.6.2位逻辑表达式76
4.7逗号运算符与逗号表达式76
4.8复合赋值运算符78
4.9小结79
4.10实践与练习80
第5章?常用的数据输入/输出函数81
视频讲解:40分钟
5.1语句82
5.2字符数据输入/输出82
5.2.1字符数据输出82
5.2.2字符数据输入83
5.3字符串输入/输出85
5.3.1字符串输出函数85
5.3.2字符串输入函数86
5.4格式输出函数87
5.5格式输入函数90
5.6顺序程序设计应用94
5.7小结96
5.8实践与练习96
第6章?选择结构程序设计97
视频讲解:39分钟
6.1if语句98
6.2if语句的基本形式98
6.2.1if语句形式98
6.2.2if…else语句形式101
6.2.3elseif语句形式105
6.3if的嵌套形式108
6.4条件运算符111
6.5switch语句112
6.5.1switch语句的基本形式113
6.5.2多路开关模式的switch语句116
6.6if…else语句和switch语句的区别118
6.7小结120
6.8实践与练习120
第7章?循环控制121
视频讲解:43分钟
7.1循环语句122
7.2while语句122
7.3do…while语句125
7.4for语句127
7.4.1for语句使用127
7.4.2for循环的变体130
7.4.3for语句中的逗号应用132
7.53种循环语句的比较134
7.6循环嵌套134
7.6.1循环嵌套的结构134
7.6.2循环嵌套实例135
7.7转移语句137
7.7.1goto语句137
7.7.2break语句139
7.7.3continue语句140
7.8小结141
7.9实践与练习141
第2篇?核心技术
第8章?数组144
视频讲解:1小时7分钟
8.1一维数组145
8.1.1一维数组的定义和引用145
8.1.2一维数组初始化147
8.1.3一维数组的应用149
8.2二维数组150
8.2.1二维数组的定义和引用150
8.2.2二维数组初始化151
8.2.3二维数组的应用154
8.3字符数组155
8.3.1字符数组的定义和引用155
8.3.2字符数组初始化156
8.3.3字符数组的结束标志158
8.3.4字符数组的输入和输出159
8.3.5字符数组的应用160
8.4多维数组161
8.5数组的排序算法161
8.5.1选择法排序162
8.5.2冒泡法排序164
8.5.3交换法排序165
8.5.4插入法排序168
8.5.5折半法排序170
8.5.6排序算法的比较172
8.6字符串处理函数173
8.6.1字符串复制173
8.6.2字符串连接174
8.6.3字符串比较176
8.6.4字符串大小写转换177
8.6.5获得字符串长度179
8.7数组应用180
8.7.1反转输出字符串180
8.7.2输出系统日期和时间181
8.7.3字符串的加密和解密183
8.8小结185
8.9实践与练习185
第9章?函数186
视频讲解:55分钟
9.1函数概述187
9.2函数的定义189
9.2.1函数定义的形式189
9.2.2定义与声明191
9.3返回语句193
9.3.1从函数返回193
9.3.2返回值194
9.4函数参数196
9.4.1形式参数与实际参数196
9.4.2数组作函数参数198
9.4.3main函数的参数204
9.5函数的调用205
9.5.1函数的调用方式205
9.5.2嵌套调用208
9.5.3递归调用210
9.6内部函数和外部函数212
9.6.1内部函数213
9.6.2外部函数214
9.7局部变量和全局变量215
9.7.1局部变量215
9.7.2全局变量218
9.8函数应用220
9.9小结226
9.10实践与练习227
0章?指针228
视频讲解:1小时2分钟
10.1指针相关概念229
10.1.1地址与指针229
10.1.2变量与指针229
10.1.3指针变量230
10.1.4指针自加自减运算234
10.2数组与指针236
10.2.1一维数组与指针236
10.2.2二维数组与指针240
10.2.3字符串与指针243
10.2.4字符串数组245
10.3指向指针的指针246
10.4指针变量作函数参数249
10.5返回指针值的函数258
10.6指针数组作main函数的参数260
10.7小结262
10.8实践与练习262
第3篇?不错应用
1章?结构体和共用体264
视频讲解:40分钟
11.1结构体265
11.1.1结构体类型的概念265
11.1.2结构体变量的定义266
11.1.3结构体变量的引用268
11.1.4结构体类型的初始化270
11.2结构体数组272
11.2.1定义结构体数组272
11.2.2初始化结构体数组274
11.3结构体指针276
11.3.1指向结构体变量的指针276
11.3.2指向结构体数组的指针279
11.3.3结构体作为函数参数281
11.4包含结构的结构283
11.5链表285
11.5.1链表概述285
11.5.2创建动态链表286
11.5.3输出链表289
11.6链表相关操作291
11.6.1链表的插入操作291
11.6.2链表的删除操作293
11.7共用体297
11.7.1共用体的概念297
11.7.2共用体变量的引用298
11.7.3共用体变量的初始化299
11.7.4共用体类型的数据特点300
11.8枚举类型300
11.9小结301
11.10实践与练习302
2章?位运算303
视频讲解:36分钟
12.1位与字节304
12.2位运算操作符304
12.2.1“与”运算符304
12.2.2“或”运算符306
12.2.3“取反”运算符307
12.2.4“异或”运算符308
12.2.5“左移”运算符310
12.2.6“右移”运算符311
12.3循环移位312
12.4位段315
12.4.1位段的概念与定义315
12.4.2位段相关说明316
12.5小结318
12.6实践与练习318
3章?预处理319
视频讲解:40分钟
13.1宏定义320
13.1.1不带参数的宏定义320
13.1.2带参数的宏定义321
13.2#include指令323
13.3条件编译325
13.3.1#if命令325
13.3.2#ifdef及#ifndef命令328
13.3.3#undef命令329
13.3.4#line命令330
13.3.5#pragma命令330
13.4小结331
13.5实践与练习331
4章?文件332
视频讲解:58分钟
14.1文件概述333
14.2文件基本操作333
14.2.1文件指针333
14.2.2文件的打开334
14.2.3文件的关闭335
14.3文件的读写335
14.3.1fputc函数335
14.3.2fgetc函数336
14.3.3fputs函数337
14.3.4fgets函数338
14.3.5fprintf函数339
14.3.6fscanf函数340
14.3.7fread和fwrite函数341
14.4文件的定位343
14.4.1fseek函数343
14.4.2rewind函数345
14.4.3ftell函数346
14.5小结349
14.6实践与练习349
5章?存储管理350
视频讲解:22分钟
15.1内存组织方式351
15.1.1内存的组织方式351
15.1.2堆与栈351
15.2动态管理353
15.2.1malloc函数353
15.2.2calloc函数354
15.2.3realloc函数355
15.2.4free函数356
15.3内存丢失357
15.4小结358
15.5实践与练习358
6章?网络套接字编程359
视频讲解:39分钟
16.1计算机网络基础360
16.1.1IP地址360
16.1.2OSI七层参考模型360
16.1.3地址解析361
16.1.4域名系统362
16.1.5TCP/IP协议362
16.1.6端口364
16.1.7套接字的引入364
16.1.8网络字节顺序364
16.2套接字基础365
16.2.1套接字概述365
16.2.2TCP的套接字的socket编程365
16.2.3UDP的套接字的socket编程366
16.3套接字函数367
16.3.1套接字函数介绍367
16.3.2基于TCP的网络聊天程序372
16.4小结378
16.5实践与练习378
第4篇?项目实战
7章?学生成绩管理系统380
视频讲解:40分钟
17.1需求分析381
17.2系统设计381
17.3功能设计382
17.3.1功能选择界面382
17.3.2录入学生成绩信息383
17.3.3查询学生成绩信息386
17.3.4删除学生成绩信息387
17.3.5修改学生成绩信息388
17.3.6插入学生成绩信息390
17.3.7统计学生人数392
17.4小结392
附录ASCII表393