下面的语句片段中,变量result结果为()。public class Test {public static void main (String arg

题目

下面的语句片段中,变量result结果为( )。 public class Test { public static void main (String args[ ]) { int sum=0; int r=2; iht result=(sum==1?sum:r); System. out. println (result); } }

A.1

B.2

C.10

D.0

参考答案和解析
正确答案:B
解析:条件运算符?:为三元运算符,它的一般形式为:expression ? statement1:statement2。其中表达式expression的值应为一个布尔值,若该值为true,则执行语句statement1,否则执行语句statement2,而且语句statement1和statement2需要返回相同的数据类型,且该类型不能是 void。在本题中sum等于0,而不等于1,所以返回r的值为2。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

93、在Java中,成员变量和局部变量都能被public,private,static,final所修饰;


局部变量是在方法中定义的变量或是方法的参数;成员变量如果没有被赋初值,通常会自动以类型的默认值而赋值;局部变量不能被访问控制修饰符修饰

第2题:

阅读下列说明和C++代码,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。
【说明】
以下C++代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分类及其关系如图6-1所示。



【C++代码】
#include?#include?using?namespace?std;class?DrawCircle?{??????//绘制圆形,抽象类? ? ? public: (1);//定义参数为?int?radius,?int?x,?inty? ?virtual~DrawCircle()?{?}};class?RedCircle:public?DrawCircle?{????//绘制红色圆形? ? ? ? public: void?drawCircle(intradius,?int?x,?int?y)?{cout?<?drawCircle?=?drawCircle;? }? ?virtual~shape()?{?}? public:? ?virtual?void?draw()?=?0;};class?Circle:public?Shape?{????//圆形? ? private:? ? ?int?x,y,radius;? ? public:? Circle(int?x,inty,int?radius,DrawCircle?*drawCircle)? (3)? {? this->x?=?x;? ?this->y?=?y;? ? this->radius?=?radius; }? ? ? public:? void?draw(){? drawCircle?-> (4); }};int?main(){Shape?*redCirclenew?Circle(100,100,10,????(5)????);//绘制红色圆形? Shape?*greenCircle=new?Circle(100,100,10, (6)??);//绘制绿色圆形redCircle >draw();? ?greenCircle?->draw();? ?return?0;}


答案:
解析:
(6)(1)void drawCircle (int radius,int x,int y)
(2)DrawCircle*drawCircle
(3)drawcircle
(4)drawCircle(radius,x,y)
(5)new RedCircle()
(6)new GreenCircle()【解析】
第一空是填接口里面的方法,在接口的实现里面找,可以发现应该填void drawCircle (int radius,int x,int y)。
第二空可以根据后面this drawCircle=drawCircle判断,这里应该有一个drawCircle属性,因此应该填)DrawCircle drawCircle。
第三空这里填drawcircle,用-> drawcircle来引用父类的成员。
第四空调用drawCircle(radius,x,y)方法。
第五、六空分别创建一个红色圆形对象和一个绿色圆形对象作为Circle里面的实参。

第3题:

阅读以下说明和Java程序,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。
【说明】
以下Java代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分接口、类及其关系如图5-1所示。




【Java代码】
interface?DrawCircle?{? //绘制圆形 public(1) ;}class?RedCircle?implements?DrawCircle?{? ?//绘制红色圆形???????public?void?drawCircle(int?radius,intx,?int?y)??{????????????System.out.println("Drawing?Circle[red,radius:"?+?radius?+",x:"?+?x?+?",y:"?+y+?"]");???????}}class?GreenCircle?implements?DrawCircle?{????//绘制绿色圆形??????public?void?drawCircle(int?radius,?int?x,int?y)?{???????????System.out.println("Drawing?Circle[green,radius:"?+radius+",x:?"?+x+?",y:?"?+y+?"]");??????}}abstract?class?Shape?{????//形状? protected? ? (2)???;? ? public?Shape(DrawCircle?drawCircle)?{? ?this.drawCircle=?drawCircle;? ? ? public?abstract?void?draw();}class?Circle?extends?Shape?{? //圆形? ?private?int?x,y,radius;? public?Circle(int?x,int?y,intradius,DrawCircle?drawCircle)?{? ?(3)???;? this.x?=?x;? ? ? this.y?=?y;? ?this.radius?=radius;? }? ? ?public?void?draw()?{? ? drawCircle.? ?(4)? ?;? ? ? }}public?class?DrawCircleMain?{? public?static?void?main(String[]?args)?{? Shape?redCircle=new?Circle(?100,100,10,? (5) );//绘制红色圆形? Shape?greenCircle=new?Circle(200,200,10,(6) );//绘制绿色圆形? ?redCircle.draw(); greenCircle.draw();? ?}}


答案:
解析:
(1)void drawCircle (int radius,int x,int y)
(2)DrawCircle drawCircle
(3)super.drawcircle=drawcircle
(4)drawCircle(radius,x,y)
(5)new RedCircle()
(6)new GreenCircle()【解析】
第一空是填接口里面的方法,在接口的实现里面找,可以发现应该填void drawCircle (int radius,int x,int y)。
第二空可以根据后面this drawCircle=drawCircle判断,这里应该有一个drawCircle属性,因此应该填)DrawCircle drawCircle。
第三空这里用super,用super. drawcircle来引用父类的成员。
第四空调用drawCircle(radius,x,y)方法。
第五、六空分别创建一个红色圆形对象和一个绿色圆形对象作为Circle里面的实参。

第4题:

以下关于作用范围的描述正确的是______。

A.所有变量(Public/Global/Static/Private)都可以放到窗体的通用部分定义

B.所有变量(Public/Global/Static/Private)都可以放到标准模块中定义

C.Public/Global类的变量只能放在标准模块中定义

D.只有Global变量是必须放在标准模块中定义


正确答案:C
解析:全局变量必须用Public或Global语句声明,不能用Dim语句声明,更不能用Private语句声明;同时,全局变量只能在标准模块中声明,不能在过程或窗体模块中声明。

第5题:

请写出下面的输出:

class B

{

public:

virtual void Print(void)

{

printf(“B::Print\n”);

}

virtual void Reprint(void)

{

printf(“B:Reprint\n”);

}

void Algo(void)

{

Print();

Reprint();

}

};

class D : public B

{

public:

virtual void Print(void)

{

printf(“D::Print\n”);

}

};

void main()

{

B *p = new D();

p->Print();

p->Algo();

}


正确答案:
 

第6题:

下列程序的运行结果是______。 include class test { private: int hum; public: tes

下列程序的运行结果是______。

include<iostream.h>

class test

{

private:

int hum;

public:

test( );

int TEST( ){return num+100;)

~test( );

};

test::test( ){num=0;)

test::~test( ){cout<<"Destructor is active"<<endl;)

void main( )

{

test x[3];

cout<<x[1].TEST( )<<endl;

}


正确答案:100 Destructor is active Destructor is active Destructor is active
100 Destructor is active Destructor is active Destructor is active 解析:本题比较简单,考查考生基本的类的定义,构造函数以及对象数组的概念。

第7题:

下列程序的运行结果是【 】。 include class SomeClass { public: SomeClass(int va

下列程序的运行结果是【 】。

include <iostream. h>

class SomeClass

{

public:

SomeClass(int value) { some_value=value;};

void show_data(void) { cout<<data<<"<<~some_value<<endl; };

static void set_data(int value) {data=value; }

private:

static int data;

int some_value

};

int SomeClass::data

void main(void)

{

SomeClass my_class(1001),your_class(2002);

your_class. set_data(4004);

my_elass. show_data()

}


正确答案:4004 1001
4004 1001 解析:本题考查静态成员变量在不同对象间的共享现象。无论哪个对象修改了其静态变量的值,其他对象再访问该变量时已经发生了变化。

第8题:

使用VC6打开考生文件夹下的工程test17_1,此工程包含一个源程序文件test17_1.唧,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

Vehicle message

Car message

Vehicle message

源程序文件test17_1.cpp 清单如下:

include <iostream.h>

class vehicle

{

int wheels;

float weight;

public:

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

void message(void){ cout<<"Vehicle message\n";}

};

class car:public vehicle

{

int passenger_load;

public:

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

void message (void){cout>>"Car message\n";}

};

class truck:public vehicle

{

int passenger_load;

float payload;

public:

int passengers(void){return passenger_load;}

};

void main()

{

vehicle * unicycle;

unicycle=new vehicle;

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

unicycle.message()

delete unicycle;

unicycle=new car;

unicycle->message();

delete unicycle;

unicycle=new truck;

unicycle->message();

delete unicycle;

}


正确答案:(1)错误:void message(void){cout"Vehicle message\n";} 正确:virtual void message(void){cout"Vehicle message\n";} (2)错误:void message(void){cout>>"Carmessage\n”;} 正确:void message(void){eout"Carmessage\n";} (3)错误:unicycle.message(); 正确:unicycle->message();
(1)错误:void message(void){cout"Vehicle message\n";} 正确:virtual void message(void){cout"Vehicle message\n";} (2)错误:void message(void){cout>>"Carmessage\n”;} 正确:void message(void){eout"Carmessage\n";} (3)错误:unicycle.message(); 正确:unicycle->message(); 解析:(1)主要考查考生对于虚函数使用规则的掌握,要实现对函数message的动态联编应该使用虚函数,否则产生的是静态联编,调用的函数输出结果就与要求不符;
(2)主要考查考生对于流输出操作的掌握,该处错误的使用了流输入操作;
(3)主要考查考生是否能分清对象和对象指针,对象指针使用“->”调用成员函数,而对象使用“.”调用成员函数。

第9题:

根据输出结果填空完成下面程序。 include class Test { private: static int val; in

根据输出结果填空完成下面程序。

include<iostream.h>

class Test

{

private:

static int val;

int a;

public:

static int func( );

void sfunc(Test &r);

};

______//初始化静态变量val

int Test::func( )

{

return val++;

}

void Test::sfunc(Test &r)

{

r.a=125;

cout<<"Result3="<<r.a;

}

void main( )

{

cout<<"Resultl="<<Test::func( )<<endl;

Test A;

cout<<"Result2="<<A.fune( )<<endl;

A. sfunc(A);

}

输出结果为:

Result1=201

Result2=202

Result3=125


正确答案:int Test::val=200;
int Test::val=200; 解析:类的静态成员变量必须要进行初始化才能使用,初始化时需要用域限定符::指明该变量所属的类名。