简介
《C语言程序设计案例课堂》以零基础讲解为宗旨,用实例引导读者深入学习,采取“基础入门→核心技术→高级应用→项目开发实战”的讲解模式,深入浅出地讲解C语言的各项技术及实战技能。
《C语言程序设计案例课堂》第Ⅰ篇“基础入门”主要讲解走进C语言的世界、常量与变量、数据类型、输入和输出、运算符和表达式、程序流程控制结构等;第Ⅱ篇“核心技术”主要讲解数组、算法与流程图、函数与函数中变量、指针、操作文件、编译与预处理指令、使用库函数等;第Ⅲ篇“高级应用”主要讲解位运算,结构体、共用体和枚举,动态数据结构,数据结构进阶,排序等;第Ⅳ篇“项目开发实战”主要讲解开发日历查阅系统、开发员工信息管理系统、开发迷宫小游戏。
《C语言程序设计案例课堂》适合任何想学习C语言编程的人员,无论您是否从事计算机相关行业,无论您是否接触过C语言,通过学习本书均可快速掌握C语言在项目开发中的知识和技巧。
目录
目 录
第I篇 基础入门
第1章 初识庐山真面目——走进C语言的世界 3
1.1C语言概述 4
1.1.1C语言的发展史 4
1.1.2C语言的特点 5
1.1.3C语言的应用 6
1.2C语言的常用开发环境 6
1.2.1Visual C 6.0开发环境 7
1.2.2Turbo C 2.0开发环境 11
1.3 编写*个C语言程序 13
1.3.1C语言编译机制 13
1.3.2在Visual C 6.0中开发C程序 13
1.3.3在Turbo C中开发C程序 17
1.4C语言程序的组成 19
1.4.1C语言程序整体风貌 19
1.4.2#include的秘密 19
1.4.3程序的出入口——main函数 20
1.4.4数据集装箱——常量和变量 21
1.4.5如何输出程序结果——输出函数 21
1.4.6注释 21
1.4.7代码书写规范 22
1.5 大神解惑 23
1.6 跟我学上机 23
第2章 程序中的变与不变——常量与变量 25
2.1 标识符和关键字 26
2.1.1标识符 26
2.1.2关键字 26
2.2 常量 27
2.2.1整数常量 27
2.2.2浮点常量 28
2.2.3字符常量 28
2.2.4字符串常量 30
2.2.5符号常量 30
2.3 变量 31
2.3.1变量的定义 32
2.3.2变量的声明 32
2.3.3变量的初始化与赋值 33
2.3.4变量的分类 34
2.4 综合案例——处理学生的期末成绩 38
2.5 大神解惑 40
2.6 跟我学上机 40
第3章 程序中的数据种类——数据类型 41
3.1 数制 42
3.1.1二进制 42
3.1.2八进制 42
3.1.3十六进制 42
3.1.4数制间的转换 42
3.2 整型数据 45
3.2.1整型数据的存放形式 46
3.2.2整型变量的溢出 47
3.3 浮点型数据 48
3.3.1浮点型数据的存放形式 48
3.3.2有效数字 49
3.4 字符型数据 50
3.5 数据类型的转换 50
3.5.1隐式转换 50
3.5.2显式转换 52
3.6 综合案例——各种进制的转换 53
3.7 大神解惑 55
3.8 跟我学上机 55
第4章 用户与计算机的交互——输入和输出 57
4.1 标准输入输出 58
4.2 格式化输入输出 58
4.2.1格式化输出函数 59
4.2.2格式化输入函数 62
4.3 字符输入输出 65
4.3.1字符的输出函数 65
4.3.2字符的输入函数 66
4.4 字符串的输入输出 67
4.4.1字符串的输出函数 67
4.4.2字符串的输入函数 68
4.5 综合案例——输入和输出的综合应用 69
4.6 大神解惑 70
4.7 跟我学上机 70
第5章 谁来操作数据——运算符和表达式 71
5.1 运算符 72
5.1.1运算符的分类 72
5.1.2运算符的优先级和结合性 72
5.2 表达式 73
5.3 运算符与表达式 74
5.3.1算术运算符与算术表达式 74
5.3.2赋值运算符与赋值表达式 77
5.3.3关系运算符与关系表达式 79
5.3.4逻辑运算符与逻辑表达式 81
5.3.5位运算符与位运算表达式 83
5.3.6条件运算符与条件表达式 85
5.3.7逗号运算符与逗号表达式 86
5.4 语句 87
5.4.1表达式语句 87
5.4.2函数调用语句 87
5.4.3控制语句 88
5.4.4复合语句 88
5.4.5空语句 88
5.5 综合案例——关系运算符的应用 89
5.6 大神解惑 89
5.7 跟我学上机 90
第6章 程序的执行方向——程序流程控制结构 91
6.1 顺序结构 92
6.2 选择结构 93
6.2.1if语句 93
6.2.2if…else语句 94
6.2.3选择嵌套语句 95
6.2.4switch分支结构语句 99
6.3 循环结构 101
6.3.1while语句 101
6.3.2do…while语句 102
6.3.3for语句 103
6.3.4循环语句的嵌套 105
6.4 跳转语句 106
6.4.1break语句 106
6.4.2continue语句 107
6.4.3goto语句 108
6.5 综合案例——制作简易计算器 109
6.6 大神解惑 111
6.7 跟我学上机 112
第Ⅱ篇 核心技术
第7章 特殊的元素集合——数组 115
7.1 数组概述 116
7.2 一维数组 116
7.2.1一维数组的定义 116
7.2.2一维数组的引用 118
7.2.3一维数组的初始化 119
7.2.4程序实例 121
7.3 二维数组 123
7.3.1二维数组的定义 123
7.3.2二维数组的引用 124
7.3.3二维数组的初始化 125
7.3.4多维数组 127
7.3.5程序实例 128
7.4 字符数组 131
7.4.1字符数组的定义和初始化 131
7.4.2字符串和字符数组 133
7.4.3字符数组的输出与输入 134
7.4.4字符串处理函数 137
7.5 综合案例——矩阵的乘法 141
7.6 大神解惑 143
7.7 跟我学上机 143
第8章 程序描述——算法与流程图 145
8.1 算法概述 146
8.1.1算法的概念 146
8.1.2算法的特性 146
8.1.3算法的优劣 147
8.2 流程图简介 148
8.2.1传统流程图 148
8.2.2N-S流程图 150
8.3 算法的表示 150
8.3.1自然语言表示法 150
8.3.2流程图表示法 152
8.3.3N-S流程图表示法 156
8.3.4伪代码表示法 159
8.3.5计算机语言表示法 162
8.4 结构化程序设计方法 163
8.5 综合案例——求解一元二次方程的根 163
8.6 大神解惑 166
8.7 跟我学上机 166
第9章 C语言灵魂——函数与函数中变量 167
9.1 函数概述 168
9.1.1函数的概念 168
9.1.2函数的分类 169
9.1.3函数的声明与定义 171
9.2 函数的返回语句 174
9.2.1函数的返回值 175
9.2.2函数的结束标志 176
9.2.3函数的返回值类型 177
9.3 函数的参数 178
9.3.1形式参数与实际参数 178
9.3.2参数的传递方式 179
9.4 函数的调用 182
9.4.1函数调用的方式 182
9.4.2函数的嵌套调用 185
9.4.3函数的递归调用 188
9.5 内部函数与外部函数 192
9.5.1内部函数 192
9.5.2外部函数 193
9.6main()函数的参数 195
9.7 局部变量和全局变量 196
9.7.1局部变量 196
9.7.2全局变量 198
9.8 变量的存储类别 202
9.8.1动态存储与静态存储 203
9.8.2自动变量 203
9.8.3静态变量 205
9.8.4寄存器变量 209
9.8.5外部变量 210
9.9 综合案例——求解非线性方程 212
9.10大神解惑 215
9.11跟我学上机 217
第10章 灵活调用内存地址——指针 219
10.1指针概述 220
10.1.1地址与指针 220
10.1.2指针变量 221
10.1.3指针变量的引用 223
10.2指针与函数 226
10.2.1指针变量作为函数参数 226
10.2.2函数返回指针 229
10.2.3指向函数的指针 231
10.3指针与数组 233
10.3.1数组元素的指针 234
10.3.2指针的运算 234
10.3.3通过指针引用数组元素 235
10.3.4指向数组的指针变量作为函数参数 238
10.3.5通过指针对多维数组进行引用 244
10.4指针与字符串 250
10.4.1字符指针 250
10.4.2使用字符指针作函数参数 253
10.4.3字符数组与字符指针变量的区别 256
10.5指针数组和多重指针 258
10.5.1指针数组 258
10.5.2指向指针的指针 262
10.6综合案例——使用指针操作数组 267
10.7大神解惑 272
10.8跟我学上机 275
第11章 数据存储——操作文件 277
11.1文件概述 278
11.1.1文件类型 278
11.1.2文件指针 279
11.1.3文件的缓冲区 280
11.2文件的打开与关闭 281
11.2.1文件的打开 281
11.2.2文件的关闭 282
11.3文件的读写 283
11.3.1字符的读写 283
11.3.2字符串的读写 287
11.3.3数据块的读写 291
11.3.4格式化读写函数 295
11.4文件定位与文件的随机读写 298
11.4.1文件头定位函数rewind() 299
11.4.2当前读写位置函数ftell() 300
11.4.3随机定位函数fseek() 301
11.5文件检测函数 304
11.5.1文件结束判断函数feof() 304
11.5.2文件读写错误检测函数ferror() 305
11.5.3文件错误标志清除函数clearerr() 307
11.6综合案例——文件的综合操作 308
11.7大神解惑 316
11.8跟我学上机 316
第12章 未雨绸缪——编译与预处理指令 317
12.1预处理指令 318
12.2宏定义 318
12.2.1变量式宏定义 318
12.2.2宏定义的嵌套 321
12.2.3宏定义的作用范围 322
12.2.4带参数的宏定义 323
12.2.5宏定义的多行表示 327
12.3文件包含 327
12.4条件编译 329
12.4.1条件编译命令 329
12.4.2调试中使用DEBUG宏 332
12.4.3文件的嵌套包含与条件编译 333
12.5综合案例——求解圆、矩形以及三角形的面积 334
12.6大神解惑 335
12.7跟我学上机 335
第13章 提高开发效率——使用库函数 337
13.1标准C库函数 338
13.2数学函数“math.h” 338
13.2.1求幂函数与开平方函数 338
13.2.2指数函数与对数函数 339
13.2.3三角函数 340
13.2.4*值函数 341
13.2.5取整函数与取余函数 342
13.3字符串函数“string.h” 343
13.3.1字符串长度函数 343
13.3.2字符串连接函数 344
13.3.3字符串复制函数 345
13.3.4字符串大小写转换函数 346
13.3.5字符串查找函数 347
13.3.6字符串比较函数 348
13.4字符函数“ctype.h” 349
13.4.1字符的类型判断函数 349
13.4.2字符大小写转换函数 351
13.5其他函数 352
13.5.1随机函数 352
13.5.2日期时间函数 353
13.5.3结束程序函数 354
13.6综合案例——创建报数游戏 355
13.7大神解惑 356
13.8跟我学上机 357
第III篇 高级应用
第14章 内部数据操作——位运算 361
14.1位(bit)与字节(byte)的关系 362
14.2位运算符 362
14.2.1按位与运算符(&) 362
14.2.2按位或运算符(|) 363
14.2.3按位异或运算符(^) 364
14.2.4按位取反运算符(~) 365
14.2.5左移运算符(<<) 366
14.2.6右移运算符(>>) 367
14.2.7位复合赋值运算符 368
14.3循环移位 368
14.3.1循环左移 369
14.3.2循环右移 370
14.4位段 371
14.4.1位段的定义 371
14.4.2位段中数据的引用 371
14.5综合案例——将十进制数转换为二进制数 373
14.6大神解惑 374
14.7跟我学上机 375
第15章 灵活定义数据类型——结构体、共用体和枚举 377
15.1结构体概述 378
15.1.1结构体类型 378
15.1.2定义结构体变量 379
15.1.3初始化结构体变量 381
15.1.4结构体变量的引用 381
15.2结构体数组 383
15.2.1定义结构体数组 383
15.2.2结构体数组的初始化 384
15.2.3结构体数组元素的引用 385
15.2.4结构体数组应用实例 386
15.3结构体指针 388
15.3.1指向结构体变量的指针 388
15.3.2指向结构体数组的指针 390
15.3.3结构体变量作为函数参数 391
15.3.4指向结构体变量的指针作为函数参数 393
15.3.5结构体作为函数的返回值 394
15.4共用体 395
15.4.1共用体的定义 395
15.4.2共用体变量的定义 396
15.4.3共用体变量的初始化以及引用 397
15.5枚举 399
15.5.1定义枚举类型 400
15.5.2定义枚举类型变量 400
15.6综合案例——创建学生信息结构体 402
15.7大神解惑 403
15.8跟我学上机 404
第16章 动态存储分配——动态数据结构 405
16.1动态存储分配概述 406
16.1.1malloc()函数 406
16.1.2calloc()函数 407
16.1.3realloc()函数 408
16.1.4free()函数 409
16.2链表概述 410
16.2.1链表结点的定义 411
16.2.2链表的建立 411
16.2.3链表的遍历 412
16.2.4链表结点的插入 413
16.2.5链表结点的删除 417
16.3综合案例——综合应用链表 420
16.4大神解惑 421
16.5跟我学上机 422
第17章 逻辑结构——数据结构进阶 423
17.1数据结构概述 424
17.2线性表 425
17.3栈 426
17.3.1栈的基本操作 427
17.3.2顺序栈 427
17.3.3链式栈 429
17.4队列 431
17.4.1队列的基本运算 432
17.4.2顺序队列 432
17.4.3链式队列 436
17.5二叉树 441
17.5.1二叉树的定义 441
17.5.2二叉树的遍历 442
17.6查找 442
17.6.1顺序查找 442
17.6.2折半查找 444
17.7综合案例——使用栈转换数据的进制 446
17.8大神解惑 447
17.9跟我学上机 448
第18章 整理数据的妙招——排序 449
18.1排序概述 450
18.2插入排序 450
18.2.1直接插入排序 450
18.2.2希尔排序 452
18.3选择排序 453
18.3.1简单选择排序 453
18.3.2堆排序 455
18.4交换排序 457
18.4.1冒泡排序 457
18.4.2快速排序 458
18.5归并排序 460
18.6基数排序 462
18.7大神解惑 464
18.8跟我学上机 465
第IV篇 项目开发实战
第19章 项目实训1——开发日历查阅系统 469
19.1需求分析 470
19.2功能分析 470
19.3开发前准备工作 472
19.4系统代码编写 476
19.4.1查询年历函数showCalendarOfYear() 476
19.4.2查询月历函数showCalendarOfMonth() 477
19.4.3日期查询模块 478
19.5系统运行 485
19.6项目总结 486
第20章 项目实训2—— 开发员工信息管理系统 487
20.1需求分析 488
20.2功能分析 489
20.3开发前准备工作 490
20.4系统代码编写 491
20.4.1main.c文件 491
20.4.2employee.c文件 495
20.5系统运行 499
20.6项目总结 500
第21章 项目实训3——开发迷宫小游戏 501
21.1需求分析 502
21.2功能分析 502
21.3开发前准备工作 504
21.4系统代码编写 505
21.4.1main.c文件 505
21.4.2mazeGame.c文件 507
21.5系统运行 513
21.6项目总结 514
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问