C++试卷
第241题
有如下程序,执行后的输出结果是()。
#include<iostream>
void fun(int&x,int y){int t=x;x=y;y=t;}
int main()
{
int a[2]={23,42};
fun(a[1],a[0]);
std::cout<<a[0]<<","<<a[1]<<std::endl;
return 0;
}
第242题
有如下程序,编译运行这个程序将出现的情况是()。
#include<iostream>
using namespace std;
int main()
{
void function(double val);
double val;
function(val);
cout<<val;
return 0;
}
void function(double val)
{
val =3;
}
第243题
有如下函数定义: void func(int a,int&b){a++;b++;} ,若执行代码段: int x=0,y=1;func(x,y); ,则变量x和y的值分别是()
第244题
已知函数f的原型是 void f(int*a,long&b); ,变量v1、v2的定义是: int v1;long v2; ,下列调用语句中正确的是()。
第245题
在下列原型所示的C++函数中,按“传值”方式传递参数的是()。
第246题
下列关于函数参数的叙述中,正确的是()。
第247题
有如下程序,运行时的输出结果是()。
#include <iostream>
using namespace std;
void f1(int& x,int& y){int z=x;x=y;y=z;}
void f2(int x,int y){int z=x;x=y;y=z;}
int main()
{
int x=10,y=26;
f1(x,y);
f2(x,y);
cout<<y<<endl;
return 0;
}
第248题
已知函数f的原型是 void f(int*x,int&y); ,变量v1、v2的定义是 int v1,v2; ,下列调用语句中,正确的是()。
第249题
有如下程序,运行这个程序的输出结果是()。
#include<iostream>
using namespace std;
void f1(int& x) {x++;}
void f2(int x) {x++;}
int main()
{
int x=10,y=12;
f1(x);
f2(y);
cout<<x+y<<endl;
return 0;
}
第250题
有如下程序,执行后的输出结果是()。
#include<iostream>
using namespace std;
class AA{
int n;
public:
AA(int k):n(k){}
int get(){return n;}
int get()const{return n+1;}
};
int main()
{
AA a(5);
const AA b(6);
cout<<a.get()<<b.get();
return 0;
}
第251题
下面是重载为非成员函数的运算符函数原型,其中错误的是()。
第252题
关于函数重载,下列叙述中错误的是()。
第253题
有如下程序,程序的输出结果是()。
#include<iostream>
using namespace std;
class MyClass{
public:
MyClass(int x):val(x) {}
void Print()const {cout<<"const:val="<<val<<'\t';}
void Print(){cout<<"val="<<val<<'\t';}
private:
int val;
};
int main(){
const MyClass obj1(10);
MyClass obj2(20);
obj1.Print();
obj2.Print();
return 0;
}
第254题
若已经声明了函数原型 void fun(int a,double b=0.0); ,则下列重载函数声明中正确的是()。
第255题
对C++编译器区分重载函数无任何意义的信息是()。
第256题
已知函数fun的原型为 int fun(int,int,int); ,下列重载函数原型中错误的是()。
第257题
下列关于函数重载的叙述中,错误的是()。
第258题
以下程序的执行结果是()。
#include<iostream.h>
class TestClass2
{
public:
TestClass2(){};
TestClass2(int i,int j);
void printb();
private:
int a,b;
};
class TestClass1
{
public:
TestClass1(){}
TestClass1(int i,int j);
void printa();
private:
TestClass2 c;
};
TestClass1::TestClass1(int i,int j):c(i,j)
{}
void TestClass1::printa()
{
c.printb();
}
TestClass2::TestClass2(int i,int j)
{
a=i;
b=j;
}
void TestClass2::printb()
{
cout<<"a="<<a<<" "<<"b="<<b<<endl;
}
void main()
{
TestClass1 m(7,9);
m.printa();
}
第259题
下面程序的输出结果为()。
#include<iostream.h>
class TestClass
{
public:
TestClass(){val++;};
static int val;
};
int TestClass::val=0;
void main()
{
TestClass cs1;
cout<<cs1.val<<"";
TestClass cs2;
TestClass cs3,cs4;
cout<<cs2.val<<endl;
}
第260题
下面程序的运行结果是()。
#include<iostream>
using namespace std;
class TestClass
{
static int n;
public:
TestClass()
{
n++;
}
static int test()
{
for(int i=0;i<4;i++)n++;
return n;
}
};
int TestClass::n=0;
int main()
{
cout<<TestClass::test()<<" ";
TestClass c1,c2;
cout<<TestClass::test()<<endl;
return 0;
}