1、c+课后答案参考答案1.1 简答题(1)什么事面向对象?如何理解面向对象中的一些基本概念:对象、类、继承、封装、包含、消息、多态性等。 答:面向对象是一种运用对象、类、继承、封装、包含、消息传递、多态性等概念来构造系统的软件开发方法。 对象是对待解决问题(问题域)中的客观事物的抽象表示,它是面向对象程序的基本要素。 类是具有相同属性和服务的若干对象的集合。继承体现的是类与类之间的分类结构,一个新类可以从现有的类中派生,这个过程称为类继承。封装是把过程(操作或功能)和数据包围起来。包含是指将一个复杂类中包含若干个简单类的对象。消息是对象发出的服务请求,消息的发送者是一个要求提供服务的对象,而消息
2、的接受者是一个能够提供服务的对象,通过消息传递时限对象之间的通信。多态性是指不同对象发送同一消息,根据对象的类型不同而完成不同的行为。1.2 选择填空(1)C (2)D (3)A (4)A (5)B1.3 判断(1) (2)X (3) (4)X (5) (6) (7)X (8)X (9)X (10)X1.4 分析下列程序的输出结果#include void main() cout”BeiJing” ”; cout”ShangHai”endl; cout”TianJing”endl; 输出结果如下:BeiJing ShangHaiTianJing2.1 简答题(19)什么是字符数组?字符数组与字
3、符串有何不同? 答:字符数组是数组元素为字符类型的一种数组。字符数组可以用来存放多个字符,也可以用来存放字符串。字符数组中存放的是字符还是字符串,其区别在于数组元素中是否有字符串的结束符。2.2 选择填空(1)B (2)C (3)A (4)BC (5)D (6)D (7)C (8)C (9)B (10)C2.3 判断(1)X (2) (3)X (4)X (5)X (6) (7) (8) (9)X (10)2.4 分析下列程序的输出结果(1)#include void main() int a = 90; float b = 34.92f; char c = B; double d; d = 1
4、2.7865; couta;b;dn; coutc + 1,c - 1endl;输出结果为:90;34.92;12.786567,65(2)#include void main() static int a = 3,4,5,6,7,8; double d5 = 1.2,3.4,5.6; int ab42 = 2,3,4,5,6,7,8,9; couta0,a1,a2,a5endl; coutd2,d3,d5endl; coutab11,ab30,ab21 - 5endl;输出结果为:3,4,5,85.6,0,溢出5,8,23.1 简答题(16)C+语言中类型转换有哪些规定?答: 两个操作数的类
5、型不一致时,转换的原则是将低类型转化为高类型。short型和char型自动转换为int型,float型自动转换为double型。强制转换时暂时的,仅在被强制时才进行转换,不被强制式仍保持原来类型。3.2 选择填空(1)D (2)A (3)D (4)D (5)D (6)D (7)C (8)AD (9)D(10)D3.3 选择填空(1) (2)X (3)X (4) (5)X (6)X (7)X (8)X (9) (10)X3.4 分析下列程序的输出结果(1)#include void main() unsigned int a = 026,b = 0x3b; cout(a | b),(a b)en
6、dl; cout(a & b),(a b)endl; cout(a = 2),= 4)endl;输出结果为:63,4518,4588,3(2)#include void main() int i(10),j(8); cout+i - j-endl; i = 10, j = 8; cout(i = i *= j)endl; i = 10, j = 8; cout(i = 3 / 2 * (j = 3 -2)endl; i = 10, j = 8; cout(i & j | 1),(i + i & 0xff)endl;输出结果为:38019,204.2 简答题(1)C (2)A (3)B (4)D
7、 (5)D (6)A (7)C (8)B (9)B (10)D4.3 判断(1)X (2) (3)X (4)X (5) (6) (7) (8) (9) (10)X4.4 分析下列程序的输出结果(1)#include void main() int a(50); while(-a) if ( a = 40) break; if (a % 2 = 0 | a % 3 = 0) continue; coutaendl; 输出结果如下:49474341(2)#include void main() int a(5); do a+; cout+aendl; if (a = 10)break; while
8、(a = 9); coutokn输出结果如下:7ok5.1 简答题(1)函数的定义格式是如何规定的?函数定义格式中有哪些组成部分是可以省略的? 答:函数的定义格式如下: ()为函数返回值类型,若为void,则为过程调用;中的参数为形参,在函数被调用时进行初始化,从而从被调用处获得数据。函数定义格式中形参可以省略。(6)C+程序中除传值调用外,还有什么调用方式? 答:引用调用。(8)什么是内联函数?为什么要引入内联函数? 答:在一般函数的函数头前加关键字inline的函数称为内联函数。引入内联函数的原因是为了解决程序中一些函数体代码不是很大,但又频繁地被调用的函数的函数调用的效率问题。(9)什么
9、是重载函数?定义重载函数时应注意些什么问题?答:重载函数是指同一个函数名对应着多个函数实现的函数。定义重载函数时要注意参数个数或者参数类型不同。5.2 选择填空(1)D (2)A (3)B (4)D (5)D (6)C (7)B (8)A (9)C (10)B5.3 判断(1) (2) (3)X (4) (5)X (6) (7)X (8) (9)X (10)5.4 分析下列程序的输出结果(7)#include void swap(int &,int &);void main() int a(5),b(10); swap(a,b); couta=a,b=bendl;void swap(int &
10、x,int &y) int temp; temp = x; x = y; y = temp;输出结果如下:a=10,b=5(8)#include void print(int),print(char),print(char *);void main() int m(2000); print(m); print(m); print(good);void print(char x) coutxendl;void print(char *x) coutxendl;void print(int x) coutxendl;输出结果如下:m2000good6.1 简答题(14)什么是引用?它与指针有何区别
11、? 答:引用是变量的别名。区别在于:指针通过地址间接访问某个变量,引用通过别名直接访问某个变量;引用必须初始化,一旦被初始化后不得再作为其他变量的别名;(15)引用有何用处?答:用做函数的参数或函数的返回值。6.2 选择填空(1)ACD (2)D (3)D (4)D (5)C (6)D (7)A (8) (9)A (10)C(11)A (12)C (13)D8.1 简答题省略8.2 选择填空(1)D (2)C (3)B (4)A (5)C (6)A (7)C (8)AB (9)B (10)A(11)C (12)A8.3 判断(1) (2)X (3) (4)X (5) (6)X (7)X (8)
12、 (9)X (10)(11)X (12)8.4 分析下列程序的输出结果(1)Default Construtor called.Constructor called.a1=0,a2=0a1=3,a2=9(2)b1=12,b2=65a=1009.1 简答题省略9.2 选择填空(1)C (2)B (3)B (4)B (5)A (6)D (7)B (8)D (9)B (10)D9.4 分析下列程序的输出结果(1)Starting1:Default Constructor called.Default Constructor called.Default Constructor called.Endi
13、ng1:Starting2:Constructor:a=5,b=6Constructor:a=7,b=8Constructor:a=9,b=10Ending2.Destructor called.a=9,b=10Destructor called.a=8,b=7Destructor called.a=5,b=6Destructor called.a=5,b=6Destructor called.a=3,b=4Destructor called.a=1,b=210.1 简答题省略10.2 选择填空(1)C (2)A (3)A (4)D (5)B10.3 判断(1) (2)X (3)X (4) (
14、5) (6) (7)X (8)X (9)X (10)(11) (12)10.4 分析下列程序的输出结果(1)(13,22,30,40)(5)D2:display()pri1=4,pri2=4pri4=6Pri12=7D2:display()pri1=3,pri2=4pri4=7Pri12=811.1 简答题省略11.2 选择填空(1)C (2)D (3)A (4)B (5)A (6)C (7)C (8)A11.3 判断(1) (2)X (3) (4) (5) (6) (7)X (8)X (9) (10)11.4 分析下列程序的输出结果(2)B:show() called.155D:show().205(5)72.3801621.2
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1