计算机二级

有以下程序: int m=1; void fun(int *n) { static int m=2; *n*=m-1; m+=2; } main() { int i; for(i=1;i<4;i++) { fun(&m); printf("%d",m); } } 程序的输出结果是( )A.1317B.2630C.1315D.1111

题目

有以下程序: int m=1; void fun(int *n) { static int m=2; *n*=m-1; m+=2; } main() { int i; for(i=1;i<4;i++) { fun(&m); printf("%d",m); } } 程序的输出结果是( )

A.1317

B.2630

C.1315

D.1111

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

第1题:

以下程序的运行结果是________。

int k=0;

void fun(int m)

{ m+=k; k+=m; printf(“m=%d\n k=%d ”,m,k++);}

main()

{ int i=4;

fun(i++); printf(“i=%d k=%d\n”,i,k);

}


正确答案:

m=4 k=4 i=5 k=5 

第2题:

有以下程序inclUdevoidfun(int*s,intn1,intn2){inti,j,t;i=n1;j=n2;while(i

有以下程序 #inclUde <stdio.h> void fun(int *s,int n1,int n2) { int i,j,t; i=n1; j=n2; while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4

A.0987654321

B.4321098765

C.5678901234

D.0987651234


正确答案:C
解析: 函数fun(int*s,int n1,int n2)的功能是对数组s中的元素进行首尾互相调换。所以在主函数中,当fun(a,0,3)执行完后,数组a[12]={4,3,2,1,5,6,7,8,9,0};再执行fun(a,4,9),数组a[12]={4,3,2,1,0,9,8,7,6,5};再执行fun(a,0,9)后,数组a[12]={5,6,7,8,9,0,1,2,3,4}。

第3题:

有以下程序

#include <stdio.h>

#define N 4

void fun(int a[][N], int b[])

{ int i;

for(i=0;i<N;i++) b[i] = a[i][i];

}

main()

{ int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;

fun(x,y);

for(i=0;i<N;i++) printf("%d,",y[i]);

printf("\n");

}

程序的运行结果是

A)1,2,3,4,

B)1,0,7,0,

C)1,4,5,9,

D)3,4,8,10,


正确答案:B

第4题:

以下程序的运行结果是______。includemain(){ int fun();fun();}fun(){static int a[3]=

以下程序的运行结果是______。

include<stdio.h>

main()

{ int fun();fun();}

fun()

{static int a[3]={0,1,2};

int i;

for(i=0;i<3;i++)a[i]+=a[i];

for(i=0;i<3;i++)printf("%d,",a[i]);

pfintf("\n",);}


正确答案:
本题主要考查for循环语句的使用以及静态局部变量的特点。

第5题:

以下程序的执行结果是()。includeincludevoid fun(int n){if(n!=0){fun

以下程序的执行结果是( )。 #include<iostream.h> #include<iomanip.h> void fun(int n) { if(n!=0) { fun(n-1); for(int i=1; i<=n; i++) cout<<setw(3)<<i; cout<<end1; } } void main() { fun(3); }

A.0 0 1 0 1 2

B.1 1 2 1 2 3

C.1 2 2 3 3 3

D.1 2 3


正确答案:B
解析:首先由程序中的主函数main入手,调用fun函数,参数为3。fun(n)函数在其内部,当n不等于0时,递归调用fun(n-1)。当参数为3时,fun(3)调用fun(2)…,然后利用for循环输出i值,当n=1时,只输出1,输出回车后,就跳入fun(2),输出1,2,最后输出是1,2,3。

第6题:

有以下程序:#define N 20fun(int a[],int n,int m){ int i; for(i=m;i>n;i--)a[i+1]=a[i]; return m;}void main(){ int i,a[N]={1,2,3,4,5,6,7,8,9,10}; fun(a,0,N/2); for(i=0;i<5;i++)printf("%d",a[i]);}程序运行后的输出结果是( )。A.10234 B.12344 C.12334 D.12234


正确答案:D
函数的功能是将某个间隔内的数据向后移动一位,m=5,将a[5]赋给a[6],a[4]赋给a[5],……;a[1]赋给a[2],最后i--,i=0,不满足i>0,退出循环,所以a[0],a[1]的值不变。

第7题:

有以下程序 include int i=0; void fun( ) { { static int i=1

有以下程序 #include<iostream> int i=0; void fun( ) { { static int i=1; Std::cout<<i++<<','; } Std::cout<<i<<','; } int main( ) { fun();fun(); return O; } 程序执行后的输出结果是

A.1,2,1,2,

B.1,2,2,3,

C.2,0,3,0,

D.1,0,2,0,


正确答案:D
解析:本题考核变量的作用域、生存周期和存储类别(自动、静态、存储器、外部)。题中即定义全局变量i又在函数fun内部定义了局部静态变量i,当进入函数fun里面的大括号时,局部静态变量i有效,所以输出1,然后局部静态变量i加1,出了里面的大括号后,全局变量i有效,所以输出0。同理,第二次调用fun后,输出2和0。

第8题:

( 34 )有以下程序

#include <stdio.h>

int fun ()

{ static int x=1;

x*2; return x;

}

main ()

{ int i,s=1 ,

for ( i=1;i<=2;i++ ) s=fun () ;

printf ( " %d \ n " ,s ) ;

程序运行后的输出结果是

A ) O

B ) 1

C ) 4

D ) 8


正确答案:C

第9题:

以下程序的运行结果是______。 include fun(int a,int b) { int m=0,i=2; i+=m+1; m

以下程序的运行结果是______。

include<iostrearn.b>

fun(int a,int b)

{

int m=0,i=2;

i+=m+1;

m=i+a+b;

return m;

}

void main()

{int k=4,m=1,p;

p=fun(k,m);cout<<p<<end1;

}


正确答案:8
8

第10题:

有以下程序

#inculde <stdio.h>

#deFine N8

void Fun(int * x,int i)

main()

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

Fun(a,2);

For(i=0;i<N/2;i++)

{ printF(“%d”,a[i]);}

PrintF(“\n”);

}

程序运行后的输山结果是

A.1313

B.2234

C.3234

D.1234


正确答案:C
解析:fun函数的功能是把数组下标为i的值赋值给a[0],所以执行fun(a,2)后,数组前4个数字为3、2、3、4,故选择C。

更多相关问题