华信教育资源网
C/C++程序设计教程——面向过程分册(第4版)
作   译   者:郑秋生 出 版 日 期:2020-10-01
出   版   社:电子工业出版社 维   护   人:仝赛赛 
书   代   号:G0397330 I S B N:9787121397332

图书简介:

《C/C++程序设计教程》系列教材分为面向过程和面向对象两个分册。面向过程分册系统阐述了C++语言中过程化程序设计的思想、语法、方法。主要内容包括C++程序设计的基础知识,基本数据类型和表达式,C++的程序控制语句,数组与函数,指针和引用,用户定义数据类型、文件等内容。书中内容讲解清晰,实例丰富,力避代码复杂冗长,注重算法设计和程序设计思想。简短的实例特别有助于初学者更好地理解、把握解决问题的精髓,帮助读者快速掌握程序设计的基本方法。 本教材的特点是实例丰富,重点突出,叙述深入浅出,分析问题透彻,既有完整的语法,又有大量的实例,突出程序设计的算法、方法,将C语言程序设计和C++语言程序设计进行有机统一。特别适合作为计算机学科各应用型本科、专科的C语言程序设计和C++语言程序设计教材,也可作为其他理工科各专业的教材及相关技术人员的自学参考书。 本教材配有免费课件资源,有需要的读者可到华信教育资源网(www.hxedu.com.cn)下载使用。
您的专属联系人更多
关注 评论(0) 分享
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源

    本书资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    《C/C++程序设计教程》系列教材分为面向过程和面向对象两个分册。面向过程分册系统阐述了C++语言中过程化程序设计的思想、语法、方法。主要内容包括C++程序设计的基础知识,基本数据类型和表达式,C++的程序控制语句,数组与函数,指针和引用,用户定义数据类型、文件等内容。书中内容讲解清晰,实例丰富,力避代码复杂冗长,注重算法设计和程序设计思想。简短的实例特别有助于初学者更好地理解、把握解决问题的精髓,帮助读者快速掌握程序设计的基本方法。 本教材的特点是实例丰富,重点突出,叙述深入浅出,分析问题透彻,既有完整的语法,又有大量的实例,突出程序设计的算法、方法,将C语言程序设计和C++语言程序设计进行有机统一。特别适合作为计算机学科各应用型本科、专科的C语言程序设计和C++语言程序设计教材,也可作为其他理工科各专业的教材及相关技术人员的自学参考书。 本教材配有免费课件资源,有需要的读者可到华信教育资源网(www.hxedu.com.cn)下载使用。

    图书详情

    ISBN:9787121397332
    开 本:16(185*260)
    页 数:364
    字 数:582

    本书目录

    目    录
     
    第1章  C/C++概述	1
    1.1  计算机程序设计语言的发展	3
    1.1.1  机器语言阶段	3
    1.1.2  汇编语言阶段	3
    1.1.3  高级语言阶段	4
    1.1.4  从C到C++	5
    1.2  过程化程序设计	5
    1.3  面向对象的程序设计	6
    1.3.1  基本概念	7
    1.3.2  面向对象程序设计的特点	7
    1.4  简单的C/C++程序介绍	8
    1.5  程序开发的过程	11
    1.6  C/C++上机实践	12
    1.6.1  Visual Studio 2013集成
    开发环境	12
    1.6.2  开发C/C++的程序过程	15
    1.7  使用Dev C++创建项目	17
    1.7.1  创建项目	18
    1.7.2  程序的运行和调试	19
    实验一  设计第一个C/C++应用程序	20
    习题1	22
    第2章  数据类型、运算符和表达式	23
    2.1  保留字和标识符	25
    2.1.1  保留字	25
    2.1.2  标识符	25
    2.2  数据类型	25
    2.3  常量与变量	27
    2.3.1  常量	27
    2.3.2  变量	29
    2.4  基本运算符和表达式	30
    2.4.1  基本运算符和表达式简介	30
    2.4.2  算术运算符和算术表达式	31
    2.4.3  赋值运算符和赋值表达式	32
    2.4.4  关系运算符和关系表达式	33
    2.4.5  逻辑运算符和逻辑表达式	34
    2.4.6  位运算符和位运算表达式	35
    2.4.7  条件运算符和条件表达式	37
    2.4.8  逗号运算符和逗号表达式	37
    2.4.9  sizeof运算符和sizeof
    表达式	37
    2.5  数据类型转换	37
    2.5.1  隐式转换	38
    2.5.2  显式转换	38
    2.6  简单的输入/输出实现方法	38
    2.6.1  格式化输入/输出——scanf()
    和printf()	38
    2.6.2  I/O流	41
    2.6.3  cin	42
    2.6.4  cout	42
    2.6.5  输出控制符	43
    2.7  认识上机过程中的错误	45
    实验二  C/C++语言基础练习	46
    习题2	48
    第3章  C/C++流程控制	51
    3.1  算法与流程图	53
    3.1.1  算法的概念	53
    3.1.2  算法的描述	53
    3.2  语句和程序的三种基本结构	54
    3.2.1  语句	54
    3.2.2  程序的三种基本结构	55
    3.2.3  结构化算法	55
    3.3  顺序结构程序	56
    3.4  选择结构程序	57
    3.4.1  if语句	57
    3.4.2  嵌套if语句	59
    3.4.3  switch语句	61
    3.5  循环结构程序设计	63
    3.5.1  while语句	63
    3.5.2  do-while语句	66
    3.5.3  for语句	68
    3.5.4  循环的嵌套	70
    3.5.5  跳转语句	73
    3.5.6  三种循环的比较	75
    3.6  常用算法及应用实例	75
    3.6.1  累加与累乘	75
    3.6.2  求最大数、最小数	76
    3.6.3  求素数	77
    3.6.4  穷举法	79
    3.6.5  递推与迭代	80
    3.7  应用实例	83
    3.8  程序的调试	85
    3.8.1  进入调试	86
    3.8.2  单步调试	86
    3.8.3  查看变量、表达式的值	87
    3.8.4  停止调试	87
    实验三  程序控制结构	88
    习题3	91
    第4章  函数	95
    4.1  函数的定义	97
    4.1.1  函数定义	97
    4.1.2  函数的返回值	98
    4.2  函数的调用	99
    4.2.1  函数调用的形式及过程	99
    4.2.2  函数的声明	100
    4.2.3  函数调用的参数传递方式	102
    4.3  函数的嵌套调用和递归调用	104
    4.3.1  函数的嵌套调用	104
    4.3.2  函数的递归调用	105
    4.4  内联函数和函数重载	110
    4.4.1  内联函数	110
    4.4.2  函数重载	111
    4.5  函数的参数	115
    4.5.1  函数参数的求值顺序	115
    4.5.2  具有默认参数值的函数	116
    4.6  应用实例	117
    4.7  函数的调试	122
    实验四  函数的基本操作与应用	124
    习题4	127
    第5章  作用域和存储类型	131
    5.1  作用域	133
    5.1.1  作用域分类	133
    5.1.2  局部变量与全局变量	135
    5.1.3  动态存储方式与静态存储
    方式	139
    5.2  变量的存储类型	140
    5.2.1  自动类型	140
    5.2.2  寄存器类型	141
    5.2.3  静态类型	142
    5.2.4  外部类型	145
    5.3  编译预处理	146
    5.3.1  宏定义命令	146
    5.3.2  文件包含命令	149
    5.3.3  条件编译命令	149
    5.4  程序的多文件组织	151
    5.4.1  头文件	151
    5.4.2  多文件结构	151
    5.4.3  多文件结构程序示例	152
    5.5  多文件程序的创建与调试	154
    实验五  作用域和存储类型应用	156
    习题5	159
    第6章  数组	161
    6.1  数组的概念	163
    6.1.1  数组与数组元素	163
    6.1.2  数组的维数	163
    6.2  一维数组的定义及应用	163
    6.2.1  一维数组的定义和初始化	163
    6.2.2  一维数组的操作	165
    6.2.3  数组的越界问题	166
    6.2.4  一维数组的应用	166
    6.2.5  基于范围的for循环	170
    6.3  字符数组的定义及应用	171
    6.3.1  字符数组和字符串	171
    6.3.2  字符串处理函数	173
    6.3.3  字符数组应用举例	175
    6.4  二维数组	177
    6.4.1  二维数组的定义	177
    6.4.2  二维数组的初始化	178
    6.4.3  二维字符数组	180
    6.4.4  二维数组应用	181
    6.5  数组作为函数参数	185
    6.5.1  向函数传递一维数组	185
    6.5.2  向函数传递二维数组或多维
    数组	188
    6.6  数组应用实例	189
    6.7  断点调试方法	191
    实验六  数组	199
    习题6	202
    第7章  结构体、共用体和枚举类型	209
    7.1  结构体的定义及使用	211
    7.1.1  结构体的定义	211
    7.1.2  结构体变量的定义	212
    7.1.3  结构体变量的使用	214
    7.1.4  结构体变量的初始化	215
    7.1.5  结构体数组	215
    7.1.6  结构体和函数	220
    7.2  共用体的定义与使用	221
    7.2.1  共用体的概念	221
    7.2.2  共用体变量的定义	222
    7.2.3  共用体变量的使用	222
    7.3  枚举类型	224
    7.4  typedef定义类型	226
    7.5  应用实例	227
    7.6  程序调试	231
    7.6.1  结构体变量各成员变量的
    内存分配情况	232
    7.6.2  共用体变量各数据成员的
    内存分配情况	233
    实验七  结构体、共用体和枚举类型	234
    习题7	236
    第8章  指针和引用	239
    8.1  指针与指针变量	241
    8.1.1  地址与指针的概念	241
    8.1.2  指针变量	242
    8.1.3  指针变量的运算	246
    8.1.4  void指针	248
    8.1.5  C++11的扩展	249
    8.2  指针与数组	249
    8.2.1  一维数组与指针	249
    8.2.2  二维数组与指针	251
    8.2.3  指向数组的指针	253
    8.2.4  指针数组	254
    8.2.5  指向指针的指针	255
    8.3  字符指针与字符串	256
    8.3.1  字符数组与字符指针	256
    8.3.2  字符指针数组	258
    8.4  动态内存分配和释放	258
    8.4.1  C++中堆的使用	259
    8.4.2  C语言中动态分配空间的
    函数	261
    8.5  指针与函数	262
    8.5.1  指针变量与数组名作函数
    参数	262
    8.5.2  返回值为指针类型的函数	267
    8.5.3  函数指针	268
    8.6  const指针	271
    8.6.1  指向常量的指针变量的定义
    与使用	271
    8.6.2  指针常量	272
    8.6.3  指向常量的指针常量	273
    8.7  结构体指针	273
    8.7.1  结构体指针的概念	273
    8.7.2  指向结构体数组元素的
    指针	274
    8.7.3  结构体指针作为函数参数	275
    8.8  链表	277
    8.8.1  链表概述	277
    8.8.2  链表的基本操作	278
    8.9  引用	285
    8.9.1  引用及声明方法	285
    8.9.2  用引用作为函数的参数	287
    8.9.3  如何使一个被调函数同时
    返回多个值	288
    8.9.4  用const限定引用	289
    8.9.5  用引用作为函数返回值	290
    8.9.6  引用总结	291
    8.10  综合应用实例	291
    8.11  上机调试	296
    8.11.1  指针变量值的调试查看	296
    8.11.2  函数地址的调试查看	297
    8.11.3  引用的调试查看	298
    8.12  小结	299
    实验八  指针和引用	299
    习题8	302
    第9章  文件	307
    9.1  C语言文件概述	309
    9.2  文件结构体与文件指针	310
    9.3  文件的打开与关闭	311
    9.3.1  文件的打开(fopen
    函数)	311
    9.3.2  文件的关闭(fclose
    函数)	312
    9.4  文件的读写	313
    9.4.1  按字符读写文件(fgetc和
    fputc函数)	313
    9.4.2  字符串的读写(fgets和fputs
    函数)	317
    9.4.3  格式化的读写(fscanf和
    fprintf函数)	319
    9.4.4  数据块的读写(fread和
    fwrite函数)	322
    9.5  文件的定位	324
    9.5.1  位置指针复位(rewind
    函数)	325
    
    9.5.2  位置指针随机定位(fseek
    函数)	326
    9.5.3  检测当前位置指针的位置(ftell
    函数)	329
    9.6  文件的检测	329
    9.6.1  文件读写错误检测(ferror
    函数)	329
    9.6.2  清除文件错误标志(clearerr
    函数)	330
    9.6.3  文件结束检测(feof
    函数)	330
    9.7  常用文件操作函数小结	330
    9.8  程序设计举例	331
    9.9  上机调试	337
    实验九  文件	342
    习题9	344
    附录A  ASCII码表	347
    附录B  C++的库函数	349
    参考文献	352
    展开

    前     言

    本教材的主要作者都是有着丰富教学经验的一线教师,从事C/C++程序设计课程教学多年,深知学生在学习C++程序设计这门课程后,对程序设计方法、算法设计、调试程序、习题解答的茫然和问题,因此本书在介绍理论知识、相关概念和语言语法时,始终强调其在程序设计中的作用,使语言语法与程序设计相结合。同类书籍大部分偏重于对语言语法和概念的介绍,虽然在书中有针对一个语法和知识点的程序实例,但学生对每章内容在实际程序设计中的作用缺乏了解,而本书每章后都附有针对性较强的应用实例分析,尽可能使初学者在学习每章的内容后拿到题目,即能够独立进行程序设计、解决实际问题,而不至于无从下手。本书有以下五个鲜明特点。
    第一,改变了传统的教学模式。先讲C语言程序设计,再讲C++对C语言的扩展、面向对象的程序设计。本教材将C/C++语言的学习很好地融合在一起,让读者把面向过程和面向对象的程序设计方法有机地结合在一起,面向过程和面向对象两分册都统一使用Visual Studio2013编译器。
    第二,改变了传统教材以语言、语法学习为重点的缺陷,本教材从基本的语言、语法学习上升到程序的“设计、算法、编程、调试”层次。为了让学生更好地掌握程序开发的思想、方法和算法,书中提供了大量简短精辟的代码,有助于初学者学习解决问题的精髓。在每章后都有一节关于程序综合设计的内容,有一个或多个较大的程序,以帮助学生更好地掌握程序设计方法,提高解决实际问题的能力。第4版修订每章增加上机实验指导。
    第三,教材强调程序的设计方法,大量例题有流程图、N-S图和UML图,并且每章都有上机调试的内容。教材突出程序的算法和设计,而不仅是语法和编程,培养学生的程序设计能力和程序调试技能,养成好的编程习惯,为专业程序员的培养打下良好的基础。
    第四,培养学生面向对象程序设计的能力,引导学生建立程序设计的大局观,帮助学生掌握从客观事物中抽象出C++类的方法。通过系统的学习,使学生的编程能力上一个台阶,具备解决复杂问题的程序设计能力。
    第五,根据当前实际大型软件项目开发的需要,扩充了异常处理、模板等内容,新增STL标准模板库,并通过流行的UML工具设计C++类。
    本教材的编写充分考虑了目前应用型本科C/C++语言程序设计课程教学的实际情况和存在的问题。第一,学生在大一阶段的基础课程较多,不可能投入过多的精力来学习本门课程;第二,大学生对这门课学习的期望值很高,但对学习时可能遇到的困难估计不足;第三,大学生现有的上机实践条件大大改善,特别有利于贯彻先进的精讲多练的教学思想;第四,学生学会了语言的语法,仍不具备解决实际问题的能力,学生的程序设计、算法设计、编程、调试能力相对较差。本教材作者正是考虑了学生的这些实际问题,从而精心编写了这一套面向应用型本科的C/C++程序设计教程,特别适合于分两个学期系统讲授C/C++程序设计。第1学期讲授面向过程分册,第2学期讲授面向对象分册。
    本分册共分9章,第1章主要讨论C++语言的特点和编辑环境,第2~8章主要介绍用C/C++进行过程化程序设计的基本方法,内容包括表达式及运算符、数据类型、函数、数组、指针等,第9章主要介绍文件处理方法。
    为了方便使用本教材的教师备课,我们还提供了配套的电子教案,公开放在网站上,供任课教师自由下载使用。相信我们多年的教学经验会对广大师生的教和学有所帮助。建议本分册的教学为60学时,其中理论教学为44学时,课内上机实践为16学时。课外上机不少于32学时。
    本教材的编写得到了河南省计算机学会的大力支持,河南省计算机学会组织了河南多所高校编写了高等教育计算机学科“应用型”系列教材。参编本教材编写的高校有中原工学院、郑州大学、河南科技大学。
    本分册第1,2,3章由夏敏捷和赵一丁编写,第4,5章由刘姝编写,第6章由潘惠勇编写,第7章由郑秋生编写,第8,9章和附录由樊银亭和王琳编写。全书最终由郑秋生修改并统稿,并由郑州大学王黎明教授主审。
    由于编者水平有限,加之时间仓促,书中难免有错,敬请广大读者批评指正,在此表示感谢。E-mail:xmj@zut.edu.cn。
    编  者     
    2020年6月
    展开

    作者简介

    中原工学院院长、教授、硕士生导师。教育部高等学校计算机科学与技术专业教学指导分委员会专家工作组成员,中国计算机学会教育专委委员,河南计算机学会常务理事,河南省计算机安全保密学会常务理事,河南省高等学校计算机教育研究会理事。
  • 样 章 试 读
  • 图 书 评 价 我要评论
华信教育资源网