课后答案——C++语言程序设计教程(第二版)

课后答案——C++语言程序设计教程(第二版)
课后答案——C++语言程序设计教程(第二版)

1.1习题1解答

1.

(1)机器语言是计算机直接理解执行的语言,由一系列(二进制)指令组成,其助记符构成了汇编语言;接近人的自然语言习惯的程序设计语言为高级语言。

(2)结构化程序设计方法主要内容有:自顶向下,逐步求精;面向对象方法将现实世界中的客观事物描述成具有属性和行为的对象,抽象出共同属性和行为,形成类。

(3)C++程序开发通常要经过5个阶段,包括:编辑,编译,连接,运行,调试。首先是编辑阶段,任务是编辑源程序,C++源程序文件通常带有.c p p 扩展名。接着,使用编译器对源程序进行编译,将源程序翻译为机器语言代码(目标代码),过程分为词法分析、语法分析、代码生成3个步骤。

在此之前,预编译器会自动执行源程序中的预处理指令,完成将其他源程序文件包括到要编译的文件中,以及执行各种文字替换等。

连接器的功能就是将目标代码同缺失函数的代码连接起来,将这个“漏洞”补上,生成可执行文件。程序运行时,可执行文件由操作系统装入内存,然后CPU从内存中取出程序执行。若程序运行进程中出现了错误,还在需要对程序进行调试。

(4)对象与对象之间通过消息进行相互通信。

(5)类是具有相同属性和行为的一组对象的抽象;任何一个对象都是某个类的一个实例。(6)多态性是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。

(7)面向对象的软件开发过程主要包括面向对象的方法分析、面向对象的设计、面向对象的编程、面向对象的测试和面向对象的维护。

(8)泛型程序设计是指在程序设计时,将数据类型参数化,编写具有通用性和可重用的程

序。

(9)# include 是一条预处理指令(语句),在编译(或预处理)时由编译器(或预编译器)执行,其功能是将iostream文件包含(复制)到指令处。

(10)C++中使用cin作为标准输入流对象,通常代表键盘,与提取操作符>>连用;使用cout 作为标准输出流对象,通常代表显示设备,与<< 连用。

2.简答题

(1)叙述机器语言、汇编语言、高级语言的特点。

机器语言是计算机直接执行的语言,由二进制的0和1构成的一系列指令组成;

汇编语言是机器语言的助记符;

高级语言是接近人的自然语言习惯的编程语言,通过编译变成机器语言。

(2)结构化的语言与面向对象的语言是截然分开的吗?

不是截然分开的,面向对象的程序设计中也包含过程,含有结构化的思想。

(3)C编写的程序不加修改就可以在C++编译器中编译。

(5)C++程序通过编译变成带扩展名.obj的目标文件;再通过连接变成带扩展名.exe的可执行文件。

(6)如果要求不使用include包含头文件,有什么办法使程序正常编译运行?

在相应的文件夹(子目录)中,找到需要包含的头文件,将头文件复制到包含处。

3.单选

C++语言程序能够在不同操作系统下编译、运行,说明C++具有良好的移植性。

(可以说C++语言完全兼容C语言,但是在这不能说C++语言程序能兼容不同的操作系统;对于计算机硬件,一般使用“兼容”一词,对于程序使用“移植”)。

(3)#include语句在程序运行前就执行了。

(4)C++程序运行时总是起始于main( );

(5)用C++写程序时一个语句可分几行写。

(6)面向对象编程方法有:对象、继承、类等。

1.2习题2解答

1.

(1)C++的基本数据类型可分为5大类:逻辑型(或布尔型)、字符型、整形、实型、空值型。分别用关键字bool , char , int , float / double , void 定义。长度分别为1,1,4,4/8,不定字节。整型、字符型的默认符号修饰为signed。

(2)十进制数值、八进制数值、十六进制数值的前缀分别为1~9 , 0 , 0x(或0X)。(3)一个整数值的数据类型为int,一个带小数点的数据类型为double。

(4)C++预定义的常用转义序中,在输出流中用于换行、空格的转义序列分别为\n,\t。(5)布尔型数值只有两个;true, false。在C++的算术运算式中,分别当作1,0。(6)字符由单引号’’括起来,字符串由双引号“”括起来。字符只能有1个字符,字符串可以有多个字符。空串的表示方法为“\0”(或“”)。

(7)标识符以英文字母,下划线开头。

(8)定义变量的同时赋初值的方法有赋值运算符=,括号。定义常变量初值的方法有赋值运算符=,括号。

