新書推薦:
《
甲骨拼合六集
》
售價:HK$
333.8
《
视觉美食家:商业摄影实战与创意解析
》
售價:HK$
132.2
《
中国经济发展的新阶段:机会与选择
》
售價:HK$
99.7
《
DK月季玫瑰百科
》
售價:HK$
210.6
《
为你想要的生活
》
售價:HK$
66.1
《
关键改变:如何实现自我蜕变
》
售價:HK$
77.3
《
超加工人群:为什么有些食物让人一吃就停不下来
》
售價:HK$
99.7
《
历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解)
》
售價:HK$
62.7
|
內容簡介: |
《CC++程序设计教程》系列教材分为面向过程和面向对象两个分册。面向过程分册系统阐述了C++语言中过程化程序设计的思想、语法、方法。主要内容包括C++程序设计的基础知识、基本数据类型和表达式、C++的程序控制语句、数组与函数、指针和引用、用户定义数据类型、文件等内容。书中内容讲解清晰,实例丰富,力避代码复杂冗长,注重算法设计和程序设计思想。简短的实例特别有助于初学者更好理解、把握解决问题的精髓,帮助读者快速掌握程序设计的基本方法。本书的特点是实例丰富,重点突出,叙述深入浅出,分析问题透彻,既有完整的语法,又有大量的实例,突出程序设计的算法、方法,将C语言程序设计和C++语言程序设计有机地进行统一。特别适合作为计算机学科各应用型本科、专科的C语言程序设计和C++语言程序设计教材,也可作为其他理工科各专业的教材及相关技术人员的自学参考书。本书配有免费课件资源,有需要的读者可到华信教育资源网(www.hxedu.com.cn)下载使用。
|
關於作者: |
中原工学院院长、教授、硕士生导师。教育部高等学校计算机科学与技术专业教学指导分委员会专家工作组成员,中国计算机学会教育专委委员,河南计算机学会常务理事,河南省计算机安全保密学会常务理事,河南省高等学校计算机教育研究会理事。
|
目錄:
|
目录
第1章C概述1
1.1计算机程序设计语言的发展3
1.1.1机器语言阶段3
1.1.2汇编语言阶段3
1.1.3高级语言阶段4
1.1.4从C到C5
1.2过程化程序设计5
1.3面向对象的程序设计6
1.3.1基本概念7
1.3.2面向对象程序设计的特点7
1.4简单的CC程序介绍8
1.5程序开发的过程11
1.6CC上机实践12
1.6.1Visual Studio 2013集成
开发环境12
1.6.2开发CC的程序过程15
习题117
第2章数据类型、运算符和表达式19
2.1保留字和标识符21
2.1.1保留字21
2.1.2标识符21
2.2数据类型21
2.3常量与变量23
2.3.1常量23
2.3.2变量25
2.4基本运算符和表达式26
2.4.1基本运算符和表达式简介26
2.4.2算术运算符和算术表达式27
2.4.3赋值运算符和赋值表达式28
2.4.4关系运算符和关系表达式29
2.4.5逻辑运算符和逻辑表达式30
2.4.6位运算符和位运算表达式31
2.4.7条件运算符和条件表达式33
2.4.8逗号运算符和逗号表达式33
2.4.9sizeof运算符和sizeof
表达式33
2.5数据类型转换33
2.5.1隐式转换34
2.5.2显式转换34
2.6简单的输入输出实现方法34
2.6.1格式化输入输出
scanf和printf34
2.6.2IO流37
2.6.3cin38
2.6.4cout38
2.6.5输出控制符39
2.7认识上机过程中的错误41
习题242
第3章C流程控制45
3.1算法与流程图47
3.1.1算法的概念47
3.1.2算法的描述47
3.2语句和程序的三种基本结构48
3.2.1语句48
3.2.2程序的三种基本结构49
3.2.3结构化算法49
3.3顺序结构程序50
3.4选择结构程序51
3.4.1if语句51
3.4.2嵌套if语句53
3.4.3switch语句55
3.5循环结构程序设计57
3.5.1while语句57
3.5.2do-while语句60
3.5.3for语句62
3.5.4循环的嵌套64
3.5.5跳转语句67
3.5.6三种循环的比较68
3.6常用算法及应用实例69
3.6.1累加与累乘69
3.6.2求最大数、最小数70
3.6.3求素数71
3.6.4穷举法73
3.6.5递推与迭代73
3.7应用实例77
3.8程序的调试79
3.7.1进入调试79
3.7.2单步调试80
3.7.3查看变量、表达式的值80
3.7.4停止调试81
习题382
第4章函数85
4.1函数的定义87
4.1.1函数定义87
4.1.2函数的返回值88
4.2函数的调用89
4.2.1函数调用的形式及过程89
4.2.2函数的声明90
4.2.3函数调用的参数传递方式92
4.3函数的嵌套调用和递归调用94
4.3.1函数的嵌套调用94
4.3.2函数的递归调用95
4.4内联函数和函数重载100
4.4.1内联函数100
4.4.2函数重载101
4.5函数的参数105
4.5.1函数参数的求值顺序105
4.5.2具有默认参数值的函数106
4.6应用实例107
4.7函数的调试112
习题4114
第5章作用域和存储类型117
5.1作用域119
5.1.1作用域分类119
5.1.2局部变量与全局变量121
5.1.3动态存储方式与静态
存储方式125
5.2变量的存储类型126
5.2.1自动类型126
5.2.2寄存器类型127
5.2.3静态类型128
5.2.4外部类型130
5.3编译预处理131
5.3.1宏定义命令132
5.3.2文件包含命令134
5.3.3条件编译命令135
5.4程序的多文件组织137
5.4.1头文件137
5.4.2多文件结构137
5.4.3多文件结构程序示例138
5.5多文件程序的创建与调试140
习题5142
第6章数组145
6.1数组的概念147
6.1.1数组与数组元素147
6.1.2数组的维数147
6.2一维数组的定义及应用147
6.2.1一维数组的定义和初始化147
6.2.2一维数组的操作149
6.2.3数组的越界问题150
6.2.4一维数组的应用150
6.2.5基于范围的for循环154
6.3字符数组的定义及应用155
6.3.1字符数组和字符串155
6.3.2字符串处理函数157
6.3.3字符数组应用举例159
6.4二维数组161
6.4.1二维数组的定义161
6.4.2二维数组的初始化162
6.4.3二维字符数组164
6.4.4二维数组应用165
6.5数组作为函数参数169
6.5.1向函数传递一维数组169
6.5.2向函数传递二维数组或
多维数组172
6.6数组应用实例173
6.7断点调试方法175
习题6183
第7章结构体、共用体和枚举类型189
7.1结构体的定义及使用191
7.1.1结构体的定义191
7.1.2结构体变量的定义192
7.1.3结构体变量的使用194
7.1.4结构体变量的初始化195
7.1.5结构体数组195
7.1.6结构体和函数200
7.2共用体的定义与使用201
7.2.1共用体的概念201
7.2.2共用体变量的定义202
7.2.3共用体变量的使用202
7.3枚举类型204
7.4typedef定义类型206
7.5应用实例207
7.6程序调试211
7.6.1结构体变量各成员变量的
内存分配情况212
7.6.2共用体变量各数据成员的
内存分配情况213
习题7214
第8章指针和引用217
8.1指针与指针变量219
8.1.1地址与指针的概念219
8.1.2指针变量220
8.1.3指针变量的运算224
8.1.4void指针226
8.1.5C11的扩展227
8.2指针与数组227
8.2.1一维数组与指针227
8.2.2二维数组与指针229
8.2.3指向数组的指针231
8.2.4指针数组232
8.2.5指向指针的指针233
8.3字符指针与字符串234
8.3.1字符数组与字符指针234
8.3.2字符指针数组236
8.4动态内存分配和释放236
8.4.1C中堆的使用237
8.4.2C语言中动态分配空间
的函数239
8.5指针与函数240
8.5.1指针变量与数组名作
函数参数240
8.5.2返回值为指针类型的函数245
8.5.3函数指针246
8.6const指针249
8.6.1指向常量的指针变量的
定义与使用249
8.6.2指针常量250
8.6.3指向常量的指针常量251
8.7结构体指针251
8.7.1结构体指针的概念251
8.7.2指向结构体数组元素的指针252
8.7.3结构体指针作为函数参数253
8.8链表255
8.8.1链表概述255
8.8.2链表的基本操作256
8.9引用263
8.9.1引用及声明方法263
8.9.2用引用作为函数的参数265
8.9.3如何使一个被调函数同时
返回多个值266
8.9.4用const限定引用267
8.9.5用引用作为函数返回值268
8.9.6引用总结269
8.10综合应用实例269
8.11上机调试274
8.11.1指针变量值的调试查看274
8.11.2函数地址的调试查看275
8.11.3引用的调试查看276
8.12小结276
习题8277
第9章文件283
9.1C语言文件概述285
9.2文件结构体与文件指针286
9.3文件的打开与关闭287
9.3.1文件的打开(fopen函数)287
9.3.2文件的关闭(fclose函数)288
9.4文件的读写289
9.4.1按字符读写文件
(fgetc和fputc函数)289
9.4.2字符串的读写
(fgets和fputs函数)293
9.4.3格式化的读写
(fscanf和fprintf函数)295
9.4.4数据块的读写
(fread和fwrite函数)298
9.5文件的定位300
9.5.1位置指针复位
(rewind函数)301
9.5.2位置指针随机定位
(fseek函数)302
9.5.3检测当前位置指针的位置
(ftell函数)305
9.6文件的检测305
9.6.1文件读写错误检测
(ferror函数)305
9.6.2清除文件错误标志
(clearerr函数)306
9.6.3文件结束检测(feof函数)306
9.7常用文件操作函数小结306
9.8程序设计举例307
9.9上机调试313
习题9318
附录AASCII码表321
附录BC的库函数323
参考文献326
|
內容試閱:
|
前 言
本教材的主要作者都是有着丰富教学经验的一线教师,从事CC程序设计课程教学多年,深知学生在学习C程序设计这门课程后,对程序设计方法、算法设计、调试程序、习题解答的茫然和问题,因此本书在介绍理论知识、相关概念和语言语法时,始终强调其在程序设计中的作用,使语言语法与程序设计相结合。同类书籍大部分偏重于对语言语法和概念的介绍,虽然在书中有针对一个语法和知识点的程序实例,但学生对每章内容在实际程序设计中的作用缺乏了解,而本书每章后都附有针对性较强的应用实例分析,尽可能使初学者在学习每章的内容后拿到题目,即能够独立进行程序设计、解决实际问题,而不至于无从下手。本书有以下五个鲜明特点。
第一,改变了传统的教学模式。先讲C语言程序设计,再讲C对C语言的扩展、面向对象的程序设计。本教材将CC语言的学习很好地融合在一起,让读者把面向过程和面向对象的程序设计方法有机地结合在一起,面向过程和面向对象两分册都统一使用Visual C 6.0编译器。
第二,改变了传统教材以语言、语法学习为重点的缺陷,本教材从基本的语言、语法学习上升到程序的设计、算法、编程、调试层次。为了让学生更好地掌握程序开发的思想、方法和算法,书中提供了大量简短精辟的代码,有助于初学者学习解决问题的精髓。在每章后都有一节关于程序综合设计的内容,有一个或多个较大的程序,以帮助学生更好地掌握程序设计方法和提高解决实际问题的能力。
第三,教材强调程序的设计方法,大量例题有流程图、N-S图和UML图,并且每章都有上机调试的内容。教材突出程序的算法和设计,而不仅是语法和编程,培养学生的程序设计能力和程序调试技能,养成好的编程习惯,为专业程序员的培养打下良好的基础。
第四,培养学生面向对象程序设计的能力,引导学生建立程序设计的大局观,帮助学生掌握从客观事物中抽象出C类的方法。通过系统的学习,使学生的编程能力上一个台阶,具备解决复杂问题的程序设计能力。
第五,根据当前实际大型软件项目开发的需要,扩充了异常处理、模板等内容,新增STL标准模板库,并通过流行的UML工具设计C类。
本教材的编写充分考虑了目前应用型本科CC语言程序设计课程教学的实际情况和存在的问题。第一,学生在大一阶段的基础课程较多,不可能投入过多的精力来学习本门课程;第二,大学生对这门课学习的期望值很高,但对学习时可能遇到的困难估计不足;第三,大学生现有的上机实践条件大大改善,特别有利于贯彻先进的精讲多练的教学思想;第四,学生学会了语言的语法,仍不具备解决实际问题的能力,学生的程序设计、算法设计、编程、调试能力相对较差。本教材作者正是考虑了学生的这些实际问题,从而精心编写了这一套面向应用型本科的CC程序设计教程,特别适合于分两个学期系统讲授CC程序设计。第1学期讲授面向过程分册,第2学期讲授面向对象分册。
本分册共分9章,第1章主要讨论C语言的特点和编辑环境,第2~8章主要介绍用CC进行过程化程序设计的基本方法,内容包括表达式及运算符、数据类型、函数、数组、指针等,第9章主要介绍文件处理方法。
为了方便使用本教材的教师备课,我们还提供了配套的电子教案,公开放在网站上,供任课教师自由下载使用。相信我们多年的教学经验会对广大师生的教和学有所帮助。建议本分册的教学为60学时,其中理论教学为44学时,课内上机实践为16学时。课外上机不少于32学时。
本教材的编写得到了河南省计算机学会的大力支持,河南省计算机学会组织了河南多所高校编写了高等教育计算机学科应用型系列教材。参编本教材编写的高校有中原工学院、郑州大学、河南科技大学。
本分册第1、2、3章由夏敏捷和周雪燕编写,第4、5章由刘姝编写,第6章由潘惠勇编写,第7章由郑秋生编写,第8,9章和附录由罗菁和马宗梅编写。全书最终由郑秋生修改并统稿,并由王黎明主审。为本书提出改进意见和建议的老师有郑州大学的钱晓捷和卢红星教授,在此谨向他们表示衷心的感谢。
由于编者水平有限,加之时间仓促,书中难免有错,敬请广大读者批评指正,在此表示感谢。E-mail:zqs@zut.edu.cn。
编 者
2017年5月
|
|