计算机二级

若有以下程序include using namespace std;class A{public: A(int i,int j) {a=i;b=j若有以下程序 #include <iostream> using namespace std; class A { public: A(int i,int j) { a=i; b=j; } void move(int x, int y) { a+=x; b+=y; } void show() { cout < <a < <" , " <<b<< end1; }

题目
若有以下程序include using namespace std;class A{public: A(int i,int j) {a=i;b=j

若有以下程序 #include <iostream> using namespace std; class A { public: A(int i,int j) { a=i; b=j; } void move(int x, int y) { a+=x; b+=y; } void show() { cout < <a < <" , " <<b<< end1; } private: int a,b; }; class B : private A { public: B(int i,int j) :A(i,j) {} void fun ( ) { move (3, 5); } void f1 ( ) { A::show(); } }; int main ( ) { B d(3,4); d. fun ( ); d.f1(); return 0; } 程序执行后的输出结果是 ( )。

A.3,4

B.6,8

C.6,9

D.4,3

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

第1题:

下列程序用来判断数组中特定元素的位置所在,则输出结果为()。includeinclude

下列程序用来判断数组中特定元素的位置所在,则输出结果为( )。 #include<conio.h> #include<iostream.h> int fun(int*p,int n,int*j) {int i; *j=0; for(i=0;i<n;i++) if(p[*j]<p[i])*j=i; return p[*j];} void main() {int a[10]={1,3,9,0,8,7,6,5,4,2)j;int j; fun(a,10,&j); cout<<j<<','<<a[j];}

A.2,9

B.3

C.9

D.3,9


正确答案:A
解析:由程序中的主函数main入手,调用fun函数。其中第一个实参为数组a的名字,数组名作为实参,传递的是数组的起始地址。所以在fun函数中指针D指向了数组的第一个元素a[0]。另外实参整型j传递的是引用,也就是j的地址。在fun函数中在for循环中,依次将当前元素p[i]与j指针值为标识的p[*j]进行比较,取较大的。最后循环后的结果就是p[*j]存放数组中的最大值,并且指针j为该值的标识位。可以看出数组的最大值是9标识位为2。

第2题:

设有如下程序includemain(){int **k, *j,i=100;j=&i; k=&j;printf("%d\n"”,**

设有如下程序 #include<stdio.h> main() { int **k, *j,i=100; j=&i; k=&j; printf("%d\n"”,**k); } 上述程序的输出结果是______。

A.运行错误

B.100

C.i的地址

D.j的地址


正确答案:B
解析:j=&i,j的值就是i的地址,*j=100,将j的地址赋给k,这时*k=j,那么,**k=*j,而*j=100,所以**k=100,最后的打印结果应当为100。

第3题:

以下程序的输出结果是______。include void swap(int *a, int *b){ int *t;}{ int i=3,j

以下程序的输出结果是______。

include <stdio.h>

void swap(int *a, int *b)

{ int *t;

}

{ int i=3,j=5,*p=&i,*q=&j;

swap(p,q); printf("%d %d\n",*p,*q);


正确答案:

第4题:

设有如下程序includemain(){int**k, *j, i=100;j=&i, k=&j;printf("%d\n",**k

设有如下程序#include<atdio.h>main(){int**k, *j, i=100;j=&i, k=&j;printf("%d\n",**k);}上述程序的输出结果是______。

A.运行错误

B.100

C.i的地址

D.i的地址


正确答案:B
解析:j=&i,j的值就是i的地址,8j=100,将j的地址赋给k,这时*k=j,那么,**k=*j,而*j=100,所以**k=100,最后的打印结果应当为100。

第5题:

分析以下程序的执行结果【】。include class S{ int A[10]; public: int &operato

分析以下程序的执行结果【 】。

include <iostream. h>

class S{

int A[10];

public:

int &operator () (int);

};

int &S: :operator() (int x) {

return A[x];

}

void main() {

S a;

int i,j;

for (i=0; i<10; i++)

a(i)=i*2;

for (i=0; i<10; i++)

cout<<a(i)<<" ";

cout<<end1; }


正确答案:0 2 4 6 8 10 12 14 16 18
0 2 4 6 8 10 12 14 16 18

第6题:

设有如下程序includemain(){int**k,*j,i=100;j=&i;k=&j;printf("%d\n",**k);}

设有如下程序 #include<stdio.h> main() { int**k,*j,i=100; j=&i;k=&j; printf("%d\n",**k); } 上述程序的输出结果是______。

A.运行错误

B.100

C.i的地址

D.j的地址


正确答案:B
解析:j=&i,j的值就是i的地址,*j=100,将j的地址赋给k,这时*k=j,那么,**k=*j,而*j=100,所以**k=100,最后的打印结果应当为100。

第7题:

阅读以下程序: include void main() { static int a[][3]={9,7,5,3,1,2,4,6,8}; int

阅读以下程序:

include<iostream.h>

void main()

{

static int a[][3]={9,7,5,3,1,2,4,6,8};

int i,j,s1=0,s2=0;

for(i=0;i<3;i++)

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

{

if(i==j)s1=sl+a[i][j];

if(i+j==2)s2=s2+a[i][j];

}

cout<<s1<<","<<s2<<endl;

}

则该程序的输出结果为【 】。


正确答案:1810
18,10

第8题:

以下程序运行后的输出结果是()。includevoid main(){ char aft="abbcabbcabbc"; int

以下程序运行后的输出结果是( )。 #include<iostream.h> void main() { char aft="abbcabbcabbc"; int i=0,j=0,k=0; while(a[i]) { if(a[i]=='a') j++; if(a[i]=='b') k++; i++; } cout<<j<<""<<k<<end1; }

A. 2,6

B.3,5

C.4,7

D.3,6


正确答案:D
解析:程序中首先定义字符数组a,然后在while循环中统计字符a和b的个数。其中j记录a的个数,k记录b的个数。第一个if语句是当第i个字符为a时,i加1;第二个if语句是当第i个字符为b时,k加1。

第9题:

设有如下程序includemain(){int**k,*j,i=100j=&i;k=&j;printf("%d\n",**k);}

设有如下程序 #include<stdio.h> main() { int**k,*j,i=100 j=&i; k=&j; printf("%d\n",**k); } 上述程序的输出结果是______。

A.运行错误

B.100

C.i的地址

D.j的地址


正确答案:B
解析:j=&i,j的值就是i的地址,*j=100,将j的地址赋给k,这时*k=j,那么,**k=*j,而*j=100,所以**k=100,最后的打印结果应当为100。

第10题:

若有以下程序:include using namespace std;class A{private: int a;public: A(int

若有以下程序: #include <iost ream> using namespace std; class A { private: int a; public: A(int i) { a=i; } void disp () { cout<<a<<", "; } }; class B { private:

A.10,10,10

B.10,12,14

C.8,10,12

D.8,12,10


正确答案:D
解析:本题考核派生类构造函数的使用。本题中,派生C具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和B的成员初始化列表。而且派生类C中的成员函数disp分别调用了基类A、B的公有成员函数disp()用于输出基类中私有数据变量初始化后的值。所以由类C构造函数的初始化形式可知,程序最后输出为8,12,10,即D选项。