0


C语言程序设计案例教程(第二版)
作者:王明福丛书名: ISBN:978-7-5685-1503-0页数: 开本:装帧:平装 出版时间:2018-06-01中图分类:
¥43.80

编辑推荐

《C语言程序设计案例教程》(第二版)是“十三五”职业教育国家规划教材、“十二五”职业教育国家规划教材,也是新世纪高职高专教材编审委员会组编的计算机应用技术专业系列规划教材之一。本教材作为国家级精品课程“C语言程序设计”的配套教材,吸收省示范性专业建设中的教学改革成果,教材建设不但注重知识的讲授,而且强调基本技能的训练。本教材共10章:初识C语言;数据类型、运算符与表达式;顺序结构程序设计;选择结构;循环结构;数组;函数;结构体、共用体和枚举类型;指针;文件。
  《C语言程序设计案例教程》(第二版)是“十三五”职业教育国家规划教材、“十二五”职业教育国家规划教材,也是新世纪高职高专教材编审委员会组编的计算机应用技术专业系列规划教材之一。
  C语言是目前应用非常广泛的高级程序设计语言。它是高等院校计算机类和电子信息类各专业的核心课程,在人才培养中占有重要的地位和作用。
  本教材作为国家级精品课程“C语言程序设计”的配套教材,吸收省示范性专业建设中的教学改革成果,教材建设不但注重知识的讲授,而且强调基本技能的训练。
  本教材的编写理念是:以就业为导向,以学生为主体,着眼于学生职业生涯发展,注重职业素养的培养。本教材采用“案例引入+知识学习+案例拓展+自测练习”的四位一体教学模式组织教学内容。每章安排“模仿练习”和“拓展训练”两个层次的实训环节,用于模仿、验证概念、语法规则及其应用,以适应自主学习、合作学习和个性化教学。前6章选择与章节内容关联的小案例,作为问题引入;从第7章开始,以综合案例“学生成绩管理系统”为任务驱动,伴随系统的设计、开发、优化到最后完善,使学生了解项目实施的过程,掌握基础知识,在职业情境中实现知识构建。
  本教材具有如下特色:
  1.作为一门专业基础课教材,主线上仍保留或沿袭理工科课程以“学科体系”为线索的指导思想,即在教材内容的知识结构上,依然以概念、定律、定理为线索进行编写,有别于专业技能课教材。
  2.为了满足“以能力为中心”的培养目标要求,本教材改变传统基础课教材的编写方法,在掌握必需的理论知识的基础上,突出技术的综合应用能力培养,加强实践操作和技能训练。充分考虑高职学生特点和学习规律,精心设计经典有趣案例,采用案例教学和任务驱动方式,增加了“模仿练习”和“拓展训练”两个层次的实训环节,体现“做中学、做中教,教学做合一”的理论实践一体化思想,使学生的学习重心从“学会知识”扩展到“学会学习、掌握方法和培养能力”上。
  3.“算法”是程序设计的灵魂,是程序设计方法的核心内容。本教材突破传统的知识内容归属问题,将“算法设计”渗透到教材的每一个案例中,从而培养学生的程序设计能力,掌握程序设计方法。
  4.案例的选择遵循“趣味、实用、易学”的特点,部分来自企业和近几届全国“蓝桥杯”软件大赛的变形考题。充分反映产业升级、技术进步和职业岗位变化的要求,从而使教材内容体现新知识、新技术和新方法。
  本教材共10章,前5章介绍了C语言的基本概念、语法规则和程序设计方法;第6章至第10章分别介绍了数组,函数,结构体、共用体和枚举类型,指针,文件。
  本教材配套立体化教学资源,主要包括微课、电子课件、教案、教学大纲、习题和参考答案、模仿练习、实训项目、自我测试题等源程序代码。方便教师授课和学生自学。
  本教材既可以作为高职高专院校计算机相关专业C语言程序设计课程的教材,也可以作为应用型本科相关专业学习C语言程序设计的教材,还可以作为全国“蓝桥杯”软件大赛的参考指导书。
  尽管我们在编写本教材的过程中做了很多努力,但由于作者水平所限,不当之处在所难免,恳请各位读者批评指正,并将意见和建议及时反馈给我们,以便下次修订时改进。  
 
