1、二级 C+笔试-414 及答案解析(总分:87.00,做题时间:90 分钟)一、选择题(总题数:35,分数:62.00)1.下列虚基类的声明中正确的是( )。A) class virtual B: public A B) virtual class B: public AC) class B: public A virtual D) class B: virtual public A :(分数:2.00)A.B.C.D.2.设有以下语句,对 a数组元素的引用中(其中 0=i10),不正确的是( )。int a10=0,1,2,3,4,5,6,7,8,9),*p=a;A) ap-a B) *(,
2、则下面叙述正确的是( )。A) 只有元素 s00可得到初值 0B) 此说明语句不正确C) 数组 s中各个元素都可得到初值,但其值不一定为 0D) 数组 s中每个元素均可得到初值 0(分数:2.00)A.B.C.D.7.执行语句序列ofstream outfile(“data.dat“);if() cout“ok“;else cout“fail“;后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面 if语句的“”处的表达式是( )。A) outfile.fail()或 outfile B) outfile.good()或!outfileC) outfile.good()或
3、outfile D) outfile.fail()或!outfile(分数:2.00)A.B.C.D.8.在计算机术语中,bit 的中文含义是_。A) 位 B) 字节 C) 字 D) 字长(分数:2.00)A.B.C.D.9.若 MyClass是一个类名,其有如下语句序列:MyClass c1,*c2;MyClass *c3=new MyClass;MyClass c4=c1:上面的语句序列所定义的类对象的个数是( )。A) 1 B) 2 C) 3 D) 4(分数:2.00)A.B.C.D.10.复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。A) 详细设计 B) 系统设计C) 正
4、式 D) 非正式(分数:2.00)A.B.C.D.11.有如下类声明:class Foo int bar;则 Foo类的成员 bar是( )。A) 公有数据成员 B) 公有成员函数 C) 私有数据成员 D) 私有成员函数(分数:2.00)A.B.C.D.12.有如下函数模板: templatetypename T,typenaine U T cast(U u)return u; 其功能是将 U类型数据转换为 T类型数据。已知 i为 int型变量,下列对模板函数 cast的调用中正确的是 A) cast(i); B) cast(i); C) castchar*,int(i); D) castdo
5、uble,int(i);(分数:2.00)A.B.C.D.13.下列字符串中,正确的 C+标识符是( )。A) foo-1 B) 2bC) new D) _256(分数:2.00)A.B.C.D.14.派生类对象对其基类中的什么成员是可访问的?A) 公有继承的私有成员 B) 私有继承的公有成员C) 私有继承的保护成员 D) 保护继承的保护成员(分数:1.00)A.B.C.D.15.关于类的继承的特性,不正确的是( )。A) 子类对父类具有数据和程序代码的共性特征B) 子类与父类间有所差别C) 会增加代码的冗余D) 类间具有层次结构(分数:2.00)A.B.C.D.16.是以一种完全通用的方法来
6、设计函数或类而不必预先说明将被使用的每个对象的类型。A) 模板 B) 类 C) 对象 D) 函数(分数:2.00)A.B.C.D.17.由于常对象不能被更新,因此( )。A) 通过常对象只能调用它的常成员函数B) 通过常对象只能调用静态成员函数C) 常对象的成员都是常成员D) 通过常对象可以调用任何不改变对象值的成员函数(分数:2.00)A.B.C.D.18.有以下程序#inclube iostream.hclass ClassOnepublic:ClassOne(int v=O) i=v;couti;void print() coutiend1;class ClassTwopublic:Cl
7、assTwo(int v=O) i=v;couti;void print() coutiend1;private:ClassOne myObj;int i;void main()ClassTwo obj(1);obj.print();A) 011 B) 111 C) 110 D) 101(分数:1.00)A.B.C.D.19.下面程序的运行结果为( )。#include iostream.hvoid swap (int temp=a+;a=b;b=temp;void main()int a=2,b=3;swap(a,b);couta“,“bendl;A) 2,3 B) 3,2C) 2,2 D)
8、 3,3(分数:2.00)A.B.C.D.20.有如下程序: #include iostream using namespace std; int main( ) char str100,*P; cout“please input a string:“; cinstr; P=str; for(inti=0;*P!=/0;p+,i+); coutiendl; return 0; 运行这个程序时,若输入字符串为 Abcdefg abcd 则输出结果是 A) 7 B) 12 C) 13 D) 100(分数:2.00)A.B.C.D.21.有以下类定义class MyClasspublic:MyCla
9、ss() cout1;则执行语句 MyClass a,b 2,*p2;后,程序的输出结果是( )。A) 11 B) 111C) 1111 D) 11111(分数:2.00)A.B.C.D.22.有如下程序: #include iostream using namespace std; class test private: int a; public: test( )cout“constructor“endl; test(int A) coutaendl; test(const test _test) a=_testa; cout“copy constructor“endl; test()co
10、ut“destructor“endl; ; int main( ) test A(3) return 0; 程序的输出结果是 A) 3destructorB) constructordestructorC) copy constructordestructorD) 3(分数:2.00)A.B.C.D.23.下列关于结构化程序设计原则和方法的描述中,错误的是( )。A) 选用的结构只准许有一个入口和一个出口B) 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C) 不允许使用 GOTO语句D) 语言中所没有的控制结构,应该采用前后一致的方法来模拟(分数:2.00)A.B.C.D.24.下面程序
11、的功能是把 316表示为两个加数的和,使两个加数分别能被 13和 11整除,在划线处应填入的选项是#includeiostreamhVoid main()int i=0,j,k;doi+;k=316-13*i; while( );j=k/11;cout “316=13*“i“+11*“j;A)k/11 B)k%11 C)k/110 D)k%11=0(分数:1.00)A.B.C.D.25.若执行下面的程序时,从键盘上输入 3和 4,则输出结果是main()int a,b,s;cinab;s=a;if(aB) sb:s=s*s;coutsend1;A) 14 B) 16 C) 18 D) 20(分
12、数:2.00)A.B.C.D.26.下列关于 C+流的说明中,正确的是( )。A) 与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现B) 从流中获取数据的操作称为插入操作, 向流中添加数据的操作称为提取操作C) cin是一个预定义的输出流类D) 输出流有一个名为 open的成员函数,其作用是生成一个新的流对象(分数:2.00)A.B.C.D.27.下列运算不能重载为友元函数的是 A) =()- B) +-+- C) = D) +=-=*=/=(分数:2.00)A.B.C.D.28.有如下程序段,请指出”p 所代表的是( )。int *p,*s,k=20;S = class Instru
13、ment public :virtual void Display() = 0 ;class Piano : public Instrument public :void Display() / * 函数体略 * / ;int main() Instrument s ;Instrument * p = 0 ;/. ;return 0 ;下列叙述中正确的是( )。A) 语句“Insturment *P=0;”编译时出错 B) 语句“Instrument s;”编译时出错C) 类 Piano中的 Display函数不是虚函数 D) 类 Instrument是一个虚基类(分数:1.00)A.B.C.
14、D.35.下列关于 break语句的叙述不正确的是( )。A) break语句可用在循环体中,它将使执行流程跳出本层循环体B) break语句可用在 switch语句中,它将使执行流程跳出当前 switch语句C) break语句可用在 if语句中,它将使执行流程跳出当前 if语句D) break语句在一层循环体中可以出现多次(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:25.00)36.按照“先进先出”的原则组织数据的结构的是 1。(分数:2.00)填空项 1:_37.动态联编中直到 _ 时才能确定调用哪个函数;而静态联编则是在 _ 时进行的。(分数:1.00)填空项 1
15、:_38.表达式 operator+(x,y)还可以表示为 1。(分数:1.00)填空项 1:_39.若按功能划分,软件测试的方法通常分为白盒测试方法和 1 测试方法。(分数:1.00)填空项 1:_40.在面向对象方法中,类之间共享属性和操作的机制称为 1。(分数:2.00)填空项 1:_41.非成员函数只有在声明为类的 1 才能访问这个类的所有 private成员。(分数:2.00)填空项 1:_42.软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于 1 测试。(分数:2.00)填空项 1:_43.在面面对泵方法中,一个对象请求另一对象为其服务的方式是通过发送 1 实现。(分数
16、:2.00)填空项 1:_44.在进行函数调用时,将把参数的 1 传递给值参,把参数的 2 传递给引用参数。(分数:2.00)填空项 1:_45.在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为 1。(分数:2.00)填空项 1:_46.将一个函数声明为一个类的友元函数必须使用关键字_。(分数:2.00)填空项 1:_47.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 1。(分数:2.00)填空项 1:_48.C+语言的参数传递机制包括传值和传地址两种,如果调用函数
17、时,需要改变实参或者返回多个值,应该采取 1 方式。(分数:1.00)填空项 1:_49.下面程序的输出结果是_。#includeiostreamusing namespace std;int x;void funA(int,则下面叙述正确的是( )。A) 只有元素 s00可得到初值 0B) 此说明语句不正确C) 数组 s中各个元素都可得到初值,但其值不一定为 0D) 数组 s中每个元素均可得到初值 0(分数:2.00)A.B.C.D. 解析:7.执行语句序列ofstream outfile(“data.dat“);if() cout“ok“;else cout“fail“;后,如果文件打开成
18、功,显示“ok”,否则显示“fail”。由此可知,上面 if语句的“”处的表达式是( )。A) outfile.fail()或 outfile B) outfile.good()或!outfileC) outfile.good()或 outfile D) outfile.fail()或!outfile(分数:2.00)A.B.C. D.解析:8.在计算机术语中,bit 的中文含义是_。A) 位 B) 字节 C) 字 D) 字长(分数:2.00)A. B.C.D.解析:解析 计算机中最小的数据单位称为位,英文名是 bit。9.若 MyClass是一个类名,其有如下语句序列:MyClass c1,
19、*c2;MyClass *c3=new MyClass;MyClass c4=c1:上面的语句序列所定义的类对象的个数是( )。A) 1 B) 2 C) 3 D) 4(分数:2.00)A.B. C.D.解析:解析 首先定义对象的格式:(存储类型)类名对象名 1(对象名 2,对象名n);第一句定义了对象 c1和指针对象 c2,而 MyC1ass *c3=new MyClass是 Java里的定义方式,MyClassc4=c1 这种定义方式也是不对的。10.复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。A) 详细设计 B) 系统设计C) 正式 D) 非正式(分数:2.00)A.B.
20、C.D.解析:11.有如下类声明:class Foo int bar;则 Foo类的成员 bar是( )。A) 公有数据成员 B) 公有成员函数 C) 私有数据成员 D) 私有成员函数(分数:2.00)A.B.C. D.解析:解析 此题考查的是类的定义。在定义类的成员变量时,如果没有使用关键字,所有成员默认定义为 private私有权限。12.有如下函数模板: templatetypename T,typenaine U T cast(U u)return u; 其功能是将 U类型数据转换为 T类型数据。已知 i为 int型变量,下列对模板函数 cast的调用中正确的是 A) cast(i);
21、 B) cast(i); C) castchar*,int(i); D) castdouble,int(i);(分数:2.00)A.B.C.D. 解析:解析 选择 A、B 错在没有给 T参数类型,在函数的返回值中应该为 T确定一个确切的类型。选项C错在赋给 T的类型和函数中返回值的类型不匹配,故答案为 D。13.下列字符串中,正确的 C+标识符是( )。A) foo-1 B) 2bC) new D) _256(分数:2.00)A.B.C.D. 解析:14.派生类对象对其基类中的什么成员是可访问的?A) 公有继承的私有成员 B) 私有继承的公有成员C) 私有继承的保护成员 D) 保护继承的保护成
22、员(分数:1.00)A.B.C.D. 解析:解析 关于 c+语言继承问题中派生类对基类的访问能力的考查解题要点c+语言中通常有三种继承修饰符 public,protected,private,限制依次严格,另外对类中的数据和函数也有这三种修饰符进行限制,有 3种是不能继承的:公有继承基类的私有成员,私有继承基类的私有成员,保护继承基类的私有成员。15.关于类的继承的特性,不正确的是( )。A) 子类对父类具有数据和程序代码的共性特征B) 子类与父类间有所差别C) 会增加代码的冗余D) 类间具有层次结构(分数:2.00)A.B.C. D.解析:解析 不会增加代码的冗余,反而会减少冗余。16.是以
23、一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。A) 模板 B) 类 C) 对象 D) 函数(分数:2.00)A. B.C.D.解析:17.由于常对象不能被更新,因此( )。A) 通过常对象只能调用它的常成员函数B) 通过常对象只能调用静态成员函数C) 常对象的成员都是常成员D) 通过常对象可以调用任何不改变对象值的成员函数(分数:2.00)A. B.C.D.解析:解析 此题考查的是常对象与常成员函数的概念。使用 const关键字修饰的对象称为常对象,它不能被更新,所以常对象只能调用常成员函数而不能调用其他成员函数;使用 const关键字声明的成员函数是常成员函数,它也
24、不能被更新,常成员函数只能调用常成员函数而不能调用其他函数。18.有以下程序#inclube iostream.hclass ClassOnepublic:ClassOne(int v=O) i=v;couti;void print() coutiend1;class ClassTwopublic:ClassTwo(int v=O) i=v;couti;void print() coutiend1;private:ClassOne myObj;int i;void main()ClassTwo obj(1);obj.print();A) 011 B) 111 C) 110 D) 101(分数:
25、1.00)A. B.C.D.解析:解析 类 ClassTwo中定义了成员对象 myObj,所以在构造类 ClassTwo的对象 obj时会先调用类ClassOne的构造函数输出 0,然后调用 ClassTwo的构造函数输出 1。主函数最后调用 obj的成员函数print()输出 1。所以最后结果为 011。19.下面程序的运行结果为( )。#include iostream.hvoid swap (int temp=a+;a=b;b=temp;void main()int a=2,b=3;swap(a,b);couta“,“bendl;A) 2,3 B) 3,2C) 2,2 D) 3,3(分数
26、:2.00)A.B.C.D. 解析:20.有如下程序: #include iostream using namespace std; int main( ) char str100,*P; cout“please input a string:“; cinstr; P=str; for(inti=0;*P!=/0;p+,i+); coutiendl; return 0; 运行这个程序时,若输入字符串为 Abcdefg abcd 则输出结果是 A) 7 B) 12 C) 13 D) 100(分数:2.00)A. B.C.D.解析:解析 本段程序实现从键盘接收一段字符串,并计算字符串的长度,cin
27、 输入流对象会将空白符、回车符、tab 键作为终止标志,所以输入 Ahcdefg abcd得到的字符串长度为 7。21.有以下类定义class MyClasspublic:MyClass() cout1;则执行语句 MyClass a,b 2,*p2;后,程序的输出结果是( )。A) 11 B) 111C) 1111 D) 11111(分数:2.00)A.B. C.D.解析:22.有如下程序: #include iostream using namespace std; class test private: int a; public: test( )cout“constructor“end
28、l; test(int A) coutaendl; test(const test _test) a=_testa; cout“copy constructor“endl; test()cout“destructor“endl; ; int main( ) test A(3) return 0; 程序的输出结果是 A) 3destructorB) constructordestructorC) copy constructordestructorD) 3(分数:2.00)A. B.C.D.解析:解析 test 的构造函数重载,test A3调用 test(int A) 函数,然后删除时调用析构
29、函数,故输出选项 A。23.下列关于结构化程序设计原则和方法的描述中,错误的是( )。A) 选用的结构只准许有一个入口和一个出口B) 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C) 不允许使用 GOTO语句D) 语言中所没有的控制结构,应该采用前后一致的方法来模拟(分数:2.00)A.B.C. D.解析:解析 限制使用 GOTO语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOTO语句。选项 A)、B)、D)为结构化程序设计的原则。24.下面程序的功能是把 316表示为两个加数的和,使两个加数分别能被 13和 11整除,在划线处应填入的选项是#includeiostrea
30、mhVoid main()int i=0,j,k;doi+;k=316-13*i; while( );j=k/11;cout “316=13*“i“+11*“j;A)k/11 B)k%11 C)k/110 D)k%11=0(分数:1.00)A.B. C.D.解析:解析 dowhile 语句的一般形式是 do语句 while(表达式);特点是:“直到型”循环结构。先执行一次“语句”,判“表达式”,当“表达式”为非 0,再执行“语句”,直到“表达式”的值为。时停止执行语句。在一般情况下,用 while和 dowhile 语句解决同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但当 whi
31、le后面的“表达式”一开始就为“假”时,两种循环的结果不同。这是因为此时 while循环的循环不被执行,而 dowhile循环的循环体被执行一次。本题的关键是两个加数分别能被 13和 11整除,在 i=0时直接将 316赋值给 k,当 k%11的值为 0时,则不必执行循环,将执行 j=k/11语句,输出结果,所以该表达式合理的条件是 k%11。25.若执行下面的程序时,从键盘上输入 3和 4,则输出结果是main()int a,b,s;cinab;s=a;if(aB) sb:s=s*s;coutsend1;A) 14 B) 16 C) 18 D) 20(分数:2.00)A.B. C.D.解析:
32、解析 按照程序的执行顺序考生可以很快得出正确答案为 B。26.下列关于 C+流的说明中,正确的是( )。A) 与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现B) 从流中获取数据的操作称为插入操作, 向流中添加数据的操作称为提取操作C) cin是一个预定义的输出流类D) 输出流有一个名为 open的成员函数,其作用是生成一个新的流对象(分数:2.00)A. B.C.D.解析:解析 选项 B)中,从流中获取数据的操作称为提取操作,向流中添加数据的操作称为插入操作;选项 C)中,cin 是一个预定义的输入流对象;选项 D)中,open 的成员函数只能打开文件:故只有选项 A)的叙述是正确的
33、。27.下列运算不能重载为友元函数的是 A) =()- B) +-+- C) = D) +=-=*=/=(分数:2.00)A. B.C.D.解析:解析 C+中规定“=”、“( )”、“ ”、“-”不能被重载为友元函数。28.有如下程序段,请指出”p 所代表的是( )。int *p,*s,k=20;S = class Instrument public :virtual void Display() = 0 ;class Piano : public Instrument public :void Display() / * 函数体略 * / ;int main() Instrument s ;
34、Instrument * p = 0 ;/. ;return 0 ;下列叙述中正确的是( )。A) 语句“Insturment *P=0;”编译时出错 B) 语句“Instrument s;”编译时出错C) 类 Piano中的 Display函数不是虚函数 D) 类 Instrument是一个虚基类(分数:1.00)A.B. C.D.解析:解析 本题考查纯虚函数和抽象类,纯虚函数是在声明虚函数时被“初始化”为 0的函数,包含纯虚函数的类为抽象类,抽象类不能被实例化,所以语句“Instrument s;”在编译时出错。35.下列关于 break语句的叙述不正确的是( )。A) break语句可用
35、在循环体中,它将使执行流程跳出本层循环体B) break语句可用在 switch语句中,它将使执行流程跳出当前 switch语句C) break语句可用在 if语句中,它将使执行流程跳出当前 if语句D) break语句在一层循环体中可以出现多次(分数:2.00)A.B.C. D.解析:二、填空题(总题数:15,分数:25.00)36.按照“先进先出”的原则组织数据的结构的是 1。(分数:2.00)填空项 1:_ (正确答案:队列)解析:解析 队列是一种特殊的线性表,只允许在表的一端插入元素,在表的另一端删除元素,插入元素的一端叫做“队尾”,删除元素的一端叫做“队头”,先插入的元素先被删除,是
36、按先进先出的原则组织数据的。37.动态联编中直到 _ 时才能确定调用哪个函数;而静态联编则是在 _ 时进行的。(分数:1.00)填空项 1:_ (正确答案:程序运行 程序编译)解析:38.表达式 operator+(x,y)还可以表示为 1。(分数:1.00)填空项 1:_ (正确答案:x+y)解析:解析 本题考查的是运算符函数的调用,可以像一般函数那样用函数名进行调用,也可通过运算符构成表达式的形式进行调用。39.若按功能划分,软件测试的方法通常分为白盒测试方法和 1 测试方法。(分数:1.00)填空项 1:_ (正确答案:黑盒(或黑箱))解析:解析 软件测试的方法分为白箱测试方法和黑箱测试
37、方法。白箱测试是根据对程序内部逻辑结构的分析来选取测试用例,白箱测试用例的设计准则有:语句覆盖、分支覆盖、条件覆盖和组合条件覆盖;黑箱测试方法完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例。常用的黑箱测试有等价分类法、边值分析法、因果图法和错误推测法。40.在面向对象方法中,类之间共享属性和操作的机制称为 1。(分数:2.00)填空项 1:_ (正确答案:继承。)解析:解析 类是面向对象语言中必备的程序语言结构,用来实现抽象数据类型。类与类之间的继承关系实现了类之间的共享属性和操作,一个类可以在另一个已定义的类的基础上定义,这样使读类型继承了其父类的属性和方法,当然,也可以
38、定义自己的属性和方法。41.非成员函数只有在声明为类的 1 才能访问这个类的所有 private成员。(分数:2.00)填空项 1:_ (正确答案:友元函数)解析:42.软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于 1 测试。(分数:2.00)填空项 1:_ (正确答案:黑盒)解析:解析 软件测试方法包括静态测试和动态测试两种。动态测试是基于计算机的测试,主要包括白盒测试方法和黑盒测试方法。其中黑盒测试包括等价类划分法、边界值分析法、错误推测法等三种方法。43.在面面对泵方法中,一个对象请求另一对象为其服务的方式是通过发送 1 实现。(分数:2.00)填空项 1:_ (正确答案
39、:消息)解析:解析 这是概念题,通过发送消息实现。44.在进行函数调用时,将把参数的 1 传递给值参,把参数的 2 传递给引用参数。(分数:2.00)填空项 1:_ (正确答案:值|地址)解析:解析 函数传递只有两种形式值传递和地址传递。45.在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为 1。(分数:2.00)填空项 1:_ (正确答案:多对多)解析:46.将一个函数声明为一个类的友元函数必须使用关键字_。(分数:2.00)填空项 1:_ (正确答案:friend。)解析:解析 定义友元函数的方式是在类定义中用关键宇 friend说明该函数
40、,其格式为:friend类型友元函数名(参数表);47.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 1。(分数:2.00)填空项 1:_ (正确答案:物理独立性)解析:解析 数据独立性一般分为物理独立性与逻辑独立性两级。物理独立性:物理独立性即是数据的物理结构(包括存储结构,存取方式等)的改变,如存储设备的更换、物理存储的更换、存取方式改变等都不影响数据库的逻辑结构,从而不致引起应用程序的变化。逻辑独立性:数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应修改应用程序,这就是
41、数据的逻辑独立性。48.C+语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取 1 方式。(分数:1.00)填空项 1:_ (正确答案:传地址)解析:解析 本题考查的是传值调用和传址调用的区别一传值调用只是进行值的简单复制,返回之后不会改变原来的值;而传址调用是把参数的地址传人,会改变原来的值。49.下面程序的输出结果是_。#includeiostreamusing namespace std;int x;void funA(int&,int);void funB(int,int&);int main()int first;int second=5;x
42、=6;funA(first,seconD) ;fimB(first,seconD) ;coutfirst“ “second“ “xend1;return 0;void funA(int &a,int B) int first;first=a+b;a=2*b;b=first+4;void funB(int u,int &v)int second;second=x;v=second+4;x=u+v;(分数:1.00)填空项 1:_ (正确答案:10 10 20)解析:解析 本题考核函数的引用传递。“引用”实际上是给一个已知变量起个别名,对引用的操作也就是对被它引用的变量的操作。函数 funA的功能是将第二个实参的值乘以 2再赋值给第一个实参(通过引用传递实现),函数 funB的功能是将全局变量 x 加上 4再赋值给第二个实参,同时 x等于第一个实参与第二个实参相加的和。50.算法复杂度主要包括时间复杂度和 1 复杂度。(分数:2.00)填空项 1:_ (正确答案:空间。)解析:解析 算法的复杂度主要包括时间复杂度和空间复杂度。