有以下程序 void f(int v,int w) { int

题目

有以下程序 void f(int v,int w) { int t; t=v; v=w; w=t; } main() { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf("%d,%d,%d/n",x,y,z); }执行后输出结果是()

  • A、1,2,3
  • B、3,1,2
  • C、1,3,2
  • D、2,3,1
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序:include void f(int a[],int i, int j){int t; if(i

有以下程序: #include <stdio.h> void f(int a[],int i, int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; f(a,i+1,j-1); } } main() { int i,aa[5]={1,2,3,4,5}; f(aa,0,4); for(i=0;i<5;i++) printf("%d,",aa[i]);printf("\n"); } 执行后的输出结果是( )。

A.5,4,3,2,1,

B.5,2,3,4,1,

C.1,2,3,4,5,

D.1,5,4,3,2,


正确答案:A
解析:f函数的功能是通过递归调用实现数组中左右部分相应位置数据的交换,即数组中第一个元素与最后一个元素调换位置,第二个元素与倒数第二个元素调换位置,以此类推。

第2题:

有以下程序: include using namespace std; int f(int); int main() {int i;for(i=0;

有以下程序:

include <iostream>

using namespace std;

int f(int);

int main()

{

int i;

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

cout<<f(i)<<" ";

return 0;

}

int f(int i)

{

static int k=1;

for(;i>0;i--)

k+=i;


正确答案:1 2 5 11 21
1 2 5 11 21 解析:函数f()中定义了一个内部静态变量k,其作用域仍在定义它的函数内。但该类型变量采用静态存储分配,当函数执行完,返回调用点时,该变量并不撤销,其值将继续保留,若下次再进入该函数时,其值仍然存在。内部静态变量有隐含初值0,并且只在编译时初始化一次。

第3题:

阅读下面程序: 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

第4题:

下面程序的结果【】。 include int f(int); void main() { int x=1,i; for (i=0; i<3;

下面程序的结果【 】。

include<iostream.h>

int f(int);

void main() {

int x=1, i;

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

cout<<f(x)<<‘ ’ ;

cout<<end1;

}

int f(int x){

int y=1;

static int z=3

y++;

z++;

return (x+y+z);

}


正确答案:7 8 9
7 8 9

第5题:

下面程序的输出结果是【】。 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等于第一个实参与第二个实参相加的和。

第6题:

以下程序的输出结果为【】。 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。

第7题:

有以下程序: #include<stdio.h> int abe(int u,int v); main { int a=24,b一16,c; c=abc(a,b); printf("%d\n",c); } int abc(int u,int v) { int w; while(v) {w=u%v;u=v;v=w;) return; } 输出结果是( )。

A.6

B.7

C.8

D.9


正确答案:C
abc函数是求u、v的最大公约数,当v=16时,循环成立,执行其后的语句,即w=u%v,u=v;v=w;w=24%16=8,u=16,v=8,接着返回到while中,当v=8时,循环成立,执行其后昀语句,即w=u%v;u=v;v=w;w=16%8=0,u=8,v=0,接着再返回到while中,当v=0时,循环不成立,退出循环。

第8题:

有以下程序: void f(int v,int w) { int t; t=v;V=W;W=t; } main() { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf("%d,%d<%d\n",x,y,Z); } 执行后输出结果是( )。

A.1,2,3

B.3,1,2

C.1,3,2

D.2,3,1


正确答案:C
解析:C语言规定else总是和离它最近的if语句配对。分析可以知道,。函数f()作用是让形参v和形参w的值交换。在主函数中首先定义了3个变量x、y和z。然后再执行下面的if-else语句。由程序可以看出第一个else和第一个if搭配,第二个else和第二个if搭配。由于调用函数时是进行值传递的。即将实参x、y、z传给形参v和w,以后行参和实参再无联系,故通过if语句调用f()函数后,x、y和z的值并没有改变。因此最后输出的x、y和z的值为1、3和2,所以,4个选项中选项C符合题意。

第9题:

下面程序的输出结果是______。 include using namespace std; int x; void funA(int&am

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

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);

funB(first,second);

cout<<first<<””<<second<<””<<x<<endl;

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 int f (int x, int y){return x,y; } double f (d

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

include<iostream.h>

int f (int x, int y){

return x,y;

}

double f (double x, double y) {

return x,y;

}

void main() {

int a=4, b=6;

double c=2.6, d=7.4;

cout<<f (a, b) <<","<<f (c, d) <<end1;

}


正确答案:24 19.24
24, 19.24

更多相关问题