第1章 初识C语言 / 1
 案例1 开篇例程:学生成绩管理系统 / 1
 1.1 C语言概述 / 2
  1.1.1 C语言的产生和发展 / 2
  1.1.2 C语言的特点 / 3
 1.2 C语言程序 / 4
  1.2.1 简单的C程序 / 4
  1.2.2 C程序的结构 / 5
 1.3 C程序的开发 / 7
  1.3.1 C程序的开发过程 / 7
  1.3.2 Visual C++ 6.0开发环境 / 8
  1.3.3 工程设置 / 10
 1.4 程序设计基础* / 11
  1.4.1 基本概念 / 11
  1.4.2 算法的特性 / 12
  1.4.3 算法的描述 / 13
  1.4.4 程序设计方法 / 14
 1.5 情景应用——训练项目 / 15
  项目1-1 Visual C++ 6.0开发工具的使用 / 15
  项目1-2 多程序文件的工程设置 / 16
 自我测试练习 / 16

第2章 数据类型、运算符与表达式 / 18
 案例2 饮料交换问题 / 18
 2.1 字符集、关键字和标识符 / 18
  2.1.1 字符集 / 18
  2.1.2 关键字(保留字) / 19
  2.1.3 标识符 / 19
  2.1.4 C语言的编程规范 / 19
 2.2 C语言的数据类型 / 21
  2.2.1 C语言的数据类型分类 / 21
  2.2.2 整型数据 / 22
  2.2.3 实型数据 / 24
  2.2.4 字符型数据 / 25
 2.3 常量与变量 / 26
  2.3.1 常 量 / 26
  2.3.2 变 量 / 29
 2.4 运算符与表达式 / 31
  2.4.1 C语言运算符 / 31
  2.4.2 算术运算符和算术表达式 / 31
  2.4.3 数据间的混合运算与类型转换 / 34
  2.4.4 位运算和位运算符 / 36
  2.4.5 赋值运算符和赋值表达式 / 40
  2.4.6 逗号运算符和逗号表达式 / 41
  2.4.7 案例2的解答 / 42
 2.5 情景应用——案例拓展 / 43
  案例2-1 利用星号字符“*”输出矩形 / 43
  案例2-2 计算a+=a*=a/=a-5 / 44
  案例2-3 十进制数与二进制数的转换 / 44
 自我测试练习 / 45

第3章 顺序结构程序设计 / 48
 案例3 算术计算器 / 48
 3.1 结构化程序设计的基本概念 / 48
  3.1.1 三种基本结构 / 48
  3.1.2 C语言的基本语句 / 49
 3.2 顺序结构的基本语句 / 50
  3.2.1 赋值语句 / 50
  3.2.2 格式输出函数printf() / 51
  3.2.3 格式输入函数scanf() / 55
  3.2.4 字符输出函数putchar() / 57
  3.2.5 字符输入函数getchar() / 58
  3.2.6 案例3的解答 / 60
 3.3 情景应用——案例拓展 / 60
  案例3-1 字母的魔法变幻 / 60
  案例3-2 求各位数字 / 61
  案例3-3 纸币兑换 / 62
 自我测试练习 / 63

第4章 选择结构 / 65
 案例4 谁是盗窃者 / 65
 4.1 条件判断表达式 / 65
  4.1.1 关系表达式 / 66
  4.1.2 逻辑表达式 / 67
 4.2 算术、关系、逻辑、赋值混合运算 / 69
 4.3 选择结构 / 70
  4.3.1 if语句 / 70
  4.3.2 if语句的嵌套 / 73
  4.3.3 条件运算符(?:) / 75
  4.3.4 switch语句 / 76
  4.3.5 案例4的解答 / 77
 4.4 情景应用——案例拓展 / 78
  案例4-1 判断闰年 / 78
  案例4-2 计算职员工资 / 79
  案例4-3 解一元二次方程 / 80
 自我测试练习 / 82

第5章 循环结构 / 84
 案例5 裁纸奔月 / 84
 5.1 while循环语句 / 84
 5.2 do-while循环语句 / 86
 5.3 for循环语句 / 87
 5.4 循环的嵌套 / 89
 5.5 三种循环语句的比较 / 91
 5.6 案例5的解答 / 92
 5.7 break、continue和goto语句 / 92
  5.7.1 break与continue语句 / 92
  5.7.2 goto语句和标号语句 / 94
 5.8 情景应用——案例拓展 / 95
  案例5-1 趣味古典数学问题 / 95
  案例5-2 猜数字 / 97
  案例5-3 婚礼上的谎言 / 98
 自我测试练习 / 99

