C语言程序设计基础与实验指导
书 号:9787113196257
丛 书 名:普通高等学校计算机基础教育“十二五”规划教材•精品系列
作 者:顾玲芳
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:36元
-
内容简介
本书以程序设计为主线,以全国计算机等级考试二级C语言考查点为线索,以编程应用为驱动,详细讲述了顺序结构、选择结构、循环结构的三种程序设计方法,以及数组、函数、指针、结构体、文件等概念和应用。本书注重程序设计能力的培养,安排了读者熟悉的学生成绩管理系统实验案例,使读者在学习理论知识的同时,明确应该掌握的实践要求,真正掌握程序设计的基本方法,并做到触类旁通、一通百通。本书针对初学者的特点精心策划,定位准确,概念清晰,体系合理,例题丰富,深入浅出,是学习C语言的理想教材。本书适合作为普通高等学校学生的教学用书,也可以作为全国计算机等级考试二级C语言的参考用书和对C语言程序设计感兴趣者的自学用书。 -
前言
程序设计是计算机科学教育的第一门专业性课程,它的主要目标首先是理解和掌握一门程序设计语言,其次是读懂别人已经编好的程序,从中体会和启发自己的逻辑思维能力,进而自行编制程序解决实际问题,为在计算机领域中深入学习打下扎实的基础。C语言是使用最广的程序设计语言之一,包含了程序设计需要的主要机制,它的实用性、灵活性及可持续性都是人们公认的。因此,C语言一直是计算机专业程序设计课程的首选语言。
本书分三篇。第 1 篇为基础知识,按顺序先后安排了 10 章内容,各章强调解决问题的方法、规律,强调知识点与二级考查点相匹配,重点讲解 C语言中重要的具有一般性的语法知识。每个知识点先给出知识点的概念,注重规范,再通过经典的实例将语法知识点化整为零。第 2篇为实验指导,在介绍实验一般步骤及实验环境之后,安排了学生成绩管理系统实验案例。先介绍了这个管理系统,然后按第 1篇各章先后次序,将大实验拆分成与第 1篇各章教学内容相匹配的 9 个实验,每个实验中包含 2~3 个实验题。实验题题题相扣,只有完成了前一个实验题,才能展开下一个实验题,直到完成最后一个实验题,即完成整个实验案例。第 3篇为习题,包括综合练习题和模拟试题及其参考答案,收集了大量涵盖 C语言主要知识点的练习题,是与全国计算机等级考试二级 C语言接近的考题,力求重点突出、难点突破。题型包括考试常见的题型,如选择题、填空题、判断题、分析程序写运行结果题等,为学生学习提供指导,帮助读者验证自己对 C语言的掌握程度,发现自身的长处和不足。
本书由顾玲芳任主编,编写了第 1 篇中的第 1~3、7、8 章和第 2 篇及附录;由杨娜任副主编,编写了第 1篇中的第 4~6、9、10章和第 3篇。本书涉及的内容有一定的深度和广度,既能满足编程初学者的需要,也能适应能力较强读者深入探讨的愿望,亦可作为全国计算机等级考试二级 C语言的参考用书。
本书编者都是应用型本科院校计算机教育一线的教师,他们最了解学生的特点和需求,也最能有针对性进行教学内容、教学方法和教学手段方面的改革。虽然本书凝聚了编者的思考和经验,但由于水平有限,书中难免存在不足及疏漏之处,敬请专家、读者和同行不吝指正。
编者
2014 年 12 月 -
目录
第1篇 基 础 知 识
第 1章 C 语言概述与程序设计基础 ......................................................................................... 1
1.1 C语言发展简史............................................................................................................. 1
1.2 C 语言的特点................................................................................................................. 1
1.3 简单 C 语言程序举例.................................................................................................... 2
1.4程序设计基础................................................................................................................ 3
1.4.1 算法概述............................................................................................................ 4
1.4.2 算法的常用表示方法........................................................................................ 4
1.5 Visual C++ 6.0 集成开发环境....................................................................................... 6
小结......................................................................................................................................... 7
习题......................................................................................................................................... 7
第 2章数据类型、运算符与表达式......................................................................................... 8
2.1 C语言的基本符号......................................................................................................... 8
2.1.1 标识符................................................................................................................ 8
2.1.2数据类型............................................................................................................ 9
2.1.3 常量.................................................................................................................. 10
2.1.4 变量.................................................................................................................. 13
2.2运算符和表达式.......................................................................................................... 13
2.2.1赋值运算符和赋值表达式.............................................................................. 14
2.2.2算术运算符和算术表达式.............................................................................. 16
2.2.3关系运算符和关系表达式.............................................................................. 17
2.2.4逻辑运算符和逻辑表达式.............................................................................. 18
2.2.5逗号运算符和逗号表达式.............................................................................. 20
2.2.6条件运算符和条件表达式.............................................................................. 21
2.2.7自增运算和自减运算...................................................................................... 21
2.3数据类型转换.............................................................................................................. 22
2.3.1不同数据类型的数据间的混合运算.............................................................. 23
2.3.2强制类型转换.................................................................................................. 24
小结....................................................................................................................................... 25
习题....................................................................................................................................... 25
第 3章顺序结构程序设计....................................................................................................... 26
3.1 语句.............................................................................................................................. 26
3.2数据的输入和输出...................................................................................................... 28
3.2.1简单格式的输入与输出.................................................................................. 28
3.2.2复杂格式的输入与输出.................................................................................. 32
3.2.3字符数据的输入与输出.................................................................................. 36
3.3顺序结构应用举例...................................................................................................... 37
小结....................................................................................................................................... 38
习题....................................................................................................................................... 38
第 4章选择结构程序设计....................................................................................................... 40
4.1 if 语句........................................................................................................................... 40
4.1.1 if语句的三种形式........................................................................................... 40
4.1.2 if语句的嵌套................................................................................................... 44
4.2 switch 语句................................................................................................................... 47
4.3选择结构应用举例...................................................................................................... 48
小结....................................................................................................................................... 51
习题....................................................................................................................................... 52
第 5章循环结构程序设计....................................................................................................... 53
5.1 while循环语句............................................................................................................. 53
5.2 do…while 循环语句..................................................................................................... 54
5.3 for 循环语句................................................................................................................. 55
5.4循环嵌套...................................................................................................................... 58
5.5 break 语句与 continue 语句......................................................................................... 60
5.5.1 break语句的使用............................................................................................. 60
5.5.2 continue语句的使用........................................................................................ 61
5.6循环结构应用举例...................................................................................................... 61
小结....................................................................................................................................... 64
习题....................................................................................................................................... 65
第 6章数组及其使用............................................................................................................... 66
6.1一维数组...................................................................................................................... 66
6.1.1一维数组的定义和引用.................................................................................. 66
6.1.2一维数组的初始化.......................................................................................... 67
6.1.3一维数组程序举例.......................................................................................... 68
6.2二维数组...................................................................................................................... 70
6.2.1二维数组的定义和引用.................................................................................. 70
6.2.2二维数组的初始化.......................................................................................... 70
6.2.3二维数组程序举例.......................................................................................... 71
6.3字符数组...................................................................................................................... 73
6.3.1字符数组的定义.............................................................................................. 73
6.3.2字符数组的初始化.......................................................................................... 73
6.3.3字符数组的引用.............................................................................................. 73
6.3.4字符数组与字符串.......................................................................................... 74
6.3.5字符数组的输入和输出.................................................................................. 74
6.3.6字符串处理函数.............................................................................................. 75
6.3.7字符数组应用举例.......................................................................................... 78
小结....................................................................................................................................... 79
习题....................................................................................................................................... 80
第 7章函数及其应用............................................................................................................... 81
7.1函数的基本概念.......................................................................................................... 81
7.1.1函数的概念...................................................................................................... 81
7.1.2函数的定义...................................................................................................... 83
7.1.3函数的调用...................................................................................................... 85
7.1.4函数的参数...................................................................................................... 87
7.1.5函数的返回值.................................................................................................. 88
7.1.6函数的原型声明.............................................................................................. 89
7.2数组作为函数参数...................................................................................................... 91
7.2.1数组元素作为函数参数.................................................................................. 91
7.2.2一维数组作为函数参数.................................................................................. 92
7.2.3二维数组作为函数参数.................................................................................. 97
7.3函数的嵌套调用和递归调用...................................................................................... 98
7.3.1函数的嵌套调用.............................................................................................. 98
7.3.2函数的递归调用.............................................................................................. 99
7.4变量的作用域和存储方法........................................................................................ 103
7.4.1局部变量和全局变量.................................................................................... 103
7.4.2变量的存储方法............................................................................................ 106
7.5预处理命令................................................................................................................ 110
7.5.1 宏定义............................................................................................................ 110
7.5.2文件包含........................................................................................................ 113
7.5.3条件编译........................................................................................................ 114
7.6函数应用举例............................................................................................................ 115
小结..................................................................................................................................... 119
习题..................................................................................................................................... 120
第 8章指针及其应用............................................................................................................. 122
8.1地址和指针的概念.................................................................................................... 122
8.1.1地址的概念.................................................................................................... 122
8.1.2指针的概念.................................................................................................... 124
8.2指针变量.................................................................................................................... 124
8.2.1指针变量的定义............................................................................................ 124
8.2.2指针变量的操作............................................................................................ 125
8.2.3指针变量作为函数参数................................................................................ 128
8.3指针指向数组............................................................................................................ 131
8.3.1指向数组元素的指针.................................................................................... 131
8.3.2指针的运算.................................................................................................... 132
8.3.3通过指针引用数组元素................................................................................ 133
8.3.4指向二维数组元素的指针............................................................................ 136
8.4指针指向字符串........................................................................................................ 136
8.4.1字符指针与字符串指针................................................................................ 137
8.4.2字符串的表示形式........................................................................................ 137
8.4.3字符指针作为函数参数................................................................................ 138
8.4.4对使用字符指针变量和字符数组的讨论.................................................... 139
8.5指针数组和二级指针................................................................................................ 141
8.5.1指针数组........................................................................................................ 141
8.5.2二级指针........................................................................................................ 143
8.6动态内存分配与指向它的指针变量........................................................................ 144
8.6.1什么是内存的动态分配................................................................................ 145
8.6.2如何实现动态的分配与释放........................................................................ 145
8.7指针应用举例............................................................................................................ 147
小结..................................................................................................................................... 149
习题..................................................................................................................................... 150
第 9章结构体与枚举............................................................................................................. 151
9.1结构体类型与结构体变量........................................................................................ 151
9.1.1结构体类型的声明........................................................................................ 151
9.1.2结构体变量的定义........................................................................................ 152
9.1.3结构体变量的引用........................................................................................ 153
9.2结构体数组................................................................................................................ 154
9.2.1结构体数组的定义........................................................................................ 154
9.2.2结构体数组的初始化.................................................................................... 155
9.2.3结构体数组的引用........................................................................................ 155
9.2.4结构体数组应用举例.................................................................................... 155
9.3结构体指针................................................................................................................ 156
9.3.1指向结构体变量的指针................................................................................ 156
9.3.2指向结构体数组的指针................................................................................ 157
9.4结构体类型数据在函数间的传递............................................................................ 157
9.4.1结构体变量作为函数参数............................................................................ 157
9.4.2结构体指针变量作为函数参数.................................................................... 158
9.5枚举类型的使用........................................................................................................ 159
9.5.1枚举类型和枚举变量.................................................................................... 160
9.5.2枚举类型变量的赋值和使用........................................................................ 160
9.6 类型定义符 typedef.................................................................................................... 161
小结..................................................................................................................................... 162
习题..................................................................................................................................... 163
第 10 章 文件........................................................................................................................... 164
10.1文件概述.................................................................................................................. 164
10.1.1文件的概念 .................................................................................................. 164
10.1.2文件的分类 .................................................................................................. 164
10.1.3文件缓冲区 .................................................................................................. 165
10.1.4文件类型指针 .............................................................................................. 165
10.2文件的打开与关闭.................................................................................................. 165
10.2.1打开文件 ...................................................................................................... 166
10.2.2关闭文件 ...................................................................................................... 167
10.3文件的顺序读写...................................................................................................... 167
10.3.1格式化读写函数 fscanf()和 fprintf() ............................................................. 167
10.3.2字符方式读写函数 fgetc()和 fputc() ............................................................ 168
10.3.3数据块读写函数 fread()和 fwrite() ............................................................... 170
10.3.4字符串读写函数 fgets()和 fputs() ................................................................. 172
10.4文件的定位与随机读写.......................................................................................... 174
10.4.1文件指针重定位函数 rewind()..................................................................... 175
10.4.2随机读写函数 fseek() ................................................................................... 175
10.4.3其他相关函数 .............................................................................................. 176
小结..................................................................................................................................... 176
习题..................................................................................................................................... 177
第2篇 实 验 指 导
第 1章实验一般步骤及实验环境......................................................................................... 178
1.1实验的一般步骤........................................................................................................ 178
1.2 实验环境 VC++ 6.0 使用指南................................................................................... 179
第 2章学生成绩管理系统实验案例..................................................................................... 185
2.1实验案例分析............................................................................................................ 185
2.2实验内容及要求........................................................................................................ 191
第 3篇 习题及参考答案
综合练习题及参考答案............................................................................................................. 199
模拟试题及参考答案................................................................................................................. 221
附 录
附录 A 常用字符及其 ASCII码对照表 ................................................................................. 228
附录 B 关键字......................................................................................................................... 229
附录 C 运算符的优先级和结合性 ......................................................................................... 230
附录 D 常用库函数................................................................................................................. 231
附录 E 常用格式说明符......................................................................................................... 235
附录 F VC++ 6.0编译错误信息............................................................................................. 237
附录 G 实验案例源程序......................................................................................................... 240
参考文献..................................................................................................................................... 246 -
作者介绍
主要著译者顺序姓名学历职称学科专长通讯地址1 顾玲芳 讲师 研究生 计算机应用技术工作单位北京科技大学天津学院 邮政编码 电话15822901514 2 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 顾玲芳:2001年09月-2005年07月 中国地质大学(北京) 计算机科学与技术专业 学习;2005年09月-2008年07月 中国地质大学(北京) 计算机应用技术专业 学习;2008年09月至今 北京科技大学天津学院计算机相关专业一线教师 主要承担C语言、C等相关专业课程;曾参与中国冶金教育学会2009年度教育科学研究规划重点课题《网络环境下应用型本科院校知识教学模式和学生在线学习模式研究》;先后发表论文《应用型本科VFP教学中的教学方法研究》、《VFP6.0索引教学经验谈》、《高校非计算机专业计算机基础教学改革之浅见》; -
编辑推荐
-
书评书荐
-
附件下载
图书推荐