计算机二级

下面程序的输出结果是( )。 void prty(int*x) { printf("%din",++*x);} main() { int a=25; prty(&a); }A.23B.24C.25D.26

题目

下面程序的输出结果是( )。 void prty(int*x) { printf("%din",++*x);} main() { int a=25; prty(&a); }

A.23

B.24

C.25

D.26

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

第1题:

阅读下面程序: include void f(int n) { int x(5); static int y(10); if(n>0) { ++

阅读下面程序:

include<iostream.h>

void f(int n)

{

int x(5);

static int y(10);

if(n>0)

{

++x;

++y;

cout<<x<<","<<y<<endl;

}

}

void main()

{

int m(1);

f(m),

}

则该程序的输出结果是【 】


正确答案:611
6,11

第2题:

下列程序的输出结果是()。includevoid p(int *x){printf("%d",++*x);}void main(){int

下列程序的输出结果是( )。 #include<stdio.h> void p(int *x) { printf("%d",++*x); } void main() { int y=3; p(&y); }

A.3

B.4

C.2

D.5


正确答案:B
解析:本题考查函数调用时的参数传递。在函数调用时,形参是指向实参的指针变量,则printf的执行结果为3+1=4。

第3题:

下面程序的输出结果是【】。define MIN(a,b) (((a)<(b))?a:b)include void main(){int

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

define MIN(a,b) (((a)<(b))?a:b)

include <iostream.h>

void main()

{

int x= 3, y=5;

cout<< MIN(x,y)<<end1;

}


正确答案:3
3

第4题:

下面程序的输出结果是()。includeusing namespace std;void swap(int x[2]){int t; t=

下面程序的输出结果是( )。 #include<iostream> using namespace std; void swap(int x[2]) { int t; t=x[0]; x[0]=x[1]; x[1]=t; } void main() { int a[2]={4,8}; swap(a); cout<<a[0]<<" "<<a[1]; }

A.4 8

B.8 4

C.4 4

D.8 8


正确答案:B
解析:数组名作为函数参数属于地址传递,形参、实参共用同一内存空间。

第5题:

以下程序的输出结果是( )。 include void fun(int x) {if(x/2>0)fun(x/2); printf("%d",

以下程序的输出结果是( )。

include<stdio.h>

void fun(int x)

{ if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(3);printf("\n");

}


正确答案:13
13 解析:函数fun是一个递归函数。执行fun(3);,x=3,x/2=1>0,又调用f(1),此时,x=1,x/2=0,不满足继续递归调用的条件,输出1,返回到fun(3)中,输出3。所以本题的输出结果为13。

第6题:

下列程序的输出结果是()。 include VOid p(int *x) {printf("%d",++*x); } void main()

下列程序的输出结果是( )。

#include<stdio.h>

VOid p(int *x)

{ printf("%d",++*x);

}

void main()

{ int y=3;

p(&y);

}

A.3

B.4

C.2

D.5


正确答案:B
解析:本题考查函数调用时的参数传递。在函数调用时,形参是指向实参的指针变量,则printf的执行结果为3+1=4。

第7题:

有以下程序

void f( int y, int *x)

{ y=y+*x; *X=*X+y; }

main()

{ int x=2,y=4;

f(y,&x);

printf("%d %d\n",x,y);

}

执行后输出结果是______。


正确答案:8 4
8 4 解析:本题考核的知识点是函数的调用、值传递和地址传递的区别。“值传递”指实参将值传递给形参后,实参与形参再无联系。也就是说对行参的改变将不影响实参;地址传递是指地址或数组名作为形参时的参数传递,这种情况下对形参的改变将对实参产生影响.函数 f(Y*x)的作用是让y的值加上指针x所指向变量的值,让指针x所指向变量的值加上y的值。由于形参y是传值的,形参x是传地址的,故调用该函数后,作为实参的y的值将不改变,而实参x的值将改变,故最后输出的y的值为4,而x的值为8。

第8题:

阅读下面程序: include void fun(int n) { int x(5); static int y(10); if(n>0) {

阅读下面程序:

include<iostream.h>

void fun(int n)

{

int x(5);

static int y(10);

if(n>0)

{

++x;

++y;

cout<<x<<","<<y<<end1;

}

}

void main()

{

int m(1);

fun(m);

}

则该程序的输出结果是______。


正确答案:611
6,11

第9题:

下面程序的输出结果是【】。 include using namespace std; int x; void funA(int&,i

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

include<iostream>

using namespace std;

int x;

void funA(int&,int);

void funB(int,int&);

int main()

{

int first;

int second=5;

x=6;

funA(first,seconD) ;

fimB(first,seconD) ;

cout<<first<<" "<<second<<" "<<x<<end1;

return 0;

}

void funA(int &a,int B)

{

int first;

first=a+b;

a=2*b;

b=first+4;

}

void funB(int u,int &v)

{

int second;

second=x;

v=second+4;

x=u+v;

}


正确答案:10 10 20
10 10 20 解析:本题考核函数的引用传递。“引用”实际上是给一个已知变量起个别名,对引用的操作也就是对被它引用的变量的操作。函数funA的功能是将第二个实参的值乘以2再赋值给第一个实参(通过引用传递实现),函数funB的功能是将全局变量 x加上4再赋值给第二个实参,同时x等于第一个实参与第二个实参相加的和。

第10题:

下面程序输出的结果是( )。 include using namespace std; void swap(int

下面程序输出的结果是( )。 #include <iostream> using namespace std; void swap(int &a,int &b){ int temp; temp=a; a=b; b=temp; } void main(){ int x=2; int y=3; swap(x,y); cout<<x<<y; }

A.23

B.32

C.ab

D.ba


正确答案:B
解析:函数的参数是引用,故能实现引用调用。

更多相关问题