(9)关系运算符操作数的类型可以是任何基本数据类型,对其中的实数类型不能进行直接比较。(if(a

(-10)&&与||表达式按从左到右的顺序进行计算,以&&连接的表达式,如果左边的计算结果为false(或0),右边的计算不需要进行,就能得到整个逻辑表达式的结果:false;

以||连接的表达式,如果左边的计算结果为true(或非0),就能得到整个逻辑表达式的结果:true。

(11)>>运算符将一个数右移n位,相当于将该数除以2n,<<运算符将一个数左移n位,相当于将该数乘以2N。

(12)所有含赋值运算的运算符左边要求是左值。

(13)前置++、――的优先级高于后置++、――。

(14)按操作数数目分,运算符的优先级从高到低排列为单目、双目、三目,按运算符的性分,优先级从高到低排列为算术、移位、关系、按位、逻辑。

(15)在表达式中会产生副作用的运算符有++、- -、各类赋值。

1.3 习题3解答

1.

(1)if语句中的表达式可以是任意表达式(关系表达式、逻辑表达式、算术表达式、常量)。

1.4习题4解答

1.

(1)一个C++程序就是由一个个函数组成的即使是最简单的程序也有一个main()函数。(2)函数执行过程中通过return语句将函数值返回,当一个函数不需要返回值,此时需要使用void作为类型名。

(3)在C++中,如果函数定义在后,调用在先,需要进行函数原型声明,告诉编译器函数的(返回)类型,函数名,形式参数。其格式和定义函数时的函数头的形式基本相同,它必须以分号;结尾。

(4)函数调过程的3个步骤为:函数调用(或参数传递),函数体执行,返回。

(5)函数参数传递过程的实质是将实参值通过堆栈一一传送给实参。(实参传给实参?)(6)递归程序分两个阶段执行调用,回代。

(7)带inline关键字定义的函数为内联函数,在编译时将函数体展开到所有调用处。内联函数的好处是节省执行时间开销。

(8)函数名相同,但对应形参表不同的一组函数称为重载函数,参数表不同是指参数个数、类型不同。

(9)确定对重载函数中函数进行绑定的优先次序为精确匹配,对实参的类型向高类型转换后的匹配,实参类型向低类型及相容类型转换后的匹配。

(10)当既存在重载函数、又有函数模板,函数调用优先绑定重载函数,只有不能精确匹配重载函数时,才实例化类模板。

(11)内联函数的展开、重载函数的绑定、类模板的实例化与绑定均在编译阶段进行。(12)在C++中,函数不允许嵌套定义,允许嵌套调用。

2.

(1)void fun(void) 的定义是正确的。

double fun(int x;int y) 和int fun();和double fun(int x,y) 这都是不正确的(定义是不能以;结尾的)。

(2)函数int fun(int x, int y)的声明形式可以是int fun(int, int);和int fun(int y,int x);和int fun(int i,int j); int fun(int x, int y)是不正确的因为函数的声明必须以;结尾)。

(3)C++语言中规定函数的返回值的类型是由定义该函数时所指定的数据类型所决定。(5)在C++中默认的形参值应该先从右边的形参开始向左边依次设置。

(6)重载函数参数个数相同时,参数类型必须不同。

(7)系统在调用重载函数时,依据的是函数名称、实参个数、实参类型。不能是函数类型。

(9)为了取代C中带参数的宏,在C++ 中使用内联函数。

(10)函数模板定义的头部template

(11)若fun(8,3.1)调用的可以是fun(double, double)

――(当没有精确匹配时,优先进行向高类型转换后的匹配)

(12)若fun(8,3.1)调用的可以是template fun (T1,T2)

1.5习题5解答

1.

(-1)enum weekday {sun,mon,tue,wed=4,thu,fri,sat};

weekday workday =mon;

cout<

输出:5(怎么加的?)

(2)在C++中,引用数组元素时,其数组下标的数据类型允许是非浮点型表达式,整形常量、整形表达式(整型表达式实际上包含了整型常量)。

(3)设有数组定义:char array[]=”China”; 则数组array所占的空间为6个字节(’\0’)。(4)若:int a[][3] = {1,2,3,4,5,6,7};则a 数组高维的大小为:3。

(6)若二维数组a有m 列,则在a[i][j]前的元素个数为i*m+j ;

1.6习题六解答

1

(1)从变量的定义位置分,可分为全局变量与局部变量。其中,局部变量定义在函数或复合语句中,供函数或复合语句中使用。(2)变量的存储类型分为auto , extern , register , static 。当声明一个静态(static)变量,它既具有局部变量的性质,又具有全

局变量的性质。

(3)C++程序的内存分为4个区:全局数据区,代码区,栈区,堆区。全局变量,静态变量,字符串常量存放在全局数据区,所

有在函数和代码存放在代码区,为运行函数而分配的函数参数,局部变量,返回地址存放在栈区。动态分配的内存在堆区。(4)全局变量,静态变量具有静态生存期;局部变量生存期为动态。(5)函数原型中形参标识符的作用域为为函数原型,函数的形参与函数体作用域为块作用域;函数,全局变量与常量有文件作用

域。

(6)C++源程序中以# 开头,以换行符结尾的行称为预处理命令。预处理命令编译前由预处理器执行。

(7)可以通过3种方法使用名字空间,个别使用声明方式,全局声明方式,全局声明个别成员。

2.

(1)在C++中,函数默认的存储类别为:auto。

(2)函数的形式参数是局部变量,在一个函数体内定义的变量只在本函数范围内有效,在函数的复合语句中定义的变量只在此复合语句中有效。

(3)# define PI 3.14 预处理命令必须以#开头,凡是以#开头的都是预处理命令行,在程序执行前执行预处理命令。

(4)动态分配的内存要用delete释放,局部auto变量分配的内存在函数调用结束时释放,全局变量的内存在程序结束时释放。

1.7习题7解答

1.

(1)类的私有成员只能被该类的成员函数或友元函数访问。

(2)类的数据成员不能在定义的时候初始化,而应该通过构造函数初始化。

(3)类成员默认的访问方式是private.

(4)类的公有成员函数的集合是该类给外界提供的接口。

(5)类的公有成员可以被类作用域内的任何对象访问。

(6)为了能够访问到某个类的私有成员,必须在该类中声明该类的友元。

(7)类的静态成员为该类的所有对象所共享。

(8)每个对象都有一个指向自身的指针,称为this指针,通过使用它来确定其自身的地址。

(9)运算符new自动建立一个大小合适的对象并返回一个具有正确

类型的指针。

(10)C++禁止非const成员函数访问const对象。

(11)定义类的动态对象数组时,系统只能够自调用该类的构造函数对其进行初始化。

(12)C++中语句const char * const p=”hello”;所定义的指针p和它所指的内容都不能被以改变。

(13)假定AB为一个类,则语句AB(AB& x);为该类拷贝构造函数原型说明。

(14)在C++中访问一个对象的成员所用的运算符是.,访问一个指针所指向的对象的成员所用的运算符是- > 。

(15)析构函数在对象的生存期结束时被自动调用,全局对象和静态对象的析构函数在程序运行结束时调用。

(16)设p是指向一个类的动态对象的指针变量,则执行delete P;语句时,将自动调用该类的析构函数。

2.

(1)数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是类。

(2)类的实例化就是创建类的对象。

(3)已知p是一个指向类Sample数据成员m的指针,s是类Sample 的一个对象。如果要给m赋值为5:s.*p=5;

(4)类与对象的关系和数据类型与变量的关系是相似的,对象是类的一个实例,一个对象只能属于一个具体的类。

(5)封装要求对象就具有明确的功能,它使得一个对象可以像一个部件一样用在各种程序中。封装是将一组数据和这组数据有关的操作组装在一起。

(6)内联函数是在编译时(而不是运行时)将该函数的目标代码插入到每一个调用该函数的地方。

(7)类中的函数成员可以在类体中定义,也可以在类体之外定义。(8)C++中的对象并不是C语言中的结构体变量,它是一个状态和操作(或方法)的封装体,对象代表着正在创建的系统中的一个实体,对象之间的信息传递是通过消息进行的。

(9)在建立类的对象时只为每个对象分配用于保存数据成员的内存。

3.

(1)类和数据类型有何关联?

类相当于一种包含函数的自定义数据类型,它不占内存空间,是一个抽象的“虚”体,使用已定义的类建立对象就像用数据类型定义变量一样。对象建立后,对象占据内存,变成了一个“实”体。类与对象的关系就像数据类型与变量的的关系一样。其实,一个变量就是一个简单的不含成员函数的数据对象。

(2)类和对象的内存分配关系?

为节省内存,编译器在创建对象时,只为各对象分配用于保存各对象数据成员初始化的值,并不为各对象的成员函数分配单独的内存空间,而是共享类的成员函数定义,即类中成员函数的定义为该类的所有对象所共享,这是C++编译器创建对象的一种方法,实际应用中,

我们仍将对象理解为由数据成员和函数成员两部分组成。

(3)什么是浅拷贝?什么是深拷贝?二者有何异同?

构造函数用于建立对象时给对象赋初值以初始化新建立的对象。如果有一个现存的对象,在建立新对象时希望利用现存对象作为新对象的初值,即用一个已存在的对象去初始化一个新建立的对象。C++提供的拷贝构造函数用于在建立新对象时将已存在的对象的数据成员值复制给新,以初始化新对象。拷贝构造函数在用类的一个对象去初始化该类的另一个对象时调用,以下3种情况相当于用一个已存在的对象去初始化新建立的对象,因此,调用拷贝构造函数:

①当用类的一个对象去初始化该类的另一个对象时。

②如果函数的形参是类的对象,调用函数时,将对象作为函数

实参传递给函数的形参时。

③如果函数的返回值是类的对象,函数执行完成,将返回值返

回时。

原因在于默认的拷贝构造函数实现的只能是浅拷贝,即直接将原对象的数据成员值依次复制给新对象中对应的数据成员,并没有为新对象另外分配内存资源。这样,如果对象的数据成员是指针,两个指针对象实际上指向的是同一块内存空间。

当类的数据成员中有指针类型时,我们就必须定义一个特定的拷贝构造函数,该拷贝构造函数不仅可以实现原对象和新对象之间的数据成员的复制,而且可以为新的对象分配单独的内存资源,这就是深拷贝构造函数。

(4)什么是this指针?它的作用是什么?

一个类的成员函数中,有时希望引用调用它的对象,对此,C++采用隐含的this指针来实现。this指针是一个系统预定义的特殊指针,指向当前对象,表示当前对象的地址。系统利用this指针明确指出成员函数当前操作的数据成员所属的对象。实际上,当一个对象调用其成员函数时,编译器先将该对象的地址赋给this指针,然后调用成员函数,这样成员函数对对象的数据成员进行操作时,就隐含使用了this指针。

一般而言,通常不直接使用this指针来引用对象的成员,但在某些少数情况下,可以使用this指针,如重载某些运算符以实现对象的连续赋值等。

This指针不是调用对象的名称,而是指向调用对象的指针的名称。This的值不能改变,它总是指向当前调用对象。

(5)C++中静态成员有何作用?它有何特点?

C++提供了静态成员,用以解决同一个类的不同对象之间数据成员和函数的共享问题。

静态成员的特点是:不管这个类创建了多少个对象,其静态成员在内存中只保留一份副本,这个副本为该类的所有对象所共享。

面向对象方法中还有类属性(class attribute)的概念,类属性是描述类的所有对象的共同特征的一个数据项,对于任何对象实像实例,它的属性值是相同的,C++通过静态数据成员来实现类属性。(6)友元关联有何性质?

①友元关联是不能传递的,不能被继承。如B类是A类的友元,C类是B类的友元,C类和A类之间如果没有声明,就没有任何友元关系,不能进行数据共享。

②友元关系是单向的,不具有交换性,如果声明B类是A类的友元,B类的成员函数就可以访问A类的私有和保护数据,但A类的成员函数却不能访问B类的私有和保护数据。

(7)在C++程序设计中,友元关系的优点和缺点是什么?

友元概念的引入,提高了数据的共享性,加强了函数与函数之间、类与类之间的相互联系,大大提高了程序的效率,这是友元的优点,但友元也破坏了数据隐蔽和数据封装,导致程序的可维护性变差,给程序的重用和扩充埋下了深深的隐患,这是友元的缺点。

(8)如何实现不同对象的内存空间的分配和释放?

当类被实例化成对象后,不同类别的对象占据不同类型的内存,其规律与普通变量相同:

①类的全局对象占有数据段的内存。

②类的局部对象内存分配在栈中。

③函数调用时为实参建立的临时对象内存分配在栈中。

④使用动态内存分配语句new建立的动态对象,内存在堆中分

配。

虽然类(对象)是由数据成员与成员函数组成。但是,程序运行时,系统只为各对象的数据成员分配单独内存空间,而该类的所有对象则共享类的成员函数定义以及为成员函数分配的空间。对象的内存

空间分配有下列规则:

①对象的数据成员与成员函数占据不同的内存空间,数据成员

的内存空间与对象的存储类别相关,成员函数的内存空间在

代码段中。

②一个类所有对象的数据成员拥有各自的内存空间。

③一个类所有对象的成员函数为该类的所有对象共享,在内存

中,只有一个副本随着对象的生命周期的结束,对象所占的

空间就会释放,各类对象内存空间释放时间与方法如下:

a.全局对象的数据成员占有的内存空间在程序结束时释放。

b.局部对象与实参对象数据成员的内存空间在函数调用

结束时释放。

c.动态对象数据成员的内存空间要使用delete语句释放。

d.对象的成员函数的内存空间在该类的所有对象生命周

期结束时自动释放。

1.8习题8解答1.

(1)C++程序设计的关键之一是利用继承实现软件重用,有效地缩短程序的开发时间。(2)基类的对象可以作为派生类的对象使用,这称为类型兼容(或赋值兼容)。

(3)在C++中,三种派生方式的说明符号为public, private,protected,如果不加说明,则默认的派生方式为private。

(4)当私有派生时,基类的的公有成员成为派生类的私有成员;保护成员成为派生类的私有成员;私有成员成为派生类的不可访问成员。

(5)相互关联的各个类之间的关系主要分为组成关系和继承关系。

(6)在派生类中不能直接访问基类的私有成员否则破坏了基类的封装性。

(7)保护成员具有双重角色,对派生类的成员函数而言,它是公有成员,但对所在类之外定义的其它函数而言则是私有成员。

(8)多继承时,多个基类中的同名的成员在派生类中由于标识符不唯一而出现二义性。在派生类中采用成员名限定或重定义具有二义性的成员来消除该问题。

(9)C++提供的多继承机制允许一个派生类继承多个基类。

2.

(1)一个派生类可以作为另外一个派生类的基类;派生类至少有一个基类;派生类的成员除了它自己的成员外,还包含了它的基类的成员。

(2)在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则是完全相同的。

(3)友元关系是不能继承的。

(4)派生类一般都是公有派生;对基类成员的访问必须是无二义性的;赋值兼容规则也是适用于多重继承的场合。

(5)基类的保护成员在公有派生中仍然是保护的;基类的保护成员在私有派生中却是私有的;对基类成员的访问必须是无二义性的。

(6)在公有派生的情况下,派生类中定义的成员函数只能访问原基类中的公有成员和保护成员。

(7)每个派生类的构造函数都要为虚基类构造函数提供实参;多继承时有可能出现对基类成员访问的二义性问题;建立派生类对象时,虚基类数的构造函数会首先被调用。(8)在一个派生类对象结束其生命周期时先调用基类的析构函数后调用派生类的析构

函数。

(9)当保护继承时,基类的公有成员和保护成员在派生类中成为保护成员,不能通过派生类的对象来直接访问。

(10)若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的私有成员。

(11)设置虚基类的目的是消除二义性。

(12)继承具有传递性,即当基类本身也是某个类的派生类时,底层的派生类也会自动继承间接基类的成员。

(13)在派生类构造函数的初始化列表中不能包含派生类中一般数据成员的初始化。(14)在公有派生情况下,派生类的对象可以赋给基类的对象;派生类的对象可以初始化基类的引用;派生类的对象的地址可以赋给指向基类的指针。

3.

(1)派生类如何实现对基类私有成员的访问?

无论使用哪一种继承方式,基类的私有成员都不允许外部函数直接访问,也不允许派生的成员函数直接访问,但是可以通过基类的公有成员函数间接访问该类的私有成员。

(2)什么是赋值兼容?它会带来什么问题?

类型兼容是指在公有派生的情况下,一个派生类对象可以作为基类的对象来使用。类型兼容又称为类型赋值值兼容或类型适应。

在C++中,类型兼容主要指以下3种情况:

①派生类对象可以赋值给基类对象;

②派生类对象可以初始化基类的引用;

③派生类对象的地址可以赋给指向基类的指针;

由于派生类对象中包含基类子对象,所以这种引用方式是安全的,但是这种

方法只能引用从基类继承的成员。如果试图通过基类指针引用那些只有在派

生类中才有的成员,编译器将会报告语法错误。

(3)多重继承时,构造函数和析构函数的执行顺序是如何实现的?

多得继承时,构造函数的执行顺序是:先执行基类的构造函数,再执行对象成员的构造函数,最后执行派生类的构造函数。

在多个基类之间则严格按照派生类声明时从左到右的顺序来执行各基类的构造

函数,而析构函数的执行顺序则正好与构造函数的执行顺序相反。

(4)继承与组合之间的区别和联系是什么?

继承描述的是一般类与特殊类的关系,类与类之间体现的是”is a kind of”,即如果在逻辑上A是B的一种,允许A继承B的功能和属性。例如汽车(automobile)是交通工具(vehicle)的一种,小汽车(car)是汽车的一种。那么类automobile可以从类vehicle 派生,类car 可以从类automobile派生。

组合描述的是整体与部分的关系,类与类之间体现的是”is a part of ”,如果在逻辑上A是B的一部分,则允许A和其他数据成员组合为B。例如:发动机、车轮、电池、车门、方向盘、底盘都是小汽车的一部分,它们组合成汽车,而不能说汽车是发动机的一种。

在C++中,类的继承与类的组合很相似,继承和组合既有区别,也有联系,主要表现在描述的关系不同。某些比较复杂的类,既需要使用继承,也需要使用组合,二者一起使用。

在某些情况下,继承与组合的实现还可以互换。在多继承时,一个派生类有多个

直接基类,派生类实际上是所有基类属性和行为的组合。派生类是对基类的扩充,派生

类的成员一部分是从基类中来,因此派生类组合了基类。既然这样,派生类也可以通过

组合类实现。什么时候用继承,什么时候使用组合,要根据问题中类与类之间的具体关系,顺其自然,权衡考虑。

(5)什么是虚基类?它有什么作用?

在多继承中,当派生类的部分或全部直接基类又是从另一个共同基类派生而来

时,这些直接基类中从上一级共同基类继承来的成员就拥有相同的名称。在派生类的对

象中,同名数据成员在内存中同时拥有多个副本,同一个成员函数会有多个映射,出现

二义性,因此,C++将共同基类设置为虚基类。虚基类使得从不同的路径继承过来的同

名数据成员在内存中只有一个副本,同一个函数也只有一个映射。这样不公解决了二义

性的问题,也节省了内存,避免了数据不一致的问题。

1.9习题9解答

1.

(1)将一个函数调用链接上相应函数体的代码,这一过程称为联编(绑定)。

(2)C++支持两种多态性:静态多态性和动态多态性。

(3)在编译时就确定的函数调用称为静态联编,它通过使用重载函数实现。

(4)在运行时才确定的函数调用称为动态联编,它通过继承和虚函数来实现。

(5)虚函数的声明方法是在函数原型前加上关键字virtual。

(6)C++的静态多态性是通过重载函数实现的。

(7)C++的动态多态性是通过虚函数实现的。

(8)当通过基类指针使用虚函数时,C++会在与对象关联的派生类中正确地选择重定义的函数。

(9)如果一个类包含一个或多个纯虚函数,则该称为抽象类。

(10)若以非成员函数形式,为类Bounce重载!运算符,其操作结果为bool型数据,则该运算符重载函数的原型是:friend bool operate ! (Bounce);

2.

(1)在C++中::运算符不能被重载。

(2)运算符重载不能改变运算数的个数、优先级、结合性和语法结构。

(3)如果表达式++i*k中的++和*都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为operator*(operator++(i),k) 。

(4)5.0+2.0和5+2两个表达式中的+的意义不相同。

(5)有的运算符只能作为成员函数重载。

(6)已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;。

这是运算符-的重载运算符函数;这是一个成员函数;这个函数不改变类的任何数据成员的值。

(7)在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。operator+有一个参数,operator*有两个参数;

(8)在C++中,对象之间的相互通信通过调用成员函数来实现。

(9)Franction operator +(Franction,Franction); Franction &operator =(Franction&,Franction);

Franction &operator +=(Franction&, Franction)以上是重载为非成员函数的运算符函数原型。

(10)当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中都是虚函数。(11)纯虚函数是一个在基类中说明的虚函数,它在该基类中没有定义,但要求在任何派生类都必须定义自己的版本。

(12)virtual void vf()=0; 这个基类中的成员函数表示纯虚函数。

(13)如果一个类至少有一个纯虚函数,那么就称该类为抽象类。

(14)纯虚函数是一种特殊的虚函数,它没有具体的定义;抽象类是指具有纯虚函数的类;

抽象类只能作为基类来使用,其纯虚函数的定义同派生类给出。

(15)抽象类的特性: 不能定义其对象。

(16)抽象类应含有至少一个纯虚函数。

(17)类B是类A的公有派生类,类A和类B中都定义了虚函数fun(), p是一个指向类A对象的指针,则p->A:::func()将调用类A中的函数func()。

(18)在C++中,用于实现运行时多态性的是虚函数。

(19)Class A{

Public:

Virtual void func1(){}

void func2() {}

};

Class B: public A{

Public:

V oid func1(){cout<<”class B func1”<

Virtual void func2() {cout<<”class B func2”<

};

以上代码中B::func1是虚函数,而A::func2不是虚函数。

(20)虚函数不得是静态成员函数。

(21)如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类。

数据结构实用教程第二版答案_徐孝凯

第一章绪习题一 1.有下列几种用二元组表示的数据结构,试画出它们分别对应的图形表示(当出现多个关系时, 对每个关系画出相应的结构图),并指出它们分别属于何种结构。 ⑴ A=(K,R)其中 K={a1,a2,a3...,an} R={} ⑵ B=(K,R)其中 K={a,b,c,d,e,f,g,h} R={r} r={,,,,,,} ⑶ C=(K,R)其中 K={a,b,c,d,f,g,h} R={r} r={,,,,,,} ⑷ D=(K,R)其中 K={1,2,3,4,5,6} R={r} r={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)} ⑸ E=(K,R)其中 K={48,25,64,57,82,36,75,43} R={r1,r2,r3} r1={<48,25>,<25,64>,<64,57>,<57,82>,<82,36>,<36,75>,<75,43>} r2={<48,25>,<48,64>,<64,57>,<64,82>,<25,36>,<82,75>,<36,43>} r3={<25,36>,<36,43>,<43,48>,<48,57>,<57,64>,<64,75>,<75,82>} 解:⑴是集合结构;⑵是线性结构;⑶⑷是树型结构;⑸散列结构。只作为参考。 2.设计二次多项式ax2+bx+c的一种抽象数据类型,假定起名为QIAdratic, 该类型的数据部分分为三个系数项a、b和c,操作部分为:(请写出下面每一个操作的具体实现)。 ⑴初始化数据成员ab和c(假定用记录类型Quadratie定义成员),每个数据成员的默认值为0。 Quadratic InitQuadratic(float aa=0,float bb=0,float cc=0); 解: Quadratic InitQuadratic(float aa,float bb,float cc) { Quadratic q; q.a=aa; q.b=bb; q.c=cc; return q; }

数据库系统基础教程(第二版)课后习题答案

Database Systems: The Complete Book Solutions for Chapter 2 Solutions for Section 2.1 Exercise 2.1.1 The E/R Diagram. Exercise 2.1.8(a) The E/R Diagram Kobvxybz Solutions for Section 2.2 Exercise 2.2.1 The Addresses entity set is nothing but a single address, so we would prefer to make address an attribute of Customers. Were the bank to record several addresses for a customer, then it might make sense to have an Addresses entity set and make Lives-at a many-many relationship. The Acct-Sets entity set is useless. Each customer has a unique account set containing his or her accounts. However, relating customers directly to their accounts in a many-many relationship conveys the same information and eliminates the account-set concept altogether. Solutions for Section 2.3 Exercise 2.3.1(a) Keys ssNo and number are appropriate for Customers and Accounts, respectively. Also, we think it does not make sense for an account to be related to zero customers, so we should round the edge connecting Owns to Customers. It does not seem inappropriate to have a customer with 0 accounts;

计算机文化基础(第十版)实验教程习题答案

习题答案 第1章 一、单项选择题 1.A 2.A 3.A 4.A 5.C 6.D 7.C 8.B 9.C 10.B 11.B 12.D 13.A 14.C 15.C 16.C 17.A 18.A 19.A 20.C 21.D 22.B 23.A 24.B 25.D 26.C 27.A 28.B 29.B 30.A 31.A 32.C 33.D 34.D 35.B 36.A 37.C 38.A 39.B 40.B 41.B 42.B 43.C 44.A 45.C 46.A 47.A 48.C 二、多项选择题 1.BC 2.BCD 3.ABD 4.ABC 5.AD 6.ABC 7.ABD 8.AB 9.ABD 10.AC 三、判断题 1.T 2.F 3.F 4.T 5.T 6.F 7.T 8.F 9.F 10.T 11.T 12.T 13.F 14.T 15.T 16.T 17.F 18.F 19.T 20.F 21.T 22.F 23.F 四、填空题 1.地址码2.1024 3.总线4.显示卡 5.点阵码矢量码6.自动控制7.算术运算逻辑运算8.地址9.存储程序工作10.字11.应用软件12.二进制13.外部14.CD-ROM 15.非击打式 16.American Standard Code for Information Interchange 17.寄存器18.数据处理(信息管理) 19.CPU 20.3 第2章 一、单项选择题 1. D 2. D 3. D 4. D 5. C 6. B 7. C 8. C 9. B 10. A 11. C 12. D 13. D 14. B 15. A 16. B 17. D 18. B 19. D 20. A 21. A 22. A 23. C 24. B 25. C 26. D 27. C 28. D 29. B 30. A 31. C 32. D 33. C 34. D 35. C 36. B 37. D 38. C 39. C 40. D 二、多项选择题 1. ABCD 2. BCD 3. ABD 4. ABD 5. BCD 6. ACD 7. BC 8. ABC 9. ACD 10. ACD 11. BD 12. ABD 三、判断题

工程数学基础教程课后习题答案

工程数学基础习题解答

习题一 A

一、判断题 1.√;, 2.√; 3.×; 4.×; 5.×; 6.×; 7.×; 8.√; 9.√;10.×. 二、填空题 1.;C C A B 2.111(){1,2,3,4},(){,,},(){,,},(){1,4},(){2,3};f f a b e f A a b e f B f b --=====D R 3.满; 4.2sup = E ,3inf -=E ; 5.0; 6.0; 7. n ; 8.Y . B 1.证 ()y f A B ?∈?,x A B ?∈?使得)(x f y =.由x A B ∈?,得x A ∈,且x B ∈故()()y f x f A =∈且()y f B ∈,即()()y f A f B ∈?,因此()()()f A B f A f B ???. 当f 是单射时,只需证明()()()f A f B f A B ???即可: ()()(),y f A f B f ?∈??R f 由是单射知,(). (),(),1X y f x y f A y f B x ?=∈∈∈使得且 ,,()(),x A x B x A B y f x f A B ∴∈∈∈?=∈?且即从而故()()()f A f B f A B ???. 是可能的,例如, 2:,[2, 0],[1, 3],[1, 0].f x x A B A B =-=-?=-取则()([1,0])[0, 1], f A B f ?=-=于是而 [][]()()0, 4[0, 9]0, 4.f A f B ?=?=从而有 . 2. 证(1)n ?∈,有)2 ,2(12 ,12][-?-+-n n ,故 ∞ =-?-+-1)2 ,2(12 12][n n ,n . 另一方面,)2 ,2(-∈?x ,k ?∈ ,使][12 ,12k k x -+-∈,故 ∞ =-+-∈1 ][12 12n n ,n x ,于是 ? -)2 ,2( ∞ =-+-1 ][12 12n n ,n . 因此, ∞ =-+-= -1 ][12 ,12)2 ,2(n n n . (2)n ?∈,有)12 ,12(]2 ,2[n n +--?-,故 ∞ =+--?-1)12 ,12(]2 ,2[n n n . 另一方面,对任意]2 ,2[-?x ,即2>x ,k ?∈ ,使得212>+>k x ,即 )12 ,12(k k x +--?,从而 ∞ =+--?1)12 ,12(n n n x ,故 ∞ =-?+--1 ]2,2[)12 ,12(n n n .

JSP程序设计与项目实训教程_第2版_课后习题和参考答案

第1章Web技术简介 1.7 习题 1.7.1 选择题 1. Web技术的设想于哪一年提出()。 A.1954年 B.1969年 C.1989年 D.1990年 2. JSP页面在第一次运行时被JSP引擎转化为()。 A.HTML文件 B.CGI文件 C.CSS文件 D.Servlet文件 3. JavaEE体系中Web层技术是()。 A.HTML B.JavaBean C.EJB D.JSP 参考答案:1.C 2.D 3.D 1.7.2 填空题 1.当前主流的三大动态Web开发技术是:PHP、ASP/https://www.360docs.net/doc/403005734.html,和______________。 2. JSP的两种体系结构是:______________和______________。 3. JSP开发Web站点的主要方式有:直接JSP、JSP+JavaBean、______________、______________和SSH。 参考答案: 1.JSP 2.JSP Model1和JSP Model2 3.JSP+JavaBean+Servlet、J2EE/JavaEE 1.7.3 简答题 1. 简述JSP的工作原理。 答:所有的JSP应用程序在首次载入时都被翻译成Servlet文件,然后再运行,这个工作主要是由JSP引擎来完成。当第一次运行一个JSP页面时,JSP引擎要完成以下操作: ●将JSP文件翻译成Servlet文件,Servlet文件是Java应用程序。 ●JSP引擎调用Java编译器,编译Servlet文件得到可执行的代码文件(.class文件)。 ●JSP引擎调用Java虚拟机解释执行.class文件,并将运行结果返回给服务器。 ●服务器将运行结果以HTML形式作为响应返回给客户端的浏览器。 由于一个JSP页面在第一次被访问时要经过翻译、编译和执行这几个步骤,所以客户端得到响应所需要的时间比较长。当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。 2. 简述JSP两种体系结构。

数据结构(第二版)课后习题答案(王红梅主编)

第 1 章绪论 课后习题讲解 1. 填空 ⑴()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 【解答】数据元素 ⑵()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。 【解答】数据项,数据元素 【分析】数据结构指的是数据元素以及数据元素之间的关系。 ⑶从逻辑关系上讲,数据结构主要分为()、()、()和()。【解答】集合,线性结构,树结构,图结构 ⑷数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:() 和()。 【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的

关系 ⑸算法具有五个特性,分别是()、()、()、()、()。 【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性 ⑹算法的描述方法通常有()、()、()和()四种,其中,()被称为算法语言。 【解答】自然语言,程序设计语言,流程图,伪代码,伪代码 ⑺在一般情况下,一个算法的时间复杂度是()的函数。 【解答】问题规模 ⑻设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若 为n*log25n,则表示成数量级的形式为()。 【解答】Ο(1),Ο(nlog2n) 【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。 2. 选择题

⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关 系是由()表示的。 A 线性结构 B 非线性结构 C 存储位置 D 指针 【解答】C,D 【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数 组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中 的指针表示。 ⑵假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不 能相互继承。则表示该遗产继承关系的最合适的数据结构应该是()。 A 树 B 图 C 线性表 D 集合

MATLAB基础教程薛山第二版课后习题答案讲解

《及应用》实验指导书 《及应用》实验指导书 班级: T1243-7 姓名:柏元强 学号: 20120430724 总评成绩: 汽车工程学院 电测与汽车数字应用中心

目录 实验04051001 语言基础..................... 错误!未指定书签。实验04051002 科学计算及绘图............. 1错误!未指定书签。实验04051003 综合实例编程.. (31)

实验04051001 语言基础 1实验目的 1) 熟悉的运行环境 2) 掌握的矩阵和数组的运算 3) 掌握符号表达式的创建 4) 熟悉符号方程的求解 2实验内容 第二章 1. 创建的变量,并进行计算。 (1) 87,190,计算 、、a*b 。 (87); (190); *b (2) 创建 8 类型的变量,数值与(1)中相同,进行相同的计算。 8(87); 8(190); *b 2.计算: (1) 操作成绩 报告成绩

