C语言程序设计(第二版)

-
【作 者】主编 丁红 王辉
【I S B N 】978-7-5170-5690-4
【责任编辑】李炎
【适用读者群】高职高专
【出版时间】2017-08-14
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第2第1次印刷
【页 数】212
【千字数】323
【印 张】13.25
【定 价】¥28
【丛 书】高等职业教育“十三五”规划教材(电子信息课程群)
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书从高职高专的培养目标和学生特点出发,秉承“教学做合一”的原则,以“激发学生学习兴趣”为着眼点,认真组织内容、精心设计案例,书中内容浅显易懂,结构循序渐进,语言生动有趣。
全书共分为六篇,入门篇以形象生动的实例介绍了C语言的基本概念和上机步骤;基础篇包括基本数据类型、运算符和表达式、输入/输出函数;实战篇介绍了算法的概念和表示,用实例讲述了结构化程序设计方法和模块化程序设计方法;提高篇阐述了几种特殊的数据类型,包括数组、指针、结构体和共用体;文件篇介绍了文件的使用方法;实践篇包括与理论内容相配套的实验。
本书可作为高职高专院校C语言程序设计的教材,也可作为中专院校的教学参考书。
从高职高专的培养目标和学生特点出发,认真组织、精心设计本书内容。
以形象生动的实例介绍了C语言的基本概念和上机步骤。
基础篇、实战篇和提高篇部分,以循序渐进的方式学习C语言。
通过文件篇和实践篇的深入学习,进一步提升C语言程序设计水平。
高等职业技术教育主要是以培养具有职业理想、职业道德,掌握职业技能,知晓职业规范,面向生产、建设、管理、服务第一线需要的高素质技能型人才为目标。
从这个目标出发,高职教育应走校企合作、产学结合的发展之路,这是高职教育人才培养的基本模式。
从这个目标出发,高职院校应采用“教学做一体化”的教学模式。为此必须创建与这一思想相吻合的教材体系。
我国伟大的教育家陶行知先生在七十几年前就倡导“教学做合一”的思想,他提出学习不应该是单方面的,也不是灌输的,应该是教与学双方的,学生是主体,并指出“教学做是一件事,不是三件事。我们要在做上教,在做上学。”陶行知先生所说的“做上教、做上学”意指“做中教、做中学”,也就是说让学生在实践操作中掌握理论知识,即“先会后懂”,这样的教学模式更能提高学生的学习兴趣,激发学生的学习激情。
C语言是面向过程的编程语言,较之于面向对象的编程语言,语法烦琐,界面枯燥,对初学者而言,普遍感到难学。为此必须改变传统的C语言教学内容和教学模式,结合学生更喜欢动手操作的特点,改变过去先讲理论,然后进行实际操作的传统方法,从“教学做合一”的理念出发,采用“做中学”“用中学”“先会后懂”的教学模式,从一个实例出发,让学生学会如何做,达到“我会了”的效果,然后再讲解这样做的原理,以实现“我懂了”的良好效果。这样更能激发学生的学习兴趣和积极性。正如陶老先生所说“学生有了兴味,就肯用全副精神去做事情,所以‘学’和‘乐’是不可分离的。”
本书从高职高专的培养目标和学生的特点出发,秉承“教学做一体化”的原则,以“激发学生学习兴趣”为着眼点,认真组织内容、精心设计案例,力求浅显易懂、讲够理论、注重实践。本书主要具有以下特点:
先进的教学理念:从培养学生的兴趣出发,从C语言最基础的理论入手,教会学生够用的理论知识。
全新的教学方法:秉承“教学做”相结合的原则,边学边做,讲练结合,学以致用。
较低的学习门槛:以“问题驱动”为原则出发,导入每个知识点,和操作演练相结合,从而降低了学习C语言的门槛,很容易上手。
快乐的学习方式:书中语言口语化,轻松而又幽默,使学习者能够带着快乐的心情学习;案例浅显易懂,实用价值高,从而增强学习者的成就感和自信心。
本书由丁红、王辉任主编,王石光、蒙连超、马书林任副主编,习题部分由孙娟老师编写,于傲、张宇、邵鲜艳、刘锐同学对本书部分程序进行了调试编译。
由于编者水平有限,书中可能存在疏漏和错误,恳请阅读本书的老师和同学们提出宝贵意见。作者联系邮箱:hebiancao65@163.com。
丁 红
2017年6月
入门篇——带你认识C语言
第1章 初识C语言 2
1.1 揭开C语言的神秘面纱 2
1.1.1 一个简单的C语言程序实例
——加法器 2
1.1.2 加法器的改进版——简单计算器 5
1.1.3 总结——关于C语言程序结构 7
1.2 C语言的发展 8
实训项目 8
基础篇——C语言程序设计基础知识
第2章 数据类型 12
2.1 常量和变量的含义 13
2.1.1 常量 13
2.1.2 变量 15
2.2 整型变量 16
2.2.1 整型数据在内存中的存储形式 17
2.2.2 整型变量的分类 17
2.2.3 整型变量的定义和使用举例 18
2.3 实型变量 19
2.3.1 实型数据在内存中的存储形式 19
2.3.2 实型变量的分类 20
2.3.3 实型变量的定义和使用举例 20
2.4 字符型变量 21
2.4.1 字符型数据在内存中的存储形式 21
2.4.2 字符型变量的定义和使用举例 22
2.5 各类型间的混合运算 23
实训项目 24
第3章 运算符和表达式 26
3.1 算术运算符和表达式 27
3.1.1 常见的算术运算符 27
3.1.2 自增、自减运算符 27
3.1.3 算术表达式、算术运算符的优先级
和结合性 28
3.2 赋值运算符和表达式 29
3.2.1 简单赋值运算符 29
3.2.2 复合赋值运算符 29
3.2.3 赋值表达式及赋值运算符的优先级
和结合性 30
3.3 关系运算符和表达式 30
3.3.1 关系运算符 30
3.3.2 关系表达式及关系运算符的优先级
和结合性 31
3.4 逻辑运算符和表达式 31
3.4.1 逻辑运算符 32
3.4.2 逻辑表达式及逻辑运算符的优先级
和结合性 32
3.5 位运算符和表达式 34
3.5.1 “按位与”运算符“&” 34
3.5.2 “按位或”运算符“|” 34
3.5.3 “按位异或”运算符“^” 35
3.5.4 “取反”运算符“~” 35
3.5.5 “左移”运算符“<<” 35
3.5.6 “右移”运算符“>>” 36
3.5.7 位运算符和赋值运算符 36
3.6 逗号运算符和表达式 36
3.7 求字节数运算符sizeof和强制类型转换
运算符 37
3.7.1 求字节数运算符sizeof 37
3.7.2 强制类型转换运算符 38
3.8 运算符小结 38
实训项目 39
第4章 输入/输出函数 41
4.1 输出函数putchar()和printf() 42
4.1.1 字符输出函数putchar() 42
4.1.2 格式输出函数printf() 42
4.2 输入函数getchar()和scanf() 46
4.2.1 字符输入函数getchar() 47
4.2.2 格式输入函数scanf() 47
4.3 输入输出函数使用举例 49
实训项目 50
实战篇——如何编写C程序
第5章 程序的灵魂——算法简介 52
5.1 算法的概念和使用举例 52
5.2 算法的流程图表示 55
5.2.1 传统流程图 55
5.2.2 N-S流程图 57
实训项目 59
第6章 结构化程序设计 60
6.1 顺序结构程序设计 60
6.2 选择结构程序设计 61
6.2.1 if语句 62
6.2.2 switch语句 67
6.3 循环结构程序设计 69
6.3.1 while语句 70
6.3.2 do-while语句 71
6.3.3 for语句 72
6.3.4 循环结构程序设计编程实训:累加
器程序的编写 74
实训项目 77
第7章 模块化程序设计 81
7.1 函数 81
7.1.1 函数的概念 81
7.1.2 函数的分类 82
7.1.3 函数的定义 83
7.1.4 函数的参数 84
7.1.5 函数的返回值和函数的调用 86
7.1.6 函数编程实训 88
7.2 变量的作用范围 92
7.3 变量的存储类别 94
7.3.1 动态存储方式 94
7.3.2 静态存储方式 95
7.4 函数的作用范围 97
7.5 宏定义和文件包含 98
7.5.1 宏定义 98
7.5.2 文件包含 101
实训项目 102
提高篇——一些特殊的数据类型
第8章 数组 108
8.1 一维数组 108
8.1.1 一维数组的定义 109
8.1.2 一维数组的初始化 109
8.1.3 一维数组元素的引用 109
8.1.4 一维数组使用实训 110
8.2 二维数组 112
8.2.1 二维数组的定义 112
8.2.2 二维数组元素的初始化 112
8.2.3 二维数组元素的引用 113
8.2.4 二维数组使用实训 114
8.3 字符数组 116
8.3.1 字符数组的定义 116
8.3.2 字符数组的初始化 116
8.3.3 字符数组元素的使用 117
8.3.4 字符数组的输出和输入 117
8.3.5 常用的字符串处理函数介绍 119
8.4 数组编程实训 122
实训项目 126
第9章 指针 130
9.1 指针变量的定义和使用 130
9.1.1 指针变量的定义 131
9.1.2 指针变量的初始化 131
9.1.3 指针变量的使用 131
9.1.4 指针变量使用实训 136
9.2 指针和一维数组 136
9.2.1 指向数组元素的指针 136
9.2.2 通过指针引用数组元素 137
9.2.3 数组和指针使用实训 138
9.3 指针和二维数组 140
9.3.1 二维数组元素的地址 140
9.3.2 指向二维数组元素的指针变量 141
9.3.3 指向二维数组的行指针变量 141
9.3.4 二维数组的使用实训 142
9.4 指针和字符串 143
9.4.1 字符串的地址 143
9.4.2 指向字符串的字符指针变量 144
9.4.3 字符指针变量使用实训:字数统计 145
9.5 几种特殊的指针类型 146
9.5.1 指针数组 146
9.5.2 指向函数的指针 148
9.5.3 指向指针的指针 150
9.6 指针使用实训 151
实训项目 153
第10章 结构体和共用体 157
10.1 结构体 157
10.1.1 结构体类型的定义 158
10.1.2 结构体类型变量的定义 159
10.1.3 结构体变量的使用 160
10.1.4 结构体数组的定义和使用 161
10.1.5 指向结构体类型数据的指针 162
10.2 共用体 164
10.2.1 共用体类型的定义 165
10.2.2 共用体变量的定义和使用 165
实训项目 166
文件篇——C语言中数据的组织形式
第11章 文件 170
11.1 文件的打开和关闭 171
11.1.1 打开函数fopen 171
11.1.2 关闭函数fclose 172
11.2 文件的读和写 172
11.2.1 读函数fread、fgetc 172
11.2.2 输出函数fwrite、fputc 173
11.3 fprintf函数和fscanf函数 174
11.4 文件定位函数rewind和fseek 175
11.4.1 rewind函数 175
11.4.2 fseek函数 175
11.5 文件使用实训 176
实训项目 178
实践篇——实践是检验理论的标准
实验1 一个简单的C程序示例 182
实验2 输入输出函数的使用 184
实验3 选择结构程序设计 185
实验4 循环结构程序设计 186
实验5 模块化程序设计 187
实验6 一维数组的使用 188
实验7 二维数组的使用 189
实验8 字符数组的使用 190
实验9 指针的简单应用 191
实验10 指针的高级应用 193
实验11 结构体的使用 194
实验12 文件的使用 195
综合实训 196
附录1 运算符及其结合性 197
附录2 常用的库函数 198
参考文献 204
- 嵌入式人工智能技术应用(数字教材) [主编 胡娜 杨国勇 晏廷荣]
- Java面向对象程序设计 [主编 姜春磊 陈虹洁]
- C语言程序设计实验指导与实训(第二版) [主编 倪燃]
- 程序思维与C语言实现 [张祎 王俊海 吕波]
- Python程序设计及实践教程 [肖朝晖]
- C语言程序设计 [魏琴 刘祖珉 赵仕波 肖阳春]
- C语言程序设计实验教程 [张小刚 司春景]
- 电气控制与PLC程序设计(第二版) [胡冠山]
- Java Web项目化设计实践教程 [邱云 曾陈萍]
- 人工智能开发框架应用 [主编 王明超 芦娅云]
- C语言程序设计(第三版) [主编 丁红 王立新 蔡开立]
- 民航客舱服务实用英语教程 [主编 田静 徐亚玲]
- Python数据分析 [主编 冯志辉 赵磊 李放]
- 大学信息技术 [曾翰颖 编著]
- Python程序设计与应用(第二版) [主编 张广渊]
- 创新创业训练实践教程 [主编 王日华 陈武 黄喆诚]
- 实用运筹学 [主编 邢育红 于晋臣]
- 电子技术(第二版) [主编 覃爱娜 李飞]
- C程序设计实践教程 [刘卫国]
- C程序设计(慕课版) [刘卫国]
- 程序设计基础实践教程(C/C++语言版) [张桂芬 葛丽娜]
- C++案例项目精讲 [主编 杨国兴]
- 工程数学 [主编 郭立娟 王海]
- 语音识别理论与实践 [主编 莫宏伟]
- 武术基础教程 [主编 李代勇 谢志民]
- 计算机网络实训教程 [主编 张浩军 赵玉娟]
- SwiftUI完全开发 [李智威 著]
- 电工电子技术基础 [主编 刘 军 杨国龙 刘天成]
- MySQL数据库项目式教程 [陈亚峰]
- 机械设计基础(第二版) [主编 田亚平 李爱姣]