itgle.com

有如下程序: include using namespace std; int main(){ int f, f1=0, f2=1; for(int有如下程序:#include<iostream>using namespace std;int main(){int f, f1=0, f2=1;for(int i=3; i<=6; i++) {f=f1+f2;f1=f2; f2=f;}cout<<f<<end1;return 0;}运行时的输出结果是( )。A) 2B) 3C) 5D) 8A.B.C.D.

题目
有如下程序: include using namespace std; int main(){ int f, f1=0, f2=1; for(int

有如下程序:

#include<iostream>

using namespace std;

int main(){

int f, f1=0, f2=1;

for(int i=3; i<=6; i++) {

f=f1+f2;

f1=f2; f2=f;

}

cout<<f<<end1;

return 0;

}

运行时的输出结果是( )。

A) 2

B) 3

C) 5

D) 8

A.

B.

C.

D.


相似考题
参考答案和解析
正确答案:C
解析:在主函数中for循环语句执行4次,第一次循环结束时,变量f的值等于1,f1的值等于1,f2的值等于1;第二次循环结束时,变量f的值等于2,f1的值等于1,f2的值等于2;第三次循环结束时,变量f的值等于3,f1的值等于2,f2的值等于3;第四次循环结束时,变量f的值等于5,f1的值等于3,f2的值等于5;结束循环。
更多“有如下程序: #include<iostream> using namespace std; int main(){ int f, f1=0, f2=1; for(int ”相关问题
  • 第1题:

    有以下程序 int fa(int x) {return x*x;} int fb(int x) {return x*x*x;} int f(int(*f1)(),int(*f2)(),int x) { return f2(x)-f1(x);} main() {int i; i=f(fa,fb,2);pfintf(“%d\n”,i); } 程序运行后的输出结果是

    A.-4

    B.1

    C.4

    D.8


    正确答案:C
    解析:函数f()有3个形式参数f1、f2和x,其中f1、f2是指向函数的指针变量。在main()函数中执行了函数调用“f(fa,fb,2)”,从而使f()的形式参数f1指向了fa,形式参数f2指向了fb,把实参2传给了形参变量x。函数f()中的return语句相当于“fb (2)-fa(2)”(fb(2)的返回值为2*2*2=8,fa(2)返回值为2*2=4)即(8-4),值为4。函数f()执行后把返回值4赋给了i,输出i的值是4。

  • 第2题:

    有以下程序:includeiht fun(iht n,int*p){int f1,f2;if(n==1||,n==2)*p=1;else{fun(n-

    有以下程序: #include<stdio.h> iht fun(iht 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\n",s); } 程序的运行结果是______。

    A.2

    B.3

    C.4

    D.5


    正确答案:A
    解析: 本题考查的重点是理解递归函数。fun()为递归函数,递归结束条件时n为1或2,从而fun(3,&s)得fun(2,&s)+fun(1,&s)=1+1=2,因此选项A是正确的。

  • 第3题:

    有以下程序: int fa(int x) { return x *x;} int fb(int x) { return x *x *x;} int f(int( *f1)( ),int( *f2)( ),int x) { return f2(x)-f1(x);} main( ) { int i; i=f(fa,fb,2);printf("%d\n",i); } 程序运行后的输出结果是

    A.-4

    B.1

    C.4

    D.8


    正确答案:C
    解析:本题考点是函数之间的参数传递。

  • 第4题:

    有以下程序: int fa(int x) { return x*x;) int fb(int x) { return x*x*x;} int f(int (*f1)().int (*f2)(),int x) { return f2(x)-f1(x); } main() { int i; i=f(fa,fb,2);printf("%d\n",i); } 程序运行后的输出结果是( )。

    A.-4

    B.1

    C.4

    D.8


    正确答案:C
    解析:函数f()有3个形式参数f1、f2和x,其中f1、f2是指向函数的指针变量。在main()函数中执行了函数调用“f(fa,fb,2)”,从而使f()的形式参数f1指向了fa,形式参数f2指向了fb,把实参2传给了形参变量x。函数f()中的return语句相当于“fb(2)-fa(2)” (fb(2)的返叫值为2*2*2=8,fa(2)返回值为2*2=4)即(8-4),值为4。函数f()执行后把返回值4赋给了i,输出i的值是4。所以4个选项中C正确。

  • 第5题:

    有以下程序: int fa(int x) { return x*x; } int fb(int x) { return x*x*x; } int f(int (*f1)(),int (* f2)(),int x) { return (*f2)(x)-(*f1)(x); } main() { int i; i=f(fa,fb,2); printf("%d\n",i); } 程序运行后的输出结果是( )

    A.-4

    B.1

    C.4

    D.8


    正确答案:C