niusouti.com
参考答案和解析
(*p)(a ,b)
更多“若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是()。”相关问题
  • 第1题:

    已有函数max(a,b)为了让函数指针变量p指向函数max正是确的赋值方法是()。

    A.p=max;

    B.*p=max;

    C.p=max(a,b);

    D.*p=max(a,b);


    正确答案:A

  • 第2题:

    有如下函数模板声明:

    template<typenameT>

    TMax(Ta,Tb){return(a>b)?a:b;}

    下列对函数模板Max( )的调用中错误的是( )。

    A.Max(3.5,4.5)

    B.Max(3.5,4)

    C.Max(3.5,4)


    正确答案:B
    B。【解析】本题考查函数模板的引用。引用模板函数和引用一般函数在语法形式上基本相同。需要注意的是,说明一个函数模板后,当编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否调用函数模板中的对应形参。本题选项B中,编译系统从第一个参数“3.5”获得信息“double型数据”和从第二个参数获得信息“int型数据”,两者矛盾。

  • 第3题:

    下列函数调用中, 不正确的是______。

    A.max(a,b);

    B.max(3,a+b);

    C.max(3,5);

    D.int max(a,b);


    正确答案:D

  • 第4题:

    若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数fun的正确方法是( )。

    A.(*p)fun(x,y);

    B.*pfun(x,y);

    C.(*p)(x,y)

    D.*p(x,y)


    正确答案:C

  • 第5题:

    有如下函数模板声明:templateT Max(Ta,Tb){return(a>=b)?a: b;}下列对函数模板Max()

    有如下函数模板声明:template<typename T>T Max(Ta,Tb){return(a>=b)?a: b;}下列对函数模板Max()的调用中错误的是( )。

    A.Max(3.5,4.5)

    B.Max(3.5,4)

    C.Max<double>(3.5,4.5)

    D.Max<double>(3.5,4)


    正确答案:B

  • 第6题:

    若有如下定义: int (*p)(), *q(); 则下列说法正确的是( )

    A.p是一个函数名,q是一个指针变量

    B.p是一个指向整型变量的指针变量,q是一个指向一维数组的指针变量

    C.p和q是等价的,都是指针变量

    D.p是指向函数的指针变量,函数的返回值是整型数据;q是带回指针值的函数


    正确答案:D

  • 第7题:

    一个C程序由函数A、B、C和函数P构成,在函数A中分别调用了函数B和函数C,在函数B中调用了函数A,且在函数P中也调用了函数A,则可以说( )

    A.函数B中调用的函数A是函数A的间接递归调用

    B.函数A被函数B调用是函数A间接递归调用

    C.函数P直接递归调用了函数A

    D.函数P中调用的函数A是函数P的嵌套


    正确答案:D

  • 第8题:

    例如:m=max(a,max(b,c));这时函数调用的方式是()


    正确答案:函数参数

  • 第9题:

    设px是指向一个类对象的指针变量,则执行“deletepx;”语句时,将自动调用该类的()。

    • A、无参构造函数
    • B、带参构造函数
    • C、析构函数
    • D、拷贝构造函数

    正确答案:C

  • 第10题:

    当派生类指针指向基类对象时()

    • A、可以直接调用基类的成员函数
    • B、可以调用派生类对象的成员函数
    • C、必须强制将派生类指针转换成基类指针才能调用基类的成员函数
    • D、以上说法都不对

    正确答案:C

  • 第11题:

    填空题
    例如:m=max(a,max(b,c));这时函数调用的方式是()

    正确答案: 函数参数
    解析: 暂无解析

  • 第12题:

    单选题
    设px是指向一个类对象的指针变量,则执行“deletepx;”语句时,将自动调用该类的()。
    A

    无参构造函数

    B

    带参构造函数

    C

    析构函数

    D

    拷贝构造函数


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

  • 第13题:

    下面关于this指针的说法中,不正确的是( )。

    A.当调用类的成员函数时,指针this被自动传递给该成员函数

    B.当调用类的成员函数时,指针this实际上指向了该类的一个对象

    C.友元函数也可以被传递指针this

    D.在缺省状态下,所有的成员函数都自动传递一个指针给激活它的对象


    正确答案:C

  • 第14题:

    已有函数max(a,b),为了使函数指针变量p指向函数max,则下面选项中赋值方法正确的是( )。

    A.p=max

    B.*p=max

    C.p=max(a,b)

    D.*p=max(a,b)


    正确答案:A

  • 第15题:

    有如下函数模板声明:templateT Max(T a, T B) {return (a>=B) ?a:b;}下列对函数模板

    有如下函数模板声明: template<typename T> T Max(T a, T B) {return (a>=B) ?a:b;} 下列对函数模板Max()的调用中错误的是

    A.Max(3.5,4.5)

    B.Max(3.5,4)

    C.Max<double>(3.5,4.5)

    D.Max<double>(3.5,4)


    正确答案:B
    解析:本题考核函数模板的使用。引用模板函数和引用一般的函数在语法形式上没有任何区别。所有的类型替换都是编译器在幕后悄悄进行的。但是要注意的是说明一个函数模板后,当编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否匹配函数模板中对应的形参。例如,本题中的B) 选项,编译系统从第一个参数“3.5”获得的信息是“T对应于double”,而从第二个参数“4”处获得的信息是“T对应于int”,二者相互矛盾,在编译时会产生错误。对于D) 选项中紧跟在函数名后的double>就是模板实参表,通过它通知编译系统在调用过程中,int型的参数“4”将被自动换成double型。

  • 第16题:

    若有下面的函数调用: fun(fl+b,3,max(n一1,B.) 则fun的实参个数是( )。 A.3B.4SXB

    若有下面的函数调用: fun(fl+b,3,max(n一1,B.) 则fun的实参个数是( )。

    A.3

    B.4

    C.5

    D.6


    正确答案:A
    本题考查函数实参个数的基础知识,根据实参的概念,(a+b)、3、mflJc(n一1,b)分别为其中的3个实参。故答案为A。

  • 第17题:

    多态性指的是

    A.以任何方式调用一个虚函数

    B.以任何方式调用一个纯虚函数

    C.借助于指向对象的基类指针或引用调用一个虚函数

    D.借助于指向对象的基类指针或引用调用一个纯虚函数


    正确答案:C

  • 第18题:

    语句Char(*P)说明了( )。

    A.P是指向函数的指针,该函数返回一个Char型数据

    B.P是指向Char型数据的指针变量

    C.P是指向数组的指针变量

    D.P是一个函数名,该函数的返回值是指向Char型数据的指针


    正确答案:A
    P是指向函数的指针,该函数返回一个char型数据。

  • 第19题:

    若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数 fun的方法是______。


    正确答案:(*p)(xy)。
    (*p)(x,y)。 解析: 一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向读函数。然后通过指针变量就可以找到并调用这个函数。我们把这种指向函数的指针变量称为“函数指针变量”。函数指针变量定义的一般形式为:类型说明符(*指针变量名)();其中“类型说明符”表示被指函数的返回值的类型。“(*指针变量名)”表示“*”后面的变量是定义的指针变量。最后的空括号表示指针变量所指的是一个函数。

  • 第20题:

    例如:m=max(a,b)+10;这时函数调用的方式是()


    正确答案:函数表达式

  • 第21题:

    设px是指向一个类对象的指针变量,则执行 “delete px;”语句时,将自动调用该类的()

    • A、 无参构造函数
    • B、 带参构造函数
    • C、 析构函数
    • D、 拷贝构造函数

    正确答案:C

  • 第22题:

    填空题
    例如:m=max(a,b)+10;这时函数调用的方式是()

    正确答案: 函数表达式
    解析: 暂无解析

  • 第23题:

    单选题
    若有函数声明:void fun(float array[],int*ptr);以下叙述正确的是(  )。
    A

    函数参数array,ptr都是指针变量

    B

    函数参数array不是指针变量,ptr是指针变量

    C

    调用函数时,实参数组的值将一一复制给array数组

    D

    调用函数时,array是按值传送,ptr是按地址传送


    正确答案: D
    解析:
    数组名为数组的首地址,也是指向数组的指针,所以array和ptr都是指针,A项正确,B项错误。调用函数时,将实参数组首地址赋给指针array,而不是传递整个数组元素,C项错误。调用函数时,array与ptr都是按地址传送的,D项错误。答案选择A选项。

  • 第24题:

    单选题
    当基类指针指向派生类对象时,利用基类指针调用派生类中与基类同名但被派生类重写后的成员函数时,调用的是()
    A

    基类的成员函数

    B

    派生类的成员函数

    C

    不确定

    D

    先调用基类的,再调用派生类的


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