计算机二级

以下程序执行后的输出结果是()。includeusing namespace std;void try(int,int,int,in以下程序执行后的输出结果是( )。 #include<iostream> using namespace std; void try(int,int,int,int); int main() { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<endl; return 0; } void try(int x,int y, int z

题目
以下程序执行后的输出结果是()。includeusing namespace std;void try(int,int,int,in

以下程序执行后的输出结果是( )。 #include<iostream> using namespace std; void try(int,int,int,int); int main() { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<endl; return 0; } void try(int x,int y, int z,int r) { z = x+y; X = x*x; y = y*y; r = z+x+y; }

A.18

B.9

C.10

D.不确定

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序: include using namespace std; class sample {int x; public:void setx(

有以下程序:

include <iostream>

using namespace std;

class sample

{

int x;

public:

void setx(int i)

{

x=i;

}

int putx ()

{

return x;

}

};

int main ( )

{

sample *p;

sample A[3];

A[0] .set>:(5);

A[1] .setx(6);

A[2] .setx(7);

for (int j=0;j<3;j++)

{

p=&A[j];

cout<<p->putx () <<", ";

}

cout<<end1;

return 0;

}

执行后的输出结果是【 】。


正确答案:567
5,6,7 解析:本题考核对象指针与对象数组的应用。主函数中定义对象数组A,然后调用各自的setx()函数赋值,最后通过for循环输出各自内部变量,所以程序最后输出5,6,7。

第2题:

下面程序的输出结果是【】。 include using namespace std; int d=1; fun(int p){ stati

下面程序的输出结果是【 】。

include <iostream>

using namespace std;

int d=1;

fun(int p){

static int d = 5;

d+ =p;

cout<<d;

return (d) ;

}

void main ( ) {

int a =3;

cout<<fun ( a + fun (d) )<<endl;

}


正确答案:61515
61515 解析:先调用fun(d),d=1执行,局部静态变量d的值为6,输出6,返回值为6;再调用 fun(a+fun(d)),即fun(9)执行,静态局部变量的值为15,输出15,返回值为15;最后再执行 main方法中的输出语句,输出fun(a+fun(d))的值15。所以程序输出结果为61515。

第3题:

下面程序运行后输出的结果是【】。 include using namespace std; class example{ const

下面程序运行后输出的结果是【 】。

include <iostream>

using namespace std;

class example{

const int m;

public:

example(int i):m(i){}

void pr(){cout<<"m="<<m<<endl'}

};

int main(){

example x(100);

x.pr();

return 0;

}


正确答案:m=100
m=100 解析:在类example中,定义了一个常数据成员m,所以构造函数只能通过初始化列表来初始化它。

第4题:

以下程序的输出结果是【】。 include using namespace std; void fun() {static int a=0

以下程序的输出结果是【 】。

include <iostream>

using namespace std;

void fun()

{

static int a=0;

a+=2;

cout<<a;

}

int main()

{

int CC;

for(CC=1;cc<4;CC++)

fun();

cout<<end1;

return 0;

}


正确答案:246
246 解析:本题考核函数调用和静态变量。在主函数中通过一个for循环调用了3次fun()函数。第1次调用fun()函数时,a的初始值为0,执行语句“a+=2;”后, a的值为2,输出2;第2次调用时,a的初始值为2,执行语句“a+=2;”后,a的值为4,最后输出4:第3次调用时,a的初始值为4,执行语句“a+=2:”后,a的值为6,最后输出6。

第5题:

以下程序执行后的输出结果是( )。include usingnamespacestd;void try(int,int,int,in

以下程序执行后的输出结果是( )。 #include <iostream> using namespace std; void try(int,int,int,int); int main ( ) { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<end1; return 0; } void try(int x,int y, int z,int r) { z = x+y; x = X*X; y = y*y; r = z+x+y; }

A.18

B.9

C.10

D.不确定


正确答案:D
解析:本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。下面是正确解答。根据程序逐步分析:①程序中定义了一个名为try的void型函数,即函数try()没有任何返回值。②而try()函数在主函数中是以一条独立语句的方式被调用的,且主函数最后输出变量r的值。③但在主函数中,并没有对变量r赋值。④在C++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以,虽然在函数try()中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

第6题:

程序的输出结果是【 】。 include using namespace std; class A{ int x; public: A(int

程序的输出结果是【 】。

include <iostream>

using namespace std;

class A{

int x;

public:

A(int x=1):x(x){cout<<x;}

};

void main(){

A a,b(2),c(3);

}


正确答案:123
123 解析:a对象使用和默认的构造函数,b对象使用2来初始化对象c对象使用3来初始化对象,输出相应的值后,结果变为123。

第7题:

程序的输出结果是【 】。 include using namespace std; class A{ public: A(){a=b=2;}

程序的输出结果是【 】。

include <iostream>

using namespace std;

class A{

public:

A(){a=b=2;}

A(int i,int j){a=i;b=j;}

void display(){cout<<a<<b;}

private:

int a,b;

};

void main(){

A m,n(4,8);

m.display();

n.display();

}


正确答案:2248
2248 解析:m对象使用和默认的构造函数,其a与b变量的值均为2;而n变量使用4和8来初始化程序的变量,a,b的值为4和8,依次输出的结果为2248。

第8题:

以下程序运行后的输出结果是【】。 include using namespace std; int main() {int i=10,

以下程序运行后的输出结果是【 】。

include<iostream>

using namespace std;

int main()

{

int i=10,i:0;

do{

j=j+i;

i--;

}while(i>2);

cout<<j<<end1;

return 0;

}


正确答案:52
52 解析:do-while语句的特点:先执行循环体,后判断条件。第1次循环执行后,j和i的值分别为10和9。判断循环条件为真,继续执行循环体,j和i分别为19和8。继续上述执行过程,直到i的值为2时,表达式“2>2”不再成立,退出循环。此时j的值为52。

第9题:

以下程序的输出结果为【】。 include using namespace std; void initialize(int printNo

以下程序的输出结果为【 】。

include<iostream>

using namespace std;

void initialize(int printNo,int state=0);

void initialize(int printNo=l,int state);

int main()

{

initialize();

return 0;

}

void initialize(int printNo,int state)

{

cout<<printNo<<","<<state<<end1;

}


正确答案:10
1,0 解析:本题考核带有默认值的函数,本题中函数initialize()进行了两次函数原型的说明,使本来不带默认值的形参带上默认值。由于主函数中调用initialize()时没有给定实参,所以函数自动调用其参数默认值,输出1和0。

第10题:

下列程序的输出结果是【】。 include using namespace std; int main(){int data=1;int

下列程序的输出结果是【 】。

include <iostream>

using namespace std;

int main()

{

int data=1;

int &r = data;

data+=5;

r+=5;

cout<<data<<end 1;

return 0;

}


正确答案:11
11 解析:本题考核引用的概念和使用。C++的引用是一种赋值、发送和返回复杂数据结构的方法,应用这种方法,系统不需要负担额外的开销,节省内存空间。在程序中对引用的存取都是对它所引用的变量的存取。题中r为data的引用,所以对r的操作等于对data的操作,所以最后data的值为11。

更多相关问题