C语言程序设计与实践
全新正版 极速发货
¥
17.1
4.4折
¥
39
全新
仅1件
作者凌云 等 编著
出版社机械工业出版社
ISBN9787111558491
出版时间2017-02
装帧平装
开本16开
定价39元
货号1201460287
上书时间2024-12-02
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
凌云,1983年毕业于浙江大学计算机系并任教于浙江工商大学,1997年担任计算机与信息工程学院副院长,2004年担任计算机与信息工程学院院长;2007年获浙江省教学名师。浙江省计算机学会常务理事 浙江省高校计算机教学指导委员会副主任 浙江省计算机教育研究会副理事长。
目录
前言
教学建议
章C语言与程序设计概述1
1.1初见C语言程序1
1.2计算机与程序设计2
1.2.1指令与程序2
1.2.2程序与程序设计3
1.2.3程序设计和程序设计语言3
1.2.4程序设计过程4
1.3C语言学习与自然语言学习的关系5
1.4C语言的发展历史、现状与特点6
1.4.1C语言的发展历史和现状6
1.4.2C语言的特点7
习题7
第2章示例驱动的C语言语法元素8
2.1变量与表达式8
2.2分支语句9
2.2.1if语句9
2.2.2switch语句11
2.3循环语句12
2.3.1while循环语句12
2.3.2for循环语句12
2.4符号常量13
2.5输入/输出14
2.6数组15
2.7函数15
2.8算法17
2.8.1算法概念17
2.8.2流程图与算法描述18
习题19
第3章基本数据类型和表达式20
3.1基本语法单位20
3.1.1基本符号20
3.1.2关键字20
3.1.3标识符20
3.2数据类型21
3.3常量与变量22
3.3.1常量22
3.3.2变量25
3.3.3变量的初始化27
3.4表达式和运算符28
3.4.1算术运算符28
3.4.2赋值运算符30
3.4.3关系运算符31
3.4.4逻辑运算符33
3.4.5位运算符35
3.4.6逗号运算符38
3.4.7条件运算符39
3.4.8运算符的优先级和结合性39
3.5各类数值型数据间的混合运算41
习题41
第4章输入/输出语句43
4.1putchar函数43
4.2printf函数44
4.2.1printf函数的形式44
4.2.2格式说明字符45
4.3getchar函数51
4.4scanf函数51
4.4.1一般形式51
4.4.2格式说明52
4.4.3执行scanf函数过程中应注意的问题53
4.5程序示例55
习题56
第5章C语言程序结构58
5.1C语句58
5.2程序设计基础59
5.3结构化程序设计的三种基本结构60
5.3.1顺序结构60
5.3.2选择结构60
5.3.3循环结构61
5.4if分支语句62
5.4.1种if语句形式62
5.4.2第二种if语句形式62
5.4.3第三种if语句形式63
5.4.4if语句的嵌套65
5.4.5程序示例67
5.5switch分支语句68
5.6while循环语句71
5.7do…while循环语句73
5.8for循环语句75
5.9break语句和continue语句79
5.9.1break语句80
5.9.2continue语句80
5.10多重循环的嵌套81
5.11程序示例83
习题85
第6章数组88
6.1一维数组88
6.1.1一维数组的定义88
6.1.2一维数组元素的引用89
6.1.3一维数组元素的初始化89
6.2二维数组96
6.2.1双下标变量97
6.2.2二维数组及其定义97
6.2.3二维数组的初始化98
6.2.4二维数组应用示例99
6.3综合应用示例100
6.4字符数组103
6.4.1字符串和字符串结束标志105
6.4.2字符数组的输入/输出105
6.4.3字符串函数106
6.4.4二维的字符数组110
6.4.5字符数组应用示例111
习题116
第7章函数118
7.1函数的定义119
7.2函数的一般调用121
7.2.1函数调用的形式121
7.2.2形式参数和实际参数121
7.2.3函数的返回值124
7.2.4函数调用的方式125
7.2.5主调函数和被调函数的相对位置关系126
7.2.6函数调用时值的单向传递性128
7.2.7函数调用示例128
7.3函数的嵌套调用130
7.4递归调用133
7.4.1函数的递归调用133
7.4.2递归调用应用示例134
7.5用数组作为函数参数137
7.5.1用数组元素作为函数实参137
7.5.2用数组名作为函数参数138
7.5.3用多维数组作为函数参数139
7.6变量的作用域——局部变量和全局变量140
7.6.1局部变量140
7.6.2全局变量142
7.7变量的存储类别和生存期144
7.7.1变量的存储类别144
7.7.2动态变量144
7.7.3静态变量148
7.7.4外部变量149
7.8内部函数和外部函数153
7.8.1内部函数153
7.8.2外部函数153
习题154
第8章编译预处理159
8.1宏定义159
8.1.1不带参数的宏定义159
8.1.2带参数的宏定义161
8.2文件包含165
8.3条件编译167
8.3.1条件编译语句1167
8.3.2条件编译语句2168
8.3.3条件编译语句3169
习题170
第9章指针175
9.1地址和指针的概念175
9.2指针变量和地址运算符175
9.2.1指针变量的定义175
9.2.2指针变量的使用176
9.3指针和数组177
9.3.1通过指针存取数组元素177
9.3.2字符串和指针179
9.4指针和函数180
9.4.1用指针作为函数的参数180
9.4.2用指针作为函数的返回值182
9.4.3指向函数的指针184
9.5多级指针187
9.5.1多级指针的概念和使用187
9.5.2多级指针和多级数组188
9.5.3命令行参数190
9.6指针和动态存储管理191
9.6.1概述191
9.6.2malloc函数和free函数192
9.6.3动态存储管理的应用192
9.7指针和指针运算小结195
习题196
0章结构与联合199
10.1结构体类型变量的定义和引用199
10.1.1结构体类型变量的定义201
10.1.2结构体类型变量的引用201
10.1.3结构体类型变量的初始化201
10.2结构体数组的定义和引用203
10.3结构体指针的定义和引用204
10.3.1指向结构体类型变量的指针的使用204
10.3.2指向结构体类型数组的指针的使用205
10.4链表的定义和操作208
10.4.1链表208
10.4.2链表的建立209
10.4.3输出链表元素211
10.4.4删除链表元素211
10.4.5插入链表元素212
10.4.6查询链表元素213
10.5联合213
10.5.1联合的定义213
10.5.2联合成员的引用215
10.5.3应用示例216
10.5.4数组、结构和联合类型的比较217
10.6枚举类型217
10.7用typedef定义类型名219
习题220
1章文件操作223
11.1文件的基本概念223
11.1.1概述223
11.1.2文件分类223
11.1.3缓冲文件系统和非缓冲文件系统223
11.1.4流式文件224
11.2标准文件224
11.3文件类型指针225
11.4文件的打开与关闭225
11.4.1文件的打开225
11.4.2文件的关闭226
11.5文件的顺序读写227
11.6文件顺序读写的常用函数227
11.7文件顺序读写的应用示例234
11.8文件的随机读写235
11.8.1文件的定位235
11.8.2文件操作的出错检测238
11.9非缓冲文件系统238
习题241
2章综合实训243
12.1综合实训1:俄罗斯方块游戏243
12.1.1问题描述243
12.1.2问题分析243
12.1.3数据结构分析244
12.1.4程序执行流程和设计分析246
12.1.5程序运行和测试251
12.2综合实训2:五子棋游戏252
12.2.1问题描述252
12.2.2问题分析252
12.2.3数据结构分析252
12.2.4程序执行流程和设计分析254
12.2.5程序运行和测试258
12.3综合实训3:员工管理系统258
12.3.1问题描述258
12.3.2问题分析259
12.3.3数据结构分析259
12.3.4程序执行流程和设计分析260
12.3.5程序运行和测试262
12.4综合实训设计中的分析与讨论263
3章初涉ACM/ICPC266
13.1ACM/ICPC概述266
13.2迷宫问题与深度优先搜索267
13.2.1问题描述267
13.2.2问题分析与求解267
13.2.3问题小结269
13.3斐波那契数列269
13.3.1问题描述269
13.3.2问题分析与求解269
13.3.3问题小结270
13.48枚银币271
13.4.1问题描述271
13.4.2问题分析与求解271
13.4.3问题小结273
13.5筛选求质数273
13.5.1问题描述273
13.5.2问题分析与求解273
13.5.3问题小结274
13.6超长整数运算(大数运算)275
13.6.1问题描述275
13.6.2问题分析与求解275
13.6.3问题小结276
13.7经典01背包问题与动态规划算法276
13.7.1问题描述276
13.7.2问题分析与求解276
13.7.3问题小结278
13.8二分图的优选匹配、完美匹配和匈牙利算法278
13.8.1问题描述278
13.8.2问题分析与求解278
13.8.3问题小结281
13.9中序式转后序式(前序式)281
13.9.1问题描述281
13.9.2问题分析与求解281
13.9.3问题小结283
13.10一些提供练习服务的网站283
参考文献285
内容摘要
本书从C语言的基本语法、不同规模的项目实训、程序设计大赛及编程风格以及调试等方面介绍C程序设计的相关知识。C语言是计算机相关专业的专业基础课和信息类工科专业公共基础课,因不同学校在此课程上安排的学时数有所不同,故本书力求在结构上具有较好的伸缩性。本书从结构上分成三大部分:靠前部分为C语言的基础语法介绍,包括靠前~11章;第二部分为项目实训和常用算法指导,包括靠前2章和靠前3章,以项目实训的形式引导和帮助学生解决实际问题,并对程序设计竞赛中的常见算法及其算法应用进行了介绍;第三部分为编程风格与程序调试介绍,旨在帮助学生形成良好的程序设计风格,提高他们的实际动手调试能力。
精彩内容
前 言C语言程序设计是一门理论与工程实践密切相关的专业基础课程,在计算机学科教学中具有十分重要的地位。大力加强该课程的建设,提高该课程的教学质量,有利于教学改革和教育创新,有利于创新人才的培养。通过本课程的学习,学生应培养良好的编程风格,掌握常见的算法思路,真正提高运用C语言编写程序解决实际问题的综合能力,为后续课程的实践环节打好基础。 目前国内关于C语言的教材较多,有些教材语法知识介绍细致,较适合作为非专业的等级考试类教学用书;有些教材起点较高,内容深奥,不适于初学者。为了帮助广大学生更好地掌握C语言编程技术,我们组织C语言程序设计课程组的教师进行了深入的讨论和研究,并针对学生学科竞赛和课时压缩的背景,将该课程的建设与其他信息类专业的课程体系改革相结合,发挥我们在计算机和电子商务、信息管理等专业上的办学优势,编写了《C语言程序设计与实践》一书。本书以程序设计为主线,采用了渐进式的体系结构,在详细阐述程序设计基本概念、原理和方法的基础上,结合实践教学和学科竞赛的实际情况,通过大量经典实例讲解和实训,帮助学生掌握利用C语言进行结构化程序设计的技术和方法,提高他们的实践动手能力和培养创新协作精神。 相对版而言,第2版主要做了以下修改: 1)根据这几年用书单位的反馈,对一些章节的安排和组织进行了调整。 2)根据课程组近几年实施开放视频课程的经验,引入了以一个实例贯穿整个课程的授课策略。实例由简单到复杂到优化,循序渐进地演化,通过实际应用场景的不断变化和实例功能的不断扩展,依次引入C语言的各个语法元素,从工程的角度阐述各个C语言概念。每个语法的引入,都通过实例的实际环境无缝连接,并采用对比等教学手段,加强学生对知识点的理解和运用,特别是加深学生对各个知识点使用场合的理解。课程学完后,一个完整的程序也完成了。这种有一定代码量的实例,能规避通常教学中由小例子导致的“只见树木不见森林”“一叶障目不见泰山”的缺陷,有利于培养学生的工程实践能力。 3)更新了许多教学示例,重写了2章和3章。在3章中,引入了一些有趣的游戏实例和加解密、权限管理等工程概念,以培养学生的工程实践能力。 本书分为两部分。部分(~11章)主要介绍C语言的基础语法知识,这部分内容按C语言的知识点循序渐进地介绍,同时针对C语言中的重点和难点,例如指针部分,精心设计了丰富的实例,用了大量的篇幅从不同方面对其进行讲解,旨在帮助读者理解并掌握这些重点和难点。第二部分(2~13章)为项目实训和常用算法指导,通过项目开发全过程的全方位指导,从需求分析、算法设计到程序编写和过程调试,以项目实训的形式引导和帮助学生解决实际问题,提高学生解决具体问题的能力,并对程序设计竞赛中常见的一些算法及其应用进行了介绍。在教学过程中,教师应注重融入良好编程风格和程序调试相关知识的介绍,本书网站及华章网站上将提供相应的教学素材,供教师参考。 C语言程序设计是一门强调实践练习的课程,因此教师对本书的教学组织可依据两条主脉络进行:一条是从字、词、数据、表达式、语句到函数、数组、指针,这也是语法范畴构成的基本脉络;另一条则以程序功能(即以组织数据和组织程序)为基本脉络。安排课程内容时应注意以下几点:①介绍程序设计语言语法时要突出重点。C语言语法比较庞杂,有些语句可以相互替代,有些语法不常使用。课程中要重点介绍基本的、常用的语法,不要面面俱到。②注重程序设计语言的共性。计算机的发展日新月异,大学期间不可能介绍所有的计算机语言,所以在本课程的学习过程中,教师应该介绍计算机程序设计语言共性的东西,使学生具有自学其他程序设计语言的能力。③由于课时的限制,课程不能安排太多的时间专门讲授程序设计理论。在教学过程中,教师应以程序设计为主线,结合教材中的实例分析,将程序设计的一般方法和技术传授给学生。 本书由浅入深地介绍了程序设计的技术与技巧,内容全面、自成一体,对启发、提高读者的程序设计能力很有裨益,适合不同层次的读者学习。本书可作为计算机类专业的本科或专科教材,也可以作为信息类或其他相关专业的选修教材,还可以作为其他一些课程的辅助读物,如数据结构、编译器设计、操作系统、计算机图形学、嵌入式系统及其他要用C语言进行项目设计的课程。 本书的作者均为浙江工商大学承担程序设计、数据结构等课程的骨干教师。凌云负责全书的策划、组织和指导,谢满德负责编写、2、12、13章,并负责对全书进行统稿和校对,陈志贤负责编写第6、7、8、9、10、11章,吴海燕负责编写第3、4、5章。 本书及其配套实验用书《C语言程序设计与实践实验指导》已经入选“十二五”普通高等教育本科国家级规划教材,也是浙江省精品课程“不错语言程序设计”的教学用书。除本书外,我们还提供了多媒体电子教案、习题与实验指导,以及教学网站和教学资源库等开放资源。读者可以上网共享我们的网络资源,网址为:e-lesson.zjgsu.edu.cn。 在本书的编写过程中,我们参考了部分图书资料和网站资料,在此向文献的原作者表示衷心的感谢。由于作者水平有限,书中恐有不足之处,恳请业界同仁及读者朋友提出宝贵意见和真诚的批评。 作者2016年11月
— 没有更多了 —
以下为对购买帮助不大的评价