设i,j为类X定义的double型变量名,下列X类的构造方法中不正确的是A.X(double k){ i=k; }B.X( ){ i=6;}C.X(double m,double n){ i=m;j=n;}D.double X(double k){ i=k;return i;}

题目

设i,j为类X定义的double型变量名,下列X类的构造方法中不正确的是

A.X(double k){ i=k; }

B.X( ){ i=6;}

C.X(double m,double n){ i=m;j=n;}

D.double X(double k){ i=k;return i;}


相似考题
参考答案和解析
正确答案:D
解析:构造方法是给对象赋初值,所以没有返回值。
更多“设i,j为类X定义的double型变量名,下列X类的构造方法中不正确的是A.X(double k){ i=k; }B.X( ){ i ”相关问题
  • 第1题:

    若类A和类B的定义如下

    class A

    {

    int i,j;

    public:

    int geti( )

    {

    return i;

    }

    };

    class B:public A

    {

    int k:

    public:

    void make( )

    {

    k=i*j;

    }

    };

    则上述定义中非法的语句是

    A.k=i*j

    B.int k;

    C.return i;

    D.void make()


    正确答案:A
    解析:本题考核派生类的定义和访问权限。变量i和j都是基类A的私有变量,它们是隐蔽的,在派生类中不能直接访问。

  • 第2题:

    若类A和类B的定义如下:includeclass A{int i*j;public:int geti(){return i;}};class

    若类A和类B的定义如下: #include<malloc.h> class A { int i*j; public: int geti() { return i; } }; class B: public A { int k; public: void make() { k=i*j; } ); 则上述定义中非法的表达式是( )。

    A.k=i*j;

    B.int k;

    C.return i;

    D.void make();


    正确答案:A
    解析:因为派生类不能访问基类的私有成员i和j(默认情况下,成员的属性为私有),所以表达式k=i*j是非法的。其余的访问权限都是许可的。

  • 第3题:

    若类A和类B的定义如下: class A [ int i,j; public: int geti() { return i; } }; class B:public A { int k; public: void make() { k=i*j; } }; 则上述定义中非法的表达式是

    A.k=i*j

    B.int k;

    C.retum i;

    D.void make()


    正确答案:A
    解析:本题考核派生类的定义和访问权限。变量i和j都是基类A的私有变量,它们是隐蔽的,在派生类中不能直接访问。

  • 第4题:

    有以下程序 main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for (j=2;j>=i;

    有以下程序

    main( )

    { int x[ ]={1,3,5,7,2,4,6,0},i,j,k;

    for(i=0;i<3;i++)

    for (j=2;j>=i;j--)

    if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}

    for(i=0;i<3;i++)

    for(j=4;j<7-i;j++)

    if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}

    for (i=0;i<3;i++)

    if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}

    for (i=0;i<8;i++) printf("%d",x[i]);

    printf("\n");

    }

    程序运行后的输出结果是:

    A.75310246

    B.1234567

    C.76310462

    D.13570246


    正确答案:A
    解析:程序运行的输出结果是75310246。

  • 第5题:

    假设有下列声明语句: int i,j; float x,y; double u,v; 下面______个赋值是合法的? ( )

    A.i=x;

    B.x=u+y;

    C.x=23.4+j*y;

    D.v=(int)x;


    正确答案:D
    解析:该题考查的是变量的赋值。赋值是用等号运算符(=)进行的。它的意思是“取得右边的值,把它复制到左边”。右边的值可以是任何常数、变量或者表达式,只要能产生一个值就行。但左边的值必须是一个明确的、已命名的变量。也就是说,它必须有一个物理性的空间来保存右边的值。举个例子来说,可将一个常数赋给一个变量(A=4;),但不可将任何东西赋给一个常数(比如不能4=A) 。Java还允许将一种类型的变量赋给另一个变量,同时不进行显示造型同样可以进行某些特定的赋值转换,允许的转换包括:byte→short→int→ long→float→double 和 char→int。而选项A中 float型不能赋给int型,选项B中double型不能赋给float型,选项C中经过转变后也是把double型赋给float型了,选项D中使用了强制转换,把x强制转换成int型,所以是正确的。

  • 第6题:

    有以下程序main(){ int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for(j=2;j>=i;j--) if(x[j+1]>x[j]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for (i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for (i=0;i<8;i++) printf("%d",x[i]); printf("\n");}程序运行后的输出结果是A.75310246 B.01234567 C.76310462 D.13570246


    正确答案:A
    for(i=0;i<3;i++)
         for(j=2;j>=i;j--)
            if(x[j+1]>x[j]){  k=x[j];x[j]=x[j+1];x[j+1]=k;}
    此段程序的作用是将数组x[0]~x[3]中的数由大到小进行排列,运行此段程序后,x[]中的值变为x[]={7,5,3,1,2,4,6,0}
    for(i=0;i<3;i++)
        for(j=4;j<7-i;j++)
            if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}
    此段程序的作用是将数组x[4]~x[7]中的数由小到大进行排列,运行此段程序后,x[]中的值变为x[]={7,5,3,1,0,2,4,6},最后通过一个循环将X[]中的数依次输出。

  • 第7题:

    有以下程序:main(){int x[]={1,3,5,7,2,4,6,0),i,j,k;for(i=0;i<3;i++)for(j=2;i>=i;j--)if( x[j

    有以下程序: main() { int x[]={1,3,5,7,2,4,6,0),i,j,k; for(i=0;i<3;i++) for(j=2;i>=i;j--) if( x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k; } for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k; } for(i=0;i<8;i++) printf("%d",x[i]); printf("\n"); } 程序运行后的输出结果是( )。

    A.7.53102e+007

    B.01234567

    C.7.63105e+007

    D.1.35702e+007


    正确答案:A
    解析:主函数中定义了一个整型数组x,并初始化。接着执行了一个二重for循环,该二重循环的作用是将数组的前4个元素按从大到小排序,接着用了一个二重循环(也是冒泡算法)将数组的后4个元素按从小到大的顺序排序,故最后依次输出数组的元素值为75310246,所以,4个选项中选项A符合题意。

  • 第8题:

    有以下程序: #include<stdio.h> double f(double x); main( ) {double a=0; int i; for(i=0;i<30;i+=10)a+=f((double)i); printf("%5.of\n",a); } double f(double x) { return x*x+1; } 程序运行后的输出结果是( )。

    A.503

    B.401

    C.500

    D.1404


    正确答案:A
    此题是一个简单的函数调用,当i=0并且i<30,执行i+=10,并且调用函数f,所以当i=0时,结果为1,当i=10时,结果为101,当i=20时,结果为401,所以a=1+101+401=503。

  • 第9题:

    若有定义:“double a=22;int i=0,k=18;”,则不符合C语言规定的赋值语句是( )。A.a=a++,i++;SXB

    若有定义:“double a=22;int i=0,k=18;”,则不符合C语言规定的赋值语句是( )。

    A.a=a++,i++;

    B.i=(a+k)<=(i+k);

    C.i=a%11;

    D.i=!a;


    正确答案:D

  • 第10题:

    有以下程序:main(){int x[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+

    有以下程序: main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for(j=2;j>=i;j--) if(x[j+1]>x[j]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for(i=0;i<8;i++) printf("%d",x[i]); printf("\n"); } 程序运行后的输出结果是( )。

    A.75310246

    B.1234567

    C.76310462

    D.13570246


    正确答案:A
    解析:主函数中定义了一个整型数组x,并初始化。接着执行了一个二重for循环,在该二重循环的作用是将数组的前4个元素按从大到小排序,接着用了一个二重循环(也是冒泡算法)将数组的后4个元素按从小到大的顺序排序,故最后依次输出数组的个元素的值为75310246,所以,4个选项中选项A符合题意。

  • 第11题:

    设i,j,k均为int型变量,则执行完for循环 for(i=0,j=10;i<=j;i++,j--) k=i+j;     后,k的值为()


    正确答案:10

  • 第12题:

    单选题
    设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是()
    A

    x(intm){...}

    B

    voidx(intm){...}

    C

    x(intm,intn){...}

    D

    x(inth,intm,intn){...}


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

  • 第13题:

    若类A和类B的定义如下: class A { int i,j; public: int geti () { return i; } }; class B : public A { int k; public: void make () { k=i*j; } }; 则上述定义中非法的语句是

    A.k=i*j;

    B.int k;

    C.return i;

    D.void make()


    正确答案:A
    解析:本题考核派生类的定义和访问权限。变量i和j都是基类A的私有变量,它们是隐蔽的,在派生类中不能直接访问。

  • 第14题:

    有以下程序: include main ( ){int x[ ] = {1,3,5,7,2,4,6,0} ,i,j,k;for(i =0;i<3;i

    有以下程序: #include <stdio. h> main ( ) { int x[ ] = {1,3,5,7,2,4,6,0} ,i,j,k; for(i =0;i<3;i ++ ) for (j =2;j> = i;j — ) if( x[j + 1 ] > x[j] ) { k = x[j] ;x[j] = x[j + 1 ] ;x[j + 1 ] = k; } for (i =0;i<3;i++) for(j =4;j <7-i;j ++) if(x[j] >x[j+1]){ k=x[j];x[j] =x[j+1];x[j+1] =k;} for (i=0;i<8;i ++) printf("%d" ,x[i]); prinff("\n" );}程序运行后的输出结果是( )。

    A.75310246

    B.1234567

    C.76310462

    D.13570246


    正确答案:A
    解析:本题考查的是排序算法。for(i=0;i3;i++)for(j=2;j>i;j--)if(x[j+1],x[j]){k=x[j];x[j];x[j+1);x[j+1]=k;}该段程序的作用是将数组元素x[0]~x[3]中的数由大到小排列,得到x[]{7,5,3,1,2,4,6,0}。for(i=0;i3;i++)for(j=4;j7-i;j++)if(x[j]>x[j+1]){k=x[j];x[j]=x[j+1];x[j+1]=k;}该段程序的作用是将数组元素x[4]~x[7]中的数由小到大排列,得到x[]={7,5,3,1,0,2,4,6}。因此输出结果为75310246。

  • 第15题:

    下列程序的执行结果为【 】。include class Point{public:Point(double i, double j)

    下列程序的执行结果为【 】。

    include <iostream. h>

    class Point

    {

    public:

    Point(double i, double j) { x=i; y=j;}

    double Area() const { return 0.0;}

    private:

    double x, y;

    };

    class Rectangle: public Point

    {

    public:

    Rectangle(double i, double j, double k, double 1)

    double Area() const {return w * h;}

    private:

    double w, h;

    };

    Rectangle: :Rectangle(double i, double j, double k. double 1): Point(i,j).

    {

    w=k, h=1

    }

    void fun(Point &s)

    {

    cout<<s. Area()<<end1;

    }

    void main( )

    {

    Rectangle rec(3.0, 5.2, 15.0. 25.0);

    fun(rec)

    }


    正确答案:×
    0 解析:注意本题不同于基类的指针指向派生类对象。Fun函数的形参是Point基类的引用。在可以用基类对象的地方,均可以用派生类替代,完成基类的行为。反之,在使用派生类对象的地方却不能用基类对象代替,这是因为派生类中的某些行为在基类对象中是不存在的。本题调用的是Point类对象的面积函数,其值永远为0。

  • 第16题:

    若类A和类B的定义如下: class A { int i,j; public: int geti() { return i; } }; class B: public A { int k; public: void make() { k=i*j } }; 则上述定义中

    A.k=i*j;

    B.int k;

    C.return i;

    D.void make()


    正确答案:A
    解析:本题考核派生类的定义和访问权限。变量i和j都是基类A的私有变量,它们是隐蔽的,在派生类中不能直接访问。

  • 第17题:

    若有定义:double a=22;int i=0,k=18;,则不符合c语言规定的赋值语句是( )。

    A.i=a%ll;

    B.i=(a+k)《=(i+k);

    C.a=a++,i++;

    D.i=!a;


    正确答案:A
    取模运算符“%”为二元运算符,具有左结合性,参与运算的量应均为整型,选项A)中的变量a是double型,所以选项A)不符合规定。

  • 第18题:

    设有如下的变量定义; int i=8,k,a,b; unsinged long w=5; double x=1.42,y=5.2 则以下符合C语言语法的表达式是( )

    A.a+=a-=(b=4)*(a=3)

    B.x%(-3);

    C.a=a*3=2

    D.y=float(i)


    正确答案:A

  • 第19题:

    若有定义:double a=22;inti=0,k=18;,则不符合c语言规定的赋值语句是( )。

    A.i=(a+k)<=(i+k);

    B.i=a%11;

    C.a=a++,i++;

    D.i=!a;


    正确答案:B
    取模运算符“%”,二元运算符,具有左结合性,参与运算的量均为整型。选项B中的a变量是doable实型,所以8不符合规定。

  • 第20题:

    有以下程序

    #include<stdio.h>

    double f(double x);

    main()

    { double a=0;int i;

    for(i=0;i<30;i+=10) a+=f((double)i);

    printf("%5.0f\n",a);

    }

    double f(double x)

    {return x*x*i;}

    程序运行后的输出结果是

    A.503

    B.401

    C.500

    D.1404


    正确答案:A
    解析:考察函数的基础知识,当i分别为0、10、20时a分别为1,102,503,所以结果为503,选项A正确。

  • 第21题:

    已有定义:double x;int i;,能正确给x赋70000.0的表达式是( )

    A.x=7000*10

    B.x=70000

    C.x=35000+35000

    D.i=700,x=i*100


    正确答案:B

  • 第22题:

    设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是()

    • A、x(intm){...}
    • B、voidx(intm){...}
    • C、x(intm,intn){...}
    • D、x(inth,intm,intn){...}

    正确答案:B

  • 第23题:

    设x,i,j,k都是int型变量,表达式x=(i=4,j=16,k=32)计算后,x的值为()。


    正确答案:32