第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题:
有以下程序 #include<stdi0.h> void fun(int n,int*p) ( int f1,f2; 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",s); } 程序的运行结果是( )。
A.2
B.3
C.4
D.5
第3题:
有以下程序
#include <stdio.h>
#define f(x) x*x*x
main()
{ int a=3,s,t;
s=f(a+1);t=f((a+1));
printf("%d,%d\n",s,t);
}
程序运行后的输出结果是
A)10,64
B)10,10
C)64,10
D)64,64
第4题:
有以下程序: #include<iostream> using namespace std; int f(int x); int sum(int n) { int x,s=0; for(x = 0;x<=n;x++) s+=f(x); return s; } int f(int x) { return (x*x+1); } int main() { int a,b; cout<<"Enter a integer number:"; cin>>a; b=sum(a) ; cout<<a<<","<<b<<end1; return 0; } 如果输入数字3,其输出结果是( )。
A.3,12
B.3,16
C.3,18
D.4,20
第5题:
以下程序通过函数sunFun求。这里f(x)=x2+1
main( )
{ printf("The sum=%d\n",SunFun(10)); }
SunFun(int n)
{ int x,s=0;
for(x=0;x<=n;x++) s+=F(【 】);
return s;
}
F( int x)
{ return 【 】);}
第6题:
以下程序段:
Functionjishu1(x!,eps#)AsDouble
Dimn%,s#,t#
n=1:s=0:t=1
DoWhile(Abs(t)>=eps)
s=s+t
t=t*x/n
n=n+1
Loop
jishu1=s
EndFunction
Subjishu2(s#,x!,eps#)
Dimn%,t#
n=1:s=0:t=1
DoWhile(Abs(t)>=eps)
s=s+t
t=t*x/n
n=n+1
Loop
EndSub
PrivateSubCommand1_Click()
Dimf1#,f2#
f1=jishu1(2#, 0.000001)
Calljishu2(f2,2#,0.000001)
Print"f1=";f1,"f2=";f2
EndSub
对程序说法正确的是( )
A.计算jishu1是调用子过程,而计算jishu2是调用函数
B.当程序运行单击命令按钮后,窗体中显示的f1和f2的结果不相同
C.当程序运行单击命令按钮后,窗体中显示的f1和f2的结果相同
D.以上说法都不正确
第7题:
第8题:
以下程序的输出结果是 #include<stdio.h> in[fun(int n,int *s) {int n,f2; if(n==0‖n==1) *s=1; else {fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2; }} void main() { int x; fun(6,&x); pfintf("\n%d",x);}
A.7
B.13
C.9
D.10
第9题:
以下程序的输出结果是( )。 #include<stdio.h> int fun(int n,int *s) { int f1,f2; if(n==0||n==1) *s=1; else { fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2; } } void main() { int x; fun(6,&x); printf("\n%d" ,x);}
A.7
B.13
C.9
D.10
第10题:
有以下程序
#include<stdio.h>
#define f(X)X*X*X
main( )
{int a=3,s,t;
s=f(a+1);t=f((n+1));
printf(“%d,%d\n”,s,t);
}
程序运行后的输出结果是
A.10,64
B.10,10
C.64,10
D.64,64