(2) e3 (3) (60) (3) (3*4) 3.设,,计算: (1) (2) (3) 23; (4*u*v)(v) (((u))^2)/(v^2) ((3*v))/(u*v) 4.计算如下表达式: (1) (2) (3-5*i)*(4+2*i) (2-8*i) 5.判断下面语句的运算结果。 (1) 4 < 20

(2) 4 <= 20 (3) 4 20 (4) 4 20 (5) 'b'<'B' 4 < 20 , 4 <= 20,4 20,4 20,'b'<'B' 6.设,,,,判断下面表达式的值。 (1) (2) (3) (4) (5) (6) 395837; a><>>> 7.编写脚本,计算上面第2题中的表达式。 ('(60)='); ((60)) ('(3)='); ((3)) ('(3*4)='); ((3*4)) 8.编写脚本,输出上面第6题中的表达式的值。395837;

计算机文化基础(第十版)实验教程习题答案

精心整理 习题答案 第1章 一、单项选择题 1.A 2.A 3.A 4.A 5.C 6.D 7.C 8.B 9.C 10.B 11.B 12.D 13.A 14.C 15.C 16.C 17.A 18.A 19.A 20.C 21.D 22.B 23.A 24.B 25.D 26.C 27.A 28.B 29.B 30.A 31.A 32.C 33.D 34.D 35.B 36.A 37.C 38.A 39.B 40.B 41.B 42 46.A 47.A 48.C 二、多项选择题 1.BC 2.BCD 3.ABD 4. 7.ABD 8.AB 9.ABD 10. 三、判断题 1.T 2.F 3.F 4.T 7.T 8.F 9.F 10. 13.F 14.T 15 19.T 20.F 21 四、填空题 1.地址码23.总线4.显示卡 58.地址 912.二进制13.CD-ROM 15.非击打式 16. 17.数据处理(信息管理)19.CPU 20.3 第2章 一、单项选择题 1.D 2.D 3.D 4.D 5.C 6.B 7.C 8.C 9.B 10.A 11.C 12.D 13.D 14.B 15.A 16.B 17.D 18.B 19.D 20.A 21.A 22.A 23.C 24.B 25.C 26.D 27.C 28.D 29.B 30.A 31.C 32.D 33.C 34.D 35.C 36.B 37.D 38.C 39.C 40.D

