由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版新书]程序设计技术(C语言)/尚展垒等尚展垒、司丽娜、孟牒、
¥ ×1
目录
章程序设计技术概述1
1.1程序设计语言概述1
1.1.1程序设计语言1
1.1.2计算思维4
1.2算法4
1.2.1算法的概念4
1.2.2算法的特性6
1.2.3算法的描述6
1.3软件的编制步骤10
1.4C程序设计语言的产生与特点12
1.5C语言程序的运行环境(Visual C++ 6.0编译环境)13
1.5.1C语言程序上机步骤13
1.5.2建立C程序的步骤13
1.5.3Visual C++ 6.0集成环境18
1.5.4程序的调试和运行19
1.6错误解析21
练习122第2章程序设计基础24
2.1C程序概述24
2.1.1一个简单的C程序24
2.1.2C语言的字符集26
2.1.3C语言词汇26
2.2基本数据类型28
2.2.1常量与变量29
2.2.2整型数据32
2.2.3实型数据36
2.2.4字符型数据39
2.2.5变量赋初值44
2.3运算符与表达式45
2.3.1C语言运算符简介45
2.3.2算术运算符和算术表达式46
2.3.3关系运算符与关系表达式48
2.3.4逻辑运算符与逻辑表达式49
2.3.5赋值运算符和赋值表达式50
2.3.6逗号运算符和逗号表达式55
2.3.7自增、自减运算符56
2.3.8条件运算符和条件表达式58
2.4不同类型数据之间的转换59
2.5错误解析62
练习264第3章标准库函数66
3.1C标准库函数的分类67
3.2常用数学库函数68
3.3printf()函数69
3.4scanf()函数77
3.5putchar()函数82
3.6getchar()函数83
3.7随机函数84
3.8错误解析86
练习386第4章选择结构88
4.1复合语句88
4.2if语句90
4.2.1if语句中的表达式90
4.2.2单分支if语句91
4.2.3双分支if语句93
4.2.4多分支if语句95
4.2.5if语句的嵌套98
4.2.6条件运算符实现选择结构102
4.3switch语句103
4.4应用程序举例106
4.5错误解析111
练习4113第5章循环控制结构117
5.1while语句117
5.2for语句124
5.3do…while语句130
5.4多重循环结构135
5.5break语句和continue语句139
5.5.1break语句139
5.5.2continue语句140
5.6应用程序举例143
5.7错误解析151
练习5155第6章函数157
6.1C程序与函数概述157
6.1.1模块化程序设计157
6.1.2C程序的一般结构158
6.2函数的定义与调用159
6.2.1函数的定义159
6.2.2函数的调用162
6.2.3函数的参数传递165
6.3函数的传址引用167
6.3.1地址的存储与使用167
6.3.2指针说明和指针对象的引用168
6.4局部变量与全局变量172
6.4.1局部变量173
6.4.2全局变量174
6.5变量的存储类型176
6.5.1存储类型区分符176
6.5.2自动变量177
6.5.3静态变量179
6.5.4外部变量181
6.5.5寄存器变量182
6.5.6存储类型小结183
6.6函数的嵌套与递归调用185
6.6.1函数的嵌套调用185
6.6.2函数的递归调用187
6.7编译预处理190
6.7.1宏定义191
6.7.2文件包含194
6.7.3条件编译196
6.8错误解析197
练习6198第7章数组200
7.1一维数组的定义及使用200
7.1.1一维数组的定义200
7.1.2一维数组的引用202
7.1.3一维数组的初始化204
7.1.4程序举例206
7.2一维数组与指针运算207
7.2.1一维数组的数组名207
7.2.2一维数组的下标与指针208
7.2.3作为函数参数的一维数组的数组名212
7.3二维数组的定义及使用215
7.3.1二维数组的定义215
7.3.2二维数组元素的引用216
7.3.3二维数组的初始化216
7.3.4二维数组应用举例218
7.4二维数组与指针运算221
7.4.1二维数组与元素指针221
7.4.2二维数组与行指针222
7.4.3作为函数参数的二维数组的数组名225
7.5使用内存动态分配实现动态数组228
7.5.1动态内存分配的步骤228
7.5.2动态内存分配函数228
7.6错误解析231
练习7232第8章常用算法235
8.1算法的概念235
8.1.1算法描述235
8.1.2算法的特性236
8.1.3算法的评估236
8.2排序算法237
8.2.1冒泡排序算法237
8.2.2选择排序算法239
8.2.3插入排序算法242
8.2.4基于二维数组的排序243
8.3查找算法245
8.3.1顺序查找245
8.3.2二分查找246
8.3.3基于二维数组的查找算法247
8.3.4其他查找方法250
8.4基本数值算法250
8.4.1基本数值算法概述250
8.4.2求一元非线性方程实根250
8.4.3求一元函数定积分的数值255
练习8259第9章字符数组与字符串261
9.1字符数组261
9.1.1字符数组的定义与赋值261
9.1.2字符数组的初始化262
9.1.3字符数组的引用264
9.2字符串266
9.2.1字符串的定义及其输入与输出266
9.2.2字符串的处理与字符串处理函数269
9.2.3字符串与指针运算273
9.3字符数组与字符串应用举例276
9.4错误解析278
练习92800章结构和联合282
10.1结构类型的定义与引用282
10.1.1结构类型的定义282
10.1.2结构变量的引用285
10.2结构数组的声明、引用和初始化287
10.3联合290
10.3.1联合的定义290
10.3.2联合变量的说明291
10.3.3联合变量的使用 292
10.4枚举类型294
10.5定义类型说明符296
10.6应用程序举例297
10.7常见错误解析299
练习103001章指针302
11.1数组、地址与指针302
11.1.1数组、地址与指针的关系302
11.1.2一维数组中的地址与指针303
11.1.3二维数组中的地址与指针305
11.2指针数组与指向指针的指针306
11.2.1指针数组306
11.2.2指向指针的指针310
11.3main()函数的参数312
11.4函数指针315
11.5指针函数318
11.6链表321
11.6.1链表的概念321
11.6.2链表的实现321
11.6.3单向链表的操作322
11.6.4链表的建立322
11.6.5链表的输出325
11.6.6链表结点的插入与删除325
11.7应用程序举例326
11.8错误解析328
练习113302章位运算334
12.1位运算的概念334
12.1.1字节与位334
12.1.2补码334
12.2二进制位运算336
12.2.1二进制位运算336
12.2.2位复合赋值运算符344
12.3应用程序举例344
12.4错误解析345
练习123453章文件操作347
13.1文件概述347
13.2文件的使用348
13.2.1文件的声明348
13.2.2文件的打开与关闭349
13.2.3文件的读写351
13.3随机文件的读写361
13.4应用程序举例362
13.5错误解析368
练习133684章绘制图形370
14.1绘图简介370
14.2EasyX的下载与安装373
14.2.1EasyX的下载373
14.2.2安装EasyX373
14.3绘图前的准备374
14.3.1颜色375
14.3.2坐标375
14.3.3设备376
14.4绘图函数376
14.4.1绘图环境相关函数376
14.4.2颜色模型相关宏及函数377
14.4.3图形颜色及样式设置相关函数378
14.4.4图形绘制相关函数382
14.4.5文字输出相关函数385
14.5绘图举例388
14.6错误解析393
练习143945章项目开发395
15.1软件工程概述395
15.1.1软件工程的基本概念395
15.1.2分析阶段397
15.1.3设计阶段397
15.1.4实现阶段398
15.1.5测试阶段399
15.1.6软件维护400
15.1.7文档400
15.2客户信息管理系统401
15.2.1用软件工程方法指导软件开发401
15.2.2客户信息管理系统的实现403
15.3俄罗斯方块414
15.3.1俄罗斯方块简介414
15.3.2俄罗斯方块的实现代码415
练习15425参考文献426附录AASCII编码427附录BC语言的运算符428附录CC语言的库函数429附录DEasyX的库函数436
前言
C语言从诞生之日起就一直保持着旺盛的生命力,不断发展壮大、日臻完善,已经成为目前使用最广泛的编程语言之一。与其他不错语言相比,C语言处理功能丰富,表达能力强,使用灵活方便,执行程序效率高,可移植性强;具有丰富的数据类型和运算符,语句非常简单,源程序简洁清晰;可以直接处理硬件系统和对外围设备接口进行控制。C语言是一种结构化的程序设计语言,支持自顶向下、逐步求精的结构化程序设计技术。另外,C语言程序的函数结构也为实现程序的模块化设计提供了强有力的保障。因此纵然有C++、Java这样的后继者,但到目前为止,它们依然没有取代C的迹象。尤其C99标准发布以后,C语言的旺盛生命力再次得到了保持和延续。
本书的编写者全部是一直战斗在高等学校教学一线,承担“C语言程序设计”课程的教学任务的大学教师,有丰富的教学和C语言编程工作经验,有将自己积累的C语言程序设计经验介绍给大家的强烈愿望,因为在教学实践中,作者感受最深的就是,学习者普遍反映C语言难学、难懂,而事实上,学习者感觉难的往往并不是C语言的核心内容,学习的过程就是学习者与教师、与教材交互的过程,只要遵照一定的学习规律,这个交互过程并不难达成。学习者应该明白,选择一本交互性好的教材是至关重要的。不可否认,一些经典的C语言教材在教学中所起的巨大作用。但是,传统教材过细的内容组织也让学习者迷失了方向。本教材以指针为主线,贯穿于始终。另外,本教材也特别强调实践能力的培养,学习者首先应该学会用适当的编程工具编制、调试程序。学习者在编程实践中不断遇到问题,不断解决问题,自然就会明白许多细节。本书在介绍核心语法的基础上,以培养动手编程能力为首要目标,把那些烦琐的内容留待以后慢慢研究。
本书共分15章,将C语言的特色内容“指针”贯穿于始终,将这一难点分散到相关章节,避免了难点集中造成学习者丧失学习的兴趣。同时,借助于第三方工具的支持,讲述了在Visual C++中的绘图方法,由于绘图的引入,不但可以提高学生学习的兴趣,还能增加C语言的实际应用。
章介绍了程序设计的基本知识,详细阐述了软件的编制方法,使学习者对软件的编制有一个概念上的认识和理解,并能将这些方法应用于后续章节的学习中。
第2章介绍了C语言的基本知识,重点阐述了变量的声明方法,使学习者掌握变量、地址、存储数据之间的关系,同时还讲述了运算符。
第3章介绍了C语言标准库函数和顺序结构程序设计的基本方法,使学习者能够使用库函数编写简单的顺序结构程序。
第4章介绍了选择结构的相关语法,使学习者能够解决选择结构所涉及的问题。
第5章介绍了循环结构的相关语法,使学习者能够解决循环结构所涉及的问题。
第6章介绍了函数的相关知识,重点介绍了基本使用方法、函数参数的传值调用和传址调用,使学习者能够综合使用函数参数的传值调用和传址调用来解决实际问题。
第7章介绍了C语言中数值型一维数组和二维数组的相关知识,使学习者能够熟练使用函数来解决数组的相关问题。
第8章介绍了排序、查询、方程求解、求积分等内容,使读者能够利用所学的知识解决一些实际问题。
第9章介绍了字符串与字符数组的相关知识,使学习者能够处理与字符串和字符数组相关的问题。
0章介绍了结构和联合的基本概念,使学习者能够综合使用数组、指针以及结构和联合来解决一些实际问题。
1章介绍了指针的不错使用,使学习者能够处理涉及指针数组、函数指针和指针函数的相关问题。
2章介绍了位运算的相关知识,使学习者对位运算有一个较为系统的认识并能够使用所学的位运算知识解决相关问题。
3章介绍了文件的概念以及处理文件问题所涉及的函数,使学习者在掌握常用文件函数的基础上来解决一些实际问题。
4章介绍了如何借助于第三方工具EasyX,很方便地在Visual C++ 6.0下绘制图形以及动画,进而编制简单的游戏。
5章介绍了用软件工程的方法指导大型软件的开发方法,以提高软件的开发效率、降低开发成本、提高软件正确性等。
以上各部分都可以独立教学,自成体系。教师可根据情况适当取舍。
本书由郑州轻工业学院的尚展垒、司丽娜、孟牒、郑远攀等编著,其中,尚展垒任主编,司丽娜、孟牒、郑远攀任副主编,参加本书编写的还有郑州轻工业学院的杨学冬、张江伟和艾怡静。章、0章和附录由尚展垒编写,第2、3章由司丽娜编写,第4、5章由孟牒编写,第6、7章由郑远攀编写,第8~10章由杨学冬编写,1、12、15章由张江伟编写,3、14章由艾怡静编写。尚展垒负责本书的组织工作,司丽娜负责本书的统稿工作。
本书的顺利出版得到郑州轻工业学院和清华大学出版社的大力支持。在本教材的编写过程中从许多同行的著作中得到启发,在此表达感谢之情。由于作者学识所限,难免存在疏漏,恳请各位读者批评指正。
编者2018年8月
本教材以指针为主线,贯穿于始终,特别强调编程工具的使用以及程序调试等实践能力的培养。
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格