C语言自学视频教程 实例版PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:软件开发技术联盟编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2014
- ISBN:9787302371113
- 页数:560 页
第1篇 入门篇 2
第1章 初识C语言 2
1.1 编程语言发展史 3
1.1.1 机器语言 3
1.1.2 汇编语言 3
1.1.3 高级语言 4
1.2 C语言的发展 5
1.2.1 C语言的产生 5
1.2.2 C程序的特点 6
1.2.3 C语言发展趋势 7
1.2.4 C语言的应用领域 8
1.2.5 如何学好C语言 8
实例1 输出“Hello World!” 9
实例2 计算10+20 9
1.3 本章小结 10
第2章 编写一个简单的C程序 11
2.1 C程序结构 12
2.2 C语言基础知识 15
2.2.1 介绍两种C程序开发工具 15
2.2.2 设定标识符 25
2.2.3 认识关键字 26
2.2.4 添加注释 28
2.2.5 定义变量 28
实例1 求一个数的平方根 29
实例2 猴子吃桃 29
2.3 分析错误提示信息 30
2.3.1 出现严重错误 30
2.3.2 提示一般错误信息 30
2.3.3 警告信息 37
实例3 求圆面积 38
实例4 十进制数转八进制 39
2.4 提高程序的可读性 40
2.5 综合应用 41
2.5.1 输出三角形 41
2.5.2 交换两个数 41
2.6 本章常见错误 42
2.6.1 定义的标识符不是一个整体 42
2.6.2 语句结束没有结束符 42
2.7 本章小结 43
2.8 跟我上机 43
第3章 掌握C语言算法 44
3.1 算法概述 45
3.1.1 什么是算法 45
3.1.2 算法的特性 45
3.1.3 算法的优缺点 46
实例1 求圆的周长 46
实例2 求一元二次方程ax2+bx+c=0的根 47
3.2 描述算法 48
3.2.1 用自然语言描述 48
3.2.2 用流程图描述 48
3.2.3 三种基本结构 50
3.2.4 绘制N-S流程图 52
3.2.5 用伪代码描述算法 54
实例3 任意输入三个数,求这三个数中的最大数 54
实例4 判断2000~2500年中每一年是否为闰年 55
实例5 用伪代码描述n! 56
3.3 综合应用 56
3.3.1 判断三角形的类型 56
3.3.2 计算某日是该年第几天 57
3.3.3 婚礼上的谎言 58
3.3.4 百钱百鸡问题 59
3.4 本章常见错误 59
3.4.1 合理安排基本结构 59
3.4.2 全面考虑 60
3.5 本章小结 60
3.6 跟我上机 60
第4章 C语言基础——数据类型 64
4.1 数据类型概述 65
4.1.1 数据类型的概念 65
4.1.2 数据类型的分类 65
实例1 复制字符串 66
实例2 一分钟倒计时 67
4.2 常量 67
4.2.1 整型常量 68
4.2.2 实型常量 70
4.2.3 字符型常量 70
4.2.4 符号常量 76
实例3 进制转换 77
实例4 以不同格式输出数据 77
4.3 变量 78
4.3.1 整型变量 78
4.3.2 实型变量 81
4.3.3 字符型变量 84
4.3.4 转换数据类型 85
实例5 求100~200之间的素数 86
实例6 字符型数据进行算术运算 87
4.4 综合应用 88
4.4.1 小球下落问题 88
4.4.2 老师分糖果 89
4.5 本章常见错误 89
4.5.1 scanf()输入数据要用地址 89
4.5.2 指针无法访问register变量 90
4.5.3 变量先定义后使用 90
4.6 本章小结 90
4.7 跟我上机 90
第5章 运算符与表达式的使用 92
5.1 表达式概述 93
5.2 赋值运算 93
5.2.1 为变量赋值 94
5.2.2 自动类型转换 94
5.2.3 强制类型转换 95
实例1 模拟钟点工的计费 96
实例2 显示类型转化的结果 96
5.3 算术运算 97
5.3.1 算术运算符 97
5.3.2 算术表达式 98
5.3.3 算术运算符的优先级与结合性 98
5.3.4 自增自减运算符 99
实例3 温度转换 99
实例4 算术运算符的优先级和结合性 100
实例5 比较自增自减运算符前缀与后缀的不同 101
实例6 自增运算的结合性 102
5.4 关系运算 103
5.4.1 关系运算符 103
5.4.2 关系表达式 104
实例7 关系运算符的使用 104
实例8 输入密码 104
5.5 逻辑运算 106
5.5.1 逻辑运算符 106
5.5.2 逻辑表达式 106
实例9 判断闰年 107
实例10 黑纸与白纸 108
5.6 逗号运算 109
5.7 条件运算符与表达式 110
5.8 复合赋值运算符 111
5.9 综合应用 112
5.9.1 阿姆斯特朗数 112
5.9.2 求1~10的累加和 113
5.9.3 求解二元一次不定方程 113
5.9.4.可逆素数 115
5.10 本章常见错误 116
5.10.1 表达式“a=b”和“a=b” 116
5.10.2 对浮点数求余 117
5.10.3 逻辑运算部分被执行 117
5.11 本章小结 117
5.12 跟我上机 118
第6章 输入输出数据 120
6.1 语句概述 121
6.1.1 表达式语句 121
6.1.2 函数调用语句 121
6.1.3 空语句 122
6.1.4 控制语句 122
6.1.5 复合语句 123
实例1 判断回文数 123
实例2 求最小数 124
6.2 输入输出字符数据 125
6.2.1 输出字符数据 125
6.2.2 字符数据的输入 126
实例3 使用putchar函数实现字符数据输出 126
实例4 使用getchar函数实现字符数据输入 127
实例5 使用getchar函数取消获取回车 128
6.3 字符串的输入输出 128
6.3.1 字符串输出函数 128
6.3.2 字符串输入函数 129
实例6 使用字符串输出函数进行显示信息提示 129
实例7 使用字符串输入函数gets()获取输入信息 130
6.4 按指定格式输出 131
6.5 按指定格式输入 135
6.6 顺序程序设计应用 138
6.7 综合应用 140
6.7.1 输出一个字符的前驱字符 140
6.7.2 求学生总成绩和平均成绩 140
6.7.3 将输入的小写字符转化为大写字符 141
6.8 本章常见错误 141
6.8.1 用scanf输入字符串不能接受空格 141
6.8.2 scanf格式控制用逗号问题 142
6.9 本章小结 142
6.10 跟我上机 142
第7章 分支结构程序设计 143
7.1 if语句的基本形式 144
7.1.1 if语句形式 144
7.1.2 if...else语句形式 147
7.1.3 else if语句形式 150
实例1 判断偶数 153
实例2 判断字母是否大写 154
7.2 if的嵌套形式 154
7.3 switch语句 157
7.3.1 switch语句的基本形式 157
7.3.2 多路开关模式的switch语句 160
实例3 使用switch语句输出分数段 160
实例4 使用多路开关模式编写日程安排程序 162
7.4 if else语句和switch语句的区别 163
7.5 选择结构程序应用 165
7.6 综合应用 167
7.6.1 检查字符类型 167
7.6.2 求学生的最低分和最高分 168
7.6.3 模拟自动售货机 168
7.7 本章常见错误 169
7.7.1 if else的匹配问题 169
7.7.2 注意case后不要跟变量 170
7.7.3 if判断表达式的比较问题 170
7.8 本章小结 170
7.9 跟我上机 171
第8章 循环结构程序设计 173
8.1 循环结构概述 174
8.2 while型循环 174
8.2.1 while语句的一般形式 174
8.2.2 while语句的空循环体 175
8.2.3 注意while循环语句常见错误 176
实例1 使用while语句求n! 177
实例2 使用while为用户提供菜单显示 177
8.3 do-while语句 179
8.4 for型循环语句 180
8.4.1 for循环语句的一般形式 181
8.4.2 灵活多变的for循环语句 184
8.4.3 应用for语句中的逗号 186
实例3 一元钱的兑换方案 187
实例4 特殊等式 188
8.5 比较三种循环 188
8.6 嵌套多个循环 189
8.7 转移语句 192
8.7.1 goto语句 193
8.7.2 break语句 195
8.7.3 continue语句 196
8.7.4 区别三种跳转语句 197
实例5 求解从键盘中输入字符的个数 197
实例6 平方和运算的问题 198
8.8 综合应用 199
8.8.1 求总数问题 199
8.8.2 灯塔数量 200
8.9 本章常见错误 201
8.9.1 在循环中注意清0 201
8.9.2 注意循环条件 201
8.10 本章小结 201
8.11 跟我上机 202
第2篇 提高篇 204
第9章 C语言数组的应用 204
9.1 数组概述 205
9.2 一维数组 205
9.2.1 定义一维数组 206
9.2.2 引用一维数组 206
9.2.3 初始化一维数组 207
实例1 使用数组保存学生资料 210
实例2 输出20个整数中最大的数值 211
9.3 二维数组 211
9.3.1 定义二维数组 211
9.3.2 二维数组的引用 212
9.3.3 初始化二维数组 213
9.3.4 二维数组应用 215
实例3 求二维数组各元素之和 216
实例4 使用二维数组保存数据 217
9.4 多维数组 218
9.5 字符数组 219
9.5.1 字符数组的定义 219
9.5.2 字符数组的引用 219
9.5.3 字符数组初始化 219
9.5.4 字符数组的结束标志 222
9.5.5 字符数组的输出 223
9.5.6 字符数组的输入 224
9.5.7 字符数组应用 225
实例5 计算字符串中有多少个单词 226
实例6 不使用strcpy()函数实现字符串复制功能 227
9.6 字符串处理函数 228
9.6.1 字符串复制 228
9.6.2 字符串连接 230
9.6.3 字符串比较 231
9.6.4 获得字符串长度 232
实例7 实现字符匹配 233
实例8 反转输出字符串 234
9.7 综合应用 235
9.7.1 逆序存放数据 235
9.7.2 相邻元素之和 235
9.8 本章常见错误 236
9.8.1 输出数组内容时后面出现乱码 236
9.8.2 sizeof(a)和sizeof(a+1) 236
9.9 本章小结 237
9.10 跟我上机 237
第10章 封装函数 239
10.1 函数概述 240
10.2 定义函数 240
10.2.1 函数定义形式 240
10.2.2 定义与声明 242
实例1 输出两个数中的最大值 243
实例2 判断素数 244
10.3 返回语句 245
10.3.1 终止一个函数 245
10.3.2 返回值 246
实例3 函数执行完毕自动返回 246
实例4 分数计算器程序 247
实例5 计算下面函数的值 249
实例6 返回值类型与return值类型 249
10.4 传递函数参数 250
10.4.1 形式参数与实际参数 250
10.4.2 数组做函数参数 252
10.4.3 main()函数传参 253
实例7 求学生的平均身高 254
实例8 数组作为函数参数 254
10.5 调用函数 255
10.5.1 函数调用方式 257
10.5.2 嵌套调用 260
10.5.3 递归调用 261
实例9 递归解决年龄问题 263
实例10 递归解决分鱼问题 264
10.6 内部函数和外部函数 265
10.6.1 内部函数 265
10.6.2 外部函数 266
实例11 内部函数的使用 266
实例12 外部函数的使用 267
10.7 综合应用 268
10.7.1 小数分离 268
10.7.2 固定格式输出当前时间 269
10.8 本章常见错误 269
10.8.1 函数定义时容易犯的错误 269
10.8.2 函数中返回的数组地址无效 270
10.8.3 声明函数时不要忘记加分号 270
10.9 本章小结 271
10.10 跟我上机 271
第11章 灵活应用指针 272
11.1 指针概述 273
11.1.1 地址与指针 273
11.1.2 保存变量的地址 274
11.1.3 使用指针变量 275
11.1.4 指针自加自减运算 279
实例1 使用指针实现整数排序 280
实例2 输出学生信息 281
11.2 使用指针引用数组元素 282
11.2.1 引用一维数组元素 282
11.2.2 引用二维数组元素 287
11.2.3 字符型指针的应用 290
实例3 使用指针输出数组元素 291
实例4 使用指针查找数列中最大值和最小值 292
11.3 指向指针的指针 292
11.4 指针在函数中的应用 294
11.4.1 指针做函数参数 294
11.4.2 指针做函数返回值 296
11.4.3 通过指针调用函数 297
实例5 求奇数之和 298
实例6 使用指针实现冒泡排序 299
11.5 指针数组做main()函数的参数 300
11.6 综合应用 302
11.6.1 用指针实现逆序存放数组元素 302
11.6.2 显示星期 303
11.7 本章常见错误 304
11.7.1 通过指针修改字符串出错 304
11.7.2 释放内存提示错误 304
11.7.3 释放空间以后,记得给指针赋空 304
11.8 本章小结 305
11.9 跟我上机 305
第12章 构造数据类型 307
12.1 结构体的定义和使用 308
12.1.1 结构体类型的概念 308
12.1.2 定义结构体变量 309
12.1.3 引用结构体成员 311
12.1.4 初始化结构体变量 312
实例1 输出商品信息 313
实例2 显示学生信息 314
12.2 结构体数组概述 315
12.2.1 定义结构体数组 316
12.2.2 初始化结构体数组 317
实例3 比较计数 318
实例4 找出最高分 319
12.3 包含结构的结构 320
12.4 共用体的应用 322
12.4.1 共用体的概念 322
12.4.2 引用共用体成员 322
12.4.3 初始化共用体变量 323
12.4.4 共用体类型的数据特点 324
实例5 共用体处理不同类型数据 325
实例6 取出整型数据的高字节数据 326
12.5 声明枚举类型 327
12.6 综合应用 328
12.6.1 候选人选票程序 328
12.6.2 使用共用体存放学生和老师信息 329
12.6.3 输出今天是星期几 330
12.7 本章常见错误 331
12.7.1 结构体字节对齐问题 331
12.7.2 用指针动态申请结构体内存时失败 332
12.7.3 忘记分号 332
12.8 本章小结 332
12.9 跟我上机 332
第13章 建立链表 334
13.1 结构体指针 335
13.1.1 指向结构体变量的指针 335
13.1.2 指向结构体数组的指针 338
13.1.3 结构体做函数参数 339
实例1 使用结构体变量作为函数参数 340
实例2 使用结构体指针作为函数参数 341
13.2 链表概述 342
13.3 链表的相关操作 344
13.3.1 创建链表 344
13.3.2 遍历链表 346
13.3.3 向链表中插入节点 347
13.3.4 从链表中删除节点 347
13.3.5 释放链表 349
实例3 创建链表并将数据输出 349
实例4 插入和删除学生信息 351
13.4 综合应用 354
13.4.1 查看学生成绩 354
13.4.2 修改日程安排 356
13.5 本章常见错误 358
13.5.1 头指针的保护 358
13.5.2 注意判断链表是否为空 358
13.6 本章小结 358
13.7 跟我上机 359
第14章 掌握位运算 361
14.1 位与字节的关系 362
14.2 位运算操作符 362
14.2.1 “与”运算符 363
14.2.2 “或”运算符 365
14.2.3 “取反”运算符 366
14.2.4 “异或”运算符 367
14.2.5 “左移”运算符 370
14.2.6 “右移”运算符 371
14.2.7 位运算复合赋值运算符 373
14.2.8 长度不同的数据进行位运算 373
实例1 使二进制数特定位翻转 373
实例2 将输入的数左移两位并输出 374
14.3 循环移位 375
14.4 位段概述 377
14.5 综合应用 380
14.5.1 取一个整数的后4位 380
14.5.2 整数与0异或 380
14.6 本章常见错误 381
14.6.1 区分&&和‖与&和| 381
14.6.2 注意位运算的数据类型 381
14.7 本章小结 381
14.8 跟我上机 382
第15章 内存管理 383
15.1 内存组织方式 384
15.1.1 内存组织方式 384
15.1.2 堆与栈 384
实例1 在堆中分配内存并释放 385
实例2 栈在函数调用时的操作 386
15.2 动态管理 387
15.2.1 malloc()函数 387
15.2.2 calloc()函数 388
15.2.3 realloc()函数 389
15.2.4 free()函数 390
实例3 使用malloc()函数分配内存 391
实例4 调用calloc()函数动态分配内存 391
15.3 内存丢失 392
15.4 变量的存储类别 393
15.4.1 动态存储与静态存储 393
15.4.2 定义auto变量 394
15.4.3 static静态变量 395
15.4.4 设为register变量 396
15.4.5 使用extem变量 396
实例5 auto变量的应用 396
实例6 使用static变量 397
实例7 计算1~5的阶层值 398
实例8 定义extem变量 398
15.5 综合应用 399
15.5.1 商品信息动态存放 399
15.5.2 为二维数组动态分配内存 400
15.6 本章常见错误 401
15.6.1 分配了一块内存空间,但没有初始化 401
15.6.2 释放内存空间后继续引用其内容 401
15.6.3 没有保存内存地址,造成此内存不可用 401
15.6.4 指针无法访问register变量 402
15.7 本章小结 402
15.8 跟我上机 402
第16章 编译预处理 404
16.1 宏定义 405
16.1.1 不带参数的宏定义 405
16.1.2 带参数的宏定义 407
实例1 不带参数的宏定义求平行四边形面积 408
实例2 使用宏定义实现数组值的互换 409
16.2 ≠include指令 410
16.3 条件编译 411
16.3.1 #if命令 411
16.3.2 #ifdef及#ifndef命令 414
16.3.3 #undef命令 415
16.3.4 #line命令 416
16.3.5 #pragma命令 416
实例3 使用条件编译隐藏密码 417
实例4 防止头文件重复包含 418
16.4 综合应用 418
16.4.1 编写头文件包含圆面积的计算公式 418
16.4.2 利用宏定义求偶数的和 419
16.5 本章常见错误 419
16.5.1 带参数的宏最好加括号 419
16.5.2 使用宏时注意事项 420
16.5.3 文件包含的嵌套 420
16.6 本章小结 420
16.7 跟我上机 421
第17章 使用文件处理数据 422
17.1 文件概述 423
17.2 文件基本操作 424
17.2.1 文件指针的概念 424
17.2.2 文件的打开 425
17.2.3 文件的关闭 427
实例1 打开文件 427
实例2 关闭文件 428
17.3 读写文件 429
17.3.1 写字符函数fputc() 429
17.3.2 读字符函数fgetc() 430
17.3.3 写字符串函数fputs() 431
17.3.4 读字符串函数fgets() 433
17.3.5 格式化写入函数fprintf() 434
17.3.6 格式化读取函数fscanf() 436
17.3.7 数据块读写函数fread()和fwrite() 438
实例3 关闭打开的所有文件 441
实例4 同时显示两个文件的内容 442
17.4 定位文件中的位置 443
17.4.1 随机读写操作 444
17.4.2 返回位置指针 444
17.4.3 得到文件当前位置 445
实例5 从字符串的指定位置输出 445
实例6 rewind()函数应用 446
实例7 求字符串的长度 448
实例8 复制文件内容 449
17.5 综合应用 450
17.5.1 创建文件 450
17.5.2 创建临时文件 451
17.6 本章常见错误 451
17.6.1 以a或a+的方式打开文件,指针却不在文件末尾 451
17.6.2 忘记调回指针,读不到内容 452
17.6.3 绝对路径要用双斜线\\ 452
17.7 本章小结 452
17.8 跟我上机 452
第18章 制作图形图像 454
18.1 制作文本窗口 455
18.1.1 定义文本窗口 455
18.1.2 设置窗口颜色 455
18.1.3 文本的输入和输出 456
18.1.4 掌握屏幕操作函数 457
实例1 输出hello world 458
实例2 以阶梯状输出文本,要求绿底黄字 459
实例3 movetext()函数应用 460
18.2 显示图形 461
18.2.1 初始化图形模式 461
18.2.2 设置屏幕颜色 464
18.2.3 基本图形函数 465
18.2.4 填充封闭图形 474
实例4 绘制圆 475
实例5 黄色网格填充的椭圆 476
18.3 图形屏幕的操作 476
18.4 图形模式下输出文本 479
18.4.1 文本输出函数 479
18.4.2 设置文本属性 480
实例6 输出字符串“welcome to our school” 481
实例7 按指定格式在指定位置输出字符串 481
18.5 综合应用 482
18.5.1 填充八边形 482
18.5.2 以不同的字体输出当前时间 483
18.6 本章常见错误 484
18.6.1 头文件和返回值 484
18.6.2 图形模式的初始化 484
18.7 本章小结 484
18.8 跟我上机 484
第3篇 实战篇 488
第19章 C语言游戏开发 488
19.1 推箱子游戏 489
19.1.1 概述 489
19.1.2 设计思路 489
19.1.3 技术要点 489
19.1.4 实现过程 490
19.2 贪吃蛇游戏 499
19.2.1 概述 499
19.2.2 设计思路 500
19.2.3 技术要点 500
19.2.4 实现过程 503
19.3 俄罗斯方块游戏 508
19.3.1 概述 508
19.3.2 设计思路 509
19.3.3 技术要点 510
19.3.4 实现过程 510
19.4 本章小结 518
第20章 图书管理系统 519
20.1 概述 520
20.1.1 需求分析 520
20.1.2 开发工具选择 520
20.2 系统设计 520
20.2.1 系统目标 520
20.2.2 系统功能结构 521
20.2.3 系统预览 521
20.2.4 开发及运行环境 522
20.3 数据库设计 522
20.3.1 安装MySQL数据库 523
20.3.2 启动MySQL数据库 526
20.3.3 创建数据库 527
20.3.4 数据表结构 528
20.4 C语言开发数据库程序的流程 528
20.5 C语言操作MySQL数据库 530
20.5.1 MySQL常用数据库操作函数 530
20.5.2 连接MySQL数据 532
20.5.3 查询图书表记录 533
20.5.4 插入图书表记录 535
20.5.5 修改图书表记录 536
20.5.6 删除图书表记录 538
20.6 文件引用 538
20.7 变量和函数定义 539
20.8 主要功能模块设计 540
20.8.1 显示主菜单信息 540
20.8.2 显示所有图书信息 541
20.8.3 添加图书信息 544
20.8.4 修改图书信息 549
20.8.5 删除图书信息 554
20.8.6 查询图书信息 558
20.9 本章小结 560
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《Prometheus技术秘笈》百里燊 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《林下养蜂技术》罗文华,黄勇,刘佳霖主编 2017
- 《脱硝运行技术1000问》朱国宇编 2019
- 《催化剂制备过程技术》韩勇责任编辑;(中国)张继光 2019
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《市政工程基础》杨岚编著 2009
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019