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
参考文献
- 零基础玩转国产大模型DeepSeek [徐永冰 张帅 编著]
- 网络工程师5天修炼(适配第6版考纲) [主编 朱小平 施游]
- 信息系统项目管理师考试32小时通关(适用第4版考纲) [薛大龙]
- 信息系统管理工程师考试32小时通关(适配第2版考纲) [薛大龙 刘伟]
- 土木工程材料检测实训 [洪晓江 达则晓丽 钱波]
- 科技信息检索与论文写作实用教程 [李振华]
- 传统山水画论解读与实践 [陈钠 著]
- Python数据库编程 [主编 殷树友 邢 翀]
- 计算机基础实训指导 [主编 袁春萍 朱妮]
- 嵌入式人工智能技术应用(数字教材) [主编 胡娜 杨国勇 晏廷荣]
- Vienna整流器技术 [桂存兵 著]
- 变频器与伺服应用 [陈刚 叶云飞]
- 物联网工程设计与实践 [汤琳 李敏]
- 炉边夜话——深入浅出话AI [汪建 著]
- 电商运营与管理 [钟肖英 陈潇]
- Java面向对象程序设计 [主编 姜春磊 陈虹洁]
- 信息技术基础(Windows 10+WPS Office)(微课版) [主编 石利平 田辉平 谢盛嘉]
- 人工智能应用 [主编 陈 萍 刘培培 陈孟军]
- 大学生职业发展与就业指导 [主编 刘志坚]
- 高级办公应用项目教程 [主编 屈晶 赵成丽]
- 微信小程序开发项目实战(微课版) [主编 黄龙泉 郭峰 朱倩]
- 企业档案工作实战宝典百问百答 [华俊 卢秀英 邵甜甜 著]
- 计算机网络原理及应用 [主编 唐继勇 叶坤 孙梦娜]
- 大学生创业基础 [主编 王丽莉 王 杨]
- 船舶辅机 [主编 王连海 于洋 姜淑翠]
- 大学生就业指导 [主编 王丽莉 董宴廷]
- 系统架构设计师章节习题与考点特训 [主编 薛大龙 邹月平]
- 高校学生工作探索与实践 [郭亮 著]
- 大学生情商管理 [方雄 著]
- 2023年长沙市会展业发展报告 [主编 周栋良]