有梦想的人睡不着,没梦想的人睡不醒。你永远没有办法叫醒一个装睡的人!所以小编喊你来看C++语言程序设计试题你敢不敢答应?
1.以下选项中合法的实型常数是( )。
A.5E2.0
B.E—3
C.2EO
D.1.3E
答案:C。【解析】本题考查实型常数的指数表示法,可以肯定的是指数不能为小数即必须为整数。由于符号E前面必须有数字。D在指数符号后面没有数字,是错误的。
2.下列字符串中可以用作C++语言标识符的是( )。
A.1234
B.foo~~bar
C.virtual
D.34var
答案:A。【解析】C++语言标识符只能由数字、字母和下画线组成,并且只能以字母和下画线为开头。
3.下列关于C++函数的说明中,正确的是( )。
A.内联函数就是定义在另一个函数体内部的函数
B.函数体的最后一条语句必须是return语句
C.标准C++要求在调用一个函数之前,必须先声明其原型
D.编译器会根据函数的返回值数型和参数表来区分函数的不同重载形式
答案:C。【解析】内联函数不是定义在另一个函数体内部的函数,而是将inline放在函数定义中函数类型之前;函数体的最后一条语句可以是任意的语句;编译器不会根据函数返回值的类型来区分重载形式,选项D错误。标准C++要求在调用一个函数之前,必须先声明其原型。
4.若有如下语句
#include
voidmain( )
{
intx=3:
do{
x=X-2:
cout<}while(!(--x));
}
则上面程序段( )。
A.输出的是1
B.输出的是1和-2
C.输出的是3和0
D.是死循环
答案:B。【解析】d0…while语句的一般格式为“d0循环体语句while(表达式);”,先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环,否则终止循环。本题中,先执行x=x-2,即为1。判断表达式的值,!(--x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式的值为0,结束循环。
5.有以下程序:
#include(iostream)
usingnamespacestd;
intmain( )
{
intx=15:
while(x>10&&x<50)
{
x++;
if(x/3)
{
x++;break;
}
}
cout
}
执行后的输出结果是( )。
A.15
B.16
C.17
D.18
答案:C。【解析】本题考核选择语句与循环语句的嵌套。由程序可知,当x=16时,满足if条件表达式,进入if分支,执行“x++;break;”,所以最后程序输出x的值为17。
6.以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误的原因是( )。
#include(iostream.h)
voidmain( )
{int*P,*q,a,b;
p=&a;
cout<<"inputa:";
cin>>P;
}
A.*P表示的是指针变量P的地址
B.P表示的是变量a的地址,而不是变量a的值
C.*P表示的是指针变量p的值
D.*P只能用来说明P是一个指针变量
答案:B。【解析】p表示的是变量a的地址,定义后*P表示的是变量a的值。
7.下列有关拷贝构造函数的描述中错误的是( )。
A.拷贝构造函数是一种构造函数
B.拷贝构造函数与一般的构造函数一样,可以设置多个形参
C.每一个类中都必须有一个拷贝构造函数
D.拷贝构造函数的功能是用一个已知对象去初始化一个正在创建的对象
A.sqrt(cos(x))
B.sqrt(abs(cos(X*3.14/180)))
C.sqrt(abs(cos(X*(/180)))
D.sqrt(fabs(cos(x*3.14/180)))
答案:B。【解析】拷贝构造函数是一个特殊的构造函数,它用一个已知的对象初始化一个正在创建的同类对象,它不能指定函数返回类型;只有一个参数,是同类的某个对象名的引用。每一个类中都必须有一个拷贝构造函数,如果类中未声明,编译器会自动生成一个公有的拷贝构造函数。
8.下列程序的执行结果是( )。
#include(iostream.h>
#include
classTestClass
{
public:
intX,y;
TestClass( ){x=y=0;}
TestClass(inta,intb){x=a;y=b;}
voiddisp( )
{
cout<<"x="<};
classB{public:B( ){cout<<"B";}};
classC:publicA{
Bb;
public:
C( ){cout<<"C";}
};
intmain( ){Cobj;return0;}
执行后的输出结果是( )。
A.CBA
B.BAC
C.ACB
D.ABC
答案:B。【解析】由主函数入手,定义了类TestClass的对象s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的“TestClass(inta,intb){x=a;Y=b;}”,然后调用成员函数disp(),则输出为“cout<<"x="<
9.函数swap(a,n)可完成对a数组从第1个元素到第n个元素两两交换。其中b[o]=1;b[1]=2;swap(b,2)。在运行调用函数中的语句后,b[0]和b[1]的值分别为( )。
A.1,1
B.1,2
C.2,2
D.2,1
答案:D。【解析】如果函数实参是数组名,形参也应为数组名,函数swap中形参进行了交换。实际上也是实参进行了交换。而且数组名代表数组首元素的地址,并不是代表数组的全部元素。所以,swap(b,2)是数组b第一个元素与第二个元素进行交换,即b[0]与b[1],根据题干,知道答案为2,1。
10.有以下程序:
#include(iostream.h)
voidfun(inta,intb,intc)
{a=456,b=567,C=678;}
voidmain( )
{
intx=10,y=20,z=30;
fun(x,Y,z);
cout<}
输出结果是( )。
A.30,20,10
B.10,20,30
C.456,567,678
D.678,567,456
答案:B。【解析】本题考查函数中变量的作用范围,在主函数中给变量x,y,z赋值,然后将其作为实参传递给了函数fun,虽然在函数fun中改变了这3个变量的值,但只是同名的局部变量,不影响函数中变量的值,所以在调用函数fun结束后,主函数3个变量的值未改变。
总要有一个人要赢,为什么不能是你。想要赢得漂亮,必须下苦功。赶紧多翻阅关于计算机二级考试的试题吧
文章推荐:
2018年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的最新资讯吗?点击进入>>>计算机等级考试题库资讯