欢迎来到中国铁道出版社有限公司官网!
$itImage.title$
$itImage.title$
$itImage.title$
$itImage.title$

C语言程序设计能力教程(第四版)

书      号:9787113242794

丛  书 名:“十三五”普通高等教育规划教材

作      者:赵凤芝 包锋

译      者:

开      本:16开

装      帧:平装

正文语种:中文

出  版 社:中国铁道出版社

定      价:46

  • 内容简介

    全书共分11 章,内容包括:进入C 语言程序世界准备和计算机交流、应用C 的基础知识实现数据的运算与处理、应用顺序结构设计程序解决简单实际问题、应用选择结构设计程序实现分支判断、应用循环结构设计程序实现重复操作、应用数组设计程序实现批量数据处理、应用函数设计程序实现模块化设计、应用指针设计程序增加独有特色、自己定义数据类型完成复杂数据处理、应用文件管理数据、C 程序设计项目实战。

    本书按照工学结合的CDIO 工程理念,以打造“零基础”入门、突出实践应用能力为出发点,设计了独具特色的“案例驱动+项目实训”的设计模式,通过大量实用性和趣味性应用实例,由浅入深地对C 语言程序设计内容进行了全面讲述。
  • 前言

    C 语言具有功能强大、使用灵活、可移植性好等诸多优点,深受软件开发者的喜爱,成为国内外广泛流行的程序设计主流语言,在操作系统、图形图像、数值计算、人工智能、嵌入式系统、智能家居、游戏引擎、云计算、物联网等多个领域都得到了广泛的应用。许多程序设计语言如Visual C++、Java、C#也都是在C 语言的基础上发展起来的。C 语言也是各高校广泛开设的一种重要的计算机专业技术入门语言。全国计算机等级考试、职业资格认定、技能大赛等都将C 语言列入考查范围。学习和使用C 语言已经成为广大计算机应用人员和学生们的迫切需求。
    但不少初学者担心学不会,迫切希望有一本实用性强、“零基础”入门的书籍,鉴于此,我们在多年从事一线实践教学和研究的基础上,总结经验和技巧、参考国内外有关资料精心打造了这本书。本书倾注了编者的大量心血,书中的每道例题、习题、每个环节都经过精心设计、反复推敲,为消除初学者的恐惧心理,精心设计全书的体系结构和内容,简化、分散难点,讲解循序渐进,努力打造“零基础”入门特色。
    本书自出版以来,深受广大读者的欢迎,先后多次改版重印。第一版作为国家社会科学基金教育学科“十一五”规划课题研究成果,改编后出版了第二版,被教育部高等学校高职高专计算机教学指导委员会评为“优秀教材”;升级的第三版获得了省级高等教育学会“优秀教学成果二等奖”;第四版在前三版的基础上进一步优化,增加了微课内容,形成了立体化教材,更加方便广大读者的学习和使用。
    本次改版过程中,将每章的习题和项目实训全部做了优化,第11 章C 程序设计项目实战选择了一个实际应用项目“企业员工信息系统”,使读者有一个工程软件开发过程的体会。
    全书共分11 章,包括以下内容:进入C 语言程序世界准备和计算机交流、应用C 的基础知识实现数据的运算与处理、应用顺序结构设计程序解决简单实际问题、应用选择结构设计程序实现分支判断、应用循环结构设计程序实现重复操作、应用数组设计程序实现批量数据处理、应用函数设计程序实现模块化设计、应用指针设计程序增加独有特色、自己定义数据类型完成复杂数据处理、应用文件管理数据、C 程序设计项目实战。除第 11 章外,每章包括“学习目标”“相关知识”“技能训练”“能力拓展”“小结”“习题”“项目实训”等环节。还增加了“举一反三”“再学一招”“编程技巧总结”等部分。
    本书特色:
    1.“工学结合”、CDIO 工程模式—应用案例驱动&项目实训模式
    每一章目标明确,先用一个比较简单实用的案例,引出相关知识点,使读者感到学习C语言程序设计并不是一件难事,可以顺利学习并快速掌握相关内容。编写过程中,我们将工学结合的CDIO 工程理念融入本书,尽量把C 语言从应试学习转变为实践应用工具,设计的案例尽量贴近生活或实际需要,以提高学习兴趣,zui后配有项目实训,做到学以致用。
    2.“零基础入门”、微课助阵—内容生动灵活,实例丰富,好学易懂
    讲解由浅入深,从问题分析到算法表示,从程序代码编写到运行结果分析,对整个程序设计过程进行详细的讲解,这样可帮助初学者快速入门。我们提供了丰富的典型例题和真实实训项目,集趣味性和实用性于一体,使读者在轻松环境中掌握程序设计的能力。同时配有大量的微课讲解,使读者学起来更加轻松。
    3.“递进式”的讲解,独具特色—形式新颖,设计独特
    本书采用“递进式”的讲解方式将程序设计的思想和方法徐徐展开,以实例带动知识点的学习。每章典型学习模式为:“简单实例讲解→相关知识点学习→技能训练→加深知识点学习→举一反三→灵活运用→能力拓展→知识点拓宽→综合实训→能力应用”。由浅入深、循序渐进,重点突出,环环紧扣。所列举的实例由易到难,给出一题多解,使读者既能快速直观地掌握必备的理论知识,又能很快掌握相关程序设计思想和逻辑思维方法。
    “举一反三”“再学一招”和“能力拓展”可满足不同程度的读者的需要。每章的“项目实训”是对所学知识的一种检验,使读者对自己的掌握程度做到心中有数,为开发实际应用项目起到抛砖引玉的作用。
    本书通俗易懂,实例丰富,形式新颖,目标明确,实用为主,能力为纲,理论适度,实用性强,适合作为高等院校程序设计课程的教材,也可作为等级考试、各类培训班的教材及技能设计大赛和广大计算机爱好者的自学和参考用书。全书所有程序都在Visual C++ 6.0 环境下编译通过。
    本书配有的全部源程序、电子教案和书后参考答案等教学资源,可向中国铁道出版社联系得到。另外还有与之配套的《C 语言程序设计实训》一书,包含大量实战训练。
    本书由赵凤芝、包锋任主编,吴晶、王海英、刘志军、郭杰锋参与编写。各章编写分工如下:第1、5~7 章由赵凤芝编写,第2 章由吴晶编写,第3 章由刘志军编写,第4、8~11章由包锋编写,附录及部分实训题目、视频资料由王海英和郭杰锋编写和整理。在本书编写过程中,得到了许多专家学者的指导,特别是得到了教育部职业教育专家邓泽民教授的亲自指导,在此表示感谢!吕晓昶、刘静、李峰、张国华等提供了相关资料,在此一并表示感谢!同时对为本书出版给予关心、支持的相关人员、特别是中国铁道出版社的有关编辑表示诚挚的谢意!
    由于编者水平有限,书中疏漏和不足之处在所难免,敬请有关专家和广大读者不吝指正。编者的电子邮箱是qhdcomputer@163.com。
    编 者
    2018 年1 月
  • 目录

    第1 章 进入C 语言程序世界准备和计算机交流 ·· 1
    1.1 初识C 语言 1
    1.1.1 第一个C 程序 ···· 1
    1.1.2 C 程序的结构特点 ··············· 2
    1.1.3 规范书写C 程序 2
    1.2 设计简单的C 程序 ······ 4
    1.3 C 程序的调试与运行 ···· 6
    1.3.1 C 程序的实现过程 ··············· 6
    1.3.2 在Visual C++环境中实现C 程序 ········ 6
    1.3.3 算法及算法的表示 ············ 12
    1.3.4 计算机语言的发展 ············ 15
    小结 · 16
    习题 · 16
    项目实训—设计个人特色名片········· 17
    第2 章 应用C 的基础知识实现数据的运算与处理 ·············· 19
    2.1 常量与变量 ················ 20
    2.2 C 语言的基本数据类型 ················ 21
    2.2.1 整型数据 ·········· 21
    2.2.2 实型数据 ·········· 23
    2.2.3 字符型数据 ······ 24
    2.3 C 语言的运算符和表达式 ············ 28
    2.3.1 算术运算符及其表达式 ·············· 28
    2.3.2 赋值运算符及其表达式 ·············· 29
    2.3.3 自增和自减运算符 ············ 30
    2.3.4 强制类型转换运算符及其表达式 ······ 31
    2.3.5 逗号运算符及其表达式 ····· 32
    2.3.6 不同类型数据之间的混合运算 ·········· 32
    小结 · 35
    习题 · 35
    项目实训—设计产品超市智能计算器 ·········· 37
    第3 章 应用顺序结构设计程序解决简单实际问题 ···· 38
    3.1 结构化程序设计的三种基本结构 ········· 38
    3.2 数据的输入与输出 ····· 40
    3.2.1 格式输出函数printf() ········ 40
    3.2.2 格式输入函数scanf() ········· 43
    3.2.3 单个字符输入/输出函数(getchar()/putchar()) ······· 45
    3.3 顺序结构程序设计举例 ··············· 46
    小结 · 49
    习题 · 49
    项目实训—企业员工工资计算 ········· 52
    第4 章 应用选择结构设计程序实现分支判断 ···· 53
    4.1 选择结构程序设计简介 ··············· 53
    4.2 if 语句的典型形式 ······ 54
    4.2.1 简单if 形式······ 55
    4.2.2 标准if…else...形式 ············· 56
    4.2.3 if…else if...形式 56
    4.3 选择结构中常用的运算符和表达式 ····· 59
    4.3.1 关系运算符及其表达式 ····· 59
    4.3.2 逻辑运算符及其表达式 ····· 59
    4.3.3 条件运算符及其表达式 ···· 62
    4.4 嵌套if 语句形式 ········ 63
    4.5 switch 语句的应用—评定学生成绩 ··········· 65
    4.6 选择结构程序设计应用实例 ······· 67
    4.6.1 计算银行存款利息 ············ 67
    4.6.2 智能体检电子秤 ················ 68
    4.6.3 设计简易计算器 ················ 70
    小结 · 73
    习题 · 73
    项目实训—企业员工奖金分配 ········ 76
    第5 章 应用循环结构设计程序实现重复操作 ··· 78
    5.1 为什么使用循环 ········ 78
    5.2 while 语句与do…while 语句 ········· 79
    5.2.1 while 语句(当型循环) ··· 79
    5.2.2 do...while 语句(直到型循环) 83
    5.3 for 语句实现循环 ······· 84
    5.4 几种循环的比较 ········ 88
    5.5 多重循环(嵌套循环) ··············· 89
    5.6 break 语句和continue 语句 ·········· 93
    5.6.1 break 语句 ········ 93
    5.6.2 continue 语句 ··· 94
    5.7 循环结构程序设计举例 ··············· 95
    5.7.1 找zui大值及求和 ················ 95
    5.7.2 求阶乘的和 ······ 97
    5.7.3 求素数 ············· 99
    小结 ················· 103
    习题 ················· 104
    项目实训—企业员工技能大赛现场评分 ···· 108
    第6 章 应用数组设计程序实现批量数据处理 · 109
    6.1 数组的引入 ·············· 109
    6.2 一维数组及应用 ······ 111
    6.2.1 一维数组的定义 ·············· 111
    6.2.2 一维数组的初始化 ·········· 111
    6.2.3 一维数组的引用 ·············· 112
    6.3 二维数组 114
    6.3.1 二维数组的定义 ·············· 114
    6.3.2 二维数组的初始化 ·········· 115
    6.3.3 二维数组元素的引用 ······ 115
    6.3.4 多维数组 ······· 117
    6.4 字符数组 118
    6.4.1 字符数组的定义 ·············· 118
    6.4.2 字符数组的初始化 ·········· 119
    6.4.3 字符数组的输入与输出 ·· 119
    6.4.4 字符串(字符数组)处理函数 ········ 120
    6.5 数组的应用 ·············· 123
    6.5.1 利用数组求Fibonacci 数列的前n 项 ···· 123
    6.5.2 利用数组实现数据排序 ·· 125
    6.5.3 利用数组处理批量数据 ·· 128
    6.5.4 利用数组实现矩阵的
    转置 ················ 129
    6.5.5 字符数组的应用 ·············· 131
    小结 ················· 135
    习题 ················· 135
    项目实训—企业员工系统的登录与工资统计 ·· 138
    第7 章 应用函数设计程序实现模块化设计 ········· 139
    7.1 函数的引入 ·············· 139
    7.2 函数的定义与调用 ··· 140
    7.2.1 函数定义的一般形式 ······ 141
    7.2.2 函数的参数和返回值 ······ 142
    7.2.3 函数调用的一般方法 ······ 144
    7.2.4 函数的声明 ···· 145
    7.3 函数的嵌套调用和递归调用 ····· 146
    7.3.1 函数的嵌套调用 ·············· 146
    7.3.2 函数的递归调用 ·············· 147
    7.4 函数应用实例 ·········· 149
    7.4.1 利用函数完成特定功能
    求值 ················ 149
    7.4.2 利用函数求阶乘的和 ······ 149
    7.4.3 数组作为函数参数 ·········· 151
    7.5 局部变量、全局变量及其存储 ·· 154
    7.5.1 变量的作用域 154
    7.5.2 变量的存储类别 ·············· 155
    小结 ················· 161
    习题 ················· 161
    项目实训—企业员工业绩评比······· 164
    第8 章 应用指针设计程序增加独有特色 ········· 166
    8.1 指针的概念 ·············· 166
    8.1.1 指针与地址的关系 ·········· 166
    8.1.2 变量的直接访问与间接访问 ················ 167
    8.2 指针的基础应用 ······· 167
    8.2.1 指针变量的定义、初始化与运算 ············ 168
    8.2.2 应用指针对一维数组操作 ················ 169
    8.2.3 应用指针处理字符串 ······ 171
    8.3 指针的高级应用 ······· 173
    8.3.1 指针变量作为函数的参数 ················ 173
    8.3.2 返回指针的函数定义与使用 ················ 173
    8.3.3 指向函数的指针 ·············· 174
    8.3.4 应用指针处理二维数组 ··· 176
    8.3.5 指针数组 ········ 177
    8.3.6 多重指针 ········ 179
    小结 ················· 184
    习题 ················· 185
    项目实训—企业员工考勤系统······· 188
    第9 章 自己定义数据类型完成复杂数据处理 ·· 189
    9.1 结构体类型及其变量的定义 ····· 190
    9.1.1 结构体类型的定义 ·········· 190
    9.1.2 结构体类型变量的定义 ··· 192
    9.2 结构体变量的使用 ··· 193
    9.2.1 结构体类型成员的引用 ··· 193
    9.2.2 结构体类型变量的赋值 ··· 194
    9.3 结构体数组的应用 ··· 195
    9.3.1 结构体数组的应用概述 ··· 195
    9.3.2 应用指针处理结构体数组 ················ 197
    9.4 结构体变量作为函数参数 ········· 198
    9.5 结构体应用—链表 ················· 200
    9.5.1 动态链表概述 200
    9.5.2 用尾插法创建链表 ·········· 200
    9.5.3 链表的输出 ···· 202
    9.6 共同体类型 ·············· 203
    9.6.1 共同体类型的定义 ·········· 204
    9.6.2 共同体类型变量的定义引用 ········ 204
    9.6.3 共同体类型的特点 ·········· 205
    9.7 枚举类型 205
    9.8 用typedef 定义类型 · 206
    9.8.1 定义已有类型的别名 ······ 207
    9.8.2 定义构造类型的别名 ······ 207
    9.8.3 typedef 的应用 ················· 207
    小结 ················· 215
    习题 ················· 216
    项目实训—企业员工档案管理及信息查询 ···· 218
    第10 章 应用文件管理数据 ·· 220
    10.1 文件概述 ················ 220
    10.1.1 文件的概念 ·· 220
    10.1.2 文件的指针 ·· 222
    10.1.3 文件的一般操作过程 ····· 222
    10.2 对文件进行操作 ····· 223
    10.2.1 文件的打开/关闭 ··········· 223
    10.2.2 文件的基本读/写操作 ··· 225
    10.2.3 文件的格式化读/写 ······· 227
    10.2.4 文件的数据块读/写 ······· 228
    10.2.5 文件的定位 ·· 229
    10.2.6 文件的检错与处理函数 ·············· 230
    10.3 文件的应用 ············ 230
    小结 ················· 233
    习题 ················· 234
    项目实训—企业信息管理与保存 ·· 236
    第11 章 C 程序设计项目实战 ················ 237
    11.1 企业员工管理信息系统开发思路 ··· 237
    11.2 企业员工管理信息系统的设计与实现 ····· 238
    小结 ················· 250
    综合自测题 ····· 250
    综合自测题参考答案 ········ 253
    附录 ······ 255
    附录A 常用字符与ASCII 码对照 ··· 255
    附录B C 语言的关键字 · 256
    附录C 运算符的优先级和结合性 ··· 256
    附录D 编译预处理命令 257
    附录E 位运算 ················ 262
    附录F C 语言常见库函数 ··············· 264
  • 作者介绍

    赵凤芝 大庆石油学院 教授
  • 编辑推荐

    本书在前三版的基础上进行了优化并增加了微课内容的讲解。
  • 书评书荐

  • 附件下载

图书推荐