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
- 控制器件(第三版) [主编 鲁兴举]
- 人工智能与信息素养 [主编 吴华光 房宜汕]
- 智能多媒体技术 [主编 陈萍 刘灵傲]
- 云南异龙湖无机碳埋藏的近现代模式研究 [李平 著]
- 基于多模态的人脸图像生成算法与关键技术 [罗晓东 著]
- 应用型地方本科高校教师专业发展研究 [吴丽 著]
- 高维数据特征筛选策略与算法 [陈念 著]
- 外贸英语从入门到实战:53种实战场景秒变谈判高手 [张乐 廖熠 编著]
- Linux系统管理(openEuler版) [主编 许兴鹍 黄君羡]
- Python程序设计项目化教程(基于AI) [主编 禹晨 赵金考 王宏斌]
- 可编程控制器应用项目化教程(三菱FX系列) [主编 姜文雍 李东方]
- 全球英文电影精选:看电影学英文 [张颖 编译]
- Python程序设计与网络爬虫 [黄海辉 彭新东]
- 实体店创业分析实务 [燕艳 陈文冬 编著]
- 中国对欧盟OFDI效率与风险的多维度实证评估—基于KK-SFA模型与PCF-聚类分析方法 [黄健钧 著]
- 生成式人工智能素养 [邱有春 罗明全]
- 系统分析师考试32小时通关(适配第2版考纲) [薛大龙 邹月平]
- Ansys DesignModeler参数化特征建模与仿真指南 [蔡宜时 编著]
- 浙江省山区县共富工坊建设的现状与对策 [徐骏骅 著]
- 计算机网络技术及应用(第3版) [主编 刘永华 陈瑶]
- 北京冬奥精神传承和发展研究 [顾春雨 邹新娴 等 著]
- 汽车营销理论与实务(第三版) [主编 赵培全]
- 人工智能基础与实践 [禹晨 赵金考 王宏斌 李璐]
- 系统分析师5天修炼(适配第2版考纲) [施游 邹汉斌 黄少年 主编]
- 线性代数(第二版) [惠小健 贺艳琴 夏斌湖]
- 微控制器系统设计(STM32版) [主编 杨凌]
- 机械原理与机械设计作业集(第二版) [主编 田亚平 李爱姣]
- 高剑父的现代国画研究 [陈水兴 著]
- 用英语介绍中国江河湖海 [庞彦杰 李静 赵娟 刘桂杰 编]
- 大学生创新创业基础(第2版) [主编 姜国权 方邡]

