单选题已知函数fun的原型为int fun(int,int,int);下列重载函数原型中错误的是(  )。A char fun(int,int);B double fun(int,int,double);C int fun(int,char*);D float fun(int,int,int);

题目
单选题
已知函数fun的原型为int fun(int,int,int);下列重载函数原型中错误的是(  )。
A

char fun(int,int);

B

double fun(int,int,double);

C

int fun(int,char*);

D

float fun(int,int,int);


相似考题
更多“单选题已知函数fun的原型为int fun(int,int,int);下列重载函数原型中错误的是(  )。A char fun(int,int);B double fun(int,int,double);C int fun(int,char*);D float fun(int,int,int);”相关问题
  • 第1题:

    若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是( )。

    A.void fun(int a=90,double b=0.0);

    B.int fun(int a,double B);

    C.void fun(double a,int B);

    D.bool fun(int a,double b=0.0);


    正确答案:C
    解析:此题考查的是函数重载。在C++语言中,允许定义一系列函数名相同,但形参的个数和类型不完全相同的函数,即函数的重载。重载函数对返回值类型不做要求,返回值类型也不参与区分函数的重载形式。选项A)中参数表相同,返回类型也相同,所以错误。选项B),选项D)中相同参数表,不同返回类型所以错误。

  • 第2题:

    若各选项中所用变量已正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是( )。

    A.main() {……x=fun(2,10);……} float fun(int a,int b){……}

    B.float fun(int a,int b){……} main() {……x=fun(i,j);……}

    C.float fun(int,int); main() {……x=fun(2,10);……} float fun(int a,int b){……}

    D.main() {float fun(int I,intj); ……x=fun(i,j);……} float fun(int a,int b){……}


    正确答案:A
    解析:C语言规定,函数必须先定义,后调用(函数的返回值类型为int或char时除外)。在选项A)中,调用的子函数在调用后面定义,所以不正确。在选项B)、C)中,被调用函数在主调函数之前定义,再在主函数中调用,所以是正确的;在选项D)中,在主调函数中先对子函数float fun(int i,int j)进行了定义,然后进行调用。

  • 第3题:

    以下正确的函数原型语句是( )。

    A、double fun(int x,int y)

    B、double fun(int x;int y)

    C、double fun(int,int);

    D、double fun(int x,y);


    参考答案C

  • 第4题:

    若有以下函数首部: int fun(double x[10],int *n) 则下面针对此函数的函数声明语句中正确的是( )。

    A.int fun(double x, int *n);

    B.int fun(double, int);

    C.int fun(double *x, int n);

    D.int fun(double*, int*);


    正确答案:D
    解析:本题中的fun函数有两个参数,一个类型是double型一维数组,另—个是int型指针。而在C语言中,一维数组用作函数参数和该数组元素的指针类型是等价的。所以本题的正确答案是选项D。

  • 第5题:

    已知函数fun的原型为

    int fun(int,int,int);

    下列重载函数原型中错误的是

    A.char fun(int,int);

    B.double fun(int,int,double);

    C.int fun(int,char木);

    D.float fun(int,int,int);


    正确答案:D
    解析:重载函数至少要在参数个数或参数类型上有所不同。选项D)的重载函数只有返回值不同,其他(参数个数及类型)完全相同。因此,本题答案为D)。

  • 第6题:

    若各选项中所有变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是______。

    A.mam() {…… x=fun(2,10); ……} fioat fun(int a,int b) { ……}

    B.float fun (int a,int b) {……} main() {…… x=fun(i,j); ……}

    C.float fun (int int); main() {…… x=fun(2,10); ……} float fun (int a,int b){ ……}

    D.main() { float fun (int i, int j); …… x=fun(i,j); ……} float fun (int a,int b){ ……}


    正确答案:A
    解析:C语言程序是由—个主函数和若干个其他函数组成的,主函数的函数名为:main(),main()函数在程序中的位置是任意的。C语言程序是从main()函数开始执行,当程序中定义了多个函数时,通常情况下是先定义后调用,若被调函数定义在主调函数之后,则必须先声明后调用。在选项A中,先执行main()函数,此时对fun()函数进行调用,由于fun函数在此调用之前无定义也无声明,故无法正常识别调用,所以选项A的程序错误。

  • 第7题:

    下列重载函数中,正确的是( )。

    A.void fun(int a,float b);void fun(int C,float d)

    B.void fun(int a,float b);void fun(float a,int b)

    C.float fun(int a,float b);int fun(int b,float a)

    D.int fun(int a,int b);float fun(int a,int b)


    正确答案:B

  • 第8题:

    下面给出的四个关于函数定义形式中,正确的是()。

    • A、double FUN(int x,int y);
    • B、double FUN(int x,int y)
    • C、double FUN(int x;int y);
    • D、double FUN(int x,y)

    正确答案:B

  • 第9题:

    已知一个函数的定义如下:double fun(int x,double y){⋯⋯}则该函数正确的函数原型声明为()

    • A、double fun(intx,doubley)
    • B、fun(int x,doubley)
    • C、double fun(int,double);
    • D、fun(x,y);

    正确答案:C

  • 第10题:

    以下正确的函数定义形式是()。

    • A、double FUN(int x;int y)
    • B、double FUN(int x,int y)
    • C、double FUN(int x,int y);
    • D、double FUN(int x,y)

    正确答案:B

  • 第11题:

    单选题
    若有函数定义:double fun(int a[10]){...},则在对该函数进行原型声明时,错误的声明语句是()
    A

    double fun(int[])

    B

    double fun(intb[10])

    C

    double fun(inta)

    D

    double fun(int*a)


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

  • 第12题:

    单选题
    若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是(  )。
    A

    void fun(int a=90,double b=0.0);

    B

    int fun(int a,double B);

    C

    void fun(double a,int B);

    D

    bool fun(int a,double b=0.0);


    正确答案: B
    解析:
    函数重载的原则是至少要在参数个数或参数类型上有所不同。如果只是函数的返回值类型不同,而其他完全相同,则不能作为重载函数来使用。

  • 第13题:

    ( 21 )已知函数 fun 的原型为

    int fun ( int,int,int ) ;

    下列重载函数原型中错误的是

    A ) char fun ( int,int ) ;

    B ) double fun ( int,int,double ) ;

    C ) int fun ( int,char* ) ;

    D ) float fun ( int, int, int ) ;


    正确答案:D

  • 第14题:

    以下正确的函数头定义形式是

    A.double fun(int x,int y)

    B.double fun(int x;int y)

    C.double fun(int x,int y);

    D.double fun(int x,y);


    正确答案:A

  • 第15题:

    以下正确的函数原型语句是(48)。

    A.double fun(int x,int y);

    B.double fun(int x;int y);

    C.double fun(int,int);

    D.double fun(int x,y);


    正确答案:C
    解析:函数原型不必包含参数的名字,而只要包含参数的类型。函数原型和函数定义在返回类型、函数名和参数表上必须完全一致。

  • 第16题:

    若有以下函数首部 int fun(double x[lO],int *n) 则下面针对此函数的函数声明语句中正确的是______。

    A.int fun(double x, int *n);

    B.int fun(double, int);

    C.int fun(double *x, int n);

    D.iht fun(double*,int*);


    正确答案:D
    解析:函数声明可以照写已定义的函数的首部,再加一个号就成为了对函数的声明,在函数声明中也可以不写形参名,而只写形参的类型,但要保证与函数首部写法上的—致,即函数类型、函数名、参数个数、参数类型和参数顺序相同。字符数组可用指针来表示,所以选顶D正确。

  • 第17题:

    若有以下函数首部:

    int fun(double x[10],int*n)

    则下面针对此函数的函数声明语句中正确的是( )。

    A.int fun(double,int);

    B.int fun(double木,int*);

    C.int mn(double*x,int n);

    D.int fun(double x,intint*n)


    正确答案:B
    函数声明的一般形式为:“类型说明符被调函数名(类型形参,类型形参,……);”或“类型说明符被调函数名(类型,类型,……);”由于函数首部为intfun(doublex[10],int*n),因此B选项正确。

  • 第18题:

    若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是

    A.void fun(int a=90,double b=0.0);

    B.int fun(int a,double B) ;

    C.void fun(double a,intB) ;

    D.bool fun(int a,double b=0.0);


    正确答案:C

  • 第19题:

    若下列各选项中所有变量已正确定义,函数fun通过return语句返回一个函数值,以下选项中错误的程序是( )。

    A.main( ) {...... x = fun(2,10);......} float fun(int a, int b){......}

    B.float fun( int a,int b){......} main( ) {......x = fun(i,j);......}

    C.float fun(int, int); main( ) {......x=fun(2,10);......} float fun(iht a, int b){......}

    D.main( ) { float fun(int i, int j); ...... x = fun(i,j);......} float fun(int a,int b) {......}


    正确答案:A
    解析:C语言程序从main函数开始执行,当程序中定义了多个函数时,通常情况下是先定义后调用。若被调用函数定义在主调函数之后,则必须先声明后调用。在选项A)中,先执行main函数,并调用了fun函数,而fun函数在此调用之前无定义也无声明,故无法正常识别调用,所以错误。

  • 第20题:

    若有函数定义:double fun(int a[10]){...},则在对该函数进行原型声明时,错误的声明语句是()

    • A、double fun(int[])
    • B、double fun(intb[10])
    • C、double fun(inta)
    • D、double fun(int*a)

    正确答案:C

  • 第21题:

    下面的方法重载,正确的是()。

    • A、int fun(int a, float b) { }  float fun(int a, float b) { }
    • B、float fun(int a, float b) { } float fun(int x, float y) { }
    • C、float fun(float a) { }  float fun(float a, float b) { }
    • D、float fun1(int a, float b) { }  float fun2(int a, float b) { }

    正确答案:C

  • 第22题:

    单选题
    下列重载函数中,正确的是(  )。
    A

    void fun(int a,float b);void fun(int C,float d)

    B

    void fun(int a,float b);void fun(float a,int b)

    C

    float fun(int a,float b);int fun(int b,float a)

    D

    int fun(int a,int b);float fun(int a,int b)


    正确答案: D
    解析:
    函数重载是指同一函数名可以对应多个函数实现。进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同,只有返回类型不同的函数不能重载。

  • 第23题:

    单选题
    若有以下函数首部int fun(double x[10],int*n)则下面针对此函数的函数声明语句中正确的是(  )。
    A

    int fun(double*,int*);

    B

    int fun(double,int);

    C

    int fun(double *x,int n);

    D

    int fun(double x,int*n);


    正确答案: B
    解析:
    函数声明应该和函数调用的参数保持一致,声明时的参数(形参)名字可以省略,数组在参数传递过程中变成指针。答案选择A选项。

  • 第24题:

    单选题
    已知函数fun的原型为int fun(int,int,int);下列重载函数原型中错误的是(  )。
    A

    char fun(int,int);

    B

    double fun(int,int,double);

    C

    int fun(int,char*);

    D

    float fun(int,int,int);


    正确答案: A
    解析:
    重载函数的原则是至少要在参数个数或参数类型上不同。A项正确,参数个数与函数fun不同;B项正确,最后一项参数类型与函数fun不同;C项正确,参数个数与参数类型与函数fun不同;D项错误,只有函数返回类型不同,而其他完全相同,不能作为重载函数来使用。