二、多项选择题 1.ABCD 2.BCD 3.ABD 4.ABD 5.BCD 6.ACD 7.BC 8.ABC 9.ACD 10.ACD 11.BD 12.ABD 三、判断题 1.T 2.T 3.F 4.F 5.T 6.T 7.F 8.F 9.F 10.T 11.F 12.F 13.F 14.T 15.T 16.T 17.F 18.F 19.F 20.T 四、填空题 1.操作系统 2.setup.exe 5.Alt+PrintScreen 6.安全 9.分时10.实时 第3章 一、单项选择题 1.D 2.D 3.C 10.A 11.C 12.A 16.A 17.C 18.D 19.C 25.A 26.A 27.D 28.B 32.C 33.A 34.D 35.B 36.B 37.A 41.C 42.C 43.C 44.C 45.A 1.AB 2.AB 3.BD 4.AB 5.ABCD 6.ABC 7.ABC 8.ABCD 9.AD 10.AC 11.AC 12.ABC 13.AD 14.ABCD 15.ABD 16.ABCD 17.BD 18.BC 19.AB 20.ABCD 三、判断题: 1.F 2.T 3.T 4.F 5.T 6.T 7.T 8.T 9.T 10.T 11.F 12.F 13.F 14.F15.F 16.F 17.F 18.T

