教育>高职高专>计算机类
C语言程序设计基础教程(慕课版)(第2版)  

C语言程序设计基础教程(慕课版)(第2版)  "

作者:王海宾,刘霞
ISBN:9787121439407
定价:¥53.0
字数:422千字
页数:264
出版时间:2022-07
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书在第1版的基础上对教材内容进行了修正,增加了全国计算机等级考试二级C语言模块相关内容,升级了在线微课视频,搭建了在线开发环境。本书以计算机语言的学习与认知过程为主线,以实践为主导,按照程序设计与编写的思路进行讲解,尽量使用通俗易懂的语言描述,避免空洞难懂的理论。首先,让读者对语言、C语言、程序设计、C语言程序设计有整体认知;然后,学习编程逻辑与规则,让读者养成良好的编程习惯;而后在实践中积累程序设计的基本元素——数据类型、常量、变量、运算符和表达式等;最后,引入三大流程结构——顺序结构、分支结构和循环结构,让读者在学习基本知识的过程中,逐渐感受程序的编写思路。在读者能够编写一些小程序之后,在实践中引入数组存储批量数据;为了实现程序的模块化,引入函数;为了存储复杂的数据类型,引入结构体;为了优化程序性能,引入指针;为了改进程序运行环境,提高程序效率,引入预处理;为了完成数据的永久存储,引入文件的操作。本书精选大量实例贯穿知识点的讲解,每个章节精选全国计算机等级考试二级C语言真题,并配有实训任务和精选习题(扫描下载),突出了C语言程序设计学习的实操性。顺应“互联网+”教材趋势,本书提供了丰富的配套资源,如微课视频、源代码、实训任务、PPT课件、课程大纲、题库等。此外,本书还提供了在线实验平台,支持使用手持设备进行程序开发。本书不仅可以作为职教本科和高职专科计算机相关专业的教材,而且可以作为职教本科和高职专科理工类公共课程“C语言程序设计”的教材。此外,还可以作为计算机培训机构的培训教材,是计算机编程爱好者的入门必备书籍。

前言

