itgle.com

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

题目
已知函数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);


相似考题
更多“已知函数fun的原型是“void fun(int *x, int ”,变量v1、v2的定义是“int v1, v2; ”,则下列选项中,对函数fun调用正确的是( )。 A. fun(v1,B.fun(v1,v2);C.fun(D.fun(”相关问题
  • 第1题:

    有以下函数定义: 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
    解析:本题考查函数调用。函数调用时,实参前不需加类型说明,选项A)错误;题目中的函数没有返回值,所以选项B)错误;函数调用前不需要加类型说明,选项D)错误。

  • 第2题:

    有以下函数定义: void fun(int n,doub x) {……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。

    A.fun(int y,double m);

    B.k=fun(10,12.5);

    C.fun(x,n);

    D.void fum(n,x);


    正确答案:C
    解析:选项A中应将y和m前面的函数的类型说明符去掉,故选项A不正确;选项B中函数传了2个参数,其中一个为整型—个为浮点型,而fun()函数在定义时声明的2个参数,一个为整型一个为双精度型,其参数类型不一致,故选项B不正确;选项D在调用函数时,不应该再声明其返回类型,故选项D不正确。所以,4个选项中选项C符合题意.

  • 第3题:

    如在类中有如下函数定义 Void fun(int a,int b,int c=0);则下列调用中,正确的是( )。

    A.fun(1)

    B.fun(1,1)

    C.fun()

    D.fun(2,2,3,4)


    正确答案:B
    解析:fun函数中第三个参数有默认值,故只需给出前两个参数即可。

  • 第4题:

    函数定义为Fun(int &A) ,一个变量定义为int i=0;,则下面调用中正确的是( )。

    A.Fun(10)

    B.Fun(10+i)

    C.Fun(&n)

    D.Fun(n)


    正确答案:D
    解析:当函数的形参为引用类型时,调用函数的实参不能是常量、表达式和变量地址,只能是变量的本身。

  • 第5题:

    已知函数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为取址。

  • 第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);


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

  • 第7题:

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

  • 第8题:

    下面的说明中,正确的函数定义是( )。

    A.void fun(void)

    B.void fun(void){}

    C.fun(int s){}

    D.fun(int s){return s+1;}


    正确答案:D

  • 第9题:

    有以下函数定义; 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
    解析:函数调用的一般形式为;函数名(实参表列);,实参与形参的个数应相等,类型应一致,在调用函数时,不要指定其返回类型,对于返回类型为void的函数,不能作为赋值表达式的组成部分,所以选C。

  • 第10题:

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

  • 第11题:

    单选题
    已知函数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项正确。

  • 第12题:

    单选题
    对于函数定义:  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);


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

  • 第13题:

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

  • 第14题:

    已知函数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是引用。

  • 第15题:

    函数定义为Fun(int &i),变量定义n=100.则下面调用正确的是

    A.Fun(20);

    B.Fun(20+n);

    C.Fun(n);

    D.Fun(&n);


    正确答案:C
    解析:本题考核函数的调用。当函数的参数是引用类型时,参数不能是常量、表达式和变量地址,只能是变量本身。

  • 第16题:

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

    A.Fun(int x,int y=0)

    B.Fun(int x=100)

    C.Fun(int x=0,int y)

    D.Fun(int x=f())(假定函数f()已经定义)


    正确答案:D

  • 第17题:

    已知下列函数定义: fun(int%,int c,int n,int datA){int k; for(k=0;k<m*n;k++) {*b=data; b++;} } 则调用此函数的正确写法是(假设变量a的说明为int a[50])( )。

    A.fun(*a,4,5,1);

    B.fun(&a,4,5,1);

    C.fun((int*)a,4,5,1);

    D.fun(a,4,5,1);


    正确答案:D

  • 第18题:

    有以下函数定义: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
    选项A中,fun(int y,double m);中变量y和m前不需要类型说明;因为函数fun(10,12.5)没有返回值,所以选项B错误;调用函数fun时,不需要在函数前面加上void,所以选项D错误。故本题的正确答案是选项C。

  • 第19题:

    已知下列函数定义: fun(int*b,int c,intD){int k; for(k=0;k<c*d;k++) {*b=c+d; b++;} } 则调用此函数的正确写法是(假设变量a的说明为int a[10])( )。

    A.fun(*a,6,14);

    B.fim(&a,6,8);

    C.fun(a,8,4);

    D.fun((int)a,8,6);


    正确答案:C

  • 第20题:

    函数定义为Fun(int &i),变量定义n=100,则下面调用正确的是( )。

    A.Fun(20);

    B.Fun(20+n);

    C.Fun(n);

    D.Fun(&n);


    正确答案:C
    解析: 本题考查函数的调用。当函数的参数是引用类型时,参数不能是常量、表达式和变量地址,只能是变量本身。

  • 第21题:

    有如下函数模板定义: template T1 fun(T1 a1) { return(al+a2+a3);

    有如下函数模板定义: template<typename T1,int a2,int a3> T1 fun(T1 a1) { return(al+a2+a3); } 则下列调用中正确的是( )。

    A.fun<int,4,3>(5);

    B.fun<4,3>(5);

    C.fun<int,int,int>(5);

    D.fun(5);


    正确答案:A
    解析: 类模板是类的抽象,类是类模板的实例。在调用时,尖括号内指定实际的类型名,在编译时,编译系统就用int取代类模板中的类型参数,这样就具体化了类模板。其中的参数为4,3。

  • 第22题:

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

  • 第23题:

    单选题
    已知函数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项正确。