导图社区 C语言程序设计与教程书后题
本思维导图将用最简明的语言、最典型的实例和通俗的讲解为你讲授程序设计的思想,以及利用C语言进行编写程序的方法,并将带领你逐步掌握通过编写程序解决生活中的实际问题。赶快收藏学起来吧!
编辑于2019-07-12 06:53:32习题
习题4
1、按变量的定义位置来分,变量可分为全局变量与局部变量。其中,局部变量定义在函数或复合语句中,供函数或复合语句使用。
2、变量按储类型分auto、extern、register、static,当声明一个静态(static)变量时,它既具有局部变量的性质,又具有全局变量的性质。
3、C++程序的内存分为4个区,即全局数据区、代码区、栈区、堆区。全局变量、静态变量、字符串常量存放在全局数据区;所有的函数和代码存放在代码区;为运行函数而分配的函数参数、局部变量、返回地址存放在栈区;动态分配的内存在堆区。
4、全局变量、静态变量具有静态的生存期;局部变量生存期为动态。
5、函数原型中形参标识符的作用域为函数原型,函数的形象与函数体的作用域为块作用域;函数、全局变量与常量有文件作用域。
6、C++源程序中以#开头、以换行符结尾的行称为预处理命令。预处理命令编译前由预处理器执行。
7、用户可以通过3种方法使用名字空间,即个别使用声明方式、全局声明方式、全局声明个别成员。
习题5
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;”语句时将自动调用该类的析构函数。
习题6
1、C++程序设计的关键之一是利用继承实现软件重用,有效地缩短程序开发时间。
2、派生类的对象可以作为基类的对象使用,这称为类型兼容(或赋值兼容)。
3、在C++中,3种派生方式的说明符号为public、private、protected,如果不加说明,则默认派生方式为private。
4、当私有派生时,基类的公有成员称为派生类的私有成员;保护成员成为派生类的私有成员;私有成员成为派生类的不可访问的成员。
5、相互关联的各个类之间的关系主要分为组合关系和继承关系。
6、在派生类中不能直接访问基类的基类私有成员,否则破坏了基类的封装性。
7、保护成员具有双重角色,对派生类的成员函数而言,它是公有成员,但对所在类之外定义的其他函数而言则是私有成员。
8、在多继承时,多个基类中的同名成员在派生类中由于标识符不唯一而出现二义性。在派生类中通过采用成员名限定或重定义具有二义性的成员来消除该问题。
9、C++提供的多继承机制允许一个派生类继承多个基类。
习题7
1、将一个函数调用链接上相应函数体的代码,这一过程称为联编(绑定)。
2、C++支持两种多态性,即静态多态性和动态多态性。
3、在编译时就确定的函数调用称为静态联编,它通过使用重载函数实现。
4、在运行时才确定的函数调用称为动态联编,它通过继承和虚函数实现。
5、虚函数的声明方法是在函数原型前加上关键字virtual。
6、C++的静态多态性是通过重载函数实现的。
7、C++的动态多态性是通过虚函数实现的。
8、当通过基类指针使用虚函数时,C++会在与对象关联的派生类中正确地选择重定义的函数。
9、如果一个类包含一个或多个纯虚函数,则该类为抽象类。
10、若以非成员函数形式为类Bounce重载!运算符,其操作结果为bool型数据,则该运算符重载函数的原型是friend bool operate!(Bounce);。