itgle.com

若要表达从1计算到n的运算组合式,(* …(* (* (* (* 1 1) 2) 3) 4) …n) 定义一个过程。正确的定义为_____。A.(define (f product counter max-count) (cond ((> counter max-count) product) ((<= counter max-count) (f (* counter product) (counter 1) max-count )) ))#B.(define (f product counter max

题目

若要表达从1计算到n的运算组合式,(* …(* (* (* (* 1 1) 2) 3) 4) …n) 定义一个过程。正确的定义为_____。

A.(define (f product counter max-count) (cond ((> counter max-count) product) ((<= counter max-count) (f (* counter product) (counter 1) max-count )) ))#B.(define (f product counter max-count) (f (* counter product) (counter 1) max-count ))#C.(define (f product counter max-count) (cond ((> counter max-count) product) ((<= counter max-count) (f (counter*product) (counter+ 1) max-count )) ))#D.(define (f prod

相似考题
参考答案和解析
C
更多“若要表达从1计算到n的运算组合式,(* …(* (* (* (* 1 1) 2) 3) 4) …n) 定义一个过程。正确的定义为_____。”相关问题
  • 第1题:

    ( 21 )计算斐波那契数列第 n 项的函数定义如下:

    Int fib(int n){

    if (n == 0) return 1;

    else if (n == 1) return 2;

    else return fib(n-1)+fib(n-2);

    }

    若执行函数调用表达式 fib(2) ,函数 fib 被调用的次数是

    A ) 1

    B ) 2

    C ) 3

    D ) 4


    正确答案:C

  • 第2题:

    以下能正确定义数组并正确赋初值的语句是

    A.int N=5,b[N][N];

    B.int a[1][2]={{1},{3}};

    C.int c[2][ ]={{1,2},{3,4}};

    D.int d[3][2]={{1,2},{3,4}};


    正确答案:D

  • 第3题:

    有如下函数模板定义: template T1 Fun(T2 n){return n*5.0;} 若要求

    有如下函数模板定义:

    template<typename T1, Typename T2>

    T1 Fun(T2 n){return n*5.0;}

    若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为( )。

    A) FUN(9)

    B) FUN<9>

    C) FUN<double>[9]

    D) FUN<9>(doubl

    A.

    B.

    C.

    D.


    正确答案:C

  • 第4题:

    若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值()。

    A.0

    B.1

    C.12

    D.6


    正确答案:A

  • 第5题:

    设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为______。

    A.1

    B.2

    C.3

    D.0


    正确答案:B

  • 第6题:

    定义结构体数组:

    A.2A3N4A5U

    B.112A3H4I

    C.1A2N3A4U

    D.2H3A4H5I


    正确答案:A
    本题主要考查结构体数组的使用。x[i].num为结构体xl-i]中的hum成员,x[i].num[2]是结构体x[i]中name成员的第3个元素。程序执行循环过程时:第1次循环,i=1,输出x[i].num,x[1].name[2]的值;第2次循环,i=2,输出x[2].num,x[2].name[2]的值,即3N;第3次循环,i=3,输出x[3].num,x[3].name[2]的值,即4A;第4次循环,i=4,输出x[4].num,x[4].name[2]的值,即5U。

  • 第7题:

    将数学表达式写成VBA的表达式,其正确的形式是( )。

    A.a^(2 * n+1)/(b^(2 * n-1)*c)^4

    B.(a^(2 * n+1)/(b^((2*n-1)*c)))^4

    C.(a^(2 * n+1)/(b^(2 * n-1)*c))^4

    D.a^((2 * n+1)/b^((2 * n-1) * c))^4


    正确答案:C

  • 第8题:

    下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!=n*(n-1)*...*2*1)

    unsigned fact (unsigned n)

    {

    if(n<=1)

    retum 1;

    return【 】;

    }


    正确答案:n*fact (n-1)
    n*fact (n-1) 解析:本题考核递归函数。一般递归函数由递归出口和递归体两部分组成。递归出口给出了递归终止的条件;递归体给出了递归的方式。题中程序给出了递归出口,但是没有给出递归体,由阶乘的定义可知其递归体应该为n*fact (n-1)。

  • 第9题:

    一个物理ID是由()和()来唯一定义。

    • A、N^(1)
    • B、N^(2)
    • C、N^(3)
    • D、N^(4)

    正确答案:A,B

  • 第10题:

    X=n4n3n2n1,它的奇校验码表达式为()


    正确答案:n4⊕n3⊕n2⊕n1⊕1

  • 第11题:

    以下能正确定义数组并正确赋初值的语句是()

    • A、int N=5,b[N][N];
    • B、int a[1][2]={{1},{3}};
    • C、int c[2][]={{1,2},{3,4}};
    • D、int d[3][2]={{1,2},{34}};

    正确答案:D

  • 第12题:

    有以下宏定义#defineN2#defineY(n)((N+1)*n)则表达式z=2*(N+Y(5));的值为()

    • A、34
    • B、70
    • C、无定值
    • D、表达式有误

    正确答案:A

  • 第13题:

    一个物理ID是由()来唯一定义。

    A、N^(1)

    B、N^(2)

    C、N^(3)

    D、N^(4)


    参考答案:AB

  • 第14题:

    计算斐波那契数列第n项的函数定义如下: intfib(intn){ if(n==0)returnl; elseif(n==l)return2: elsereturnfib(n-1)+fib(n-2); } 若执行函数调用表达式fib(2),函数fib被调用的次数是( )。

    A.1

    B.2

    C.3

    D.4


    正确答案:C
    C。【解析】针对递归调用的含义。当n为2时有fib(o),fib(1),fib(2)被调用,且fib(O),fib(1)时调用结束,即共3次。

  • 第15题:

    设有如下程序: Private Sub Command1_Click() Dim sum As Double,x As Double sum=0 n=0 For i=1 To 5 x=n/i n=n+1 sum=sum+x Next End Sub 该程序通过For循环计算一个表达式的值,这个表达式是 ______。

    A.1+1/2+2/3/4+4/5

    B.1+1/2+2/3+3/4

    C.1/2+2/3+3/4+4/5

    D.1+1/2+1/3+1/4+1/5


    正确答案:C
    解析:本题考查循环语句,其过程如下:
      i=1时,x=0/1=0,n=0+1=1,sum=0+0;
      i=2时,x=1/2,n=1+1=2,sum=0+1/2;
      i=3时,x=2/3,n=2+1=3,sum=0+1/2+2/3;
      i=4时,x=3/4,n=3+1=4,sum=0+1/2+2/3+3/4;
      i=5时,x=4/5,n=4+1=5,sum=0+1/2+2/3+3/4+4/5。

  • 第16题:

    以下能正确定义数组并正确赋初值的语句是( )。

    A.int N=5,b[N][N];

    B.int a[1][2]={{1},{3}};

    C.intc[2][]={{1,2},{3,4}};

    D.int d[3][2]={{1,2},{34}};


    正确答案:D
    解析:选项A中,数组的长度使用了变量N,而在C语言中是不能用变量来定义数组的长度的,故选项A错误。在C语言中,给二维数组赋初值时,行数不能超过定义的行数,每行的初值个数不能超过定义时的列数,故选项B错误。选项C数组的第二维下标默认,而在C语言中,数组的第二维下标不能默认,故选项C错误。所以,D选项为所选。

  • 第17题:

    计算斐波那契数列第n项的函数定义如下: intfib(intn){ if.(n==0)return1; elseif(n==1)return2: elsereturnfib(n-1)+fib(n-2); } 若执行函数调用表达式fib(2),函数fib被调用的次数是( )。

    A.1

    B.2

    C.3

    D.4


    正确答案:C
    C。【解析】根据递归调用的含义,当n为2时有fib(o),fib(1),fib(2)被调用,且fib(0),fib(1)时调用结束,共3次。

  • 第18题:

    有如下类模板定义:

    template<typenameT>

    classBigNumber{

    longn;

    public;

    BigNumber{Ti}:n(i){}

    BigNumberoperator+(BigNumberb){

    returnBigNumber{n+b.n);

    }

    };

    已知b1、b2是BigNumber的两个对象,则下列表达中踏误的是( )。

    A.b1+b2

    B.b1+3

    C.3+b1

    D.3+3


    正确答案:C
    C。【解析】该题考查了C++模板类和+运算符重载的知识,3+b1时,程序不能将b1转化为整型,所以编译会出错。

  • 第19题:

    以下能正确定义数组并正确赋初值的语句是

    A.int N=5,b[N][N];

    B.int a[1][2]={{1},{3}};

    C.int c[2][1]={{1,2},3,4}};

    D.int d[3][2]={{1,2},{34}};


    正确答案:D
    解析:选项A中,数组的长度使用了变量N,而在C中是不能用变量来定义数组的的长度的。在C语言中,给二维数组赋初值时,行数不能超过定义的行数,每行的初值个数不能超过定义时的列数。选项C数组的第二维下标缺省,而在C语言中,数组的第二维下标不能缺省。

  • 第20题:

    设有如下定义:int a=1,b=2,c=3,d=4,m=5,n=6;则执行表达式:(m=a>b)‖(n=c>d)后,n的值是()    

    • A、1
    • B、0
    • C、5
    • D、6

    正确答案:B

  • 第21题:

    有定义:int a[10], n, *p1=a,*p2=&a[9];,则正确的赋值语句为()。

    • A、n=p2-p1;
    • B、n=p2*p1;
    • C、n=p2+p1;
    • D、n=p1/p2;

    正确答案:A

  • 第22题:

    以下能正确定义数组并赋初值正确的语句是:()。

    • A、intN=5,b[N][N];
    • B、inta[1][2]={{1},{3}};
    • C、intc[2][]={{1,2},{3,4}};
    • D、intd[3][2]={{1,2},{3,4}};

    正确答案:D

  • 第23题:

    定义:intm=5,n=3;则表达式m/=n+4的值是(),表达式m=(m=1,n=2,n-m)的值是(),表达式m+=m-=(m=1)*(n=2)的值是()-2。


    正确答案:5;1;-2

  • 第24题:

    单选题
    若有以下定义和语句: struct st {  int n;  struct st*next; }; struct st a[3] = {5,&a[0], 6,&a[1],7,&a[2]}, *p; p = &a[0]; 则值为6的表达式是(提示:运算符->的优先级高于++)(  )。
    A

    (*p).n++

    B

    p++->n

    C

    p->n++

    D

    (++p)->n


    正确答案: B
    解析:
    定义指向结构体变量的指针p,并将结构体数组首地址赋给p。执行(++p)->n,p指针加一指向数组第二个元素a[1],a[1].n=6,D项正确。A项,(*p).n++,*p为结构体数组第一个元素a[0],a[0].n=5,先取值,表达式为5。B项,p++->n,p指向结构体数组第一个元素a[0],a[0].n=5。C项,p->n++,p指向结构体数组第一个元素a[0],a[0].n=5,由于++是后缀,先取值,所以表达式为5,之后再加一。答案选择D选项。