若同时定义了下列四个选项格式的函数和模板,fun(8,3.1)调用的是()A.template<class T1,class T2)fun(T1,T2)B.fun(double,int)C.fun(double,int)D.fun(double,char)

题目

若同时定义了下列四个选项格式的函数和模板,fun(8,3.1)调用的是()

A.template<class T1,class T2)fun(T1,T2)

B.fun(double,int)

C.fun(double,int)

D.fun(double,char)


相似考题
参考答案和解析
template
更多“若同时定义了下列四个选项格式的函数和模板,fun(8,3.1)调用的是()”相关问题
  • 第1题:

    有以下函数定义: void fun(int n, double x) {……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。

    A.fun(int y,double m);

    B.k=fun(10,12.5);

    C.fun(x,n);

    D.void fun(n,x);


    正确答案:C
    解析:本题考查函数调用。函数调用时,实参前不需加类型说明,选项A)错误;题目中的函数没有返回值,所以选项B)错误;函数调用前不需要加类型说明,选项D)错误。

  • 第2题:

    有如下函数模板定义: 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

  • 第3题:

    有如下函数模板定义: template<typenameT1。typenameT2> T1FUN(T2n){returnn*5,0;} 若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为( )。

    A.FUN(9)

    B.FUN<9>

    C.FUN<double>(9)

    D.FUN<9>(double)


    正确答案:C
    C。【解析】函数返回类型是double型,则T1为double型,T2为int型才符合函数模板的定义。

  • 第4题:

    有以下函数定义: int fun(double a,doubleB){return a*b;} 若以下选项中所用变量都已正确定义并赋值,错误的函数调用是( )。

    A.if(fun(x,y)){……}

    B.z=fun(fun(x,y),fun(x,y));

    C.z=fun(fun(x,y)x,y);

    D.fun(x,y);


    正确答案:C

  • 第5题:

    设有如下函数定义

    int fun(int k)

    {if(k<1) return 0:

    else if(k==1) return 1:

    else return fun(k一1)+1:

    }

    若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是

    A.2

    B.3

    C.4

    D.5


    正确答案:B
    解析:函数fun总共被调用了3次,即fun(3)、fun(2)和fun(13)

  • 第6题:

    有以下函数定义; void fun(int n,double x){......} 若以下选项中的变量都已正确定义并赋值,则对函数fun正确调用语句是______。

    A.fun(int y,double m);

    B.k=fun(10,12.5);

    C.fun(x,n);

    D.void fun(n,x);


    正确答案:C
    解析:函数调用的一般形式为;函数名(实参表列);,实参与形参的个数应相等,类型应一致,在调用函数时,不要指定其返回类型,对于返回类型为void的函数,不能作为赋值表达式的组成部分,所以选C。

  • 第7题:

    有如下函数模板定义: template T1 fun(T1 a1) { return(al+a2+a3);

    有如下函数模板定义: template<typename T1,int a2,int a3> T1 fun(T1 a1) { return(al+a2+a3); } 则下列调用中正确的是( )。

    A.fun<int,4,3>(5);

    B.fun<4,3>(5);

    C.fun<int,int,int>(5);

    D.fun(5);


    正确答案:A
    解析: 类模板是类的抽象,类是类模板的实例。在调用时,尖括号内指定实际的类型名,在编译时,编译系统就用int取代类模板中的类型参数,这样就具体化了类模板。其中的参数为4,3。

  • 第8题:

    若主函数中有定义语句:int a[10],b[10],c;,在主函数前定义的fun函数首部为:void fun(int x[ ]),则以下选项中错误的调用语句是( )。

    A.fun(b);

    B.fun(&c);

    C.fun(&a[3]);

    D.fun(b[11]);


    答案:D 
    解析:fun函数的形式参数为一个数组,需要实参为一个地址,而b[11]是一个整型元素,参数类型不一致,且b[11]已经溢出,所以D项错误。 

  • 第9题:

    (32)设有如下函数定义

    int fun(int k)

    { if (k<1) return 0;

    else if(k==1) return 1;

    else return fun(k-1)+1;

    }

    若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是

    A)2

    B)3

    C)4

    D)5


    正确答案:B

  • 第10题:

    有以下函数定义voidfun(intn){…};若以下选项中的变量都已经正确定义且赋值则对函数fun的正确调用语句是()

    • A、fun(inty);
    • B、k=fun(10);
    • C、fun(x);
    • D、voidfun(n);

    正确答案:C

  • 第11题:

    函数定义为Fun(int&i),变量定义n=100,则下面调用正确的是()。

    • A、Fun(20)
    • B、Fun(20+n)
    • C、Fun(n)
    • D、Fun(&n)

    正确答案:C

  • 第12题:

    单选题
    对于函数定义:  void FUN(int n, double x)  {  … }  若以下选项中的变量都已定义并赋值,则对函数FUN的正确调用的语句是()。
    A

    k=FUN(x,n);

    B

    void FUN(n,x);

    C

    FUN(int y,double m);

    D

    FUN(10,12.5);


    正确答案: D
    解析: 暂无解析

  • 第13题:

    已知一个函数模板定义为: template T1 FUN(T2 n){return n*5.0;} 若

    已知一个函数模板定义为:

    template<typename T1, typename T2>

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

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


    正确答案:FUNdouble>(7)或FUNdoubleint>(7)
    FUNdouble>(7)或FUNdouble,int>(7) 解析:此题考查的是函数模板的调用。本题模板函数的返回值类型为T1,形参类型为T2。题目要求用int型参数7调用,并返回一个double型数据。故调用格式为FUNdouble,int>(7)。也可省略T2的类型int,简写为FUNdouble>(7)。

  • 第14题:

    有以下函数定义: void fun(int n,doub x) {……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。

    A.fun(int y,double m);

    B.k=fun(10,12.5);

    C.fun(x,n);

    D.void fum(n,x);


    正确答案:C
    解析:选项A中应将y和m前面的函数的类型说明符去掉,故选项A不正确;选项B中函数传了2个参数,其中一个为整型—个为浮点型,而fun()函数在定义时声明的2个参数,一个为整型一个为双精度型,其参数类型不一致,故选项B不正确;选项D在调用函数时,不应该再声明其返回类型,故选项D不正确。所以,4个选项中选项C符合题意.

  • 第15题:

    设有如下函数定义

    若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是( )。

    A.3

    B.2

    C.4

    D.5


    正确答案:A
    首先n=fun(3),3被当作参数传递进去,进行了第一次调用,3被当作参数传进去后,程序会执行语句elseretllnlfun(k—1)+1;进行第二次调用,而参数是3"1也就是2。2被当作参数传进去后,程序会执行语句elsereturnfun(1[一l)+1;进行第三次调用,而参数是2一l也就是1。l被当作参数传进去后。程序会执行语句elseif(k==1)returnl;不再递归调用,因此最终结果为3次,选项A)正确。

  • 第16题:

    有以下函数定义:void fun(int n, double x) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun正确调用的语句是A.fun(int y,double m); B.k=fun(10,12.5); C.fun(x,n); D.void fun(n,x);


    正确答案:C
    选项A中,fun(int y,double m);中变量y和m前不需要类型说明;因为函数fun(10,12.5)没有返回值,所以选项B错误;调用函数fun时,不需要在函数前面加上void,所以选项D错误。故本题的正确答案是选项C。

  • 第17题:

    以下程序的主函数中调用了在其面前定义的fun函数 #include<stdio.h> . . . main( ) {double a[15],k; k=fun(a); . . .

    } 则以下选项中错误的fun函数首部是( )。 、

    A.double fun(double a[l5])

    B.double fun(double *a) 。

    C.double fun(double a[])

    D.double fun(double a)


    正确答案:A
    由题可知fun的参数为变量,而a[15]为常量,所以答案为A。

  • 第18题:

    以下程序的主函数中调用了在其前面定义的fun函数

    #include<stdio.h>

    main()

    { double a[15],k;

    k=fun(a);

    .

    .

    .

    }

    则以下选项中错误的fun函数首部是

    A.double fun(double a[15])

    B.double fun(double *a)

    C.double fun(double a[])

    D.double fun(double a)


    正确答案:D
    解析:从主函数中调用fun函数的实参可以看出,形参应该是一个地址,不能省略前面的*号,D)选项的形参为一个double的值,所以不正确。

  • 第19题:

    有如下函数模板定义:

    template<typenameT1,typenameT2>

    T1FUN(T2n){returnn*5,0;}

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

    A.FUN(9)

    B.FUN<9>

    C.FUN(9)

    D.FUN<9>(double)


    正确答案:C
    C。【解析】函数返回类型是double型,则T1为double型,T2为int型才符合函数模板的定义。

  • 第20题:

    对下列程序的描述中,正确的是()。includeusing namespace std;int Fun(int,int);int m

    对下列程序的描述中,正确的是( )。 #include<iostream> using namespace std; int Fun(int,int); int main() { cout<<Fun(5,50)<<end1; return 0; } int Fun(int x,int y) { return x*x+y*y; }

    A.该函数定义正确,但函数调用方式错误

    B.该函数调用方式正确,但函数定义错误

    C.该函数的定义和调用方式都是正确的

    D.该函数的定义和调用方式都是错误的


    正确答案:C
    解析:函数定义时要给出函数类型、函数名、函数参数表和函数体。本程序的Fun()都做到了,所以此函数的定义也是正确的。该函数的定义和调用方式都是正确的。

  • 第21题:

    对于函数定义:  void FUN(int n, double x)  {  … }  若以下选项中的变量都已定义并赋值,则对函数FUN的正确调用的语句是()。 

    • A、k=FUN(x,n);
    • B、void FUN(n,x);
    • C、FUN(int y,double m);
    • D、FUN(10,12.5);

    正确答案:D

  • 第22题:

    在应用程序中用Private Function fun(x As Integer,y AsInteger)定义了函数fun,调用函数fun的过程中的变量I,J均定义为Integer型,能正确引用函数fun的是()。 ①fun(I,J) ②Callfun(I,3.65) ③fun(3.14,234) ④fun(245,231.5)

    • A、①③
    • B、②③④
    • C、①②③
    • D、①②③④

    正确答案:D

  • 第23题:

    单选题
    若主函数中有定义语句:int a[10],b[10],c;在主函数前定义的fun函数首部为void fun(int x[])则以下选项中错误的调用语句是(  )。
    A

    fun(b);

    B

    fun(&c);

    C

    fun(&a[3]);

    D

    fun(b[11]);


    正确答案: C
    解析:
    fun函数的形式参数为一个数组,需要实参为一个地址,而b[11]是一个整型元素,参数类型不一致,且b[11]已经溢出,所以D项错误。答案选择D选项。

  • 第24题:

    单选题
    以下程序的主函数中调用了在其前面定义的函数fun: #include  … main() {  double a[15],k;  k=fun(a);  … } 则以下选项中错误的fun函数首部是(  )。
    A

    double fun(double a[15])

    B

    double fun(double*a)

    C

    double fun(double a[])

    D

    double fun(double a)


    正确答案: D
    解析:
    由题目可知,fun函数中定义的应该是一个double型的指针变量。D项定义的是双精度型浮点数变量。答案选择D选项。