计算机二级

读程序:includef(int b[],int n){ int i,r;r=1;for(i=0;i读程序: #include <stdio.h> f(int b[],int n) { int i,r; r=1; for(i=0;i<=n;i++) r=r*b[i]; return r; } main() { int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3); printf("%d\n",x); } 上面程序的输出结果是( )。A.720B.120C.24D.6

题目
读程序:includef(int b[],int n){ int i,r;r=1;for(i=0;i<=n;i++)r=r*b[i];return r;}

读程序: #include <stdio.h> f(int b[],int n) { int i,r; r=1; for(i=0;i<=n;i++) r=r*b[i]; return r; } main() { int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3); printf("%d\n",x); } 上面程序的输出结果是( )。

A.720

B.120

C.24

D.6

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

第1题:

下面程序的输出结果是()。include f(int b[],int n){ int i,r;r = 1;for(i=0;i<=n;i++)

下面程序的输出结果是( )。 include <stcdio.h> f(int b[],int n) { int i,r; r = 1; for(i=0;i<=n;i++) r=r*b[i]; return r; } main() { int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3); printf("%d\n",x); }

A.720

B.120

C.24

D.6


正确答案:B
解析:主函数将数组a的数组名作为实参传递给函数f()。函数f()的功能是求数组a的前n+1个元素的积,函数返回值r =2*3*4*5=120。

第2题:

下列程序的输出结果是【】。include using namespace std;int main(){ int i=5; int &

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

include <iostream>

using namespace std;

int main()

{

int i=5;

int &r=i; r=7;

cout<<i<<end1;

return 0;

}


正确答案:7
7

第3题:

程序includeint f( int b[ ],int n){int i, r=1;for( i=0; i<=n; i++ ) r=r*b[i];returnr;} void main(){intx,a[ ]={1,2,3,4,5,6,7,8,9};x=f(a ,3);printf("%d\n", x );}程序执行后的结果是( )。

A.720

B.120

C.24

D.6


参考答案:C

第4题:

下列程序的输出结果是【】。 inClude using namespace std; int main() {int i=5;int &am

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

inClude<iostream>

using namespace std;

int main()

{

int i=5;

int &r=i;r=7;

cout<<i<<endl;

return0;

}


正确答案:7
7 解析:本题考核引用的概念和使用。C++的引用是一种赋值、发送和返回复杂数据结构的方法,应用这种方法,系统不需要负担额外的开销,节省内存空间。在程序中对引用的存取都是对它所引用的变量的存取。题中程序对i引用r赋值为7,则说明i的值也被赋为7。

第5题:

请读程序: include f(int b[],int n) { int i,r; r=l; for(i=0;i<=n;i++

请读程序: # include<stdio.h> f(int b[],int n) { int i,r; r=l; for(i=0;i<=n;i++)r=r*b[i]; return r; } main() { int x a[]={2,3,4,5,6,7,8,9}; x=f(a,3); printf ("%d\n",x); } 上面程序的输出结果是 ( )

A.720

B.120

C.24

D.6


正确答案:B

第6题:

有下列程序: include main() { FILE *fp; int a[10]={1,2,3},i,n;

有下列程序: #include <stdio.h> main() { FILE *fp; int a[10]={1,2,3},i,n; fp=fopen("d1.dat","w"); for(i=0;i<3;i++) fprintf(fp,"%d",a[i]); fprintf(fp,"\n"); fclose(fp); fp=open("d1.dat","r"); fscanf(fp,"%d",&n); fclose(fp); prinff("%d\n",n); 程序的运行结果是( )。

A.12300

B.123

C.1

D.321


正确答案:B
解析:本题考查以读和写的方式打开文件对文件内容操作的不同,fp=fopen("d1.dat","w");以可写的方式为输出建立新文本文件,调用printf输出“123”,fp=fopen("d1,dat","r");以只读的方式打开文本文件,不能对文件内容进行操作,故运行结果为选项B)。

第7题:

以下程序的执行结果是【】。 include int f(int b[],int n) { int i,r=1; for(i=0;i

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

include<iostream.h>

int f(int b[],int n)

{

int i,r=1;

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

r=r*b[i];

return r;

}

void main()

{

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

x=f(a,3);

cout<<x<<endl;

}


正确答案:24
24

第8题:

以下程序的输出结果是 ( ) main( ) { union { char i [2]; int k; } r; r. i[0]=2,r.i[1]=0; printf("%d\n",r,k); }

A.2

B.1

C.0

D.不确定


正确答案:A

第9题:

有以下程序: 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,并且只在编译时初始化一次。

第10题:

有以下程序 include int a=1; int f(int c) { stati

有以下程序 #include <stdio.h> int a=1; int f(int c) { static int a=2; c=c+1; return (a++) + c; } main() { int i, k=0; for(i=0;i<2;i++) { int a=3; k += f(a); k +=a; printf("%d\n",k); }

A.14

B.15

C.16

D.17


正确答案:A
解析:静态局部变量的作用域跟一般局部变量相同,都是从声明处开始到声明所在函数或语句块结束为止。但静态局部变量的生存周期却是从第1次执行到该静态局部变量的声明语句时起,直到程序结束。而—般局部变量的生存周期到离开它的作用域时就结束了。本题的f()函数中static int a=2;语句就声明了一个静态局部变量a,并初始化为2。主函数中,通过一个for循环连着调用了2次f()函数。两次调用形参c都为3,f()函数中让c增1变为4,然后输出(a++) +c,第1次调用a为2,所以输出结果为3+4=6,而第2次调用a被上次调用时的++运算符增1,所以为3,输出结果为3+4=7。所以主函数for循环结束后,k的值是13,下面一条k+=a;语句中的a是全局变量a,值为1。故最终输出结果是14,应该选择 A。

更多相关问题