计算机二级

有以下程序: #include #define N 4 void fun(int a[ ][N],int b[ ]) { int i; for(i=0;i main( ) { int i,j,x=0; for(i=0;iA.x=4B.x=6C.x=8D.x=12

题目

有以下程序: #include #define N 4 void fun(int a[ ][N],int b[ ]) { int i; for(i=0;i main( ) { int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<=3;j++) { if(j%2==0)continue;x++;} x++; } printf("x=%d\n",x); } 程序的运行结果是( )。

A.x=4

B.x=6

C.x=8

D.x=12

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

第1题:

该程序运行的结果是( )。

#include

#include

#define M 100

void fun(int m, int *a, int *n)

{ int i,j=0;

for(i=1;i<=m;i++)

if(i%7==0||i==0)

a[j++]=i;

*n=j;}

main()

{ int aa[M],n,k;

clrscr();

fun(10,aa,&n);

for(k=0;k

if((k+1) ==0)printf("\n");

else printf("M",aa[k]);

printf("\n");}


正确答案:
7

第2题:

有以下程序

#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。

第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题:

有以下程序:include void fun(iht * a,int i,int j){int t;if(i < j) {t=a[i];a[i] =

有以下程序:#include <stdio, h>void fun(iht * a,int i,int j){ int t; if(i < j) { t=a[i];a[i] =a[j] ;a[j]=t; i++;j--; fun(a,i,j);main ( ) int x[ ]: {2,6,1,8} ,i; fun(x,0,3); for( i=0;i <4;i ++ ) printf( "%2d" ,x[i] ); printf(" \n");

A.1268

B.8621

C.8162

D.8612


正确答案:C
解析:语句fun(x,0、3);中将数组名x作为实参,即把数组x的首地址传送给形参(指针a),使数组x与形参指针s共占同一段内存单元,在调用函数期间,如果形参数组x的值发生了改变,实参指针a的值也就改变了。程序中fun函数是递归调用函数,其运行过程是:第1次调用fun时,a=x,i=0,j=3,ij成立,a[0]与a[3]交换,a数组中的数变为{8,6,1,2},执行i++;j--;继续调用fun,此时i,j分别为1,2,ij成立,a[1]与a[2]交换,a数组中的数变为{8,1,6,2},执行i++j--;继续调用fun,此时i,j分别为2,1,ij不成立,递归调用结束。当返回主函数时,x数组中的数据就为{8,1,6,2}。

第5题:

以下程序的执行结果是【】。 include include void pnnt(int n) { if (n!=0

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

include<iostream.h>

include<iomanip.h>

void pnnt(int n)

{

if (n!=0)

{

Print(n-1);

for (int i=1;i<=n;i++)

cout<<setw(3)<<i;

cout<<endl;

}

}

void main()

{

print(4);

}


正确答案:1 12 123 1234
1 12 123 1234

第6题:

阅读下面程序: include int fun2(int m) { if(m%3==0) return 1; else return 0; }

阅读下面程序:

include <iostream.h>

int fun2(int m)

{

if(m%3==0)

return 1;

else

return 0;

}

void fun1(int m, int &s)

{

int i;

for (i=1; i<m; i++)

if(fun2(i))

S=S*i;

}

void main()

{

int n=9, s=2;

fun1(n, s);

cout<<s<<end1;

}

该程序的运行结果是【 】。


正确答案:36
36

第7题:

下列程序的输出结果是 #include"stdio.h" #define N 3 #define M 3 void fun(int a[M][N]) { printf("%d\n",*(a[1]+2));} main() { int a[M][N]; int i,j; for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j); fun(a);}

A.3

B.4

C.5

D.6


正确答案:B
解析:若有以下定义:inta[3][4],i,j;且当0=i3,0=j4,则可以有以下几种方式来引用数组中的第i行,第j列的元素:a[i][j],*(a[i]+j),*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。

第8题:

有以下程序:#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]的值不变。

第9题:

有以下程序:include define N 20fun(int a[] ,int n,int m){int i,j;for(i=m;i> :n;i

有以下程序: #include <stdio.h> #define N 20 fun(int a[] ,int n,int m) { int i,j; for(i=m;i> :n;i--) a[i+1] =a[i]; } main( ) { int i,a[N.] = 11,2.3,4,5,6,7,8,9,10[; fun( a,2,9) for(i =0;i<5;i ++ ) printf("% d" ,a[i] );程序运行后的输出结果是( )。

A.10234

B.12344

C.12334

D.12234


正确答案:C
解析:本题函数fun的作用是将指定的数组元素(下标从n~m)向后移一位。调用函数fun(a,2,9)将a[2]到a[9]的各元素依次向后移一位,最后a数组中各元素的值分别为1,2,3,3,4,5,6,7,8,9,10,程序输出数组的前5个元素:12334。

第10题:

下列程序的输出结果是

#include "stdio.h"

#define N 3

#define M 3

void fun(int a[M][N])

{ printf("%d\n",*(a[1]+2));}

main()

{ int a[M][N];

int i,j;

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

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

a[i][j]=i+j-(i-j);

fun(a);}

A.3

B.4

C.5

D.6


正确答案:B
解析:若有以下定义:int a[3][4],i,j;且当0<=i<3,0<=j<4,则可以有以下几种方式来引用数组中的第i行,第j列的元素:a[i][j],*(a[i]+j),*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。

更多相关问题