单选题以下程序的功能是:通过调用calc函数,把所求得的两数之和值放入变量add中,并在主函数中输出。 #include void calc(float x,float y,float *sum) {______ = x+y; } main () {float x,y,add;scanf(%f%f,&x,&y);calc(x,y,&add);printf(x+y=%f,add); } calc函数中下划线处应填入的是(  )。A *sumB sumC &sumD add

题目
单选题
以下程序的功能是:通过调用calc函数,把所求得的两数之和值放入变量add中,并在主函数中输出。 #include  void calc(float x,float y,float *sum) {  ______ = x+y; } main () {  float x,y,add;  scanf(%f%f,&x,&y);  calc(x,y,&add);  printf(x+y=%f,add); } calc函数中下划线处应填入的是(  )。
A

*sum

B

sum

C

&sum

D

add


相似考题
更多“单选题以下程序的功能是:通过调用calc函数,把所求得的两数之和值放入变量add中,并在主函数中输出。 #include voidcalc(floatx,floaty,float*sum) {  ______=x+y; } main() {  floatx,y,add;  scanf(%f%f,x,y);  calc(x,y,add);  printf(x+y=%f,add); } calc函数中下划线处应填入的是(  )。A *sumB sumC sumD add”相关问题
  • 第1题:

    以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算,请填空。y1=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6 #include "math.h"double fun(double x){ return();}main(){double x,y1,y2; printf("Enter x:"); scanf("%1f,&x); y1=fun(8+x); y2=fun(); printf("y1=%1f,y2=%1f\n",y1,y2);}


    正确答案:x*x-2*x+6 或 x*x+6-2*x Sin(x)
    函数的功能是计算x2-2x+6,所以括号的内容填x2-2x+6,y2的值是计算sin2(x)-2sin(x)+6,所以括号里填sin(x).

  • 第2题:

    下面函数要求计算两个整数x,y之和,并通过形参返回该值,请填空。

    add(int x, int y,【15】z)

    {【16】= x+y; }


    正确答案:
    int *;*z

  • 第3题:

    下列程序编译错误,因为add函数返回值是一个引用,故对return后返回值的要求是【 】。

    include<iostream. h>

    int& add(int x, int y)

    {

    return x+y;

    }

    void main( )

    int i=3,j=19;

    cout<<(add(i,j)+ =20)<<end1;

    }


    正确答案:不能是表达式
    不能是表达式 解析:引用是变量的别名,其实质是变量的地址。return在返回值时,如果其后为表达式,则系统为该表达式生成一个临时变量用于存放该表达式的结果,函数执行完毕之后该变量被系统回收,因此,返回的该变量的地址对调用函数来说已经没有意义了。

  • 第4题:

    以下函数原型说明正确的是________。

    A. float add(int x, int y) ;

    B. int add(int x;int y) ;

    C. char add( x,y) ;

    D. int add(char x[ ] [ ]) ;


    参考答案:A

  • 第5题:

    函数模板: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的数据类型必须是一样的。

  • 第6题:

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

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

    A.add<>(1,2)

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

    C.add(1.0,2)

    D.add(1.0,2.0)


    正确答案:C

  • 第7题:

    下列函数的运行结果是()。includeint add(int a,int b);void main(){extern int x,y

    下列函数的运行结果是( )。 #include<iostream.h> int add(int a,int b); void main() { extern int x,y; cout<<add(x,y)(<endl; ) int x(20),y(5); int add(int a,intB) { int s=a+b; return s; }

    A.25

    B.30

    C.20

    D.15


    正确答案:A
    解析: 由主函数main入手,定义外部变量x和y,调用函数add。因为x,y为外部变量,所以“int x(20),y (5);”的赋值在add也是有效的,即add函数的运算结果为25。

  • 第8题:

    下面程序的输出结果是【】。includeint add(int a, int b);void main(){extern int x,

    下面程序的输出结果是【 】。

    include<iostream.h>

    int add(int a, int b);

    void main()

    {

    extern int x, y;

    cout<<add(x, y)<<end1;

    }

    int x(20),y(5);

    int add(int a, int b)

    {

    int s=a+ b;

    return s;

    }


    正确答案:25
    25

  • 第9题:

    函数模板: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

  • 第10题:

    下面程序的运行结果是( )。 include using namespace std; template

    下面程序的运行结果是( )。 #include <iostream> using namespace std; template <class T> class A{ T x,y; public: A(T a,T b){x=a;y=b;} int add(){return x+y;} }; void main(){ A<double>a(7.8,3.4); A<char>b(7.8,3.4); cout<<a.add()<<","<<b.add(); }

    A.10,10

    B.11,11

    C.11,10

    D.以上答案都不对


    正确答案:C
    解析:模板函数的调用,执行语句Adouble>a(7.8,3.4);后,则a.x=7.8、a.y=3.4;执行语句Achar>b(7.8,3.4);后,将对7.8和3.4转换为char类型,则b.x=7、b.y=3;函数add()为整形,x+y将转换为整形。

  • 第11题:

    函数模板: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
    解析:
    对于template<class T>T add(T x,T y){return x+y;}调用时可以省略模板实参的声明,但是要求x和y的数据类型必须是一样的。

  • 第12题:

    单选题
    有以下程序 #include  int add(int a,int b) {  return (a+b); } main() {  int k, (*f)(),a=5,b=10;  f=add;  … } 则以下函数调用语句错误的是(  )。
    A

    k=*f(a,b);

    B

    k=add(a,b);

    C

    k=(*f)(a,b);

    D

    k=f(a,b);


    正确答案: A
    解析:
    int (*f)(int, int)声明了一个函数指针,它可以指向一个函数,该函数的形参是两个int,返回值是int;f=add,是把函数add的地址赋给指针f,选项B正确;函数指针的调用有两种方式,(*f)()和f(),选项C、D正确。f(a,b)已经表示调用函数add,返回15,k=*15出现编译错误,选项A错误。答案选择A选项。

  • 第13题:

    有以下程序: int add(int a,intB){return(a+B);} main() { int k,(*f)(),a=5,b=10; f=add; } 则以下函数调用语句错误的是( )。

    A.k=(*f)(a,B);

    B.k=add(a,B);

    C.k=*f(a,B);

    D.k=f(a,B);


    正确答案:C

  • 第14题:

    下列给定程序中,函数fun()的功能是;计算函数 F(x, y ,z)=(x+ y)/(x-y)+(z+ y)/(z-y)的值。其中x和y不相等,z和y不等。例如,当x的值为9,y的值为11,2的值为15时,函数值为-3.50。

    请改正程序中的错误,使它能得出正确的结果。

    注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    include <stdio. h>

    include <math. h>

    /**************found******************/

    define FU(m, n) (m/n)

    float fun(float a, float b, float c)

    { float value;

    value=FU(a+ b, a-b)+FU(c+ b, c-b);

    /*************found******************/

    return(Value);

    }

    main()

    { float x, y, z, sum;

    printf ("Input x y z:: ");

    scanf("%f%f%f", &x, &y, &z);

    printf("x=%f, y=%f, z=%f\n ",x, y, z);

    if (x==y||y==z) {printf ("Data error! \n ");

    exit (0); }

    sum=fun (x, y, z);

    printf("The result is:%5. 2f\n ",sum);

    }


    正确答案:(1)错误;#define FU(m n) (m/n) 正确:#define FU(mn) (m)/(n) (2)错误:return (Value); 正确:return (value);
    (1)错误;#define FU(m, n) (m/n) 正确:#define FU(m,n) (m)/(n) (2)错误:return (Value); 正确:return (value); 解析:如果从数学思想来说,这是一道简单的小学数学题,当然,用C语言的别的办法实现的话,也用不了三两句的程序,但是,这道题的考查点在C语言的宏定义上(这样的问题比较隐蔽),它的格式为#define 标识符字符串,中间要用空格分开,在该题中,标识符为FU (m, n),而字符串则是(m/n),由题干信息易知,应该是# define FU(m,n) (m)/(n)。

  • 第15题:

    下面函数用来求出两个整数之和,并通过形参传回两数相加的结果。请将函数补充完整。

    int add(int x,int y, 【 】 z){

    【 】=x+y;

    }


    正确答案:int**z
    int*,*z 解析:题目中应把形参z定义为指针变量,以返回运算结果,因此第1个空填入int *,第2个空将和值赋值给指针变量指向的变量。

  • 第16题:

    有以下程序 int add(int a,int b){return(a+b);} main() {int k,(*f)(),a=5,b=10; f=add; } 则以下函数调用语句错误的是

    A.k=(*f)(a,b);

    B.k=add(a,b);

    C.k=*f(a,b);

    D.k=f(a,b);


    正确答案:C

  • 第17题:

    函数模板: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的数据类型必须是一样的。

  • 第18题:

    以下程序中,函数fun的功能是计算x2(上标)-2x+6,主函数中将调用fun函数计算:

    y1=(x+8)2(上标)-2(x+8)+6

    y2=sin2(上标)(x)-2sin(x)+6

    请填空。

    include "math.h"

    double fun(double x){ return (x*x-2*x+6);}

    main()

    { double x,y1,y2;

    printf("Enter x:"); scanf("%1f",&x);

    y1=fim([ ]);

    y2=run([ ]);

    printf("y1=%1f,y2=%1f\n",y1,y2);

    }


    正确答案:x+8 sin(x)
    x+8 sin(x) 解析:根据函数fun实现的功能可知:主函数中的y1、y2想要实现的是相同的功能,又根据 y1=(x+8)2-2(x+8)+6=(x+8)*(x+8)-2(x+8)+6,可看出y1=fun(  [11]  );处填:x+8;同理可知y2=fun(  [12]  );处填sin(x)。

  • 第19题:

    设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数,请填空。main(){ int findbig(int,int,int); int (*f)(),x,y,z,big; f=; scanf("%d%d%d",&x,&y,&z); big=(*f)(x,y,z); printf("big=%d\n",big);}


    正确答案:findbig
    在main()函数中,int findbig();是对被调函数的说明,其功能是告诉系统在本函数中将用到该函数且返回整型值。int (*f)();说明f是一个指向函数的指针变量,此函数带回整型的返回值。赋值语句f=findbig;的作用是将函数findbig的入口地址赋给指针变量f,这时f就是指向函数findbig的指针变量。要注意的是,在给函数指针变量赋值时,只需给出函数名而不必给出参数,因为是将函数的入口地址赋给f,而不涉及实参与形参的结合问题。故本题答案为findbig。

  • 第20题:

    下列函数的定义,正确的是( )。

    A.float sum(x,y) {float x,y;……}

    B.float sum(float x,float y); {……}

    C.float sum(float x,float y) {……}

    D.float sum(floatx,floaty) {……}


    正确答案:C
    解析:选项A函数形参需指定类型;选项B函数头不能以分号结尾;选项D函数形参需指定类型。

  • 第21题:

    下列程序语句中,不正确的是______。

    A.maia() { float a,b,c; scanf("%f,%f",&a,&b); c=add(a,b); …… } int add(float x,float y) {……}

    B.main() { float a,b,c; scanf("%f,%f",&a,&b); c=add(a,b); …… } float add(float x,float y) {……}

    C.float add() maia() { float a,b,c; scanf("%f,%f",&a,&b); c=add(a,b); …… } float add(float x,float y) {……}

    D.float add(float x, float y) {……} main() { float a,b,c; scanf("%f,%f",&a,&b); c=add(a, b); …… }


    正确答案:B

  • 第22题:

    下列程序的输出结果是______。 include class base { int x,y; public: base(int i,i

    下列程序的输出结果是______。

    include<iostream.h>

    class base

    {

    int x,y;

    public:

    base(int i,int j){x=i;y=j;}

    virtual int add( ){return x+y;}

    };

    class three:public base

    {

    int z;

    public:

    three(int i,int j,int k):base(i,j){z=k;)

    int add( ){return(base::add( )+z);}

    };

    void main( )

    {

    three*q=new three(10,20,30);

    cout<<q->add( )<<endl;

    }


    正确答案:60
    60 解析:本题考察继承中子类对父类的继承方式,注意子类的add成员函数,它直接使用了父类的成员函数进行运算。

  • 第23题:

    下列四类函数中,有性质“对任意的x>0,y>0,函数f(x)满足f(x+y)=f(x)f(y)”的是()。

    • A、幂函数
    • B、对数函数
    • C、指数函数
    • D、余弦函数

    正确答案:C