简介
本书以“班主任管家软件”项目为实际案例串联起C语言程序设计的所有重点内容,包括:用流程图描述业务流程,项目驱动案例设置,关键字、标识符及数的进制转换与表示,数据类型,运算符、表达式及语句,选择结构,循环结构,数组,函数,自定义类型,指针,文件。章后附有习题,帮助读者对重要知识点进行强化训练。
本书可作为普通高等学校理工科各专业C语言程序设计课程的教材,也可供同类从业人员参考。
目录
第1章 用流程图描述业务流程 1
1.1 用流程图描述高考志愿填报业务流程 / 1
1.1.1 高考志愿填报流程分析 / 1
1.1.2 流程图以及流程图的基本图形符号 / 2
1.2 用流程图描述公式法求一元二次方程解的过程 / 4
1.3 用流程图描述判断任一年份是否为闰年 / 5
1.3.1 判断任一年份是否为闰年的流程分析 / 6
1.3.2 用流程图描述“判断年份year 是否为闰年” / 6
1.4 实践训练:用流程图描述网上火车票购买流程 / 6
1.5 本章小结 / 7
课后习题 / 7
第2章 项目驱动案例设置 8
2.1 教学案例:学生班级成绩管理系统 / 8
2.1.1 学生班级成绩管理系统应用背景 / 8
2.1.2 学生班级成绩管理的需求 / 9
2.1.3 学生班级成绩管理系统开发情况 / 10
2.2 班主任管家软件的设计与实现 / 11
2.2.1 班主任管家软件开发目的 / 12
2.2.2 奖学金评定办法 / 12
2.2.3 系统信息规范化 / 13
2.2.4 班主任管家软件功能要求 / 13
2.2.5 性能需求 / 14
2.3 本章小结 / 14
第3章 关键字、标识符及数的进制转换 15
3.1 关键字 / 15
3.2 标识符 / 16
3.3 数的进制及转换 / 17
3.3.1 十进制 / 17
3.3.2 二进制 / 18
3.3.3 八进制 / 19
3.3.4 十六进制 / 20
3.4 计算机中数的表示 / 21
3.4.1 信息存储的相关概念 / 21
3.4.2 机器数的表示形式 / 21
3.5 本章小结 / 23
课后习题 / 24
第4章 数据类型 25
4.1 C语言数据类型 / 25
4.2 整型数据 / 26
4.2.1 整型常量 / 26
4.2.2 整型变量 / 26
4.2.3 整型变量的定义与使用 / 27
4.3 实型数据 / 28
4.3.1 实型常量的表示 / 28
4.3.2 实型变量 / 28
4.3.3 实型数据的舍入误差 / 29
4.4 字符型数据 / 30
4.4.1 字符常量 / 30
4.4.2 字符变量 / 30
4.5 字符串常量 / 31
4.6 格式输入与输出 / 31
4.6.1 格式输出函数printf / 31
4.6.2 格式输入函数scanf / 33
4.7 本章小结 / 34
课后习题 / 35
第5章 运算符、表达式及语句 36
5.1 算术运算符及算术表达式 / 36
5.1.1 算术运算符 / 36
5.1.2 算术表达式 / 37
5.1.3 负号运算符 / 37
5.1.4 自增、自减运算符 / 37
5.1.5 算术运算中数据类型转换规则 / 39
5.1.6 赋值运算中数据类型转换规则 / 40
5.2 关系运算符及关系表达式 / 40
5.2.1 关系运算符 / 40
5.2.2 关系表达式 / 41
5.3 逻辑运算符及逻辑表达式 / 41
5.3.1 逻辑运算符和逻辑表达式 / 41
5.3.2 逻辑与、逻辑或的“短路”功能 / 42
5.4 赋值运算符及表达式 / 43
5.4.1 赋值运算符 / 43
5.4.2 赋值表达式 / 43
5.4.3 复合赋值运算符 / 44
5.5 位运算符及表达式 / 45
5.5.1 左移运算 / 45
5.5.2 右移运算 / 45
5.5.3 位运算之间的优先级 / 46
5.6 其他运算符及表达式 / 46
5.6.1 逗号运算符及逗号表达式 / 46
5.6.2 容量运算符 / 47
5.6.3 条件运算符 / 47
5.7 C 语言语句及基本结构 / 48
5.7.1 表达式语句 / 48
5.7.2 函数调用语句 / 48
5.7.3 空语句 / 48
5.7.4 复合语句 / 48
5.7.5 控制语句 / 49
5.7.6 C语言的基本结构 / 49
5.8 本章小结 / 49
课后习题 / 49
第6章 选择结构 51
6.1 生活情景导入 / 51
6.2 if语句 / 52
6.2.1 简单if语句 / 52
6.2.2 两路选择if语句 / 54
6.2.3 多路选择if语句的嵌套 / 55
6.3 switch语句 / 59
6.4 if与switch语句比较 / 61
6.5 本章小结 / 61
课后习题 / 62
第7章 循环结构 64
7.1 生活情景导入 / 64
7.1.1 蜗牛爬竿 / 64
7.1.2 长跑比赛 / 65
7.2 while循环 / 65
7.3 do-while循环 / 68
7.4 while和do-while循环比较 / 69
7.5 for循环 / 70
7.6 循环嵌套 / 72
7.7 转移语句 / 74
7.7.1 break语句 / 74
7.7.2 continue语句 / 78
7.8 本章小结 / 79
课后习题 / 80
第8章 数组 83
8.1 C语言数组的引入 / 83
8.1.1 为什么要使用数组 / 83
8.1.2 数组的概念 / 84
8.1.3 数组的三要素 / 84
8.2 一维数组 / 85
8.2.1 一维数组的定义 / 85
8.2.2 一维数组的存储 / 85
8.2.3 一维数组的初始化 / 86
8.2.4 一维数组元素的引用 / 87
8.2.5 一维数组的应用 / 87
8.3 二维数组 / 93
8.3.1 二维数组的引入——摘水果竞赛 / 93
8.3.2 二维数组的定义 / 94
8.3.3 二维数组的存储 / 95
8.3.4 二维数组的初始化 / 95
8.3.5 二维数组的引用 / 96
8.3.6 二维数组的应用 / 96
8.4 字符数组与字符串 / 98
8.4.1 字符数组与字符串 / 98
8.4.2 字符数组的输入与输出 / 100
8.4.3 字符串函数 / 102
8.4.4 字符数组的应用 / 104
8.5 本章小结 / 106
课后习题 / 106
第9章 函数 110
9.1 函数式多文件程序结构 / 110
9.1.1 为什么采用多函数结构 / 111
9.1.2 为什么采用多文件结构 / 113
9.2 函数的定义、调用及声明 / 113
9.2.1 函数的分类 / 113
9.2.2 函数的定义 / 114
9.2.3 函数的调用 / 120
9.2.4 函数类型与函数的返回值类型 / 122
9.2.5 函数的声明 / 122
9.3 函数的参数传递 / 124
9.3.1 函数间数据传递 / 124
9.3.2 函数的参数传递数值 / 124
9.3.3 函数的参数传递地址 / 126
9.3.4 函数的参数传递小结 / 127
9.4 函数的嵌套与递归 / 127
9.4.1 函数的嵌套调用 / 127
9.4.2 函数的递归调用 / 129
9.5 变量的作用域与存储 / 131
9.5.1 变量的作用域 / 131
9.5.2 变量的存储 / 135
9.6 本章小结 / 138
课后习题 / 139
第10章 自定义类型 145
10.1 结构体 / 145
10.1.1 结构体类型 / 145
10.1.2 结构体的定义与声明 / 146
10.1.3 结构体变量的初始化与赋值 / 147
10.1.4 结构体应用 / 148
10.1.5 结构体的嵌套定义 / 149
10.2 共用体 / 150
10.2.1 共用体类型定义 / 150
10.2.2 工会会员类型定义 / 151
10.2.3 共用体与结构体的区别 / 154
10.3 枚举类型 / 154
10.3.1 枚举类型定义 / 154
10.3.2 枚举类型变量的赋值和使用 / 155
10.4 本章小结 / 156
课后习题 / 157
第11章 指针 159
11.1 指针与指针变量 / 159
11.1.1 指针的概念 / 159
11.1.2 指针变量的定义 / 160
11.1.3 指针变量的初始化 / 160
11.1.4 指针变量的运算 / 162
11.2 指针与数组 / 164
11.2.1 数组的指针 / 164
11.2.2 指向一维数组的指针变量 / 165
11.2.3 指向二维数组的指针变量 / 166
11.2.4 指向数组的指针做函数的参数 / 169
11.3 指针与字符串 / 170
11.3.1 用字符指针处理字符串常量 / 170
11.3.2 野指针 / 170
11.4 指针与函数 / 172
11.4.1 指针做函数的参数——地址型参数 / 172
11.4.2 返回值为指针的函数——指针函数 / 173
11.4.3 指向函数的指针变量——函数指针变量 / 174
11.5 本章小结 / 176
课后习题 / 177
第12章 文件 180
12.1 文件的引入 / 180
12.1.1 数据的临时存放 / 180
12.1.2 数据的永久存放 / 181
12.1.3 文件的分类 / 181
12.1.4 文件数据类型与文件指针 / 182
12.1.5 文件缓冲区 / 182
12.2 文件的操作 / 183
12.2.1 文件的打开 / 183
12.2.2 文件的关闭 / 184
12.2.3 以字符为单位的文件读写 / 185
12.2.4 以字符串为单位的文件读写 / 186
12.2.5 以数据块为单位的文件读写 / 188
12.3 文件的定位操作 / 189
12.3.1 rewind( )函数 / 190
12.3.2 fseek( )函数 / 190
12.3.3 ftell( )函数 / 191
12.4 文件出错检测 / 192
12.4.1 perror( )函数 / 193
12.4.2 ferror( )函数 / 193
12.5 本章小结 / 194
课后习题 / 195
部分习题参考答案与解析 197
附录 222
附录1 常用字符ASCII码对照表 / 222
附录2 C语言关键字/ 223
附录3 C语言运算符优先级和结合性 / 224
附录4 C语言常用库函数 / 226
参考文献 231
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问