数据结构课程 课后习题答案

《数据结构简明教程》练习题及参考答案 练习题1 1. 单项选择题 (1)线性结构中数据元素之间是()关系。 A.一对多 B.多对多 C.多对一 D.一对一 答:D (2)数据结构中与所使用的计算机无关的是数据的()结构。 A.存储 B.物理 C.逻辑 D.物理和存储 答:C (3)算法分析的目的是()。 A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进 D.分析算法的易懂性和文档性 答:C (4)算法分析的两个主要方面是()。 A.空间复杂性和时间复杂性 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 答:A (5)计算机算法指的是()。 A.计算方法 B. 排序方法 C.求解问题的有限运算序列 D.调度方法 答:C (6)计算机算法必须具备输入、输出和()等5个特性。 A.可行性、可移植性和可扩充性 B.可行性、确定性和有穷性 C.确定性、有穷性和稳定性 D.易读性、稳定性和安全性 答:B 2. 填空题 (1)数据结构包括数据的①、数据的②和数据的③这三个方面的内容。 答:①逻辑结构②存储结构③运算 (2)数据结构按逻辑结构可分为两大类,它们分别是①和②。 答:①线性结构②非线性结构 (3)数据结构被形式地定义为(D,R),其中D是①的有限集合,R是D上的②有限集合。