第6章 数 组 / 102
 案例6 十个小孩分糖 / 102
 6.1 一维数组 / 103
  6.1.1 一维数组的定义 / 103
  6.1.2 一维数组的引用 / 103
  6.1.3 一维数组的初始化 / 104
  6.1.4 案例6的解答 / 107
 6.2 二维数组 / 108
  6.2.1 二维数组的定义 / 108
  6.2.2 二维数组的引用 / 109
  6.2.3 二维数组的初始化 / 109
 6.3 字符数组与字符串 / 111
  6.3.1 字符数组的定义 / 111
  6.3.2 字符数组的引用 / 112
  6.3.3 字符数组的初始化 / 112
  6.3.4 字符串 / 113
  6.3.5 字符串处理函数 / 115
 6.4 情景应用——案例拓展 / 118
  案例6-1 冒泡排序 / 118
  案例6-2 数制的转换 / 120
  案例6-3 五砝码问题* / 121
 自我测试练习  / 123

第7章 函 数 / 124
 案例7 设计学生成绩管理系统 / 124
 7.1 函数的定义与声明 / 125
  7.1.1 函数的定义 / 125
  7.1.2 函数的声明 / 126
  7.1.3 学生成绩管理系统菜单显示 / 127
 7.2 函数的参数和函数的值 / 128
  7.2.1 函数的形式参数和实际参数 / 128
  7.2.2 函数的返回值 / 128
 7.3 函数的调用 / 130
  7.3.1 有返回值函数调用 / 130
  7.3.2 无返回值函数调用 / 130
  7.3.3 学生成绩管理系统的结构设计 / 131
 7.4 函数的参数传递方式 / 134
  7.4.1 参数的值传递方式 / 134
  7.4.2 参数的地址传递方式 / 135
 7.5 函数的嵌套与递归 / 136
  7.5.1 函数的嵌套调用 / 136
  7.5.2 递归调用和递归函数 / 137
 7.6 变量的作用域与存储类型 / 140
  7.6.1 变量的作用域 / 141
  7.6.2 变量的存储类型 / 142
 7.7 内部函数和外部函数 / 146
  7.7.1 内部函数 / 146
  7.7.2 外部函数 / 146
  7.7.3 多文件组织的编译和连接 / 147
 7.8 编译预处理 / 147
  7.8.1 include命令 / 147
  7.8.2 define命令 / 149
  7.8.3 条件编译 / 151
 7.9 情景应用——案例拓展 / 153
  案例7-1 哥德巴赫猜想 / 153
  案例7-2 递归解决年龄问题 / 155
  案例7-3 百钱百鸡问题 / 156
  案例7-4 使用宏定义实现两数组的交换 / 157
 自我测试练习 / 158

第8章 结构体、共用体和枚举类型 / 162
 案例8 学生成绩管理系统的实现 / 162
 8.1 结构体 / 162
  8.1.1 结构体类型的定义 / 163
  8.1.2 结构体变量的定义 / 164
  8.1.3 结构体变量的引用 / 165
  8.1.4 结构体变量的初始化 / 167
 8.2 结构体数组 / 168
  8.2.1 结构体数组的定义 / 168
  8.2.2 结构体数组的引用 / 169
  8.2.3 结构体数组的初始化 / 170
 8.3 结构体和函数 / 172
  8.3.1 结构体变量作为函数参数 / 172
  8.3.2 结构体数组作为函数参数 / 173
  8.3.3 函数的返回值是结构体类型变量 / 174
 8.4 学生成绩管理系统的实现 / 175
  8.4.1 存储结构设计 / 175
  8.4.2 数据录入与浏览 / 176
  8.4.3 记录查询与修改 / 178
 8.5 共用体 / 180
  8.5.1 共用体变量的定义 / 180
  8.5.2 共用体变量的引用 / 181
 8.6 枚举类型 / 183
  8.6.1 枚举类型的定义 / 183
  8.6.2 枚举变量的定义 / 184
 8.7 类型定义 / 185
  8.7.1 定义基本类型的别名 / 185
  8.7.2 定义自定义的数据类型的别名 / 185
  8.7.3 类型定义的一般步骤 / 186
 8.8 情景应用——案例拓展 / 187
  案例8-1 结构体的嵌套 / 187
  案例8-2 统计候选人得票程序 / 188
  案例8-3 排序程序 / 190
 自我测试练习 / 192

