A.耦合性
B.内聚性
C.复杂性
D.数据传输特性
正确答案:A
答案解析:耦合性是模块间互相连接的紧密程度的度量,取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。
5). 开发大型软件时,产生困难的根本原因是( )
A.大系统的复杂性
B.人员知识不足
C.客观世界千变万化
D.时间紧、任务重
正确答案:A
6). 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。
A.函数调用可以作为独立的语句存在
B.函数调用可以无返回值
C.函数调用可以出现在表达式中
D.函数调用可以作为、一个函数的形参
正确答案:D
答案解析:本题考查函数的调用方式。函数的形参和实参具有以下特点:①形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放分配的内存单元,因此,形参只有在函数内部有效,函数调用结束返回主调函数后则不能再使用该形参变量;②实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参,因此应通过预先用赋值、输入等办法使实参获得确定值;③实参和形参在数量上、类型上、顺序上应严格一致,否则会发生″类型不匹配″的错误;④函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参
的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
7). 对于语句″cout< < <1<< < <2;″的输出结果是( )。
A.*********1*2
B.********12
C.*******1*2
D.12********
正确答案:A
答案解析:C++语言中,setfill的意思是在空格的地方填上setfill函数中的参数字符,setw的意思是设置整个输出字符串的字符个数,本题中用*来代替空格。
8). 下列关于运算符重载不正确的是( )
A.运算符重载不能改变运算符的操作数个数
B.运算符重载不能改变运算符的优先级
C.运算符重载不能改变运算符的结合性
D.运算符重载能改变对预定义类型数据的操作方式
正确答案:D
9). 通常拷贝构造函数的参数是
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
正确答案:C
答案解析:拷贝初始化构造函数的作用是用一个已知的对象来初始化一个被创建的同类的对象,该函数只有一个参数,并且是对同类的某个对象的引用。
10). 下面关于模板的描述,错误的是
A.函数模板和类模板的参数可以是任意的数据类型
B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用
C.函数模板不能直接使用,需要实例化为模板函数后才能使用
D.类模板的成员函数都是模板函数
正确答案:A
答案解析:类模板不能被重载,而函数模板可以,它们不能被未知的数据类型替换。
四
1). 表达式10>5 && 6%3的值是
A.-1
B.非零值
C.0
D.1
正确答案:C
答案解析:目的,考查/和%运算符的意义。要点,逻辑与运算符为真的前提是两边的表达式都为真,本题中6%3的值为0,显然该表达式的值应该为0。考点,/是整除运算符,当两个操作数都为整数时,结果为整型,将小数部分舍去。
2). 若有说明int a[3][4];,则a数组元素的非法引用是( )
A.a[0][2*1]
B.a[1][3]
C.a[4-2][0]
D.a[0][4]
正确答案:D
3). 下列是重载为非成员函数的运算符函数原型,其叶错误的是( )。
A.Fraction operator+( Fraction, Fraction);
B.Fraction operator-( Fraction);
C.Fraction&operator=( Fraction&, Fraction);
D.Fraction&operator+=(Fraction& ,Fraction);
正确答案:C
答案解析:由于取负运算符″一″是一元运算符,当作为成员函数重载时参数表中没有参数,那个唯一的操作数以this指针的形式隐藏在参数表中。
4). 下列关于虚基类的描述中,错误的是( )。
A.使用虚基类可以消除由多继承产生的二义性
B.构造派生类对象时,虚基类的构造函数只被调用一次
C.声明″class B: virtual public A″说明类B为虚基类
D.建立派生类对象时,首先凋用虚基类的构造函数
正确答案:C
答案解析:本题针对虚基类的定义及特点考查。虚基类的声明为″class:virt ual″,即选项C中的类A为虚基类。
5). 静态成员函数没有( )。
A.返回值
B.this指针
C.指针参数
D.返回类型
正确答案:B
答案解析:this指针是系统隐含的用于指向当前对象的指针。由于静态函数是同类中所有对象都共享的函数,在内存中只存在一份,不属于某个对象所有,所以静态函数没有this指针。
6). 在32位的计算机中,一个char型数据所占的内存长度的字节是( )
A.4
B.1
C.2
D.8
正确答案:B
7). 要想使23.78965421的输出为23.7887应用的语句是( )
A.cout<<23.78965421;
B.cout<
C.cout<<23.78965421 -0.001;
D.cout<
正确答案:C
8). 在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )
A.派生类的对象可以赋给基类的对象
B.派生类的对象可以初始化基类的引用
C.派生类的对象可以直接访问基类中的成员
D.派生类的对象的地址可以赋给指向基类的指针
正确答案:C
计算机二级考试C++练习题答案