答:①数据元素 ②关系 (4)在线性结构中,第一个结点 ① 前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点 ② 后继结点,其余每个结点有且只有1个后继结点。 答:①没有 ②没有 (5)在树形结构中,树根结点没有 ① 结点,其余每个结点有且只有 ② 个前驱结点;叶子结点没有 ③ 结点,其余每个结点的后继结点数可以是 ④ 。 答:①前驱 ②1 ③后继 ④任意多个 (6)在图形结构中,每个结点的前驱结点数和后继结点数可以是( )。 答:任意多个 (7)数据的存储结构主要有四种,它们分别是 ① 、 ② 、 ③ 和 ④ 存储结构。 答:①顺序 ②链式 ③索引 ④哈希 (8)一个算法的效率可分为 ① 效率和 ② 效率。 答:①时间 ②空间 3. 简答题 (1)数据结构和数据类型两个概念之间有区别吗? 答:简单地说,数据结构定义了一组按某些关系结合在一起的数组元素的集合。数据类型不仅定义了一组数据元素,而且还在其上定义了一组操作。 (2)简述线性结构、树形结构和图形结构的不同点。 答:线性结构反映结点间的逻辑关系是一对一的,树形线性结构反映结点间的逻辑关系是一对多的,图在结构反映结点间的逻辑关系是多对多的。 (3)设有采用二元组表示的数据逻辑结构S=(D,R),其中D={a ,b ,…,i },R={(a ,b ),(a ,c ),(c ,d ),(c ,f ),(f ,h ),(d ,e ),(f ,g ),(h ,i )},问相对于关系R ,哪些结点是开始结点,哪些结点是终端结点? 答:该逻辑结构为树形结构,其中a 结点没有前驱结点,称为根结点,b 、e 、g 、i 结点没有后继结点,是终端结点,也称为叶子结点。 (4)以下各函数是算法中语句的执行频度,n 为问题规模,给出对应的时间复杂度: T 1(n )=n log 2n -1000log 2n T 2(n )=3log 2n -1000log 2n T 3(n )=n 2 -1000log 2n T 4(n )=2n log 2n -1000log 2n 答:T 1(n )=O(n log 2n ),T 2(n )=O( ),T 3(n )=O(n 2 ),T 4(n )=O(n log 2n )。 (5)分析下面程序段中循环语句的执行次数。 int j=0,s=0,n=100; do { j=j+1; s=s+10*j; } while (j

ml基础教程课后习题解答

X M L基础教程课后习 题解答 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

XML基础教程课后习题 习题一 1.答:HTML是用来编写Web页的语言、不允许用户自定义标记,HTML体现数据的显示格式。XML描述数据的组织结构、可自定义标记,其标记名称是对标记所包含的数据内容含义的抽象,而不是数据的显示格式。 2.答:使用UTF-8保存 5.答:(1)不可以,(2)可以,(3)不可以 6.答:: time { display:block;font-size:18pt;font-weight:bold } hour { display:line;font-size:16pt;font-style:italic } mimute { display:line;font-size:9pt;font-weight:bold } 习题二1.答:(1)使用ANSI编码。(2)可以。(3)不合理。 2.答:不相同。 3.答:(1)和(2)。 4.答:。

5.答:“root”标记包含的文本内容都是空白字符。“a1”标记包含的文本内容:。“a2”标记包含的文本内容: 子曰"有朋自远方来,不亦乐乎"。 习题三1.答:一个规范的XML文件如果和某个DTD文件相关联,并遵守该DTD文件规定的约束条件,就称之为有效的XML文件。 2.答:DTD文件的编码必须和其约束的XML文件的编码相一致。 3.答:无关。 4.答:(1) 使用SYSTEM文档类型声明的格式: (2) 使用PUBLIC文档类型声明的格式: 5.答:一定。 6.答:(1)约束标记“张三”必须有“学号”属性 (2)约束标记“张三”必须有“学号”属性,而且学号的属性值是固定的220123。 (3)约束标记“张三”可以有也可以没有“学号”属性。 7.答:ID类型的属性的属性值具有互斥性,即所有ID类型的属性的属性值必须互不相同。 8.答:不合理。 9.答:(1)、(3)和(4)。 10.答,不是有效的。将修改为有效:

中国石油大学出版社第八版计算机文化基础实验教程习题答案

第一章 一、单项选择题 1.A 2.A 3.A 4.A 5.C 6.D 7.C 8.B 9.C 10.B 11.B 12.D 13.A 14.C 15.C 16.C 17.A 18.A 19.A 20 C 21.D 22.B 23.A 24.B 25.D 26.C 27.A 28.B 29.B 30.A 31.A 32.C 33.D 34.D 35.B 36.A 37.C 38.A 39.B 40.B 41.B 42.B 43.C 44.A 45.C 46.A 47.A 48.C 49.A 二、多项选择题 1.BC 2.BCD 3.ABD 4.ABC 5.AD 6.ABC 7.ABD 8.AB 9.ABD 10.AC 三、填空题 1.地址码2.1024 3.总线(Bus)4.显卡 5.点阵码矢量码6.过程控制7.算术运算逻辑运算8.地址 9.冯·诺依曼的存储程序工作10.字11.应用软件12.二进制13.输入/输出或者(I/O)14.CD-ROM 15.非击打式 16.American Standard Code for Information Interchange(美国标准信息交换代码)17.寄存器18.信息处理19.中央处理器20.3 四、判断题 1.T 2.F 3.F 4.T 5.T 6.F 7.T 8.F 9.F 10.T 11.T 12.T 13.F 14.T 15.T 16.T 17.F 18.F 19.T 20.F 21.T 22.F 23.F 第二章 一、单项选择题 1. A 2. D 3. C 4. D 5. B 6. B 7. C 8. B 9. D 10. D 11. A 12. B 13. C 14. B 15. C 16. D 17. C 18. D 19. D 20. A 21. D 22. C 23. C 24. D 25. B 26. D 27. B 28. B 29. D 30. A 31. D 32. D 33. B 34. D 35. B 36. B 37. C 38. D 39. B 40. A 41. A 42. A 43. C 44. A 45. B 46. D 47. C 48. C 49. D 50. B 二、多项选择题 1. ACD 2. ABCD 3. ABD 4. ABC 5. AB 6. BCD 7. ABC 8. AD 9. ABCD 10. ABD 11. ABC 12. ABCD 13. AC 14. ABCD 15. ABCD 16. ABCD 17. ABCD 18. ABC 19. AB 20. ABD 三、判断题 1. F 2. F 3. F 4. F 5. T 6. T 7. T 8. T 9. F 10. F 11. F 12. F 13. F 14. T 15. F 16. F 17. F 18. F 19. T 20. F 四、填空题

大学计算机基础教程课后习题答案.doc

第一章 1.1946 2.大规模集成电路 3.计算机辅助设计、计算机辅助教学、计算机辅助制造、计算机辅助测试、计算机辅助教育、操作系统 4.人工智能 5.存储程序工作原理 6.运算器 7.RAM 8.逻辑 9.字长 10.位、字节 11.位、字节 12.1024、1024、1024*1024 13.1 14.2 15.48H、65H、97H、32 16.288 17.操作系统 18.程序 19.高级语言 20.机器 21.编译、解释 22.应用、系统 23.输入、输出设备 24 .硬盘 25.高速缓冲存储器 26.传染性 27.2 28.R (文科不做) 29.111111 K 7f (文科不做) 30.213、D5 (文科不做) 第二章 1.255 2.隐藏 3.存档 4.内存条、硬盘 5.Alt

6.[cttl+shift]> [shift+o] [ctrl+space] [ctrl+o] 7.[alt+F4] 8.后台 9.[Shift]> [Ctrl] 10.[Shift] 11.[Ctrl] 12.回收站 13.msconfig 14.单击该按钮会弹出对话框、有下级了菜单、当前状态不可用 15.[Ctrl+Esc]或[win ] 16.最大化或还原 17.分辨率 18.刷新频率 19.磁盘清理 20.[Ctrl+Shift+Delete] 第三章 1.doc 2.我的文档 3.拼写错误、语法错误 4.一行、一段、全部 5.页面 6.回车符号 7.[Alt+Tab] 8.[Ctrl+O] 9.[Ctrl+N] 10.页眉页脚 第四章 1.3、255 2.65536、256 3.[Ctrl+; ]> [Ctrl+Shift+;] 4.= 5.40833 6. 3 7.[ Ctrl ] 8.$ 9.地址栏 10.F2 第五章

《大学计算机基础实验教程》参考答案.

《大学计算机基础实验教程》参考答案第1章参考答案 一、单项选择题 1.B 2.B 3.C 4.D 5.D 6.B 7.A 8.B 9.D 10.B 11.A 12.C 13.B 14.A 15.C 16.C 17.B 18.D 19.A 20.B 21.D 22.B 23.A 24.B 25.A 26.C 27.B 28.A 29.D 30.B 31.C 32.A 33.C 34.A 35.D 二、判断题 1.× 2.√ 3.√ 4.× 5.× 6.√ 7.√ 8.× 9.×10.√ 三、填空题 1.二进制2.Shift 3.CBE 4.人工智能5.大规模集成电路6.微型化、网络化7.计算机技术、通信技术8.经济实力、科学水平9.逢二进一10.集成性 第2章参考答案 一、单项选择题 1.C 2.A 3.C 4.D 5.C 6.D 7.B 8.D 9.A 10.D 11.B 12.C 13.D14.B 15.B 16.A 17.A 18.B 19.A 20.A 21.C 22.A 23.B 24.C 25.B 26.B 27.C 28.C 29.D 30.B 31.D 32.B 33.C 34.D 35.C 二、判断题 1.√2.×3.×4.√5.×6.√7.√8.√9.× 10.√11.√12.×13.√14.×15.√16.×17.× 三、填空题 1.运算器控制器2.操作码操作数3.1024 1024*1024 4.机器语言

5.内存储器外存储器6.GHz 7.控制总线8.数字摄像头 9.3C 10.主板芯片组 第3章参考答案 一、单项选择题 1.D 2.A 3.D 4.B 5.D 6.B 7.B 8.B 9.B 10.A 11.D 12.C 13.C 14.D 15.D 16.C 17.B 18.C 19.D 20.B 21.B 22.A 23.B 24.A 25.A 二、判断题 1.×2.√3.×4.×5.×6.√7.√8.√9.√ 10.×11.√12.√13.√14.×15.√16.√17.×18.√19.√20.√ 三、填空题 1.处理器管理存储管理设备管理文件管理用户接口2.Alt+PrintScreeen 3.Ctrl键4.注册表5.regedit 6.任务7.程序并发性资源共享性不确定性虚拟性 第4章参考答案 一、单项选择题 1.D 2.B 3.C 4.C 5.D 6.A 7.B 8.C 9.C 10.B 11.D 12.B 13.C 14.B 15.B 16.A 17.A 18.B 19.D 20.A 21.C 22.B 23.D 24.C 25.B 26.B 27.C 28.B 29.C 30.C 31.D 32.B 33.B 34.C 35.C 36.A 37.B 38.A 39.D 40.D 41.C 42.C 43.B 44.A 45.A 46.D 47.D 48.C 49.B 50.D 51.C 52.D 53.B 54.B 55.D 56. B 57. C 58. D 59. C 60. C 61.A 62.D 63.C 64.C 65.D 66.B 67.A 68.B 69.D 70.A 71.C 72.A 73.C 74.D 75.B 76.B 77.C 78.C 79.B 80.A 81.A 82.A 83.D 84.B 85.D 86.B 87.B 88.D 89.D 90.B

XML基础教程课后习题解答

XML基础教程课后习题 习题一 1.答:HTML是用来编写Web页的语言、不允许用户自定义标记,HTML体现数据的显示格式。XML描述数据的组织结构、可自定义标记,其标记名称是对标记所包含的数据内容含义的抽象,而不是数据的显示格式。 2.答:使用UTF-8保存 5.答:(1)不可以,(2)可以,(3)不可以 6.答:: time { display:block;font-size:18pt;font-weight:bold } hour { display:line;font-size:16pt;font-style:italic } mimute { display:line;font-size:9pt;font-weight:bold } 习题二1.答:(1)使用ANSI编码。(2)可以。(3)不合理。 2.答:不相同。 3.答:(1)和(2)。 4.答:。 5.答:“root”标记包含的文本内容都是空白字符。“a1”标记包含的文本内容:。“a2”标记包含的文本内容: 子曰"有朋自远方来,不亦乐乎"。 习题三1.答:一个规范的XML文件如果和某个DTD文件相关联,并遵守该DTD 文件规定的约束条件,就称之为有效的XML文件。 2.答:DTD文件的编码必须和其约束的XML文件的编码相一致。 3.答:无关。 4.答:(1) 使用SYSTEM文档类型声明的格式: (2) 使用PUBLIC文档类型声明的格式: 5.答:一定。 6.答:(1)约束标记“张三”必须有“学号”属性 (2)约束标记“张三”必须有“学号”属性,而且学号的属性值是固定的220123。 (3)约束标记“张三”可以有也可以没有“学号”属性。

严蔚敏版数据结构课后习题答案-完整版

第1章绪论 1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。 解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据对象是性质相同的数据元素的集合,是数据的一个子集。 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 存储结构是数据结构在计算机中的表示。 数据类型是一个值的集合和定义在这个值集上的一组操作的总称。 抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。 1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。 解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据

类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。 1.3 设有数据结构(D,R),其中 {}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r = 试按图论中图的画法惯例画出其逻辑结构图。 解: 1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。 解: ADT Complex{ 数据对象:D={r,i|r,i 为实数} 数据关系:R={} 基本操作: InitComplex(&C,re,im) 操作结果:构造一个复数C ,其实部和虚部分别为re 和im DestroyCmoplex(&C)

UML系统建模基础教程课后习题答案

UML系统建模基础教程课后答案 第一章面向对象设计与UML (1)UML (2)封装继承多态 (3)继承 (4)瀑布模型喷泉模型基于组件的开发模型XP开发模型 2.选择题 (1) C (2) A B C D (3) A B C D (4)ABC 3?简答题1?试述对象和类的关系。 (1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类?类描述了一组有相同特性和相同行为的对象。 第二章UML通用知识点综述

1?填空题 (1)依赖泛化关联实现 (2)视图图模型元素 (3)实现视图部署视图 (4)构造型标记值约束 (5)规格说明修饰通用划分 2.选择题 (1)D (2)C (3)A (4) A B (5)D 3?简答题 (1 )在UML中面向对象的事物有哪几种? 在UML中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。 (2 )请说出构件的种类。 构件种类有:源代码构件、二进制构件和可执行构件。 (3)请说出试图有哪些种类。 在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。 (4 )请说出视图和图的关系。

视图和图是包含和被包含的关系。在每一种视图中都包含一种或多种图 (5)请简述UML的通用机制。 UML提供了一些通用的公共机制,使用这些通用的公共机制(通用机制)能够使UML在各种图中添加适当的描述信息,从而完善UML的语义表达。通常,使用模型元素的基本功能不能够完善的表达所要描述的实际信息,这些通用机制可以有效地帮助表达,帮助我们进行有效的UML建模。UML提供的这些通用机制,贯穿于整个建模过程的方方面面。前面我们提到,UML的通用机制包括规格说明、修饰和通用划分三个方面。 第三章Rational统一过程 1?填空题 (1)角色活动产物工作流 (2)逻辑视图过程视图物理视图开发视图用例视图 (3)设计开发验证 (4)二维 (5)周期迭代过程里程碑 2?选择题 (1) A B C D (2) A C D (3) A C D (4)ABC (5) A B C D

地理信息系统,基础与实验教程,课后练习答案,老师讲解自己整理

地理信息系统基础 第1章绪论 GIS的认识和理解:GIS定义:在计算机硬、软件系统支持下,对空间数据进行采集、操作、储存与管理、分析、输出的技术系统。简言之:综合处理和分析空间数据的一种技术系统。GIS的三种理解:GIS---Geographic information system./ science./service.GIS的组成:硬件系统/软件系统/地理数据/GIS人员 哪些学科对GIS关系密切:测量学/地图学/地理科学/摄影测量/遥感学/计算机科学/数学 GIS可以在哪些领域发挥作用:测绘与地图制图/灾害监测与环境保护/城乡规划/资源管理/国防/农业/商业与经济/城市管理 GIS技术怎样应用于抗震救灾之中:依托GIS建立的三维仿真系统在抗震救灾工作中发挥巨大作用。 常用的GIS软件有哪些 国外:ArcGIS / MapInfo / GeoMedia.国内:SuperMap GIS/ Map GIS / GeoStar 第2章地理空间与空间数据基础 矢量数据与栅格数据各有何特点?试比较它们的优缺点:矢量数据:定位明显,属性隐含;形象直观;特别适合模拟离散的空间数据;精度高。栅格数据:属性明显,定位隐含;像元的大小直接影响空间数据表达的精度以及数据的存储时间和存储空间;像元大小对精度的影响主要表现为位置的移动、形状的畸变以及属性的偏差。优缺点(失/栅):数据结构(严密/简单);数据量(小/大);图形精度(高/低);图形运算(复杂/简单);与遥感影像格式匹配性(不一致/一致);输出表示(抽象、昂贵/直观、便宜);数据共享(不易实现/容易实现);拓扑与网络分析(容易实现/不易实现);叠加与组合(不容易/容易);技术(复杂、高费用/简单、低费用);数字模拟(不方便/方便);投影变换(快/慢) 什么是拓扑?它有什么重要意义? 拓扑(Topology):原意为“形状的研究”。几何学的一个分支学科。它研究在拓扑变换下能够保持不变的几何属性,即拓扑属性。这些变换包括拉伸、压缩等。意义:拓扑关系清晰地反映了地理实体之间的逻辑关系;利用拓扑关系有利于空间要素的查询;可以利用拓扑数据作为工具,重建地理实体;为数据错误检查、空间数据编辑、属性数据输入、空间分析功能的实现提供方便。 什么是空间数据质量?空间数据质量指标主要有哪些?空间数据质量就是指空间数据在表达空间位置、专题特征以及时间信息这三个基本要素时,能够达到的准确性、一致性、完整性,以及它们三者之间统一性的程度。指标:数据情况说明、位置精度(定位精度)、属性精度、时间精度、逻辑一致性、数据的完整性、数据的相容性、数据的可得性、表达形式的合理性。 什么是空间数据的元数据?其主要内容是什么?空间数据的元数据有何作用?:元数据是关于空间数据的数据,即关于空间数据及其信息资源的描述性信息。内容:它通过对空间数据的内容、质量、条件和其他特征进行描述与说明,以便人们有效地定位、评价、比较、获取和使用与地理空间相关的数据。作用:查询空间信息/组织和管理空间信息/组织和维护一个机构对数据的投资/提供数据转换方面的信息/建立数据目录和数据交换中心,实现信息共享。 第3章空间数据的输入与处理 常用的图形数据输入方法有哪些?它们各有什么优缺点?手扶跟踪数字化:(优)直接获取矢量数据,数据量较小,数据结构简单;(缺)速度慢、精度低,作业劳动强度大,自动化程度低,精度易受控制点的数量和精度、操作者的技术及认真程度、原始地图的质量等因素的影响;一般适用于小规模数据的采集。

相关文档
最新文档