《C面向对象程序设计》谭浩强版复习总结
- 格式:doc
- 大小:128.50 KB
- 文档页数:23
Java语言程序设计第三版(谭浩强主编)课后答案下载Java语言程序设计第三版(谭浩强主编)课后答案下载《Java语言程序设计(第3版)》是2021年清华大学出版社出版的图书。
以下是由阳光网我整理关于Java语言程序设计第三版(谭浩强主编)课后答案下载地址,盼望大家喜爱!点击进入:Java语言程序设计第三版(谭浩强主编)课后答案下载地址Java语言程序设计第三版(谭浩强主编)图书简介Java是近年来十分流行的程序设计语言,又是一门通用的网络编程语言,在Internet上有着广泛的应用。
本书全面介绍了Java语言的功能和特点,主要内容包括Java语言基础学问、Java语法构成、面向对象编程技术、常用系统类的使用、图形用户界面设计、图形处理、多媒体处理、异样处理、多线程技术和访问数据库技术等内容。
本书以通俗易懂的语言介绍了大量的实例,从有用的角度解释了Java面向对象编程思想,介绍了Java编程技巧。
本书不仅适合没有编程阅历的读者学习,也适合有肯定程序语言基础的读者自学,本书可作为高等院校或计算机培训班的教材。
Java语言程序设计第三版(谭浩强主编)图书名目第1章Java语言概述1.1Java的起源1.2Java语言的特点1.3Java的运行机制1.4程序设计算法及描述1.5Java程序的开发过程1.5.1JDK的下载与安装1.5.2Java工具集与标准类库1.5.3Java程序的开发过程1.5.4源文件命名规范与解释语句1.5.5Java程序示例试验1习题1第2章Java语言基础2.1数据类型2.1.1Java的数据类型2.1.2常量与变量2.1.3变量赋值2.1.4关键字2.1.5转义符2.2基本数据类型应用示例 2.2.1整数类型与浮点类型 2.2.2字符型2.2.3布尔型2.2.4数据类型的转换2.3表达式和运算符2.3.1表达式与运算符分类 2.3.2算术运算符2.3.3关系与规律运算符2.4程序掌握语句2.4.1语句2.4.2键盘输入语句2.4.3顺序掌握语句2.4.4if选择语句2.4.5switch语句2.4.6循环语句2.4.7跳转语句试验2习题2第3章面向对象程序设计基础 3.1面向对象的基本概念3.2类3.2.1类的`定义3.2.2成员变量和局部变量 3.3成员方法3.3.1方法的定义3.3.2方法的调用3.3.3方法重载3.3.4构造方法3.4对象3.5面向对象特性3.5.1封装性3.5.2继承性3.5.3多态性3.5.4其他修饰符的用法 3.6接口3.6.1接口的定义3.6.2接口的应用3.7包3.7.1创建自己的包 3.7.2压缩文件jar试验3习题3第4章数组与字符串 4.1数组4.1.1一维数组4.1.2多维数组的应用 4.2字符串4.2.1字符串的表示4.2.2字符串的常用方法4.2.3StringTokenizer字符分析器 4.2.4正则表达式4.2.5main()中的参数4.3StringBuffer类试验4习题4第5章图形用户界面设计5.1图形用户界面概述5.2窗体容器和组件5.2.1窗体容器JFrame类5.2.2按钮和事件处理5.3面板容器和界面布局管理5.3.1面板JPanel类 5.3.2界面布局策略5.4JComponent类组件的使用5.4.1JComponent类组件5.4.2文本组件和标签5.4.3单项选择按钮、复选框和下拉列表5.4.4卡片选项页面(JTabbedPane)5.4.5滑杆(JSlider)和进度指示条(JProgressBar) 5.4.6表格(JTable)5.5菜单与对话框5.5.1菜单5.5.2弹出式菜单5.5.3对话框5.6树5.6.1树的概念5.6.2树的构造方法试验5习题5。
《面向对象程序设计》课程标准一、课程概述《面向对象程序设计》是信息类专业的重要专业课程。
当前面向对象方法已逐渐取代面向过程方法成为程序设计领域的主流技术,这是程序设计发展历史的一个里程碑。
本课程的教学目标是以C++语言为工具,向学生介绍面向对象程序设计语言与面向对象程序设计方法。
通过课堂教学、课外练习与上机实验相结合,使学生在程序设计方法、程序设计语言与程序设计工具三方面受到严格、系统的训练,培养学生更系统、更严密地分析问题和解决问题的思维能力,从而能熟练地利用计算机解决实际问题,为后续专业课程打下扎实的基础。
通过本课程的教学,应使学生牢固掌握C++语言基本数据类型、复合数据类型、基本控制结构、函数以及面向对象程序设计中类与对象、继承、多态性等基本概念;掌握类属机制、C++输入输出机制、程序断言、异常处理等高级机制;对面向对象程序构造方法、抽象数据类型、软件重用思想、其他程序设计风范、其他面向对象程序设计语言有所了解。
本课程的先修课程为《计算机导论》、《C语言》,后续课程有《数据结构与算法》、《软件工程》等。
二、课程目标1.知道《面向对象程序设计》这门学科的性质、地位、研究范围、学科进展和未来方向等。
对面向对象程序构造方法、抽象数据类型、软件重用思想、其他程序设计风范、其他面向对象程序设计语言有所了解。
2.理解该门学科的主要概念、基本原理和策略等。
3.掌握C++语言基本数据类型、复合数据类型、基本控制结构、函数以及面向对象程序设计中类与对象、继承、多态性等基本概念;掌握类属机制、C++输入输出机制、程序断言、异常处理等高级机制。
4.能够把所学的原理应用到具体的实践中去,能利用C++语言编写程序解决一些具体的问题,培养学生发现、分析和解决问题的能力等。
三、课程内容和教学要求这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。
这四个层次的一般涵义表述如下:知道——是指对这门学科和教学现象的认知。
2012年2月内蒙古科技与经济F ebruar y 2012 第3期总第253期Inner Mongolia Science T echnology &Economy No .3Total No .253C 语言中几个知识点的学习技巧X段文秀(德州学院计算机系,山东德州 253023) 摘 要:对于初学者,自加自减运算符、变量、指针等知识点是C 语言中较难理解且易混淆的内容,但这几个知识点也是C 语言中精华的部分,也是全国计算机等级考试必考的内容。
文章对这几个知识点的学习技巧进行了分析与探讨,以提高C 语言教学效果。
关键词:自加自减;变量作用域;指针;学习技巧 中图分类号:T P312 文献标识码:B 文章编号:1007—6921(2012)03—0121—01 C 语言是结构化的面向过程的高级语言,是在国内外广泛使用的一种计算机语言。
在大量使用面向对象程序设计语言的今天,由于C 语言的诸多优点,C 语言仍是计算机专业或其他工科专业学生必修的课程之一。
但是对于初学者,自加自减运算符、变量、指针等知识点是C 语言中较难理解且易混淆的内容,但这几个知识点也是C 语言中精华的部分,也是全国计算机等级考试必考的内容。
所以有必要对这几个知识点的学习技巧进行分析与探讨,以提高C 语言的教学效果和学生的学习效果。
1 “++,--”运算符的使用“++,--”的使用是C 语言灵活性和简洁性的表现之一,但也是初学者经常感到迷惑的问题之一。
首先,“++,--”是单目运算符,运算对象是整型、字符型、指针型、数组元素等变量,不能是常量和表达式。
作用是对变量做加1减1运算,结果仍是原类型。
运算符和变量可构成前缀表达式(例:++i ,--i )和后缀表达式(例:i ++,i --),它们的使用规则如表1。
假设有定义:int a,b,c,d;a=b=c=d=10。
表1++--运算符的运算规则表达式使用环境运算规则运算结果表达式的值变量的值a ++在表达先取a 的值作为表达式的值,后a 做加1运算1011++b 式中作b 先做加1运算,后取b 的值作为表达式的值1111c --为子表先取c 的值作为表达式的值,后c 做减1运算109--d达式d 先做减1运算,后取d 的值作为表达式的值99而语句a ++;或++a ;的功能都与语句a =a +1;完全相同,语句a --;或--a ;的功能与a =a -1;完全相同。
第一章C++ 基础endl 换行并刷新输出流setw(n) 设置字段位数为nhex,oct,dec 十六进制,八进制,十进制表示setfill 定义填充字符setprecision 定义浮点数的精度left,right 左对齐,右对齐showpoint 强制显示小数点以及全部尾部0C++通过给常量命名的方式定义常量:const<数据类型名><常量名>=<表达式>用const定义的标识符常量时,一定要对其初始化。
在说明时进行初始化是对这种常量置值的唯一方法,不能用赋值运算符对这种常量进行赋值。
函数声明的一般形式为函数类型函数名(参数表)函数模板的定义template<typename 或class T>函数定义例子:template<typename T>T max(T a,T b){return(a>b)? a:b;}定义函数模板时可以使用多个类型参数,每个类型参数前面只需加上关键字typename或class,用逗号分隔:template <class T1, class T2, class T3>例子:template<class T1, class T2>T1 max(T1 a,T2 b){return (a>b) ? a : (T1)b;}有默认参数的函数:实参与形参的结合是从左至右进行的,因此指定默认值的参数必须放在形参列表中的最右端引用定义对变量起另外一个名字(别名alias),这个名字称为该变量的引用。
<类型> &<引用变量名> = <原变量名>;其中原变量名必须是一个已定义过的变量。
如:int max ;int &refmax=max;refmax并没有重新在内存中开辟单元,只是引用max的单元。
max与refmax在内存中占用同一地址,即同一地址两个名字。
对引用类型的变量,说明以下几点:1、引用在定义的时候要初始化2、对引用的操作就是对被引用的变量的操作。
3、引用类型变量的初始化值不能是一个常数。
4、一旦引用被声明,它就不能再指向其它的变量。
5、对引用的初始化,可以用一个变量名,也可以用另一个引用。
6、引用同变量一样有地址,可以对其地址进行操作,即将其地址赋给一指针。
当&m的前面有类型符时(如int &m),它必然是对引用的声明;如果前面无类型符(如cout<<&m),则是取变量的地址。
7、对常量(用const声明)的引用使用如下方式:int i=5;const int &a=i;内联函数定义的一般格式为:inline <函数值类型> <函数名>(<参数表>){<函数体>}作用域运算符::a表示全局作用域中的变量a。
注意:不能用::访问函数中的局部变量new运算从堆中分配一块与<类型>相适应的大小为<元素个数>的数组存储空间,若分配成功,将这块存储空间的起始地址存入<指针变量名>,否则置<指针变量名>的值为NULL(空指针值,即0)。
new的使用格式为:<指针变量名>=new <类型>[<元素个数>];delete运算符用来释放<指针变量名>指向的动态存储空间。
使用格式如下:delete <指针变量名> 或delete[] <指针变量名>第2章面向对象基本概念面向过程编程与面向对象编程的区别:面向过程编程先确定算法,再确定数据结构;面向对象编程先确定数据结构,再确定运算。
类定义:class <类名>{<访问控制符>:<成员函数的声明><访问控制符>:<数据成员的声明>};<成员函数的实现>若在类体外实现,则需要使用作用域运算符“::”,用它来标识某个成员函数是属于哪个类的,其定义格式如下:<函数值类型> <类名>::<成员函数名>(<参数表>){<函数体>}类外访问对象中的成员可以有3种方法:通过对象名和成员运算符访问对象中的成员。
<对象名>.<公有成员>通过指向对象的指针变量访问对象中的成员。
<对象指针名> -> <公有成员>通过对象的引用访问对象中的成员。
析构函数其定义格式如下:<类名>::~<类名>(){<函数体>}在一般情况下,调用构造函数与声明对象的顺序相同,而调用析构函数的次序正好与创建对象的顺序相反。
三种构造函数Box(); //无参构造函数Box(int h,int w ,int len):height(h),width(w),length(len){}//带参构造函数复制构造函数定义<类名>(<参数表>);<类名>(const <类名>& <对象名>)Box(const Box& b);//复制构造函数复制构造函数只有一个参数,并且是对同类对象的引用。
静态成员是类的所有对象共享的成员,而不是某个对象的成员,它在对象中不占存储空间,是属于整个类的成员。
静态成员定义格式如下:static<静态成员的定义>;不能用参数初始化表对静态数据成员初始化,也不能在构造函数体内初始化,静态数据成员只能在类体外进行初始化。
静态数据成员初始化格式如下:<数据类型> <类名>::<静态数据成员名>=<值>;在类的成员函数中可以直接访问该类的静态数据成员,而不必使用成员访问运算符或类名限定修饰符。
在类外必须使用成员访问运算符或类名限定修饰符访问公共静态数据成员。
<对象名>.<静态成员><类名>::<静态成员>静态成员函数就是使用static关键字声明的成员函数。
静态成员函数可以直接访问该类的静态成员,但不能直接访问类中的非静态成员。
第3章详解对象对象指针就是用于存放对象数据起始地址的变量。
声明对象指针的一般格式为:<类名> *<对象指针名>;对象指针的初始化一般格式为:<数据类型> *<对象指针名>=&<对象名>;<对象指针名>=&<对象名>;通过指针访问对象成员一般格式如下:<对象指针名> -> <公有成员>boxp->volumn();(*<对象指针名>).<公有成员>(*boxp).volumn();this指针是一个特殊的隐含指针,它隐含于每一个成员函数(静态成员函数除外)中,也就是说,每个成员函数都有一个this指针参数。
this指针指向调用该函数的对象,即this指针的值是当前被调用的成员函数所在的对象的起始地址。
复制构造函数中隐含使用this指针:TAdd(const TAdd& p){this->x=p.x; this->y=p.y;cout<<"copy constructor."<<endl;}同样也可以使用*this来标识调用该成员函数的当前对象。
x this->x (*this).xthis指针是一个const指针,成员函数不能对其进行赋值。
静态成员中不能访问this指针,因为静态成员函数不从属于任何对象。
指向非静态数据成员的指针一般形式为:数据类型名*指针变量名;定义指向公有成员函数的指针变量的一般形式为:数据类型名(类名:: *指针变量名)(参数列表);使指针变量指向一个公有成员函数的一般形式为:指针变量名=&类名::成员函数名常量定义格式如下:const <数据类型名> <常量名>=<表达式>;常对象是其数据成员值在对象的整个生存期间内不能被改变的对象。
const <类名><对象名>(<初始化值>);<类名> const <对象名>(<初始化值>);常成员函数通过常成员函数来引用本类中的常数据成员。
<数据类型><函数名>(<参数表>)const;声明一维对象数组的一般格式为:<类名> <数组名>[<下标表达式>]第4章运算符重载重载为类的成员函数格式如下:<类名> operator <运算符>(<参数表>){ 函数体}A operator + (A &);++为前置运算符时,它的运算符重载函数的一般格式为:<type> operator ++( )++为后置运算符时,它的运算符重载函数的一般格式为:<type> operator ++(int)运算符重载函数不能定义为静态的成员函数,因为静态的成员函数中没有this 指针。
友元声明以关键字friend开始,只能出现在被访问类的定义中。
具体格式如下:friend <函数值类型> <函数名>(<参数表>);friend class <类名>;友元函数可以访问该类中的所有成员(公有的、私有的和保护的)通常使用友元函数来取对象中的数据成员值,而不修改对象中的成员值,保证数据安全。
重载为类的友元函数语法形式friend <函数值类型> operator <运算符>(<参数表>){ <函数体>;}++为前置运算符时,它的运算符重载函数的一般格式为:A operator ++(A &a)++为后置运算符时,它的运算符重载函数的一般格式为:A operator ++(A &a, int)重载提取运算符的一般格式为:friend istream & operater >>(istream &, ClassName &); istream & operater >>(istream &is, ClassName &f){…}重载输出(插入)运算符的一般格式为:friend ostream & operater >>(ostream &, ClassName &); ostream & operater >>(ostream &is, ClassName &f){…} 重载类型转换运算符函数格式:operator〈返回基本类型名〉(){……return 〈基本类型值〉}类类型转换函数只能是成员函数,不能是友元函数。