更多“单选题假设函数fun已经定义,其原型为“void fun(int a,int b=7,char*p=“**”);”,下列函数调用中错误的是(  )。A fun(5)B fun(5,8)C fun(6,“##”)D fun(0,0,“==”)”相关问题
  • 第1题:

    若有以下调用语句,则不正确的fun函数的首部是

    main()

    { …

    int a[50],n;

    fun(n, &a[9]);

    }

    A.void fun(int m, int x[])

    B.void fun(int s, int h[41])

    C.void fun(int p, int *s)

    D.void fun(int n, int a)


    正确答案:D

  • 第2题:

    已知函数fun的原型是“void fun(int *x, int &y);”,变量v1、v2的定义是“int v1, v2; ”,则下列选项中,对函数fun调用正确的是( )。

    A. fun(v1,&v2);

    B.fun(v1,v2);

    C.fun(&v1,v2);

    D.fun(&v1,&v2);


    参考答案:D

  • 第3题:

    下面正确的函数定义形式为( )。

    A.void fun();{}

    B.void fun(int x;int y) {}

    C.void fun() {}

    D.void fun(int x,y) {}


    正确答案:C
    解析:选项A函数声明与函数体之间没有分号;选项D形参之间用逗号隔开;选项D形参y没有类型。

  • 第4题:

    设有以下函数:

    void fun(int n,char*$s){……}

    则下面对函数指针的定义和赋值均正确的是

    A.void(*pf)( );pf=fun;

    B.void*Pf( );pf=fun;

    C.void*pf( ); *pf=fun;

    D.void(*pf)(int,char);nf=&fun;


    正确答案:A
    解析:函数指针的定义形式是:数据类型标识符(*指针变量名)( )。void(*pf)( )定义了一个没有返回值的函数指针pf,在给函数指针变量赋值时,只需给出函数名而不必给出参数。所以给pf赋值时,只把函数名fun赋给pf即可。所以正确答案为选项A)。

  • 第5题:

    设有以下函数:

    voidfun(intn,char}s){……}

    则下面对函数指针的定义和赋值均正确的是( )。

    A.void(*pf)(int,char);pf=&fun;

    B.void+pf( );pf=fun;

    C.void*pf( );*pf=fun;

    D.void(*pf)(int,char*);pf=fun;


    正确答案:D
    函数的参数可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。函数名代表函数的人口地址,指向函数的指针应该定义为void(+pf)()。如果定义为void·pf(),则表示函数pf返回值为一个基类型为void的指针。因此D选项正确。

  • 第6题:

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

    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

  • 第7题:

    对于函数定义:  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

  • 第8题:

    以下正确的函数原型为()

    • A、fun1(int x;int y);
    • B、void fun1(x,y);
    • C、void fun1(int x,y);
    • D、void fun1(int,int);

    正确答案:D

  • 第9题:

    有函数原型void fun8(int&);在下列选项中,正确的调用是()

    • A、int a=2.17;fun8(&a);
    • B、int a=15;fun8(a?3.14);
    • C、int b=100;fun8(b);
    • D、fun8(256);

    正确答案:C

  • 第10题:

    有说明语句int a[10];void fun(int*,int n);调用函数的正确语句是()

    • A、fun(a,10);
    • B、fun(a[0],10);
    • C、fun(*a,10);
    • D、fun(&a,10);

    正确答案:A

  • 第11题:

    单选题
    设有以下函数:void fun(int n,char* s){……}则下面对函数指针的定义和赋值均是正确的是(  )。
    A

    void(*pf)();pf=fun;

    B

    void * pf();pf=fun;

    C

    void * pf();* pf=fun;

    D

    void(* pf)(int,char);pf=&fun;


    正确答案: D
    解析:
    函数指针的一般定义形式为:
    返回值类型 (* 指针变量名) ([形参列表]);
    其中,“返回值类型”说明函数的返回类型,“(* 指针变量名)”中的括号不能省,括号改变了运算符的优先级。若省略整体则成为一个函数说明,说明了一个返回的数据类型是指针的函数,后面的“形参列表”表示指针变量指向的函数所带的参数列表。
    以本题函数和函数指针为例,将函数的首地址赋给指针,可以是pf=fun;或者pf=&fun;
    选项A,参数列表与题干函数不符,错误。选项B,函数指针定义格式错误。选项C。函数指针定义格式错误,复制格式也错误。答案选择D选项。

  • 第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题:

    对下列程序段的描述正确的是()。includeint Fun(int,int)void main(){cout<

    对下列程序段的描述正确的是( )。 #include<iostream.h> int Fun(int,int) void main() { cout<<Fun(5,50)<<endl; } int Fun(int x,int y) { return X*X+y*y; }

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

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

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

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


    正确答案:C

  • 第14题:

    有以下函数定义: 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
    解析:若函数fun没有返回值,选项B错误;函数调用语句中没有函数返回值,选项D错误;函数凋用语句中只写实参名称,选项A错误。

  • 第15题:

    已知函数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)。

  • 第16题:

    关于下列程序段的描述中,正确的是()。 include int fun(int,int); void main() { co

    关于下列程序段的描述中,正确的是( )。 #include<iostream.h> int fun(int,int); void main() { cout<<fun(1,2)<<endl; } int fun(int x,int y) { return X+y; }

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

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

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

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


    正确答案:C
    解析: 函数定义的一般形式:类型标识符函数名(形式参数列表){声明部分;语句}。函数调用的一般格式:函数名(实参列表)。而“int fun(int,int)”为函数声明,可以不写形参名,只写形参的类型。所以,可以看出函数fun的定义和调用都是正确的。

  • 第17题:

    若已经声明了函数原型“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

  • 第18题:

    若主函数中有定义语句: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项错误。 

  • 第19题:

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

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

    正确答案:C

  • 第20题:

    有函数原型void fun7(int*);在下列选项中,正确的调用是()

    • A、double x=2.17;fun7(&x);
    • B、int a=15;fun7(a*3.14 );
    • C、int b=100;fun7(&b);
    • D、fun7(256);

    正确答案:C

  • 第21题:

    有函数原型void fun6(int);在下列选项中,不正确的调用是()

    • A、int a=21;fun6(a);
    • B、int a=15;fun6(a3);
    • C、int b=100;fun6(&b);
    • D、fun6(256);

    正确答案:C

  • 第22题:

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

    double fun(int[])

    B

    double fun(intb[10])

    C

    double fun(inta)

    D

    double fun(int*a)


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

  • 第23题:

    单选题
    假设函数fun已经定义,其原型为“void fun(int a,int b=7,char*p=“**”);”,下列函数调用中错误的是(  )。
    A

    fun(5)

    B

    fun(5,8)

    C

    fun(6,“##”)

    D

    fun(0,0,“==”)


    正确答案: C
    解析:
    在C++中,可以为形参指定默认值,在函数调用时没有指定与形参相对应的实参时就使用默认值。根据函数fun()的定义,其前两个形参为整型变量,第三个形参为字符型变量,且第二个参数和第三个参数有默认值。在调用时,C项第二个实参的数据类型为字符串,不符合第二个形参的数据类型int,故C项错误。

  • 第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项错误,只有函数返回类型不同,而其他完全相同,不能作为重载函数来使用。