C语言程序设计基础教程 慕课版
作者: 王海宾,刘霞 主编
出版时间: 2018年版
内容简介
本书以计算机语言的学习与认知过程为主线,以实践为主导,按照程序设计与编写的思路进行讲解,尽量使用通俗易懂的语言描述,避免空洞难懂的理论。首先让读者对语言、C语言、程序设计、C语言程序设计进行整体认知;随后为了养成良好的编程习惯,学习编程逻辑与规则;而后在实践中积累程序设计的基本元素—数据类型、常量、变量、运算符和表达式;在具备基本知识的过程中,逐渐在实践中感受程序的编写思路,并逐渐引入三大结构—顺序、分支和循环;在能够编写一些小程序后,引入数组存储批量数据;为了实现程序的模块化引入函数;为了存储复杂数据类型引入结构体;为了优化程序性能在实践中引入指针;为了改进程序运行环境,提高程序效率,引入预处理;最终为了完成数据的永久存储,引入文件的操作。本书精选大量实例贯穿知识点的讲解,并在每个章节末配有实训任务和精选习题,突出了C语言程序设计学习的实用性与可操作性。顺应“互联网+”教材趋势,本书提供了大量配套资源:微课视频、源代码、实训任务、PPT课件、课程大纲、题库等。本书适合作为高职院校计算机相关专业的教材;适合作为高职院校理工科公共课“C语言程序设计”的教材;也可作为计算机编程爱好者的入门必备书籍;同时还可作为计算机培训机构的培训教材。
目录
第1章 认知C语言程序设计 1
1.1 整体认知 1
1.1.1 什么是语言? 1
1.1.2 什么是C语言? 1
1.1.3 什么是程序设计? 2
1.1.4 什么是C语言程序设计? 4
1.2 为什么学习C语言程序设计 4
1.2.1 C语言的发展与趋势 4
1.2.2 C语言的重要性 4
1.3 环境搭建与实践步骤 5
1.3.1 环境搭建 5
1.3.2 开发步骤 7
1.4 第一个C语言程序 9
1.5 程序案例 10
1.6 本章小结 11
实训任务一 环境搭建与第一个
C语言程序 12
习题1 13
第2章 C语言程序开发前的准备 15
2.1 项目的开发流程 15
2.2 C语言程序的开发流程 16
2.3 C语言程序的结构 17
2.4 程序编写规范 19
2.5 程序与算法 20
2.6 流程图 21
2.7 程序案例 22
2.8 本章小结 23
实训任务二 程序流程图的绘制 23
习题2 24
第3章 语言基础—数据与运算 26
3.1 C语言程序的基本元素 26
3.2 标识符与关键字 26
3.2.1 标识符 27
3.2.2 关键字 28
3.3 数据类型 28
3.4 常量 29
3.4.1 直接常量 30
3.4.2 符号常量 32
3.5 变量 34
3.6 运算符与表达式 35
3.6.1 运算符基础 35
3.6.2 算术运算符与算术表达式 35
3.6.3 关系运算符和关系表达式 37
3.6.4 逻辑运算符和逻辑表达式 38
3.6.5 赋值运算符和赋值表达式 39
3.6.6 位运算符 40
3.6.7 其他运算符 42
3.6.8 运算符的优先级 43
3.7 类型的转换 43
3.8 程序案例 44
3.9 本章小结 47
实训任务三 程序中的数据与运算 48
习题3 48
第4章 程序逻辑处理—三大流程
结构 52
4.1 顺序结构 52
4.1.1 C语言程序中的语句 52
4.1.2 格式化数据的输入输出 53
4.1.3 字符数据的输入输出 58
4.2 分支结构 60
4.2.1 单分支结构 61
4.2.2 双分支结构 62
4.2.3 多分支结构 65
4.3 循环结构 71
4.3.1 for语句 72
4.3.2 while语句 76
4.3.3 do-while语句 78
4.3.4 三种循环语句的比较 79
4.3.5 break、continue、goto、return
语句 79
4.3.6 循环的嵌套 82
4.4 程序案例 84
4.5 本章小结 89
实训任务四 程序逻辑处理 90
习题4 91
第5章 批量数据的存储—数组 100
5.1 数组的认知 100
5.2 一维数组的定义、初始化与引用 101
5.2.1 一维数组的定义 101
5.2.2 一维数组的初始化 102
5.2.3 一维数组的引用 104
5.3 二维数组的定义、初始化与引用 105
5.3.1 二维数组的定义 105
5.3.2 二维数组的初始化 105
5.3.3 二维数组的引用 106
5.4 字符数组的定义、初始化与引用 108
5.4.1 字符数组的定义 108
5.4.2 字符数组的初始化 108
5.4.3 字符数组的引用 109
5.4.4 字符串和字符串结束标志 110
5.4.5 字符数组的输入输出 110
5.4.6 字符串处理函数 112
5.5 程序案例 117
5.6 本章小结 121
实训任务五 数组的应用 121
习题5 122
第6章 程序的模块化—函数 127
6.1 函数的认知 127
6.1.1 什么是函数? 127
6.1.2 为什么使用函数? 128
6.1.3 函数的分类 131
6.2 函数的定义、调用与声明 132
6.2.1 函数的定义 132
6.2.2 函数的调用 133
6.2.3 函数的参数和返回值 134
6.2.4 函数的声明 138
6.3 函数的嵌套 140
6.4 函数的递归 141
6.5 数组作为函数的参数 142
6.5.1 数组元素作为函数实参 143
6.5.2 数组名作为函数参数 144
6.6 变量的作用域 145
6.6.1 局部变量 145
6.6.2 全局变量 147
6.6 程序案例 148
6.8 本章小结 152
实训任务六 函数的应用 153
习题6 154
第7章 程序性能优化—指针 160
7.1 什么是指针? 160
7.2 为什么要使用指针? 161
7.3 指针变量的使用 161
7.3.1 指针变量的声明 161
7.3.2 指针变量的赋值 162
7.3.3 指针变量的引用 162
7.3.4 指针的加减运算 165
7.4 指针在数组中的应用 165
7.4.1 使用指针引用一维数组的
元素 166
7.4.2 使用指针引用二维数组的
元素 167
7.5 字符型指针引用字符串 169
7.6 指针数组和指向指针的指针 170
7.6.1 指针数组的概念 170
7.6.2 指向指针的指针 172
7.7 指针在函数中的应用 173
7.7.1 使用指针做函数参数 173
7.7.2 用指针做函数的返回值 175
7.7.3 使用指针调用函数 176
7.8 程序案例 179
7.9 本章小结 182
实训任务七 指针的使用,字符串
的处理 183
习题7 184
第8章 复杂数据类型—结构体与
共用体 190
8.1 结构体的认知 190
8.2 结构体变量的定义、初始化与
引用 191
8.2.1 结构体变量的定义 191
8.2.2 结构体变量的初始化 193
8.2.3 结构体变量的引用 194
8.3 结构体数组 196
8.3.1 结构体数组的定义 196
8.3.2 结构体数组的初始化 197
8.3.3 结构体数组的引用 197
8.4 结构体指针变量 199
8.4.1 指向结构体变量的指针 199
8.4.2 指向结构体数组的指针 200
8.5 共用体 201
8.5.1 定义共用体类型 201
8.5.2 共用体变量的定义 201
8.5.3 共用体变量的初始化与
引用 202
8.6 程序案例 203
8.7 本章小结 205
实训任务八 结构体和共用体 205
习题8 206
第9章 优化程序设计—预处理 209
9.1 宏定义 209
9.1.1 不带参数的宏定义 209
9.1.2 带参数的宏定义 212
9.2 文件包含 213
9.3 条件编译 215
9.4 程序案例 217
9.5 本章小结 219
实训任务九 预处理命令的使用 220
习题9 220
第10章 数据永久存储—文件操作 224
10.1 文件的认知 224
10.1.1 C语言中的数据流 225
10.1.2 文件指针 225
10.2 文件的打开与关闭 226
10.2.1 文件的打开 226
10.2.2 文件的关闭 228
10.3 文件的顺序读写 228
10.3.1 字符数据的读写 228
10.3.2 字符串数据的读写 232
10.3.3 二进制数据的读写 234
10.3.4 数据的格式化读写 236
10.4 文件的随机读写 238
10.5 文件读写的出错检测 240
10.6 程序案例 241
10.7 本章小结 243
实训任务十 文本的相关操作 244
习题10 245
附录A 标准字符与ASCII代码对照表 250
附录B C语言常用库函数 251
参考文献 255