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

C语言程序设计基础与实验指导(第二版)

书      号:9787113263041

丛  书 名:普通高等院校计算机基础教育“十三五”规划教材

作      者:顾玲芳

译      者:

开      本:16开

装      帧:平装

正文语种:

出  版 社:中国铁道出版社有限公司

定      价:46

  • 内容简介

    全书以程序设计为主线,以二级C语言考查点为线索,以编程应用为驱动,详细讲述了顺序结构、选择结构、循环结构的三种程序设计方法,以及数组、函数、指针、结构体、文件等概念和应用。并注重程序设计能力的培养,安排了读者熟悉的学生成绩管理系统实验案例,贯穿全书重难知识点,使读者在学习理论知识的同时,明确应该掌握的动手实践要求,使读者真正掌握程序设计的基本方法,并做到触类旁通、一通百通。
  • 前言

    “C 语言程序设计”是一门实践性很强的课程,旨在培养学生编写程序解决实际问题的能
    力。当前,整个社会已经逐渐迈入人工智能时代(AI 时代),这是一个以计算机科学为基础的
    时代。学习程序设计课程能够很好地培养学生的逻辑思维和创新能力,而C 语言是除了汇编语
    言之外最接近硬件的程序设计语言,可以提供对操作系统和内存的精准控制,运行效率高,在
    嵌入式系统等领域依然具有不可替代的地位。
    C 语言作为一门经典的计算机编程语言,是目前国内高校大部分理工科专业本科阶段的第
    一门重要的编程基础课程,它不仅能够满足现代编程的基本要求,而且是许多其他编程语言
    (Java、C++等)的基础。要使用一门计算机语言,重要的是会用计算机思维来解决问题,提高
    逻辑思维能力,熟练掌握使用编程语言解决实际问题的方法。
    本书第一版于2015 年2 月出版,经过几年的教学实践,考虑到教学的需求、读者的需求,
    我们在保留原书特色的基础上进行了修订。在修订过程中,编者始终以理论联系实际为出发点,
    采用案例驱动的方式组织内容,通过贯穿全书的一个经典案例——消费者积分管理系统,将C
    语言的理论知识与编程思维融为一体;通过另一个经典案例——学生成绩管理系统,贯穿实践
    环节,突出计算思维、编程思维的培养,突出解决问题能力的培养。修订后的教材,内容比之
    前更具实用性、实践性,更通俗易懂,这样更有利于教师的教学和读者的自学,更利于读者对
    于C 语言理论知识的掌握与巩固。
    全书分三篇。第1 篇为基础知识,重点讲解C 语言中重要的、具有一般性的语法知识,并
    通过经典实例将语法知识化整为零。第2 篇为实验指导,将学生成绩管理系统按理论知识顺序
    拆解成9 个实验,实验题题题相扣,直到完成最后一个实验题,即完成整个实验案例。第3 篇
    为习题及参考答案,包括综合练习题和模拟练习题及其参考答案,收集了大量涵盖C 语言主要
    知识点的练习题,也是与全国计算机等级考试二级C 语言接近的考题,力求重点突出、难点突
    破,为学生学习提供指导,帮助读者验证自己对C 语言的掌握程度,发现自身的长处和不足。
    本书由顾玲芳任主编,并编写了第1 篇中的第1~3、7、8 章和第2 篇及附录;由杨娜任
    副主编,并编写了第1 篇中的第4~6、9、10 章和第3 篇。本书涉及的内容有一定的深度和广
    度,既能满足高校计算机和非计算机专业编程初学者的需要,也能满足能力较强读者深入探讨
    的愿望,亦可作为全国计算机等级考试(二级C 语言)的参考用书。
    本书编者都是活跃在应用型本科院校计算机教学一线的教师,他们不仅了解学生的特点和
    需求,而且能有针对性地进行教学内容、教学方法和教学手段方面的改革。
    虽然本书凝聚了编者的思考和经验,但由于水平有限,书中难免存在不足及疏漏之处,敬
    请专家、读者和同行不吝指正。
    编 者
    2019 年7 月
  • 目录

    第1篇 基 础 知 识
    第1 章 C 语言概述与程序设计基础............................................ 1
    1.1 C 语言发展简史............................................................................................................. 1
    1.2 C 语言的特点................................................................................................................. 1
    1.3 简单C 语言程序举例.................................................................................................... 2
    1.4 程序设计基础................................................................................................................ 3
    1.4.1 算法概述............................................................................................................ 4
    1.4.2 算法的常用表示方法........................................................................................ 4
    1.5 Visual C++ 6.0 集成开发环境....................................................................................... 6
    1.6 需求——消费者积分管理系统.................................................................................... 7
    小结......................................................................................................................................... 7
    习题......................................................................................................................................... 7
    第2 章 数据类型、运算符与表达式............................................ 8
    2.1 C 语言的基本符号......................................................................................................... 8
    2.1.1 标识符................................................................................................................ 8
    2.1.2 数据类型............................................................................................................ 9
    2.1.3 常量.................................................................................................................. 10
    2.1.4 变量.................................................................................................................. 12
    2.2 运算符和表达式.......................................................................................................... 13
    2.2.1 赋值运算符和赋值表达式.............................................................................. 14
    2.2.2 算术运算符和算术表达式.............................................................................. 16
    2.2.3 关系运算符和关系表达式.............................................................................. 17
    2.2.4 逻辑运算符和逻辑表达式.............................................................................. 18
    2.2.5 逗号运算符和逗号表达式.............................................................................. 20
    2.2.6 条件运算符和条件表达式.............................................................................. 21
    2.2.7 自增运算和自减运算...................................................................................... 21
    2.3 数据类型转换.............................................................................................................. 22
    2.3.1 不同数据类型的数据间的混合运算.............................................................. 23
    2.3.2 强制类型转换.................................................................................................. 24
    2.4 案例——消费者属性数据的描述.............................................................................. 25
    小结....................................................................................................................................... 25
    习题....................................................................................................................................... 26
    目录 CONTENTS
    II C语言程序设计基础与实验指导(第二版)
    第3 章 顺序结构程序设计................................................... 27
    3.1 语句.............................................................................................................................. 27
    3.2 数据的输入和输出...................................................................................................... 29
    3.2.1 简单格式的输入与输出.................................................................................. 29
    3.2.2 复杂格式的输入与输出.................................................................................. 33
    3.2.3 字符数据的输入与输出.................................................................................. 36
    3.3 顺序结构应用举例...................................................................................................... 38
    3.4 案例——菜单的设计与实现...................................................................................... 39
    小结....................................................................................................................................... 41
    习题....................................................................................................................................... 41
    第4 章 选择结构程序设计................................................... 42
    4.1 if 语句........................................................................................................................... 42
    4.1.1 if 语句的三种形式........................................................................................... 42
    4.1.2 if 语句的嵌套................................................................................................... 46
    4.2 switch 语句................................................................................................................... 49
    4.3 选择结构应用举例...................................................................................................... 50
    4.4 案例——菜单的选择.................................................................................................. 53
    小结....................................................................................................................................... 55
    习题....................................................................................................................................... 55
    第5 章 循环结构程序设计................................................... 57
    5.1 while 循环语句............................................................................................................. 57
    5.2 do…while 循环语句..................................................................................................... 58
    5.3 for 循环语句................................................................................................................. 59
    5.4 循环嵌套...................................................................................................................... 62
    5.5 break 语句与continue 语句......................................................................................... 64
    5.5.1 break 语句的使用............................................................................................. 64
    5.5.2 continue 语句的使用........................................................................................ 65
    5.6 循环结构应用举例...................................................................................................... 65
    5.7 案例——用户菜单的循环选择.................................................................................. 68
    小结....................................................................................................................................... 70
    习题....................................................................................................................................... 71
    第6 章 数组及其使用....................................................... 72
    6.1 一维数组...................................................................................................................... 72
    6.1.1 一维数组的定义和引用.................................................................................. 72
    6.1.2 一维数组的初始化.......................................................................................... 73
    6.1.3 一维数组程序举例.......................................................................................... 74
    6.2 二维数组...................................................................................................................... 76
    6.2.1 二维数组的定义和引用.................................................................................. 76
    目 录 III
    6.2.2 二维数组的初始化.......................................................................................... 76
    6.2.3 二维数组程序举例.......................................................................................... 77
    6.3 字符数组...................................................................................................................... 79
    6.3.1 字符数组的定义.............................................................................................. 79
    6.3.2 字符数组的初始化.......................................................................................... 79
    6.3.3 字符数组的引用.............................................................................................. 79
    6.3.4 字符数组与字符串.......................................................................................... 80
    6.3.5 字符数组的输入和输出.................................................................................. 80
    6.3.6 字符串处理函数.............................................................................................. 81
    6.3.7 字符数组应用举例.......................................................................................... 84
    6.4 案例——以数组为数据结构的实现.......................................................................... 85
    6.4.1 消费者清单数据描述...................................................................................... 85
    6.4.2 “创建消费者清单”模块.............................................................................. 87
    6.4.2 “浏览消费者”模块...................................................................................... 88
    6.4.3 “统计积分”模块.......................................................................................... 88
    小结....................................................................................................................................... 89
    习题....................................................................................................................................... 89
    第7 章 函数及其应用....................................................... 91
    7.1 函数的基本概念.......................................................................................................... 91
    7.1.1 函数的概念...................................................................................................... 91
    7.1.2 函数的定义...................................................................................................... 93
    7.1.3 函数的调用...................................................................................................... 95
    7.1.4 函数的参数...................................................................................................... 97
    7.1.5 函数的返回值.................................................................................................. 98
    7.1.6 函数的原型声明.............................................................................................. 99
    7.2 数组作为函数参数.................................................................................................... 101
    7.2.1 数组元素作为函数参数................................................................................ 101
    7.2.2 一维数组作为函数参数................................................................................ 102
    7.2.3 二维数组作为函数参数................................................................................ 107
    7.3 函数的嵌套调用和递归调用.................................................................................... 108
    7.3.1 函数的嵌套调用............................................................................................ 108
    7.3.2 函数的递归调用............................................................................................ 109
    7.4 变量的作用域和存储方法........................................................................................ 113
    7.4.1 局部变量和全局变量.................................................................................... 113
    7.4.2 变量的存储方法............................................................................................ 116
    7.5 预处理命令................................................................................................................ 120
    7.5.1 宏定义............................................................................................................ 120
    7.5.2 文件包含........................................................................................................ 123
    IV C语言程序设计基础与实验指导(第二版)
    7.5.3 条件编译........................................................................................................ 124
    7.6 函数应用举例............................................................................................................ 125
    7.7 再论C 程序组织结构................................................................................................ 129
    7.7.1 分层和模块化程序设计................................................................................ 129
    7.7.2 C 程序组织结构............................................................................................. 130
    7.8 案例——以函数为模块化设计手段改写................................................................ 131
    7.8.1 任务描述........................................................................................................ 131
    7.8.2 接口设计........................................................................................................ 132
    7.8.3 主模块的实现................................................................................................ 133
    7.8.4 子模块的实现................................................................................................ 135
    小结..................................................................................................................................... 138
    习题..................................................................................................................................... 139
    第8 章 指针及其应用...................................................... 141
    8.1 地址和指针的概念.................................................................................................... 141
    8.1.1 地址的概念.................................................................................................... 141
    8.1.2 指针的概念.................................................................................................... 143
    8.2 指针变量.................................................................................................................... 143
    8.2.1 指针变量的定义............................................................................................ 143
    8.2.2 指针变量的操作............................................................................................ 144
    8.2.3 指针变量作为函数参数................................................................................ 147
    8.3 指针指向数组............................................................................................................ 150
    8.3.1 指向数组元素的指针.................................................................................... 150
    8.3.2 指针的运算.................................................................................................... 151
    8.3.3 通过指针引用数组元素................................................................................ 152
    8.3.4 指向二维数组元素的指针............................................................................ 155
    8.4 指针指向字符串........................................................................................................ 155
    8.4.1 字符指针与字符串指针................................................................................ 156
    8.4.2 字符串的表示形式........................................................................................ 156
    8.4.3 字符指针作为函数参数................................................................................ 157
    8.4.4 对使用字符指针变量和字符数组的讨论.................................................... 158
    8.5 指针数组和二级指针................................................................................................ 160
    8.5.1 指针数组........................................................................................................ 160
    8.5.2 二级指针........................................................................................................ 162
    8.6 动态内存分配与指向它的指针变量........................................................................ 163
    8.6.1 内存的动态分配............................................................................................ 164
    8.6.2 实现内存的动态分配与释放........................................................................ 164
    8.7 指针应用举例............................................................................................................ 166
    目 录 V
    8.8 案例——以指针为编程手段改写............................................................................ 168
    小结..................................................................................................................................... 169
    习题..................................................................................................................................... 170
    第9 章 结构体与枚举...................................................... 172
    9.1 结构体类型与结构体变量........................................................................................ 172
    9.1.1 结构体类型的声明........................................................................................ 172
    9.1.2 结构体变量的定义........................................................................................ 173
    9.1.3 结构体变量的引用........................................................................................ 174
    9.2 结构体数组................................................................................................................ 175
    9.2.1 结构体数组的定义........................................................................................ 175
    9.2.2 结构体数组的初始化.................................................................................... 176
    9.2.3 结构体数组的引用........................................................................................ 176
    9.2.4 结构体数组应用举例.................................................................................... 176
    9.3 结构体指针................................................................................................................ 177
    9.3.1 指向结构体变量的指针................................................................................ 177
    9.3.2 指向结构体数组的指针................................................................................ 178
    9.4 结构体类型数据在函数间的传递............................................................................ 178
    9.4.1 结构体变量作为函数参数............................................................................ 178
    9.4.2 结构体指针变量作为函数参数.................................................................... 179
    9.5 枚举类型的使用........................................................................................................ 180
    9.5.1 枚举类型和枚举变量.................................................................................... 181
    9.5.2 枚举类型变量的赋值和使用........................................................................ 181
    9.6 类型定义符typedef.................................................................................................... 182
    9.7 案例——以线性表为数据结构改写........................................................................ 183
    9.7.1 数据描述........................................................................................................ 183
    9.7.2 “创建消费者清单”模块.............................................................................. 183
    小结..................................................................................................................................... 188
    习题..................................................................................................................................... 189
    第10 章 文件............................................................. 190
    10.1 文件概述.................................................................................................................. 190
    10.1.1 文件的概念.................................................................................................. 190
    10.1.2 文件的分类.................................................................................................. 190
    10.1.3 文件缓冲区.................................................................................................. 191
    10.1.4 文件类型指针.............................................................................................. 191
    10.2 文件的打开与关闭.................................................................................................. 191
    10.2.1 打开文件...................................................................................................... 192
    10.2.2 关闭文件...................................................................................................... 193
    VI C语言程序设计基础与实验指导(第二版)
    10.3 文件的顺序读写...................................................................................................... 193
    10.3.1 格式化读写函数fscanf()和fprintf() ............................................................. 193
    10.3.2 字符方式读写函数fgetc()和fputc() ............................................................ 194
    10.3.3 数据块读写函数fread()和fwrite() ............................................................... 196
    10.3.4 字符串读写函数fgets()和fputs() ................................................................. 198
    10.4 文件的定位与随机读写.......................................................................................... 200
    10.4.1 文件指针重定位函数rewind()..................................................................... 201
    10.4.2 随机读写函数fseek() ................................................................................... 201
    10.4.3 其他相关函数.............................................................................................. 202
    10.5 案例——利用文件实现数据的输入与输出.......................................................... 202
    10.5.1 数据的输入.................................................................................................. 202
    10.5.2 数据的输出.................................................................................................. 203
    小结..................................................................................................................................... 203
    习题..................................................................................................................................... 204
    第2篇 实 验 指 导
    第11 章 实验一般步骤及实验环境........................................... 205
    11.1 实验的一般步骤...................................................................................................... 205
    11.2 实验环境VC++ 6.0 使用指南................................................................................. 206
    第12 章 学生成绩管理系统实验案例......................................... 212
    12.1 实验案例分析.......................................................................................................... 212
    12.2 实验内容及要求...................................................................................................... 218
    第3 篇 习题及参考答案
    综合练习题及参考答案...................................................... 226
    模拟试题及参考答案........................................................ 248
    附 录
    附录A 常用字符及其ASCII 码对照表........................................ 255
    附录B 关键字............................................................ 256
    附录C 运算符的优先级和结合性............................................ 257
    附录D 常用库函数........................................................ 258
    附录E 常用格式说明符.................................................... 262
    附录F VC++ 6.0 编译错误信息.............................................. 264
    附录G 实验案例源程序.................................................... 267
    参考文献.................................................................. 273
  • 作者介绍

    顾玲芳:北京科技大学天津学院 计算机相关专业一线教师 主要承担C语言、C等相关专业课程;曾参与中国冶金教育学会2009年度教育科学研究规划重点课题《网络环境下应用型本科院校知识教学模式和学生在线学习模式研究》;先后发表论文《应用型本科VFP教学中的教学方法研究》、《VFP6.0索引教学经验谈》、《高校非计算机专业计算机基础教学改革之浅见》。
  • 编辑推荐

  • 书评书荐

  • 附件下载

图书推荐