C语言程序设计
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
C语言是高等院校计算机专业及相关专业的重要基础课,也是学习程序设计的首选语言。本书根据高职院校学生的需要,侧重于C语言基本编程技能的训练,语言表达清晰明了、难度适中、通俗易懂。
全书共12章。包括C语言概述,数据类型、运算符和表达式,顺序结构程序设计,选择结构程序设计,循环结构程序设计,数组,函数,指针,结构体、共用体和枚举类型,编译预处理与位运算,文件,建构法程序设计等内容。每章都有适量的习题,书后附有部分习题答案。
本书可作为高职高专院校计算机及相关专业学生的教材,也可供自学者学习使用。
本书配有电子教案和习题答案,读者可以从中国水利水电出版社网站和万水书苑免费下载,网址为:http://www.waterpub.com.cn/softdown/和http://www.wsbookshow.com。
根据高职院校学生的需要,侧重于C语言基本编程技能的训练,语言表达清晰明了、难度适中、通俗易懂。
每章都附有适量的例题,并精心把握了例题的难度,使学生通过书中例题的学习就可以独立完成章后习题。
通过最后一章“建构法程序设计”的设置,将建构主义的思想和方法应用于程序设计,为学生将来进一步学习发展打下坚实的基础。
C语言是现今最流行的计算机语言,同时也是了解和掌握计算机程序基本构成和运行特点的最简洁语言。C语言具有表达能力强、功能丰富、可移植性好、使用灵活等优点,它既具备高级语言的特性,又具有直接操纵计算机硬件的能力,可用于系统软件和应用软件的开发,被国内外程序员广泛使用,已经成为高等院校计算机专业及相关专业的重要基础课,是学习程序设计的首选语言。
本书根据高职院校学生的需要,侧重于C语言基本编程技能的训练,语言表达清晰明了、难度适中、通俗易懂。每章都附有适量的习题,我们精心把握了习题的难度,使学生通过书中例题的学习就可以独立完成每章后习题。
全书共分12章。主要内容包括:C语言概述,数据类型、运算符和表达式,顺序结构程序设计,选择结构程序设计,循环结构程序设计,数组,函数,指针,结构体、共用体和枚举类型,编译预处理与位运算,文件,建构法程序设计。最后一章“建构法程序设计”是全书学习的总结。建构法程序设计是把建构主义的思想和方法应用于程序设计,它遵循由简到繁、不断完善的思想。先设计一个简单的程序,在此基础上,根据实际需要,不断分析其存在的问题,并不断地改进和完善它,最终达到一个比较理想的程序。在现实程序设计过程中,许多程序都是这样构建的。功能由少到多,代码由短到长,程序越来越安全,越来越实用,越来越完善。这也是一个程序员经验逐步积累的过程。通过这一过程的训练,学生可以为将来的进一步发展打下坚实的基础。
本书由河南牧业经济学院信息与电子工程系教师编写,由连卫民、何樱主编,王桂芝、周溢辉、李丹、吕真任副主编。连卫民、何樱制定了编写大纲并负责统稿和定稿工作,吕真编写了第1、2章,何樱编写了第3、5章,王桂芝编写了第4、7章,周溢辉编写了第8、11章,李丹编写了第9、10章,连卫民编写了第6、12章。河南牧业经济学院图书馆的李素平、关艳红老师帮助收集整理资料,电教中心的上官廷华和张增老师帮助进行了本书部分内容的录入和校对工作,在此谨向各位表示衷心的感谢。
本书可作为高职院校计算机及相关专业学生的教材和参考书。本书的出版得到了中国水利水电出版社的大力支持,在此一并表示感谢。
编 者
2015年10月28日
1.1 C语言简介 1
1.1.1 C语言的发展史 1
1.1.2 C语言的特点 2
1.2 C语言程序结构 2
1.3 C语言程序的执行 4
1.3.1 C语言程序调试的基本步骤 4
1.3.2 使用Visual C++调试C语言程序 4
1.4 VC++运行C程序说明 7
1.4.1 编辑程序 7
1.4.2 编译、运行程序 8
1.4.3 调试程序 9
习题1 12
第2章 数据类型、运算符和表达式 13
2.1 数据类型 13
2.2 常量和变量 14
2.2.1 常量 14
2.2.2 变量 15
2.3 整型数据 16
2.3.1 整型常量 16
2.3.2 整型变量 16
2.4 实型数据 19
2.4.1 实型常量 19
2.4.2 实型变量 19
2.5 字符型数据 20
2.5.1 字符型常量 20
2.5.2 字符型变量 21
2.5.3 字符串常量 22
2.6 数据的基本运算 23
2.6.1 算术运算符和算术表达式 24
2.6.2 赋值运算符和赋值表达式 26
2.6.3 关系运算符和关系表达式 28
2.6.4 逻辑运算符和逻辑表达式 28
2.6.5 逗号运算符 30
2.7 混合运算 30
2.7.1 系统自动转换 31
2.7.2 强制类型转换 31
习题2 32
第3章 顺序结构程序设计 36
3.1 格式化输出—printf() 36
3.1.1 printf的一般格式 36
3.1.2 格式字符 37
3.2 格式化输入—scanf() 42
3.2.1 scanf的一般格式 42
3.2.2 scanf的用法 42
3.3 字符的输入输出—getchar()和putchar() 45
3.3.1 getchar函数 46
3.3.2 putchar函数 46
3.4 顺序结构程序设计举例 47
习题3 49
第4章 选择结构程序设计 52
4.1 if语句 52
4.1.1 复合语句 52
4.1.2 单分支if语句 53
4.1.3 双分支if语句 55
4.1.4 多分支if语句 57
4.1.5 条件运算符 ?: 59
4.2 switch语句 59
4.2.1 switch语句 59
4.2.2 switch和if-else 62
4.3 选择结构程序设计举例 62
习题4 66
第5章 循环结构程序设计 69
5.1 for语句 69
5.1.1 for语句的格式 69
5.1.2 for语句的执行过程 69
5.1.3 for语句的用法 71
5.2 while语句 72
5.2.1 while语句的格式 72
5.2.2 while语句的执行过程 73
5.2.3 while语句的用法 74
5.3 do-while语句 76
5.3.1 do-while语句的格式 76
5.3.2 do-while语句的执行过程 77
5.3.3 do-while语句的用法 77
5.3.4 三种循环语句比较 78
5.4 break和continue语句 79
5.4.1 break语句 79
5.4.2 continue语句 80
5.5 多重循环 80
5.5.1 多重循环的格式 81
5.5.2 多重循环的执行过程 81
5.5.3 多重循环的使用 82
5.6 循环结构程序设计举例 83
习题5 86
第6章 数组 89
6.1 数组的概念 89
6.1.1 数组解决的问题 89
6.1.2 数组的基本概念 90
6.2 一维数组 90
6.2.1 一维数组的定义 90
6.2.2 一维数组的使用 92
6.2.3 程序设计实例 94
6.3 二维数组 99
6.3.1 二维数组的定义 99
6.3.2 二维数组的使用 101
6.3.3 二维数组程序设计实例 103
6.4 字符数组 105
6.4.1 字符数组的定义 106
6.4.2 字符数组的使用 107
6.4.3 字符数组的程序设计 109
习题6 109
第7章 函数 114
7.1 函数概述 114
7.1.1 函数的概念 114
7.1.2 函数的分类 115
7.2 函数的定义与调用 116
7.2.1 函数的定义 116
7.2.2 函数调用 117
7.3 函数的嵌套和递归 121
7.3.1 函数的嵌套调用 121
7.3.2 函数的递归调用 122
7.4 局部变量和全局变量 125
7.4.1 局部变量 125
7.4.2 全局变量 127
7.5 变量的存储类型 129
7.5.1 存储空间的划分 129
7.5.2 局部变量的存储类型 129
7.5.3 全局变量的存储类型 131
7.6 内部函数和外部函数 132
7.6.1 内部函数 133
7.6.2 外部函数 133
7.6.3 程序的分割编译 134
7.7 函数程序设计举例 136
习题7 139
第8章 指针 142
8.1 指针概述 142
8.1.1 指针的概念 142
8.1.2 指针变量 143
8.1.3 指针运算 145
8.2 指针作为函数的参数 147
8.2.1 指针变量作为函数参数传递数据 147
8.2.2 改变调用函数中变量的值 148
8.3 指针与数组 149
8.3.1 一维数组和指针 149
8.3.2 二维数组和指针 153
8.3.3 字符串和指针 156
8.4 指针数组与多级指针 159
8.4.1 指针数组 159
8.4.2 多级指针 161
习题8 162
第9章 结构体、共用体和枚举类型 164
9.1 结构体 164
9.1.1 结构体类型的定义 164
9.1.2 结构体变量的定义与使用 165
9.1.3 结构体数组的定义与使用 168
9.1.4 结构体指针的定义与使用 171
9.2 链表 173
9.2.1 单链表的结构 173
9.2.2 链表的动态存储 174
9.2.3 单链表的建立与输出 174
9.2.4 单链表的插入与删除 176
9.3 共用体 177
9.3.1 共用体类型和共用体变量的定义 177
9.3.2 共用体变量的引用 178
9.4 枚举类型 181
9.4.1 枚举类型的定义 181
9.4.2 枚举变量的使用 182
9.5 类型定义符typedef 184
习题9 185
第10章 编译预处理与位运算 188
10.1 编译预处理 188
10.1.1 编译预处理的作用及基本特点 188
10.1.2 文件包含 188
10.1.3 宏定义 190
10.1.4 条件编译 193
10.2 位运算 195
10.2.1 位运算的概念 195
10.2.2 位运算符 196
10.2.3 位段 199
10.2.4 位运算程序设计实例 201
习题10 202
第11章 文件 204
11.1 文件概述 204
11.1.1 文件及其分类 204
11.1.2 文件程序解决的问题 205
11.2 文件处理 205
11.2.1 缓冲文件系统 206
11.2.2 文件的处理过程 207
11.2.3 文件处理采用的函数 208
11.3 文件程序设计举例 210
11.3.1 文件的建立 210
11.3.2 文件的读取 212
11.3.3 文件的修改 214
11.3.4 文件的复制 215
习题11 216
第12章 建构法程序设计 218
12.1 一个简单的C语言程序 218
12.1.1 已知半径求圆的面积 218
12.1.2 求5个圆的面积 219
12.1.3 求n个圆的面积 222
12.2 一个复杂的C语言程序 226
12.2.1 把接受n个半径写成函数 226
12.2.2 把接受的n个半径保存成文件 228
习题12 232
附录1 常用字符与ASCII码对照表 234
附录2 ANSI C关键字 235
附录3 运算符的优先级与结合性 237
附录4 C的库函数 239
附录5 部分习题参考答案 243
- Linux系统管理(openEuler版) [主编 许兴鹍 黄君羡]
- Web前端开发从学到用完美实践 [阮晓龙 冯顺磊 编著]
- 用英语讲中国故事(全视频 彩色版)上、下册 [主编 谢亮亮 汪洋]
- 新时代大学生美育教育 [穆林 刘苍劲 彭圣芳]
- 电子商务英语 [丁文毅 严慧]
- 智能可穿戴项目化教程 [曾文波 陈赵云]
- 视觉设计解析与实战教程 [姜春磊 杨晓]
- 电子产品制图与制版案例教程 [邹莉莉 苏文斌 贺小艳]
- 设计新维度:CMF元素与创新产品设计 [彭小鹏]
- 园林树木识别与应用 [主编 张玉泉]
- 文本信息处理与应用 [主编 何黎松 姚香秀]
- 工业机器人编程及应用(第二版) [主编 向艳芳 胡月霞]
- C语言程序设计(第二版) [主编 刘祖珉 赵仕波]
- 数据分析与应用 [主编 孙伟 王兰芹]
- Linux操作系统配置与管理项目化教程(第二版) [主编 白玉羚 刘金明 闫 淼]
- Ansys SpaceClaim直接建模与仿真指南 [蔡宜时 编著]
- 基于大数据的智慧农业管理平台关键技术研究与实践 [周永福 著]
- 健美运动 [戴显岩]
- Python程序开发基础(AI+微课版) [赵艳莉 曾鑫]
- 大学生心理困境突围之路 [张珏 著]
- 机器学习基础与实践 [主编 李晓峰 胥文婷 李云波]
- 大模型应用实战 DeepSeek+即梦AI+剪映重塑创作 [丁红 杨彦彦 丁丁 编著]
- HarmonyOS从入门到精通 [陈赵云 周永福 杨 浪]
- 用英语发现世界:欧美文化篇 [李小丽 张薇 编著]
- 大学体育教程 [戴显岩]
- 新一代信息技术 [李佼辉 任雪冬]
- 轨道交通类专门用途英语教程 [李德华主编 商晔副主编]
- 建设工程项目团队知识异质性对团队绩效的影响研究 [胡可]
- 新时代元阳梯田 云南现代化高原立体灌区 前世 今生 未来 [云南省水利水电勘测设计研究院 ]
- 网络工程师章节习题与考点特训(适配第6版考纲) [夏杰 编著]

