参考答案和解析
正确答案:6
更多“已知函数定义def func(*p):return sum(p),那么表达式func(1,2,3)的值为()。”相关问题
  • 第1题:

    下面的程序的运行结果是__________func incr(p *int) int {*p++ return *p }func main() { v := 1 incr(&v)fmt.Println(v)}


    参考答案:2

  • 第2题:

    有如下函数模板定义:template T func(T x, T y){return x*x*y*y;)在下列对func的调用中

    有如下函数模板定义: template <class T> T func(T x, T y){return x*x*y*y;) 在下列对func的调用中,错误的是

    A.func(3,5);

    B.func(3.0,5.5);

    C.func(3,5.5);

    D.func<int>(3,5.5);


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

  • 第3题:

    请解释“func”为何种类型,这种类型的作用什么,变量ttt 的值是多少?

    typedef int (*func)(int, int*);

    int xxx(int a, int *p)

    {

    return a + *p;

    }

    int dowork(func aaa, int bbb, int *ccc)

    {

    return aaa(bbb, ccc);

    }

    int sss = 4;

    int ttt = dowork(&xxx, 3, &sss);


    正确答案:
     

  • 第4题:

    有如下函数模板的定义: template T func(Tx,Ty){ return x*x+y*y;}A.func(3,5);B.func

    有如下函数模板的定义: template <class T> T func(Tx,Ty){ return x*x+y*y;}

    A.func(3,5);

    B.func<>(3,5);

    C.func(3,5.5);

    D.func<int> (3,5.5);


    正确答案:C
    解析:本题考核函数模板的使用。对于C选项,编译系统从3获得的信息是“T对应于int”,从5.5处获得的信息是“T对应于double”,二者相互矛盾,在编译时会产生错误。对于D选项中紧跟在函数名后的int>就是模板实参表,通过它通知编译系统在调用过程中,double型的参数5.5将被自动换成int型。

  • 第5题:

    有如下函数模板定义:templateT func(T x,T y){return x*x+y*y;}在下列对func的调用中,

    有如下函数模板定义: template<class T> T func(T x,T y){return x*x+y*y;} 在下列对func的调用中,错误的是( )。

    A.fimc(3,5);

    B.func(3.0,5.5);

    C.func(3,5.5);

    D.func<int>(3,5.5);


    正确答案:C
    解析: 选项C)中两个实参的实际类型不同而未进行转换,会出现错误。

  • 第6题:

    有如下函数模板的定义:templateT func(T x,T y){return x*x+y*y;}在下列对func的调用中

    有如下函数模板的定义: template<class T> T func(T x,T y){return x*x+y*y;} 在下列对func的调用中不正确的是

    A.func(3,5);

    B.func<>(3,5);

    C.func(3,5.5);

    D.func<int>(3,5.5);


    正确答案:C
    解析:本题考核函数模板的使用。对于C)选项,编译系统从3获得的信息是“T对应于int”,从5.5处获得的信息是“T对应于double”,二者相互矛盾,在编译时会产生错误。对于D)选项中紧跟在函数名后的int>就是模板实参表,通过它通知编译系统在调用过程中,double型的参数5.5将被自动换成int型。

  • 第7题:

    知函数func的定义为:voidfunc(){……}则函数定义中void的含义是()

    • A、执行函数func后,函数没有返回值
    • B、执行函数func后,函数不再返回
    • C、执行函数func后,可以返回任何类型
    • D、以上答案均不正确

    正确答案:A

  • 第8题:

    已知函数定义def func(*p):return sum(p),那么表达式func(1,2,3,4)的值为()。


    正确答案:10

  • 第9题:

    已知函数定义def demo(x,y,op):return eval(str(x)+op+str(y)),那么表达式demo(3,5,’-’)的值为()。


    正确答案:-2

  • 第10题:

    填空题
    已知函数定义def func(*p):return sum(p),那么表达式func(1,2,3,4)的值为()。

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

  • 第11题:

    填空题
    已知函数定义def func(**p):return’’.join(sorted(p)),那么表达式func(x=1,y=2,z=3)的值为()。

    正确答案: 'xyz'
    解析: 暂无解析

  • 第12题:

    填空题
    已知函数定义def func(**p):return sum(p.values()),那么表达式func(x=1,y=2,z=3)的值为。

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

  • 第13题:

    有如下函数模板定义: template T func(Tx,Ty){return x*x+y*y;} 在下列对func

    有如下函数模板定义: template<class t> T func(Tx,Ty){return x*x+y*y;} 在下列对func的调用中,错误的是

    A.func(3,5);

    B.func(3.0,5.5);

    C.func(3,5.5);

    D.func<int>(3,5.5)


    正确答案:C
    解析:模板类型参数歧义。

  • 第14题:

    下列程序的运行结果是______。includelong func(int x){ long p;if(x==O‖x==1)return(1)

    下列程序的运行结果是______。

    include<stdio.h>

    long func(int x)

    { long p;

    if(x==O‖x==1)

    return(1);

    p=x*func(x-1);

    return(p);

    }

    main()

    { printf("%d\n",func(4));

    }


    正确答案:

    本题考查函数的循环调用。p=x*func(x-1),当x=4时,不满足if语句的条件,p=4*func(3), x=3也不满足条件,则func(3)=3*func(2),func(2)=2*func(1),x=1满足条件return(1),则输出结果为 4*3*2*1=24。

  • 第15题:

    有如下函数模板的定义:templateT func(T x,T y){return x*x+y*y;}在下列对func()的调用

    有如下函数模板的定义: template<class T> T func(T x,T y){return x*x+y*y;} 在下列对func()的调用中,不正确的是( )。

    A.func(3,5);

    B.func<>(3,5);

    C.func(3,5.5);

    D.func<int>(3,5.5);


    正确答案:C
    解析:对于选项C,编译系统从3获得的信息是“T对应于int”,从5.5处获得的信息是“T对应于double”,二者相互矛盾,在编译时会产生错误。对于选项D中紧跟在函数名后的int>就是模板实参表,通过它通知编译系统在调用过程中,double型的参数5.5将被自动换成血型。

  • 第16题:

    有如下函数模板定义:templateT func(T x, T y){return x*x+y*y;}在下列对func的调用中,

    有如下函数模板定义: template<class T> T func(T x, T y){return x*x+y*y;} 在下列对func的调用中,错误的是( )。

    A.func(3,5);

    B.func(3.0,5.5);

    C.func(3,5.5)

    D.func<int>(3,5.5);


    正确答案:C

  • 第17题:

    若有函数 char*func(char *p) { … return p; } 则该函数的返回值是 ______。

    A.无确切的值

    B.形参p中存放的地址

    C.一个临时存储单元的地址

    D.形参p自身的地址


    正确答案:B

  • 第18题:

    在C程序中,语句“char*func(intx,inty);”表示的含义是( )。

    A.对函数func的定义
    B.对函数func的调用
    C.对函数func返回值类型的说明
    D.对函数func的原型说明

    答案:D
    解析:
    函数的定义需要返回值、函数名、形参、函数体,这里缺少了函数体,并且后面加了分号表示一条语句,是函数的声明,即函数的原型说明。

  • 第19题:

    已知函数定义def func(**p):return’’.join(sorted(p)),那么表达式func(x=1,y=2,z=3)的值为()。


    正确答案:'xyz'

  • 第20题:

    已知有函数定义defdemo(*p):returnsum(p),那么表达式demo(1,2,3)的值为()、表达式demo(1,2,3,4)的值为()。


    正确答案:6;10

  • 第21题:

    填空题
    已知函数定义def func(*p):return sum(p),那么表达式func(1,2,3)的值为()。

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

  • 第22题:

    填空题
    已知函数定义def demo(x,y,op):return eval(str(x)+op+str(y)),那么表达式demo(3,5,’*’)的值为()。

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

  • 第23题:

    填空题
    已知有函数定义defdemo(*p):returnsum(p),那么表达式demo(1,2,3)的值为()、表达式demo(1,2,3,4)的值为()。

    正确答案: 6,10
    解析: 暂无解析