第9章 指 针 / 194
 案例9 学生成绩管理系统的优化 / 194
 9.1 指针相关概念 / 194
  9.1.1 内存管理 / 195
  9.1.2 变量的指针与指针变量 / 196
  9.1.3 指针自加、自减运算 / 197
 9.2 指针变量 / 198
  9.2.1 指针变量的定义 / 198
  9.2.2 指针变量的赋值 / 198
  9.2.3 指针变量的引用 / 199
  9.2.4 指针变量作为函数参数 / 201
 9.3 用指针处理数组 / 202
  9.3.1 数组的指针和指向数组的指针变量 / 203
  9.3.2 数组元素的引用 / 204
  9.3.3 数组名作为函数参数 / 205
  9.3.4 指针与字符串 / 206
  9.3.5 指针数组 / 208
 9.4 指针与结构体 / 210
  9.4.1 指向结构体变量的指针 / 210
  9.4.2 指向结构体数组的指针 / 211
  9.4.3 指向结构体的指针作为函数参数 / 212
  9.4.4 使用指针优化学生成绩的录入和浏览模块 / 213
 9.5 线性链表* / 214
  9.5.1 链表概述 / 214
  9.5.2 静态链表 / 216
  9.5.3 动态链表 / 216
  9.5.4 链表输出 / 218
 9.6 指针与函数 / 220
  9.6.1 函数的返回值是指针类型 / 220
  9.6.2 指向函数的指针变量 / 221
  9.6.3 指向函数的指针变量做函数参数 / 222
 9.7 情景应用——案例拓展 / 224
  案例9-1 利用指针查找数列中的最大值和最小值 / 224
  案例9-2 字符串连接函数 / 225
  案例9-3 回文串的判定 / 226
  案例9-4 单链表结点的删除和插入* / 227
 自我测试练习 / 230

第10章 文 件 / 234
 案例10 收官篇:用文件完善学生成绩管理系统 / 234
 10.1 文件的基本知识 / 234
  10.1.1 文件的存储方式 / 235
  10.1.2 文件的处理方式 / 235
  10.1.3 文件类型指针 / 236
 10.2 文件的打开和关闭 / 236
  10.2.1 文件的打开 / 236
  10.2.2 文件的关闭 / 238
 10.3 文件的读写 / 238
  10.3.1 文本文件的读写 / 238
  10.3.2 二进制文件的读写 / 242
  10.3.3 文本文件的格式化读写 / 244
 10.4 文件的定位与随机读写 / 246
  10.4.1 rewind()函数 / 247
  10.4.2 fseek()函数 / 247
  10.4.3 ftell()函数 / 248
  10.4.4 feof()函数 / 248
 10.5 学生成绩管理系统的数据存取 / 248
  10.5.1 添加文件存储函数 / 249
  10.5.2 添加文件装入函数 / 249
  10.5.3 修改主函数实现数据存取 / 250
 10.6 情景应用——案例拓展 / 250
  案例10-1 文本文件加密 / 250
  案例10-2 写字符串函数的应用 / 252
  案例10-3 二进制文件的复制 / 253
  案例10-4 随机读写文件 / 254
 自我测试练习 / 256

参考文献 / 258

附 录 / 259
 附录A ASCII码表 / 259
 附录B C语言运算符的优先级和结合性 / 260
 附录C 常用库函数 / 261

  • 课件《C语言程序设计案例教程》(第二版)王明福

    课程: C语言程序设计 类型: rar 大小:28.07 MB上传时间: 2022-07-28 10:29:54

  • 例题及案例代码《C语言程序设计案例教程》(第二版)王明福

    课程: C语言程序设计 类型: rar 大小:189.78 KB上传时间: 2022-07-28 10:29:54

  • 模仿练习及拓展训练参考答案《C语言程序设计案例教程》(第二版)王明福

    课程: C语言程序设计 类型: rar 大小:223.78 KB上传时间: 2022-07-28 10:29:55

  • 自我测试练习参考答案《C语言程序设计案例教程》(第二版)王明福

    课程: C语言程序设计 类型: rar 大小:148.79 KB上传时间: 2022-07-28 10:29:55

  • 微课-C程序的开发过程

    课程: C语言程序设计 类型: mp4 大小:8.25 MB上传时间: 2022-07-28 10:31:29

  • 微课-C语言介绍

    课程: C语言程序设计 类型: mp4 大小:7.43 MB上传时间: 2022-07-28 10:31:29

全部下载