百道网
 您现在的位置:图书 > C/C++程序设计教程(第3版)
C/C++程序设计教程(第3版)


C/C++程序设计教程(第3版)

作  者:孙淑霞 等编著

出 版 社:电子工业出版社

丛 书:21世纪大学计算机系列教材

出版时间:2009年12月

定  价:38.00

I S B N :9787121098390

所属分类: 教育学习  >  教材  >  研究生/本科/专科教材  专业科技  >  计算机/网络  >  软件应用与开发    

标  签:计算机教材  计算机/网络  

[查看微博评论]

分享到:

TOP内容简介

本书作为C/C++程序设计课程的主教材,其主要内容包括:C语言简单程序的编写和调试,C语言程序设计基础(其中包括:基本数据类型、基本输入与输出函数以及运算符和表达式),控制结构,数组,指针,函数,编译预处理与变量的存储类型,文件,结构体与共用体,图形程序设计基础,C++程序设计基础,查找与排序。每章后面都附有一定量的编程练习题,书后附有习题参考答案。该书的辅教材《C/C++ 程序设计实验指导与测试》(第3版)中提供了其他形式的练习题及其解答,作为主教材习题的补充,将为学生编程能力的提高和课后自学提供更好的帮助。
  本书可作为大专院校非计算机专业本科生、研究生的相关课程的教学用书,也可作为计算机专业学生学习C/C++程序设计的教材,同时还可供自学者参考。

TOP目录

第1章 C/C++语言程序设计概述/(1)
1.1 引言/(1)
1.2 C/C++语言的特点/(1)
1.3 程序与程序设计/(2)
1.3.1 程序/(2)
1.3.2 程序设计/(3)
1.4 算法及其表示方法/(3)
1.4.1 算法的特性与要求/(3)
1.4.2 算法描述/(4)
1.5 简单C/C++程序的基本结构/(6)
1.5.1 两个简单程序实例/(6)
1.5.2 C/C++程序的基本构成/(8)
1.6 C程序的调试/(10)
1.6.1 编辑/(10)
1.6.2 编译/(12)
1.6.3 连接/(13)
1.6.4 运行/(14)
1.6.5 程序的跟踪调试/(14)
1.7 C++程序的实现/(16)
1.7.1 C++源程序的建立与编辑/(16)
1.7.2 单文件程序的编译和运行/(17)
1.7.3 多文件程序的编译和运行/(18)
1.8 程序举例/(19)
本章学习指导/(20)
习题/(21)

第2章 C语言程序设计基础/(22)
2.1 引言/(22)
2.2 常量/(22)
2.2.1 整型常量/(22)
2.2.2 实型常量/(23)
2.2.3 字符型常量/(24)
2.2.4 字符串常量/(24)
2.2.5 符号常量/(25)
2.3 变量/(25)
2.3.1 变量的定义/(25)
2.3.2 变量的初始化/(26)
2.4 运算符和表达式/(27)
2.4.1 运算符和表达式概述/(27)
2.4.2 算术运算符和算术表达式/(28)
2.4.3 关系运算符和关系表达式/(29)
2.4.4 逻辑运算符和逻辑表达式/(30)
2.4.5 赋值运算符和赋值表达式/(32)
2.4.6 自增、自减运算符及其表达式/(34)
2.4.7 逗号运算符和逗号表达式/(35)
2.4.8 位运算符/(36)
2.4.9 其他运算符/(38)
2.5 基本输入与输出函数/(40)
2.5.1 格式输入函数scanf()/(40)
2.5.2 格式输出函数printf()/(42)
2.5.3 字符输入函数getchar()/(44)
2.5.4 字符输出函数putchar()/(45)
2.6 本章综合程序举例/(45)
本章学习指导/(46)
习题/(47)

第3章 控制结构/(48)
3.1 引言/(48)
3.2 C语句和程序结构/(48)
3.2.1 C语句概述/(48)
3.2.2 C程序基本结构/(49)
3.3 if语句/(50)
3.3.1 if语句/(50)
3.3.2 if-else语句/(51)
3.3.3 if-else if-else语句/(51)
3.4 switch语句/(54)
3.5 循环语句/(55)
3.5.1 while语句/(55)
3.5.2 do-while语句/(57)
3.5.3 for语句/(58)
3.5.4 循环语句的嵌套/(60)
3.6 转向语句/(61)
3.6.1 break语句/(61)
3.6.2 continue语句/(62)
3.6.3 goto语句/(62)
3.7 本章综合程序举例/(63)
本章学习指导/(65)
习题/(68)

