图书简介:
任务一 显示评分系统标题 1
任务1.1 了解C语言的特点 2
1.1.1 程序设计语言概述 2
1.1.2 C语言的发展历史 3
1.1.3 认识C语言的特点 3
任务1.2 熟悉C语言程序开发环境 4
1.2.1 VC++6.0安装 4
1.2.2 程序设计的一般过程 6
1.2.3 C语言程序上机开发步骤 7
任务1.3 第一个C程序 11
1.3.1 C语言程序的结构 11
1.3.2 程序设计规范 12
实训1 显示评分系统标题 13
习题一 14
任务二 计算一名选手的得分 16
任务2.1 选手得分的输入/输出 17
2.1.1 标识符 18
2.1.2 变量 18
2.1.3 常量 19
2.1.4 数据类型 20
2.1.5 格式输出函数—printf() 24
2.1.6 格式输入函数—scanf() 25
2.1.7 字符输出函数—putchar() 26
2.1.8 字符输入函数—getchar() 27
任务2.2 选手总分和平均分的计算 28
2.2.1 算术运算符和算术表达式 29
2.2.2 赋值运算符和赋值表达式 33
2.2.3 关系运算符和关系表达式 34
2.2.4 逻辑运算符和逻辑表达式 34
2.2.5 逗号运算符和逗号表达式 36
任务2.3 知识扩展 37
2.3.1 程序应用 37
2.3.2 动手试试 40
实训2 计算一名选手得分 43
习题二 45
任务三 找出最高分和最低分 47
任务3.1 找出最高分及最低分 48
3.1.1 C语言程序的基本控制结构 49
3.1.2 if 语句 50
3.1.3 if语句使用注意事项 53
3.1.4 条件运算符和条件表达式 54
3.1.5 交换语句 55
任务3.2 将选手的平均得分转换成相应等级 55
3.2.1 if语句的嵌套 58
3.2.2 switch语句(不带break) 59
3.2.3 switch语句(带break) 60
3.2.4 switch语句使用注意事项 61
任务3.3 知识扩展 61
3.3.1 程序应用 62
3.3.2 动手试试 64
实训3 找最大值和最小值 66
习题三 67
任务四 计算一名选手最后得分 71
任务4.1 计算一名选手最后得分 72
4.1.1 for语句 73
4.1.2 while语句 76
4.1.3 do-while语句 78
4.1.4 break语句 79
4.1.5 continue语句 80
任务4.2 计算多名选手最后得分 81
4.2.1 for语句的嵌套 83
4.2.2 循环语句之间的相互嵌套 84
任务4.3 知识扩展 85
4.3.1 程序应用 85
4.3.2 动手试试 87
实训4 计算一名选手的最后得分 88
习题四 89
任务五 选手得分排序 93
任务5.1 分析数据存储结构 94
5.1.1 一维数组的定义及引用 94
5.1.2 一维数组的存储形式 96
任务5.2 选手得分的输入/输出 97
5.2.1 一维数组的初始化 97
5.2.2 一维数组元素赋值 97
5.2.3 一维数组的输入/输出 97
任务5.3 选手得分排序 98
5.3.1 冒泡法排序 98
5.3.2 选择法排序 99
实训5 选手得分排序 100
习题五 101
任务六 多名选手得分计算与排序 103
任务6.1 二维数组数据结构 104
6.1.1 二维数组的定义及引用 104
6.1.2 二维数组的存储形式 104
6.1.3 二维数组的使用 105
任务6.2 二维数组的应用 106
实训6 多名选手得分计算与排序 108
习题六 109
任务七 处理选手姓名 111
任务7.1 认识字符型数据 112
7.1.1 字符常量 112
7.1.2 字符变量 113
7.1.3 字符串常量 114
任务7.2 认识字符数组 114
7.2.1 字符数组的定义和引用 114
7.2.2 字符数组的初始化 115
任务7.3 字符串的输入和输出 116
任务7.4 字符串的处理 118
7.4.1 常用字符串处理函数 119
7.4.2 字符串函数应用举例 120
7.4.3 动手试试 121
实训7 处理选手姓名 123
习题七 124
任务八 设计简易评分系统 127
任务8.1 认识函数 128
任务8.2 函数的定义和调用 129
8.2.1 函数的定义 129
8.2.2 函数的调用 130
任务8.3 函数的参数和返回值 132
8.3.1 函数的参数 132
8.3.2 函数的返回值 135
任务8.4 函数的嵌套和递归调用 136
8.4.1 函数的嵌套调用 136
8.4.2 函数的递归调用 137
任务8.5 什么是局部变量和全局变量 139
8.5.1 局部变量 139
8.5.2 全局变量 140
任务8.6 编译预处理 142
8.6.1 宏定义 143
8.6.2 文件包含 144
8.6.3 动手试试 145
实训8 设计简易评分系统(一) 148
实训9 设计简易评分系统(二) 149
习题八 151
任务九 利用指针设计评分系统 157
任务9.1 认识指针 158
9.1.1 访问内存的两种方式 158
9.1.2 指针的概念 160
任务9.2 变量的指针 160
9.2.1 指针变量的定义及初始化 160
9.2.2 指针变量的引用 161
9.2.3 指针变量作为函数参数 163
任务9.3 指针与数组 167
9.3.1 指向数组元素的指针 167
9.3.2 一维数组的指针 168
9.3.3 用指针实现一位选手5个评分的输入和输出 169
9.3.4 二维数组的指针 170
9.3.5 用指针实现N位选手5个评分的输入和输出 173
9.3.6 指向数组的指针作函数的参数 174
任务9.4 字符串的指针 178
9.4.1 指向字符串的指针变量 178
9.4.2 程序举例 180
9.4.3 自己动手 181
任务9.5 用指针优化评分系统 183
实训10 利用指针设计评分系统 184
习题九 185
任务十 设计完整评分系统 189
任务10.1 确定选手基本信息的类型 190
10.1.1 结构体类型 191
10.1.2 定义选手结构体类型 191
10.1.3 定义选手结构体类型变量 193
任务10.2 选手信息的录入和输出 195
10.2.1 结构体变量初始化 196
10.2.2 结构体变量成员的访问 197
10.2.3 输入和输出选手基本信息 198
任务10.3 批量处理选手数据 199
10.3.1 结构体数组 199
10.3.2 输入和输出多名选手的基本信息 201
10.3.3 指向结构体的指针 202
任务10.4 计算选手最后得分和名次 204
任务10.5 了解共用体类型和枚举类型 206
10.5.1 共用体类型 206
10.5.2 枚举类型 210
10.5.3 自定义类型 212
实训11 设计完整评分系统 213
习题十 214
任务十一 保存与查询评分系统数据 217
任务11.1 文件类型指针变量的定义 218
11.1.1 文件 219
11.1.2 文件指针 220
11.1.3 定义文件指针变量 220
任务11.2 文件的打开和关闭 220
11.2.1 打开评分系统的输入输出文件 220
11.2.2 打开文件函数 221
11.2.3 关闭文件函数 222
任务11.3 文件的读写 222
11.3.1 将评委给分导入到程序(读文件) 222
11.3.2 保存比赛成绩及排名到文件(写文件) 223
11.3.3 文件的读写函数 224
实训12 文件的读写操作 227
习题十一 228
附录 230
附录A ASCⅡ代码表 230
附录B C运算符的优先级与结合性 231
附录C Turbo C2.0常用的库函数及其标题文件 232
展开
在众多的程序设计语言中,C语言以其灵活性和实用性成为目前使用最广泛的高级程序设计语言之一,几乎任何一种机型、任何一种操作系统都支持C语言开发。C语言程序支持大型数据库开发和Internet应用,其应用领域在不断拓展。因此,C语言程序设计成为工科专业必修的专业基础课程。
本书以C语言为工具,打破传统的教材体系,改以工作任务为载体,以工作过程(即程序设计的过程)为依据,整合、序化教学内容,科学设计学习性工作任务。使学生掌握程序设计的基本思想、方法和技术内涵,着重培养学生分析问题、解决问题的能力,同时,让学生在学习程序设计的过程中,养成良好的编程习惯和编程风格,为后续的专业应用性课程和系统开发课程的学习打下良好的基础。
在内容选取时,注重针对性和适用性相结合,以实现课程目标为依据,以提高学生程序设计能力为核心,以应用性项目开发为主线,以C语言语法和结构为基础,以工作任务(学习任务)为载体,设计综合性的学习任务(项目)。本课程设计的综合性项目为“校园歌手大赛计分系统的设计”,项目的开发实施能将课程的全部内容具体化。在研究和分析完成该项目所需要的知识结构的基础上,将课程内容进行重构,细分为了十一个相对独立的子任务,每一个子任务包含一个完整的工作过程,子任务之间有相对的独立性,同时遵循知识的连续性。各个任务的主要内容如下:
任务1:显示评分系统标题。通过任务的实施了解C语言程序的基本构成和特点、以及C语言程序的开发环境。
任务2:计算一名选手的得分。通过任务的实施熟悉C语言的基本语法单位、基本数据类型、常量与变量、运算符与表达式的使用;掌握格式输入函数scanf()和格式输出函数printf()的使用。
任务3:找出最高分和最低分。通过任务实施了解结构化程序设计的概念,理解选择(分支)结构程序的设计,熟练掌握if语句和switch语句的程序设计。
任务4:计算一名选手最后得分。通过任务实施理解循环结构程序的设计,熟练掌握for、while、do-while语句的程序设计,掌握转移控制语句break、continue、goto语句的使用。
任务5:选手得分排序。通过任务实施掌握一维数组的定义、存储结构、输入输出和使用方法。
任务6:多名选手得分计算与排序。通过任务实施掌握二维数组的定义、存储结构、输入输出和使用方法。
任务7:处理选手姓名。通过任务实施理解字符型数据的存储结构,掌握字符数组的定义、输入输出、使用方法以及常用的字符串处理函数。
任务8:设计简易评分系统。通过任务实施理解模块化设计的思想,学会程序的模块化设计,熟悉形式参数与实际参数的概念,掌握函数的定义和调用、函数的类型和返回值。
任务9:利用指针设计评分系统。通过任务实施了解地址的概念,熟悉指针、指针变量、指针常量的概念和指针运算。
任务10:设计完整评分系统。通过任务实施掌握结构体类型、结构体变量的定义、成员访问、结构体数组的定义和使用,了解共用体类型、枚举类型的定义及其变量的使用方法。
任务11:保存与查询评分系统数据。将比赛成绩及排名保存下来,需要时可以查询。通过任务实施了解文件的概念,熟悉文件的存取方法,掌握文件指针的概念及其正确的使用方法,掌握文件读写函数的使用。
为了让读者更好地掌握所学知识,在每个任务后面配备了相应的实训内容和习题,以起到复习理论、提高实践能力的作用。
本书由刘宇容、张文梅主编,张艳莉、刘雅婷副主编,参与本书编写的还有来自企业的叶树瑶、周永钊先生,在此表示由衷感谢。本书凝聚了编者多年的教学经验,在编写过程中,由于编写时间仓促,难免有不足和疏漏之处,恳请广大读者批评指正。
本书提供电子教案、书中案例程序的源代码,读者可从华信教育资源网www.hxedu.com.cn下载。
展开