niusouti.com
更多“已知函数f的原型是“void f(int*x,int&y);”变量v1、v2的定义是“int v1,v2;”下列调用语句”相关问题
  • 第1题:

    在下列原型所示的C++函数中,按“传值”方式传递参数的是( )。

    A.void f1(int x);

    B.void f2(int*x);

    C.void f3(const int*x);

    D.void f4(int&x);


    正确答案:A
    解析:此题考查的是函数参数的传递方式。函数参数的传递方式分为传值和传地址两种。选项B)和选项C)中函数的参数是指针,而指针作为函数参数传递的是地址:选项D)中函数的参数为引用,引用传递好比是给变量起了一个别名,表明传给函数的参数值就是它本身的地址,操作会影响到这个变量的值;只有选项A)中的函数参数为传值方式。

  • 第2题:

    已知函数f的原型是void f(int *a,long&B) ;,变量v1、v2的定义是: int v1:long v2: 下列调用语句中正确的是

    A.f(v1,&v2);

    B.f(v1,v2);

    C.f(&vl,&v2);

    D.f(&vl,v2);


    正确答案:D

  • 第3题:

    下列代码的执行结果是______。

    public class Expression{

    public static void main(String args[]){

    int v1=10, v2=99, v3=0;

    System out println((v1<0)&&((v2/v3)= =3));

    }

    }


    正确答案:0(执行出现异常!)
    0(执行出现异常!)

  • 第4题:

    对下列程序段的描述正确的是()。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

  • 第5题:

    对下列程序段的描述正确的是( )。 include int fun(int,int); void main(

    对下列程序段的描述正确的是( )。 #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的定义和调用都是正确的。

  • 第6题:

    已知函数f的原型是:void f(int *a,long &b);,变量v1、v2的定义是:int v1;long v2;,正确的调用语句是______。

    A.f(v1,& v2);

    B.f(v1,v2);

    C.f(&v1,v2);

    D.f(&v1,&v2);


    正确答案:C
    解析:v1是需要传递地址给a,b是引用。

  • 第7题:

    已知函数f的原型是“voidf(int*x,int&y);”,变量v1、v2的定义是“intv1,v2;”,下列调用语句中,正确的是( )。

    A.f(v1,v2)

    B.t(v1,&v2)

    C.f(&v1,v2)

    D.f(&v1,&v2);


    正确答案:B
    B。【解析】voidf(int*X,int&。y);第一个参数需要取值,第二个参数需要取地址,所以为v1为取值,&Lv2为取址。

  • 第8题:

    下面是类MyClass的定义,对定义中各语句描述正确的是( )。 class MyClass { private: int x,y, z; public: void MyClass(int A) { x=a; } //① int f(int a, int B) //② { x=a; y=b; } int f(int a,

    A.语句①是类MyClass 的构造函数的定义

    B.语句②和③实现类成员函数的重载

    C.语句④实现对类成员变量x的更新操作

    D.语句①、②、③和④都不正确


    正确答案:D
    解析:在C++中构造函数没有返回类型,所以语句①是错误的。语句②和语句③在进行f(x,y)调用时会产生二义性。静态成员函数不能直接访问类中说明的非静态成员。所以语句④也是错误的。

  • 第9题:

    在下列原型所示的C++函数中,按“传值”方式传递参数的是( )。

    A.void fl(int X);

    B.void t2(int*X);

    C.void f3(Const int*X);

    D.void f4(int&x);


    正确答案:A
    函数参数的3种传递方式:①将变量名作为形参和实参,即传值方式;②传递变量指针;③引用形参。其中B、C选项都是传递变量指针,D选项为引用形参,所以本题答案为A。

  • 第10题:

    已知C++中一个函数的原型为void f(int &x, int &y),调用这个函数时,要把实在参数传递给形式参数,应该采用的参数传递方式是(30)。

    A.传值调用

    B.引用调用

    C.复制恢复

    D.传名调用


    正确答案:B
    解析:C通过传值方式将实参传递给形参。传值调用是指把实在参数的值传递给相应的形式参数,子程序不能通过这种方式传回任何结果。C++中增加引用调用这种参数传递方式,引用调用是指把实在参数的地址传递给相应的形式参数,此时子程序对形式参数的一次引用或赋值都是对形式参数的间接访问,实际上是对实在参数的一次引用或赋值。如果C++中一个函数的原型为voidf(int&x,int&y),表示调用这个函数时,应该采用引用调用这种参数传递方式。在FORTRAN类的语言中有复制恢复这种参数传递方式,在ALGOL语言中有传名调用这种参数传递方式。

  • 第11题:

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

  • 第12题:

    单选题
    已知函数f的原型是“void f(int*x,int&y);”变量v1、v2的定义是“int v1,v2;”下列调用语句中,正确的是(  )。
    A

    f(v1,V2);

    B

    f(v1,&v2);

    C

    f(&v1,v2);

    D

    f(&v1,&v2);


    正确答案: D
    解析:
    函数f的第一个形参采用显式传地址方式,第二个形参采用隐式传地址方式。所以第一个实参传递地址,表示x指向参数v1,第二个实参v2传递变量,表示y是变量v2的别名,C项正确。

  • 第13题:

    ( 8 )已知有函数 f 的定义如下:

    int f(){

    static int s=0;

    s+=2;

    return s;

    }

    则在某程序中第 2 次执行函数调用语句 f( ) ; 时 , 函数 f 的返回值是 ___________ 。


    正确答案:

  • 第14题:

    已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的正确输出结果是

    void print_value(int *x)

    {printf("%d\n",++*x);}

    A.23

    B.24

    C.25

    D.26


    正确答案:D

  • 第15题:

    已知函数f的原型是voidf(int*a,long&b);,变量v1、v2的定义是:intv1;loongv2;下列调用语句中正确的是()

    A、f(v1,&v2)

    B、f(v1,v2)

    C、f(&v1,&v2)

    D、f(&v1,v2)


    参考答案:D

  • 第16题:

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

  • 第17题:

    下面是类MyClass的定义,对定义中各种语句描述正确的是( )。

    class MyClass { publiC: void MyClass(int a) //①

    { x=a; ) int func(int a,int b) //②

    { x=a; y=b; } int func(int a,int b,int c=0) //③

    { x=a; y=b; z=c; } static void resetValue() //④

    { x=0; } private: int X,y,Z; };

    A.语句①是类MyClass的构造函数定义

    B.语句②和语句③实现类成员函数的重载

    C.语句④实现对类成员变量x的清零操作

    D.语句①、②、③和④都不正确


    正确答案:D
    解析:类的构造函数没有返回类型,所以语句①是错误的;语句②和语句③将会使函数func()的调用产生歧义;成员函数resetValue()是静态成员函数,那么它不能访问类MyClass中的非静态数据成员,所以语句④也不正确。

  • 第18题:

    设有定义语句int(*f(int);,则下列叙述正确的是( )。

    A.f是基类型为int的指针变量

    B.f是指向函数的指针变量,该函数具有一个int类型的形态

    C.f是指向int类型一维数组的指针变量

    D.f是函数名,该函数的返回值是其类型为int类型的地址


    正确答案:B
    解析:定义语句int(*f(int)中f是指向函数的指针变量,该函数中也只有一个int型的形参。

  • 第19题:

    已知函数f的原形是void f(int * a,long &B);,变量v1、v2的定义是: int v1;long v2; 下列调用语句中正确的是

    A.f(v1,&v2);

    B.f(v1,v2);

    C.f(&v1,&v2);

    D.f(&v1,v2);


    正确答案:D
    解析:* a是指针变量,对指针变量的引用应加&。

  • 第20题:

    已知函数f的原型是void f(int*a,long&B.;,变量v1、v2的定义是: int v1;long:v2; 下列调用语句中正确的是( )。

    A.f(v1,&v2);

    B.f(v1,v2);

    C.f(&v1,&v2);

    D.f(&v1,v2);


    正确答案:D
    函数参数的3种传递方式:①将变量名作为形参和实参,即传值方式;②传递变量指针;③引用形参,本题中函数f的第一个形参为指针,那么调用f函数时,第一一个参数必须是地址,所以必须是&v1.第二个形参为引用,所以对应实参为v2即可。故本题答案为D。

  • 第21题:

    在下列原型所示的C++函数中,按“传值”方式传递参数的是

    A.void f1(int x);

    B.void f2(int*x);

    C.void f3(const int*x);

    D.void f4(int&x);


    正确答案:A

  • 第22题:

    下面是类MyChss的定义,对定义中语句描述正确的是( )。class MyClass{public:void MyClass(int a){X=a;) //①int f(int a, int b) //②{X=a;Y=b;}int f(int a,int b,int c=0) //③{X=a;Y=b;Z=c;stahc void g (){X=10;) //④private:int X,Y,Z;};

    A.语句①是类MyClass的构造函数定义

    B.语句②和语句③实现类成员函数的重载

    C.语句④实现对类成员变量X的更新操作

    D.语句①②③和④都不正确


    正确答案:D

  • 第23题:

    已知函数原型为:structtree*f(intx1,int*x2,structtreex3,structtree*x4),其中tree为已定义的结构体类型,且有下列变量定义:structtreept,*p;inti;请选择正确的函数调用语句()

    • A、&pt=f(10,&i,pt,p);
    • B、p=f(i++,(int*)p,pt,&pt);
    • C、p=f(i+1,&(i+2),*p,p)
    • D、f(i+1,&i,p,p);

    正确答案:B

  • 第24题:

    单选题
    已知函数f的原型是void f(int *a,long&b);变量v1、v2的定义是:int v1;long v2;下列调用语句中正确的是(  )。
    A

    f(v1,&v2);

    B

    f(v1,v2);

    C

    f(&v1,&v2);

    D

    f(&v1,v2);


    正确答案: A
    解析:
    函数f的第一个参数类型是整型指针,第二个参数是引用。实参应传递地址和变量,表示形参a指向实参v1,形参b是实参变量v2的别名,D项正确。