C语言程序设计(第三版)
-
【作 者】主编 丁红 王立新 蔡开立
【I S B N 】978-7-5226-2167-8
【责任编辑】魏渊源
【适用读者群】高职高专
【出版时间】2024-03-05
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】216
【千字数】320
【印 张】13.5
【定 价】¥36
【丛 书】高等职业教育电子信息课程群系列教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书从高职高专的培养目标和学生特点出发,秉承“教学做合一”的原则,以“激发学生学习兴趣”为着眼点,认真组织内容,精心设计案例,书中内容浅显易懂,结构循序渐进,语言生动有趣。
全书共分为六篇:入门篇以形象生动的实例介绍了C语言的基本概念和上机步骤;基础篇包括数据类型、运算符和表达式、输入/输出函数;实战篇介绍了算法的概念和表示,用实例讲述了结构化程序设计方法和模块化程序设计方法;提高篇阐述了几种特殊的数据类型,包括数组、指针、结构体和共用体;文件篇介绍了文件的使用方法;实践篇包含与理论内容相配套的实验。本书配套的相关微课视频可通过扫描书中二维码观看。
本书可作为高职高专院校“C语言程序设计”课程的教材,也可作为中专院校的教学参考书。
理念新颖:从“教学做合一”的理念出发,改变传统教学模式,激发学生学习兴趣,提升学习效果。
面向基础:针对初学者设计内容结构,通过轻松幽默的口语化文字和浅显易懂的案例降低学习门槛。
案例丰富:从问题导入知识点,通过设计丰富案例使理论与操作演练融合,达到学以致用的效果。
高等职业技术教育主要是以培养具有职业理想、职业道德,掌握职业技能,知晓职业规范,面向生产、建设、管理、服务第一线需要的高素质技能型人才为目标。从这个目标出发,高职教育应走校企合作、产学结合的发展之路,这是高职教育人才培养的基本模式。从这个目标出发,高职院校应采用“教学做一体化”的教学模式。为此必须创建与这一思想相吻合的教材体系。
教育家陶行知先生倡导“教学做合一”的思想,他提出学习不应该是单方面的,也不是灌输的,应该是教与学双方的,学生是主体,并指出“教学做是一件事,不是三件事。我们要在做上教,在做上学。”陶行知先生所说的“做上教、做上学”意指“做中教、做中学”,也就是说让学生在实践操作中掌握理论知识,即“先会后懂”,这样的教学模式更能提高学生的学习兴趣,激发学生的学习激情。
C语言是面向过程的编程语言,较之于面向对象的编程语言,C语言的语法烦琐,界面枯燥,对初学者而言,普遍感到难学。为此必须改变传统的C语言教学内容和教学模式,结合学生更喜欢动手操作的特点,改变过去先讲理论,然后进行实际操作的传统方法,从“教学做合一”的理念出发,采用“做中学”“用中学”“先会后懂”的教学模式,从一个实例出发,让学生学会如何做,达到“我会了”的效果,然后再讲解这样做的原理,以实现“我懂了”的良好效果。这样更能激发学生的学习兴趣和积极性。正如陶老先生所说“学生有了兴味,就肯用全副精神去做事情,所以‘学’和‘乐’是不可分离的。”
本书从高职高专的培养目标和学生的特点出发,秉承“教学做一体化”的原则,以“激发学生学习兴趣”为着眼点,认真组织内容、精心设计案例,力求浅显易懂、讲够理论、注重实践。本书具有以下特点:
先进的教学理念:从培养学生的兴趣出发,从C语言最基础的理论入手,教会学生够用的理论知识。
全新的教学方法:秉承“教学做”相结合的原则,边学边做,讲练结合,学以致用。
较低的学习门槛:从“问题驱动”出发,导入每个知识点,和操作演练相结合,从而降低了学习C语言的门槛,很容易上手。
快乐的学习方式:书中语言口语化,轻松而又幽默,使学习者能够带着快乐的心情学习;案例浅显易懂,实用价值高,从而增强学习者的成就感和自信心。
本书由丁红、王立新、蔡开立担任主编,孙丰伟、王辉、钟大伟担任副主编,习题部分由孙娟编写,张虎对本书部分内容做了审定。
由于编者水平有限,书中可能存在疏漏和错误,恳请阅读本书的老师和同学们提出宝贵意见。作者联系邮箱:dh65@qq.com。
编者
2023年10月
第1章 初识C语言 2
1.1 揭开C语言的神秘面纱 2
1.1.1 一个简单的C语言程序实例—
加法器 2
1.1.2 什么是计算机语言 2
1.1.3 指令和程序 3
1.1.4 C语言程序的构成 4
1.1.5 加法器的改进版—简单计算器 5
1.1.6 总结—关于C语言程序结构 7
1.2 C语言的发展 8
实训项目 11
基础篇—C语言程序设计基础知识
第2章 数据类型 14
2.1 常量和变量的含义 15
2.1.1 常量 15
2.1.2 变量 17
2.2 整型变量 18
2.2.1 整型数据在内存中的存储形式 18
2.2.2 整型变量的分类 19
2.2.3 整型变量的定义和使用举例 20
2.3 实型变量 21
2.3.1 实型数据在内存中的存储形式 21
2.3.2 实型变量的分类 21
2.3.3 实型变量的定义和使用举例 22
2.4 字符型变量 23
2.4.1 字符型数据在内存中的存储形式 23
2.4.2 字符型变量的定义和使用举例 23
2.5 类型间的混合运算 25
实训项目 26
第3章 运算符和表达式 28
3.1 算术运算符和表达式 29
3.1.1 常见的算术运算符 29
3.1.2 自增、自减运算符 29
3.1.3 算术表达式、算术运算符的优先级
和结合性 30
3.1.4 应用案例 31
3.2 赋值运算符和表达式 31
3.2.1 简单赋值运算符 32
3.2.2 复合赋值运算符 32
3.2.3 赋值表达式及赋值运算符的优先级
和结合性 32
3.3 关系运算符和表达式 33
3.3.1 关系运算符 33
3.3.2 关系表达式及关系运算符的优先级
和结合性 34
3.4 逻辑运算符和表达式 34
3.4.1 逻辑运算符 35
3.4.2 逻辑表达式及逻辑运算符的优先级
和结合性 35
3.5 位运算符和表达式 37
3.5.1 按位与运算符“&” 37
3.5.2 按位或运算符“|” 37
3.5.3 按位异或运算符“^” 38
3.5.4 取反运算符“~” 38
3.5.5 左移运算符“<<” 38
3.5.6 右移运算符“>>” 39
3.5.7 位运算符和赋值运算符 39
3.6 逗号运算符和表达式 40
3.7 求字节数运算符sizeof和强制类型
转换运算符 40
3.7.1 求字节数运算符sizeof 40
3.7.2 强制类型转换运算符 41
3.8 运算符小结 42
实训项目 42
第4章 输入/输出函数 44
4.1 输出函数putchar()和printf() 45
4.1.1 字符输出函数putchar() 45
4.1.2 格式输出函数printf() 45
4.2 输入函数getchar()和scanf() 49
4.2.1 字符输入函数getchar() 50
4.2.2 格式输入函数scanf() 50
4.3 输入/输出函数使用举例 52
实训项目 53
实战篇—如何编写C程序
第5章 程序的灵魂—算法简介 56
5.1 算法的概念和使用举例 56
5.2 算法的流程图表示 59
5.2.1 传统流程图 59
5.2.2 N-S流程图 61
实训项目 63
第6章 结构化程序设计 64
6.1 顺序结构程序设计 64
6.2 选择结构程序设计 65
6.2.1 if语句 66
6.2.2 switch语句 70
6.3 循环结构程序设计 72
6.3.1 while语句 73
6.3.2 do-while语句 74
6.3.3 for语句 75
6.3.4 循环结构程序设计编程实训:累加器
程序的编写 77
实训项目 81
第7章 模块化程序设计 85
7.1 函数 85
7.1.1 函数的概念 85
7.1.2 函数的分类 86
7.1.3 函数的定义 87
7.1.4 函数的参数 89
7.1.5 函数的返回值和函数的调用 90
7.1.6 函数编程实训 93
7.2 变量的作用范围 96
7.3 变量的存储类别 98
7.3.1 动态存储方式 98
7.3.2 静态存储方式 99
7.4 函数的作用范围 102
7.5 宏定义和文件包含 102
7.5.1 宏定义 102
7.5.2 文件包含 105
实训项目 106
提高篇—一些特殊的数据类型
第8章 数组 111
8.1 一维数组 111
8.1.1 一维数组的定义 112
8.1.2 一维数组的初始化 112
8.1.3 一维数组元素的引用 113
8.1.4 一维数组使用实训 113
8.2 二维数组 115
8.2.1 二维数组的定义 115
8.2.2 二维数组元素的初始化 116
8.2.3 二维数组元素的引用 116
8.2.4 二维数组使用实训 117
8.3 字符数组 119
8.3.1 字符数组的定义 119
8.3.2 字符数组的初始化 119
8.3.3 字符数组元素的使用 120
8.3.4 字符数组的输出和输入 120
8.3.5 常用的字符串处理函数介绍 122
8.4 数组编程实训 126
实训项目 130
第9章 指针 134
9.1 指针变量的定义和使用 135
9.1.1 指针变量的定义 135
9.1.2 指针变量的初始化 135
9.1.3 指针变量的使用 136
9.1.4 指针变量使用实训 140
9.2 指针和一维数组 141
9.2.1 指向数组元素的指针 141
9.2.2 通过指针引用数组元素 142
9.2.3 数组和指针使用实训 142
9.3 指针和二维数组 144
9.3.1 二维数组元素的地址 144
9.3.2 指向二维数组元素的指针变量 145
9.3.3 指向二维数组的行指针变量 146
9.3.4 二维数组的使用实训 146
9.4 指针和字符串 147
9.4.1 字符串的地址 148
9.4.2 指向字符串的字符指针变量 148
9.5 几种特殊的指针类型 149
9.5.1 指针数组 149
9.5.2 指向函数的指针 151
9.5.3 指向指针的指针 153
9.6 指针使用实训 154
实训项目 156
第10章 结构体和共用体 161
10.1 结构体 161
10.1.1 结构体类型的定义 162
10.1.2 结构体类型变量的定义 163
10.1.3 结构体变量的使用 164
10.1.4 结构体数组的定义和使用 165
10.1.5 指向结构体类型变量的指针 166
10.2 共用体 168
10.2.1 共用体类型的定义 169
10.2.2 共用体变量的定义和使用 169
实训项目 170
文件篇—C语言中数据的组织形式
第11章 文件 174
11.1 文件的打开和关闭 175
11.1.1 打开函数fopen() 175
11.1.2 关闭函数fclose() 176
11.2 文件的读和写 176
11.2.1 读函数fread()和fgetc() 176
11.2.2 写函数fwrite()和fputc() 177
11.3 fprintf()函数和fscanf()函数 178
11.4 文件定位函数rewind()和fseek() 179
11.4.1 rewind()函数 179
11.4.2 fseek()函数 179
11.5 文件使用实训 180
实训项目 182
实践篇—实践是检验理论的标准
实验1 一个简单的C程序示例 186
实验2 输入/输出函数的使用 188
实验3 选择结构程序设计 189
实验4 循环结构程序设计 190
实验5 模块化程序设计 191
实验6 一维数组的应用 192
实验7 二维数组的应用 193
实验8 字符数组的应用 194
实验9 指针的简单应用 195
实验10 指针的高级应用 196
实验11 结构体的应用 197
实验12 文件的应用 198
综合实训 199
附录A 运算符及其结合性 200
附录B 常用的库函数 201
参考文献
- 信息技术与人工智能实训 [主编 彭冬梅]
- 信息技术与人工智能 [主编 罗茜]
- 爆笑学英语:句句有梗的英文段子 [丁睿 编著]
- 2025年湖南省金融业发展报告 [主编 王志辉 任璐]
- 露易丝•格丽克诗歌中的“自我”研究 [李昂 著]
- Ansys Workbench Mechanical 机械结构仿真指南与实例详解 [蔡宜时 编著]
- 基于价值共创的生态文旅战略协同研究—以水利风景区为例 [王腾 董青 周海炜 著]
- 数字化转型推动旅游产业升级的路径研究 [郭晓丽 著]
- 中华水文化•水利名人文化 [毕雪燕 马卓 郭凯旋 费昕 马]
- 遇见通州——副中心文明小书创作大赛获奖作品集 [主编 吕宇翔]
- 潮白河流域岸带植物及水生生物图谱 [北京市水务规划研究院 著]
- 用英语讲中国5000情景词 [董妍奇 编著]
- 泥石流大石块冲击力计算方法实验研究 [易伟 赵怀宝 著]
- 高职院校“双师型”教师领导力模型构建与应用研究 [杨晓倩 著]
- 《公共机构节约用水管理办法》释义与实践 [国家机关事务管理局公共机构节能]
- 绿色低碳发展的公共机构方案——2024-2025年度公共机构绿色低碳转型课题集 [国家机关事务管理局公共机构节能]
- 数字化转型对企业高质量发展的影响研究 [金英兰 著]
- 英语教学论与实践探索 [金虹 著]
- 2025年湖南省文化和旅游业发展报告 [主编 金立槟]
- 2023年长沙市湘菜餐饮业发展报告 [主编 邓应华 ]
- 2025年湖南省会展业发展报告 [主编 陈莉]
- 团体心理辅导 [方雄 著]
- 中国湘菜文化史 [崔德明 彭文杰 李元敏 方八另]
- 清代湖湘特色饮食研究 [李元敏 方八另 蔡振林 著]
- 现代教育技术 [张嘉赢 赵月娥]
- 信息技术与人工智能基础 [阙清贤 罗如为]
- AI Agent [郑天民 著]
- 信息素养与人工智能基础 [罗奕 程小恩]
- 计算方法 [徐应祥]
- 农村社会调查与SPSS统计分析实务 [主编 黄颖]

