更多“若定义了函数add(intx,inty){}调用该函数add(2,3);则此时的2,3称为形参”相关问题
  • 第1题:

    intfun(intx,inty)函数首部的定义形式是正确的。()


    正确答案:√

  • 第2题:

    对于函数定义:func add(args ...int) int { sum := 0 for _, arg := range args { sum += arg } return sum}下面对add函数调用正确的是()

    A. add(1, 2)

    B. add(1, 3, 7)

    C. add([]int{1, 2})

    D. add([]int{1, 3, 7}...)


    参考答案:ABD

  • 第3题:

    函数模板:templateT add(T x, T y) {return x+y;}下列对add函数的调用不正确的是A.add<

    函数模板:template<class T> T add(T x, T y) {return x+y;} 下列对add函数的调用不正确的是

    A.add<>(1,2)

    B.add<int>(1,2)

    C.add(1.0,2)

    D.add(1.0,2.0)


    正确答案:C
    解析:对于templateclass T>
      T add (T x, T y) {return x+y;}
      调用时可以省略模板实参的声明,但是要求x和y的数据类型必须是一样的。

  • 第4题:

    函数f()、g()的定义如下所示,调用函数f时传递给形参x的值为5,若采用传值(call by value)方式调用g(a),则函数f的返回值为(1);若采用传引用(call by reference)方式调用g(a),则函数f的返回值为(2)。

    A.14

    B.16

    C.17

    D.22


    正确答案:A

  • 第5题:

    函数模板:templateT add(Tx,Ty){returnx+y;}下列对add函数的调用不正确的是()。A.add<>(

    函数模板:template<class T> T add(Tx,Ty){returnx+y;} 下列对add函数的调用不正确的是( )。

    A.add<>(1,2)

    B.=add<int> (1,2)

    C.add(1.0,2)

    D.add(1.0,2.0)


    正确答案:C

  • 第6题:

    已知函数f132、f232的定义如下图所示。设调用函数f1时传递给形参x的值是1,若函数调用f2(a)采用引用调用(call by reference)的方式传递信息,则函数f1的返回值为(请作答此空);若函数调用f2(a)以值调用(call by value)的方式传递信息,则函数f1的返回值为( )。

    A.-5
    B.6
    C.15
    D.35

    答案:C
    解析:
    本题考查程序语言基础知识。
    函数f1被调用而运行时,其局部变量值的变化情况如下:在调用f2(a)之前,x的值为1,a的值为5。在以引用调用方式调用f2(a)时,形参x是实参a的引用,在函数f2中的x就是函数f1中a的别名(或者说此时x与a所对应的存储单元是同一个,只是角度不同而已),因此执行函数f2时,条件表达式x>1即等同于a>1,a的值是5所以该条件表达式成立,从而执行了"x=x*x",就将x所对应存储单元的内容改为了25,然后结束f2的执行并将所返回的-10赋值给f1中的x,因此在f1结束时返回的值为a+x=25-10=15。
    在值调用方式下调用f2(a)时,是将实参a的值5传递给f2的形参x,a和x所对应的存储单元是不同的,此后执行f2时,由于x的值是5,所以条件表达式x>1即等同于5>1,是成立的,从而执行了"x=x*x",此时是将f2中的x修改为25,与f1中的a和x都无关,在结束f2的执行并将返回值-10赋值给f1中的x后,f1结束时进行的计算为a+x=5-10=-5。

  • 第7题:

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

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

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

  • 第8题:

    若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )

    A.函数调用可以作为独立的语句存在
    B.函数调用可以无返回值
    C.函数调用可以出现在表达式中
    D.函数调用可以作为一个函数的形参

    答案:D
    解析:

  • 第9题:

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

    • A、intabc(intx,inty)
    • B、intabc(intx;inty)
    • C、intabc(intx,inty);
    • D、intabc(intx,y)

    正确答案:A

  • 第10题:

    在调用构造函数时()。

    • A、子类可以不加定义就使用父类的所有构造函数
    • B、不管类中是否定义了何种构造函数,创建对象时都可以使用默认构造函数
    • C、先调用父类的构造函数
    • D、先调用形参多的构造函数

    正确答案:C

  • 第11题:

    下列函数参数默认值定义错误的是()。

    • A、Fun(intx,inty=0)
    • B、Fun(intx=100)
    • C、Fun(intx=0,inty)
    • D、Fun(intx=f())(假定函数f()已经定义)

    正确答案:C

  • 第12题:

    单选题
    下列函数参数默认值定义错误的是()。
    A

    Fun(intx,inty=0)

    B

    Fun(intx=100)

    C

    Fun(intx=0,inty)

    D

    Fun(intx=f())(假定函数f()已经定义)


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

  • 第13题:

    如果Add函数的调用代码为:func main() {var a Integer = 1var b Integer = 2var i interface{} = asum := i.(Integer).Add(b)fmt.Println(sum)}则Add函数定义正确的是()

    A.type Integer intfunc (a Integer) Add(b Integer) Integer { return a + b}

    B.type Integer intfunc (a Integer) Add(b *Integer) Integer { return a + *b}

    C.type Integer intfunc (a *Integer) Add(b Integer) Integer { return *a + b}

    D.type Integer intfunc (a *Integer) Add(b *Integer) Integer { return *a + *b}


    参考答案:A

  • 第14题:

    函数模板:template T add(T x,T y){return x+y;}下列对add函数的调用不正确的是A.add<>

    函数模板:template<class T> T add(T x,T y){return x+y;} 下列对add函数的调用不正确的是

    A.add<>(1,2)

    B.add<int>(1,2)

    C.add(1,0,2)

    D.add(1.0,2.0)


    正确答案:C
    解析:对于templateclassT>Tadd(Tx,Ty){returnx+y;}调用时可以省略模板实参的声明,但是要求x和y的数据类型必须是一样的。

  • 第15题:

    函数f()、g()的定义如下所示,调用函数f时传递给形参a的值为1,若采用传值(call by value)的方式调用g(c),则函数f的返回值为(1);若采用传引用(call by reference)的方式调用g(c),则函数f的返回值为(2)。

    A.7

    B.5

    C.4

    D.3


    正确答案:D

  • 第16题:

    函数f()、g()的定义如下图所示,调用函数f()时传递给形参a的值为1。若采用传值(call by value)的方式调用g(c),则函数f()的返回值为(29);若采用传引用(call by reference)的方式调用g(c),则函数f()的返回值为(30)。

    A.7

    B.5

    C.4

    D.3


    正确答案:D
    解析:本题考查参数传递的基本知识。引用调用和值调用是进行过程(函数)调用时实际参数与形式参数间传递信息的两种基本方式。在过程(或函数)首部声明的参数称为形式参数,简称形参;过程(或函数)调用时的参数称为实际参数,简称实参。调用语句实现了对过程(或函数)语句的执行,调用时首先要进行实参与形参间的参数传递。简单地说,以值调用方式进行参数传递时,需要先计算出实参的值并将其传递给对应的形参,然后执行所调用的过程(或函数),在过程(或函数)执行时对形参的修改不影响实参的值。而引用调用时首先计算实际参数的地址,并将此地址传递给被调用的过程,然后执行被调用的过程(或函数)。因此在被调用的过程(函数)中,既得到了实参的值又得到了实参的地址。引用调用方式下,被调用过程(函数)执行时针对形式参数的修改将反映在对应的实际参数变量中。调用函数f()时传递给形参a的值为1,因此局部变量c的初始值为2。在传值调用方式下,执行函数g()不会影响实参c,因此函数f()的返回值为3;在引用调用方式下,执行函数g()时,对b的修改等同于对c进行修改,因此在g()中,局部变量x的值为4,参数b的值修改为4,因此函数调用g(c)结束后,c的值为4,函数q)的返回值为5。

  • 第17题:

    已知函数fl()、f2()的定义如下图所示设调用函数f1时传递给形参x的值是1,若函数调用f2(a)采用引用调用(call by refere nce)的方式传递信息,则函数n的返回值为 (32) ;若函数调用f2(a)以值调用(call liy value)的方式传递信息,则函数F1返回值为(33)。

    A.-5

    B.6

    C.15

    D.35


    正确答案:C
    本题考查程序语言基础知识。函数fl被调用而运行时,其局部变量值的变化情况如下:在调用f2(a)之前,x的值为1,a的值为5。在以引用调用方式调用f2(a)时,形参x是实参a的引用,在函数F2中的x就是函数F1中a的别名(或者说此时)与a所对应的存储单元是同一个,只是角度不同而己),因此执行函数亿时,条件表达式x>l即等同于a>l,a的值是5所以该条件表达式成立,从而执行了“x=X'*X”,就将x所对应存储单元的内容改为了25,然后结束f2的执行并将所返回的-10赋值给fl中的x,因此在f1结束时返回的值为a+x=25-10=15。在值调用方式下调用f2(a)时,是将实参£的值5传递给F2形参x,a和x所对应的存储单元是不同的,此后执行F2,由于的值是5,所以条件表达式x>l即等同于5>1,是成立的,从而执行了“x=X'*X”,此时将f2的x修改为25,与f中的a和x都无关,在结束f2执行并将返回值-10赋直给FI中的x后,fl结束时进行的计算为a+x=5-10=5。

  • 第18题:

    调用函数时若是引用调用方式,则是将(请作答此空)。下面所定义的函数f1为值调用方式,函数f2为引用调用方式。若有表达式x=f1(5),则函数调用执行完成后,该表达式中x获得的值为( )。

    A.实参的值传给形参
    B.形参的值传给实参
    C.实参的地址传给形参
    D.形参的地址传给实参

    答案:C
    解析:
    第32题。值调用:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值。引用调用:也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值。第33题。结果为b*x=(2*4+1)*5=45

  • 第19题:

    调用函数时若是引用调用方式,则是将(请作答此空)。下面所定义的函数f1为值调用方式,函数f2为引用调用方式。若有表达式x=f1(5),则函数调用执行完成后,函数f1最终获得的值为( )。

    A.实参的值传给形参
    B.形参的值传给实参
    C.实参的地址传给形参
    D.形参的地址传给实参

    答案:C
    解析:
    传址调用(引用调用) : 将实参地址给形参
    由于f1采用传值调用, X值不发生变化X=5 ; f2采用传址调用,会对B的值产生影响,当执行b=x-1后b=4 ;当执行f2中2*x+1后, b=9 ;所以最后b*x= 5*9=45

  • 第20题:

    函数swap(intx,inty)可以完成对x值和y值的交换,在运行调用函数中的如下语句后,a=2;b=3;swap(a,b);a和b的值分别是()

    • A、3,2
    • B、3,3
    • C、2,2
    • D、2,3

    正确答案:D

  • 第21题:

    若函数定义如下,则函数返回值的数据类型是()floatfun(intx){inty=x+2;return(y);}

    • A、float
    • B、int
    • C、不能确定
    • D、编译出错

    正确答案:A

  • 第22题:

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

    • A、doublefun(intx,inty)
    • B、doublefun(intx;inty)
    • C、doublefun(intx=5,inty)
    • D、doublefun(intx,y)

    正确答案:A

  • 第23题:

    单选题
    有以下程序: #include  main() {  int findmax(int,int,int),m;  …  m=findmax(a,b,c);  … } int findmax(int x,int y,int z) {  … } 则以下叙述正确的是(  )。
    A

    在main函数中声明了findmax函数

    B

    在main函数中定义了findmax函数

    C

    在main函数中两次调用了findmax函数

    D

    在main函数内、外重复定义了findmax函数


    正确答案: D
    解析:
    程序中函数findmax定义放在主函数之后,主函数中声明了findmax函数。“int findmax(int,int,int);”为函数声明,“m=findmax(a,b,c);”为函数调用,“int findmax(int x,int y,int z){}”为函数定义。B选项是在main函数外定义的findmax函数,错误。在main函数中,出现了一次findmax函数的声明和一次findmax函数的调用,不是两次调用,C选项错误。D选项在main函数内不是定义findmax函数而是声明findmax函数。答案选择A选项。