C语言是一门通用的计算机编程语言,自诞生起已经有近50年的历史。在每年的计算机语言排行榜中,C语言的排名均位列前三。目前,除了计算机相关专业开设“C语言程序设计”课程,几乎所有的理工类本科都将“C语言程序设计”作为其必修课程。C语言之所以经久不衰,不是因为所有人将来都会从事C语言开发,而是因为C语言是计算机学科的基础,是整个理工学科的基石。 《C语言程序设计基础教程(慕课版)》作为较早出版的“互联网+”模式立体化教材,自出版以来得到了广大读者的喜爱。本次改版在第1版的基础上对教材内容进行了修正,增加了全国计算机等级考试二级C语言模块相关内容,升级了在线微课视频,搭建了在线开发环境。 1.写作背景 当前C语言程序设计的教材层出不穷,纵观这些教材,大部分都是以专业术语的方式讲解知识,并且很多内容东拼西凑,思路不够清晰,缺乏从程序设计与开发的整个流程角度讲解的相关教材。本书按照软件工程的设计开发思路,设计安排教材章节,使每个知识点的讲解尽量做到通俗易懂。随着“互联网+”不断向纵深发展,任何传统行业都离不开互联网,都要与互联网结合,教材也不例外。 鉴于上述原因,编者萌发了编写一本用通俗易懂的自然语言,清晰、透彻地讲解相对深奥的专业知识,同时配备丰富的微课视频、程序源代码的教材的想法。 2.写作目的 本书的编者既是具有近20年程序设计与开发经验的程序设计界“老兵”,又是潜心进行教学改革与创新的高校教师。编者一直致力于将自己的经验或教训通过书的形式呈现给读者,通过通俗易懂的语言与实例把复杂且抽象的程序设计知识传授给业界的新人们。编者认为,不管编写的教材采用什么样的讲解方式,最关键的是把问题描述清楚,把要讲解的内容以最直接、最直白的形式传达给读者。 3.教材特色 随着国家建设“职业技术大学”步伐的不断加快,大批职教本科应运而生,大学的教育正在逐渐变得“注重实践”。本书顺应了这一趋势,在书中理论知识够用的前提下,更加注重与强调实践。本书的特色主要体现在以下几个方面。 ? 通俗易懂 本书尽量摒弃过于深奥的专业术语,采用通俗易懂的语言描述程序设计开发的过程,运用类比的方法,将程序设计与现实生活相结合,既有利于教学,又非常适合自学,让程序设计更加简单易懂,使零基础的读者也能无障碍阅读与学习。 ? 注重实践 本书以实践为主线,几乎每个知识点都附以实例,每个章节都精选了全国计算机等级考试二级C语言真题,每个章节后配有实训任务和精选习题。对于所有的实例与实训,编者都经过认真调试并给出了详细的操作步骤,读者按照步骤操作即可得到正确结果。 ? 慕课视频知识点全覆盖 顺应“互联网+”教材新模式,编者在智慧职教、电子工业出版社SPOC等平台上均开设了慕课课程。由拥有多年软件设计与开发经验的教师录制了70多段微课视频,实现了本书知识点的全覆盖。慕课及微课可扫描封面及书中二维码进行观看学习。其余教学资源,如源代码、PPT课件、习题答案等,请登录华信教育资源网(http://www.hxedu.com.cn)免费注册后下载。 ? 基于Dev-C++环境 随着信息技术的发展,主流的操作系统已经是Windows 10、Windows Server 2012等。Visual Studio C++ 6.0在主流的操作系统下的安装、使用或多或少都暴露出了兼容性问题。Dev-C++是开源的、轻量级开发工具,安装方便,使用简单。 4.主要内容 本书从程序设计的实践工程学角度,按照程序员面对实际问题通过编程寻求解决方案的逻辑进行讲解。主要内容为:(1)认知C语言程序设计,包括语言、C语言、程序设计、C语言程序设计的整体认知等;(2)C语言程序开发前的准备,包括项目的开发流程、C语言程序的开发流程、C语言程序的结构、C语言程序的编写规范、程序与算法、流程图;(3)语言基础——数据与运算,包括C语言程序的基本元素、标识符与关键字、数据类型、常量、变量、运算符与表达式等;(4)程序逻辑处理三大流程结构,包括顺序结构、分支结构和循环结构;(5)批量数据的存储——数组,包括数组的认知、数组的定义、初始化与引用等;(6)程序的模块化——函数,包括函数的认知、函数的定义、调用与声明、函数的嵌套与递归、数组作为函数的参数等;(7)程序性能优化——指针,包括什么是指针、为什么要使用指针、指针变量的使用、指针在数组中的应用等;(8)复杂数据类型——结构体与共用体,包括结构体的认知,结构体变量的定义、初始化与引用,结构体数组,结构体指针变量等;(9)程序设计优化——预处理,包括宏定义、文件包含、条件编译等;(10)数据永久存储——文件操作,包括文件的认知、文件的打开与关闭、文件的顺序读/写、文件的随机读/写、文件读/写的出错检测等。 5.适用范围 本书不仅可以作为职教本科和高职专科计算机相关专业的教材,而且可以作为职教本科和高职专科理工类公共课程“C语言程序设计”的教材。此外,还可以作为计算机培训机构的培训教材,是计算机编程爱好者的入门必备书籍。 6.编写情况 本书由王海宾进行整体规划与内容组织;由王海宾与刘霞负责内容统稿并担任主编;由霍艳玲、钱孟杰、杨平、孙华担任副主编。 本书第1、4、5章由王海宾编写;第2章由杨平和冯笑雪共同编写;第3、9章由刘霞编写;第6章由高娟娟和宋亚青共同编写;第7章由钱孟杰和孙华共同编写;第8章由王刚和王月青共同编写;第10章由霍艳玲和赵美枝共同编写;程序源代码、PPT、实训任务与课后习题由王海宾编写;微课视频由王海宾、霍艳玲、高娟娟、宋亚青共同录制。本书在编写过程中得到很多同人的支持,在此一并表示感谢。 尽管编者尽量做到最好,但书中难免有疏忽、遗漏之处,恳请读者提出宝贵意见和建议,以便今后改进和修正。编者E-mail地址为seashorewang@qq.com。 编 者

目录

第1章 认知C语言程序设计 | 1 1.1 整体认知 | 1 1.1.1 什么是语言 | 1 1.1.2 什么是C语言 | 2 1.1.3 什么是程序设计 | 2 1.1.4 什么是C语言程序设计 | 4 1.2 为什么学习C语言程序设计 | 4 1.2.1 C语言的发展与趋势 | 4 1.2.2 C语言的重要性 | 4 1.3 环境搭建与开发步骤 | 5 1.3.1 环境搭建 | 5 1.3.2 开发步骤 | 7 1.4 第一个C语言程序 | 9 1.5 程序案例 | 10 1.6 二级真题 | 11 1.7 本章小结 | 12 实训任务1 环境搭建与第一个C语言程序 | 12 习题1 | 13 第2章 C语言程序开发前的准备 | 14 2.1 项目的开发流程 | 14 2.2 C语言程序的开发流程 | 15 2.3 C语言程序的结构 | 16 2.4 C语言程序的编写规范 | 18 2.5 程序与算法 | 19 2.6 流程图 | 20 2.7 程序案例 | 21 2.8 二级真题 | 23 2.9 本章小结 | 24 实训任务2 程序流程图的绘制 | 24 习题2 | 25 第3章 语言基础——数据与运算 | 26 3.1 C语言程序的基本元素 | 26 3.2 标识符与关键字 | 26 3.2.1 标识符 | 27 3.2.2 关键字 | 28 3.3 数据类型 | 28 3.4 常量 | 30 3.4.1 直接常量 | 30 3.4.2 符号常量 | 33 3.5 变量 | 35 3.6 运算符与表达式 | 35 3.6.1 运算符基础 | 36 3.6.2 算术运算符和算术表达式 | 36 3.6.3 关系运算符和关系表达式 | 38 3.6.4 逻辑运算符和逻辑表达式 | 39 3.6.5 赋值运算符和赋值表达式 | 41 3.6.6 位运算符 | 41 3.6.7 其他运算符 | 43 3.6.8 运算符的优先级 | 45 3.7 数据类型的转换 | 46 3.8 程序案例 | 47 3.9 二级真题 | 49 3.10 本章小结 | 51 实训任务3 程序中的数据与运算 | 51 习题3 | 52 第4章 程序逻辑处理三大流程结构 | 53 4.1 顺序结构 | 53 4.1.1 C语言程序中的语句 | 53 4.1.2 格式化数据的输入/输出 | 54 4.1.3 字符数据的输入/输出 | 60 4.2 分支结构 | 62 4.2.1 单分支结构 | 63 4.2.2 双分支结构 | 64 4.2.3 多分支结构 | 67 4.3 循环结构 | 74 4.3.1 for语句 | 75 4.3.2 while语句 | 80 4.3.3 do-while语句 | 81 4.3.4 3种循环语句的比较 | 82 4.3.5 break、continue、goto、return语句 | 83 4.3.6 循环的嵌套 | 86 4.4 程序案例 | 87 4.5 二级真题 | 93 4.6 本章小结 | 95 实训任务4 程序逻辑处理 | 95 习题4 | 96 第5章 批量数据的存储——数组 | 97 5.1 数组的认知 | 97 5.2 一维数组的定义、初始化与引用 | 98 5.2.1 一维数组的定义 | 98 5.2.2 一维数组的初始化 | 99 5.2.3 一维数组的引用 | 101 5.3 二维数组的定义、初始化与引用 | 102 5.3.1 二维数组的定义 | 102 5.3.2 二维数组的初始化 | 103 5.3.3 二维数组的引用 | 104 5.4 字符数组的定义、初始化与引用 | 106 5.4.1 字符数组的定义 | 106 5.4.2 字符数组的初始化 | 107 5.4.3 字符数组的引用 | 107 5.4.4 字符串和字符串结束标志 | 108 5.4.5 字符数组的输入/输出 | 109 5.4.6 字符串处理函数 | 111 5.5 程序案例 | 116 5.6 二级真题 | 120 5.7 本章小结 | 123 实训任务5 数组的应用 | 123 习题5 | 124 第6章 程序的模块化——函数 | 125 6.1 函数的认知 | 125 6.1.1 什么是函数 | 125 6.1.2 为什么使用函数 | 126 6.1.3 函数的分类 | 129 6.2 函数的定义、调用与声明 | 130 6.2.1 函数的定义 | 130 6.2.2 函数的调用 | 132 6.2.3 函数的参数和返回值 | 133 6.2.4 函数的声明 | 137 6.3 函数的嵌套 | 139 6.4 函数的递归 | 140 6.5 数组作为函数的参数 | 142 6.5.1 数组元素作为函数实参 | 142 6.5.2 数组名作为函数参数 | 143 6.6 变量的作用域 | 145 6.6.1 局部变量 | 145 6.6.2 全局变量 | 146 6.7 程序案例 | 148 6.8 二级真题 | 152 6.9 本章小结 | 154 实训任务6 函数的应用 | 154 习题6 | 155 第7章 程序性能优化——指针 | 156 7.1 什么是指针 | 156 7.2 为什么要使用指针 | 157 7.3 指针变量的使用 | 157 7.3.1 指针变量的声明 | 157 7.3.2 指针变量的赋值 | 158 7.3.3 指针变量的引用 | 159 7.3.4 指针的加减运算 | 161 7.4 指针在数组中的应用 | 162 7.4.1 使用指针引用一维数组的元素 | 162 7.4.2 使用指针引用二维数组的元素 | 164 7.5 字符型指针引用字符串 | 166 7.6 指针数组和指向指针的指针 | 167 7.6.1 指针数组的概念 | 167 7.6.2 指向指针的指针 | 169 7.7 指针在函数中的应用 | 170 7.7.1 使用指针作为函数参数 | 170 7.7.2 使用指针作为函数的返回值 | 172 7.7.3 使用指针调用函数 | 174 7.8 程序案例 | 177 7.9 二级真题 | 180 7.10 本章小结 | 187 实训任务7 指针的使用和字符串的处理 | 187 习题7 | 188 第8章 复杂数据类型——结构体与共用体 | 189 8.1 结构体的认知 | 189 8.2 结构体变量的定义、初始化与引用 | 190 8.2.1 结构体变量的定义 | 190 8.2.2 结构体变量的初始化 | 192 8.2.3 结构体变量的引用 | 193 8.3 结构体数组 | 195 8.3.1 结构体数组的定义 | 195 8.3.2 结构体数组的初始化 | 196 8.3.3 结构体数组的引用 | 197 8.4 结构体指针变量 | 198 8.4.1 指向结构体变量的指针 | 199 8.4.2 指向结构体数组的指针 | 200 8.5 共用体 | 201 8.5.1 共用体类型的定义 | 201 8.5.2 共用体变量的定义 | 201 8.5.3 共用体变量的初始化与引用 | 202 8.6 程序案例 | 203 8.7 二级真题 | 205 8.8 本章小结 | 207 实训任务8 结构体和共用体 | 207 习题8 | 208 第9章 程序设计优化——预处理 | 209 9.1 宏定义 | 209 9.1.1 不带参数的宏定义 | 209 9.1.2 带参数的宏定义 | 212 9.2 文件包含 | 214 9.3 条件编译 | 216 9.4 程序案例 | 218 9.5 二级真题 | 220 9.6 本章小结 | 221 实训任务9 预处理命令的使用 | 222 习题9 | 222 第10章 数据永久存储—文件操作 | 223 10.1 文件的认知 | 223 10.1.1 C语言中的数据流 | 224 10.1.2 文件指针 | 225 10.2 文件的打开与关闭 | 225 10.2.1 文件的打开 | 225 10.2.2 文件的关闭 | 227 10.3 文件的顺序读/写 | 228 10.3.1 字符数据的读/写 | 228 10.3.2 字符串数据的读/写 | 231 10.3.3 二进制数据的读/写 | 234 10.3.4 数据的格式化读/写 | 237 10.4 文件的随机读/写 | 238 10.5 文件读/写的出错检测 | 241 10.6 程序案例 | 241 10.7 二级真题 | 244 10.8 本章小结 | 245 实训任务10 文本的相关操作 | 245 习题10 | 246 附录A 标准字符与ASCII值对照表 | 247 附录B C语言常用库函数 | 248 参 考 文 献 | 251

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个