第4章 数组/(69)
4.1 引言/(69)
4.2 一维数组/(69)
4.2.1 一维数组的引入/(69)
4.2.2 一维数组的定义/(71)
4.2.3 一维数组的初始化/(71)
4.2.4 一维数组元素的引用/(72)
4.2.5 一维数组的应用/(73)
4.3 二维数组/(75)
4.3.1 二维数组的引入/(75)
4.3.2 二维数组的定义/(76)
4.3.3 二维数组的初始化/(77)
4.3.4 二维数组的应用/(77)
4.4 字符数组/(81)
4.4.1 字符串与一维字符数组/(81)
4.4.2 二维字符数组/(82)
4.4.3 字符数组的输入和输出/(83)
4.4.4 字符串处理函数/(84)
4.5 本章综合程序举例/(90)
本章学习指导/(94)
习题/(96)

第5章 指针/(98)
5.1 引言/(98)
5.2 指针和地址/(98)
5.3 指针变量的定义和引用/(100)
5.3.1 指针变量的定义/(100)
5.3.2 指针变量的初始化/(100)
5.3.3 指针变量的引用/(101)
5.4 指针变量的运算/(103)
5.4.1 取地址运算(&)和取内容运算(*)/(103)
5.4.2 指针变量的赋值运算/(103)
5.4.3 指针的移动/(104)
5.4.4 两个指针变量相减/(105)
5.4.5 两个指针变量的比较/(105)
5.5 指针与数组/(106)
5.5.1 指向一维数组的指针变量/(106)
5.5.2 二维数组与指针变量/(108)
5.5.3 通过行指针变量引用二维数组元素/(109)
5.6 指针与字符串/(111)
5.7 二级指针与指针数组/(114)
5.7.1 二级指针/(114)
5.7.2 指针数组/(116)
5.8 用于动态内存分配的函数/(119)
5.9 本章综合程序举例/(122)
本章学习指导/(125)
习题/(126)

第6章 函数/(128)
6.1 引言/(128)
6.2 函数的引入/(128)
6.3 函数的定义与说明/(130)
6.3.1 函数的定义/(130)
6.3.2 函数的说明/(131)
6.4 函数的调用与返回值/(133)
6.4.1 函数的调用/(133)
6.4.2 函数的返回值/(136)
6.5 函数间的参数传递/(138)
6.5.1 传值调用/(138)
6.5.2 传址调用/(141)
6.5.3 指向函数的指针/(146)
6.5.4 返回指针的函数/(149)
6.6 函数的嵌套调用和递归调用/(150)
6.6.1 函数的嵌套调用/(150)
6.6.2 函数的递归调用/(151)
6.7 命令行参数/(156)
6.8 程序举例/(158)
本章学习指导/(161)
习题/(163)

第7章 编译预处理与变量的存储类型/(168)
7.1 引言/(168)
7.2 宏定义/(168)
7.2.1 不带参数宏的定义/(168)
7.2.2 带参数宏的定义/(172)
7.3 文件包含/(174)
7.4 变量的存储类型/(176)
7.4.1 自动变量/(176)
7.4.2 静态变量/(177)
7.4.3 寄存器变量/(178)
7.4.4 外部变量/(179)
7.5 多个源程序文件下的变量使用/(181)
7.6 程序举例/(183)
本章学习指导/(184)
习题/(185)

第8章 文件/(186)
8.1 引言/(186)
8.2 文件的基本概念/(186)
8.2.1 文件的逻辑结构/(187)
8.2.2 缓冲文件系统与非缓冲文件系统/(187)
8.2.3 文件指针/(188)
8.3 文件的打开与关闭/(189)
8.3.1 文件的创建或打开/(189)
8.3.2 文件的关闭/(190)
8.4 文件的读/写/(190)
8.4.1 按字符方式读/写文件/(190)
8.4.2 按行方式读/写文件/(193)
8.4.3 按格式读/写文件/(195)
8.4.4 按块读/写文件/(197)
8.5 文件的定位与测试/(198)
8.5.1 文件的顺序存取与随机存取/(198)
8.5.2 检测文件结束函数feof()/(199)
8.5.3 反绕函数rewind()/(199)
8.5.4 移动文件位置指针函数fseek()/(200)
8.5.5 测定文件位置指针当前指向的函数ftell()/(200)
8.6 错误检测函数/(201)
8.7 程序举例/(202)
本章学习指导/(206)
习题/(208)

第9章 结构体与共用体/(210)
9.1 引言/(210)
9.2 结构类型/(211)
9.2.1 结构类型的定义/(211)
9.2.2 结构变量的定义/(211)
9.2.3 结构成员的引用/(213)
9.2.4 结构变量的初始化/(215)
9.3 结构数组/(217)
9.3.1 结构数组的定义和初始化/(217)
9.3.2 结构数组元素的引用/(218)
9.4 结构指针变量/(221)
9.4.1 结构指针变量的定义与初始化/(221)
9.4.2 指向结构变量的指针变量/(222)
9.4.3 指向结构数组的指针变量/(223)
9.5 结构体与函数/(224)
9.5.1 结构变量作为函数的参数/(224)
9.5.2 结构变量的地址作为函数的参数/(226)
9.5.3 结构数组作为函数的参数/(227)
9.6 共用体/(230)
9.6.1 共用体的定义和引用/(230)
9.6.2 共用体与结构体的嵌套使用/(232)
9.7 枚举/(232)
9.8 用typedef定义类型/(234)
9.9 链表/(235)
9.9.1 单向链表/(236)
9.9.2 链表的建立/(237)
9.9.3 链表的插入和删除/(239)
9.10 程序举例/(244)
本章学习指导/(249)
习题/(251)

