有以下程序: #include<stdio.h> int f(int t[],int n); main( ) {int a[4]={1,2,3,4},s; s=f(a,4);printf("%d\n",s); int f(int t[],int n) {if(n>0)return t[n-1]+f(t,n-1); else return 0; } 程序运行后的输出结果是( )。
A.4
B.10
C.14
D.6
第1题:
有以下程序:
includedstdio.h>
int f(int n);
main( )
{int a=3,s;
s=f(a);s=s+f(a);printf("%dkn",s);
}
int f(int n)
{static int a=1;
n+=a++;
return n;
}
程序运行后的输出结果是( )。
A.7
B.8
C.9
D.10
本题考查函数的调用。当执行s=f(a)时,进入fun函数,n=n+(a++),n的值为3,a的值为1,a++的意思是先用a的值,再将a加1为2,所以n的结果为4,也就是主函数中f(a)的结果为4;返回主函数,执行s=s+f(a),s为4,再次调用函数,此时n仍为3,a的值刚才已经自加2,所以计算后n的值为5,a自加l为3。返回主函数,f(a)的结果为5,所以s=4+5=9。
第2题:
以下程序的输出结果是______。 fun(int *s,int *p) { static int t=3; *p=s[t]; t--; } main() { int str[]={1,2,3,4},i,m=0; for(i=0;i<4;i++) {fun(str,&m); printf("%d",m); } printf("\n"); }
A.0
B.444412
C.1234
D.4321
第3题:
有以下程序
int a=4;
int f(int n)
{ int t=0; static int a=5;
if(n%2) {int a=6; t+=a++;}
else {int a=7 ;t +=a++ ; }
return t+a++ ;
}
main( )
{ int s=a , i=0 ;
for( ; i 〈 2 ; i++) s+=f(i);
printf ("%d\n",s);
}
程序运行后的输出结果是
A)24
B)28
C)32
D)36
第4题:
有以下程序 #include <stdio.h> void fun(int n, int *p) { int f1,t2; if(n==1 ||n==2) *p=1; else { fun(n-1,&f1); fun(n-2,&f2); *p=f1+f2; } } main() { int s; fun(3,&s); printf("%d\n", s ); }
A.2
B.3
C.4
D.5
第5题:
有以下程序:
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;
第6题:
有以下程序: #include<string.h> int a=4; int f(int n) {int t=0;static int a=5; if(n%2) {int a=6;t++=a++;} else{int a=7;t+=a++;} return t+a++; } main() {int s=a,i=0; for(;i<2;i++)s+=f(i); printf("%d\n",s); } 程序运行后的输出结果是( )。
A.24
B.28
C.32
D.36
第7题:
有以下程序: #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,
第8题:
( 33 )有以下程序
#include <studio.h>
int f ( int t[],int n ) ;
main
{ int a[4]={1,2,3,4},s;
s=f ( a,4 ) ; printf ( " %d\n " ,s ) ;
}
int f ( int t[],int n )
{ if ( n>0 ) return t[n-1]+f ( t,n-1 ) ;
else return 0 ;
}
程序运行后的输出结果是
A ) 4
B ) 10
C ) 14
D ) 6
第9题:
有以下程序: int a=2; int f(int n) { static int a=3; int t=0; if(n % 2)(static int a=4; t+=a++;} else{static int a=5; t+=a++;} return t+a++; } matin() { int s=a, i; for(i=0; i<3; i++)s+=f(i); printf("% d\n", s); } 程序运行后的输出结果是______。
A.26
B.28
C.29
D.24
第10题:
请选出以下程序的输出结果 #include<stdio.h> main() { int a[]={1,2,3,4},i; int x=0; for(i=0;i<4;i++) { sub(a,x);printf("%d",x);} printf("\n");} sub(s,y) int*s,y; { static int t=3; y=s[t];t--; }
A.1 2 3 4
B.4 3 2 1
C.0
D.4444