第10章 图形程序设计基础/(254)
10.1 引言/(254)
10.2 图形适配器的基本工作方式/(254)
10.2.1 文本方式/(254)
10.2.2 图形方式/(255)
10.3 常用图形函数/(255)
10.4 图形程序举例/(261)
本章学习指导/(262)
习题/(263)

第11章 C++程序设计基础/(265)
11.1 引言/(265)
11.2 C++程序结构/(265)
11.3 C++的输入/输出流/(266)
11.3.1 输出流(cout)/(266)
11.3.2 输入流(cin)/(267)
11.4 引用/(268)
11.5 函数的重载/(269)
11.6 带默认参数的函数/(271)
11.7 C++新增运算符/(272)
11.7.1 作用域运算符/(272)
11.7.2 动态内存分配与撤消运算符/(272)
11.8 const修饰符/(274)
11.9 类和对象/(274)
11.9.1 类和对象的定义/(274)
11.9.2 构造函数和析构函数/(279)
11.9.3 类的友元/(284)
11.9.4 this指针/(286)
11.10 重载/(287)
11.10.1 类成员函数重载/(287)
11.10.2 类构造函数重载/(288)
11.10.3 运算符重载/(288)
11.11 继承/(291)
11.11.1 基类与派生类/(292)
11.11.2 public继承/(293)
11.11.3 private继承/(297)
11.11.4 protected继承/(298)
11.11.5 多继承/(298)
11.11.6 派生类的构造函数和析构函数/(301)
11.12 多态性和虚拟函数/(306)
11.12.1 多态性/(306)
11.12.2 虚拟函数/(307)
11.12.3 虚拟析构函数/(314)
本章学习指导/(315)
习题/(315)

第12章 查找与排序/(317)
12.1 引言/(317)
12.2 顺序查找/(318)
12.3 二分查找/(319)
12.4 插入排序/(321)
12.4.1 直接插入排序/(321)
12.4.2 二分插入排序/(323)
12.4.3 希尔(Shell)排序/(324)
12.5 交换排序/(325)
12.5.1 冒泡排序/(325)
12.5.2 快速排序/(326)
12.6 选择排序/(328)
本章学习指导/(329)
习题/(330)

习题参考答案/(331)
第1章 C/C++语言简单程序的编写和调试/(331)
第2章 C语言程序设计基础/(331)
第3章 控制结构/(333)
第4章 数组/(339)
第5章 指针/(346)
第6章 函数/(351)
第7章 编译预处理与变量的存储类型/(359)
第8章 文件/(361)
第9章 结构体与共用体/(364)
第10章 图形程序设计/(371)
第11章 C++程序设计基础/(373)
第12章 查找与排序/(375)
附录A 常用字符与代码对照表/(380)
附录B C语言中的关键字/(382)
附录C 运算符的优先级与结合性/(382)
参考文献/(384)

TOP书摘

插图:


1.3.2 程序设计程序设计是根据计算机要完成的任务进行数据结构和算法的设计,并且编写其程序代码,然后进行调试,直到得出正确结果。其基本过程如下:
①分析问题,明确要解决的问题和要实现的功能。
②将具体问题抽象为数学问题,建立数学模型,确定合适的解决方案。
③确定数据结构,并根据数据结构设计相应的算法,写出算法描述。
④编写程序。
⑤调试并运行程序,直到得到正确结果。
程序设计方法经历了由传统的结构化程序设计(面向过程)到面向对象的设计。结构化程序设计采用模块分解与功能抽象和自顶向下、分而治之的方法,有效地将一个较复杂的程序设计任务分解成许多易于控制和处理的子程序(模块)。各模块之间尽量相对独立,便于开发和维护。结构化程序设计在整个20世纪70年代的软件开发中占绝对统治地位。
20世纪70年代末期,随着计算机科学的发展和应用领域的不断扩大,对计算机技术的要求越来越高。结构化程序设计语言和结构化分析与设计已无法满足用户需求的变化,于是出现了面向对象的程序设计技术。面向对象的程序设计方法不仅吸收了结构化程序设计的思想,而且克服了结构化程序设计中数据与程序分离的缺点,模拟自然界认识和处理事务的方法,将数据和对数据的操作方法放在一起,形成一个对象,使对象成为程序系统的基本单位。面向对象的程序设计技术更加有利于程序的调试和维护,大大提高了程序的可重用性和修改、扩充程序的效率。

TOP 其它信息

页  数:383

开  本:16开

纸  张:胶版纸

正文语种:中文

加载页面用时:86.8979