题目
不考虑内存释放问题,下列赋值语句中哪两个是合法的(写出合法赋值语句的编号)
①sq=sh;②sh=tr;③tr=sq;④sq=tr;⑤sh=sq。
第1题
试题五(共 15 分)
阅读下列说明、图和C++代码,回答问题1 至问题3,将解答写在答题纸的对应栏内。
[说明]
已知四个类之间的关系如图 5-1 所示,分别对每个类的方法进行编号,例如 Shape的 perimeter()方法为 1 号,表示为“1:perimeter()” ,Rectangle 类的 perimeter()为2号,表示为“2:perimeter()” ,依此类推,其中,每个类的 perimeter方法都为虚函数且方法签名相同。
[C++代码]
Triangle *tr = new Triangle();
Square *sq = new Square();
Shape *sh = tr;
[问题 1] 关于上述 C++代码中 sh 和 tr 的以下叙述中,哪两个是正确的(写出编号) 。
① sh 和 tr 分别引用同一个对象;
② sh 和 tr 分别引用同一类型的不同的对象;
③ sh 和 tr 分别引用不同类型的不同对象;
④ sh 和 tr 分别引用同一个对象的不同拷贝;
⑤ sh 和 tr 所引用的内存空间是相同的。
[问题 2] 写出下面消息对应的方法编号(如果该消息错误或者没有对应的方法调用,请
填写“无” ) 。
tr->height() (1)
sh->perimeter() (2)
sq->height() (3)
sq->perimeter() (4)
sh->height() (5)
tr->perimeter() (6)
[问题 3] 不考虑内存释放问题,下列赋值语句中哪两个是合法的(写出合法赋值语句的
编号) 。
① sq = sh; ② sh = tr; ③ tr = sq; ④ sq = tr; ⑤ sh = sq;
第2题
下列赋值语句中哪两个是合法的(写出合法赋值语句的编号)。
①sq=sh; ②sh=tr; ③tr=sq; ④sq=tr; ⑤sh=sq;
第3题
试题七(共 15 分)
阅读下列说明、图和Java 代码,回答问题1 至问题3,将解答写在答题纸的对应栏内。
[说明]
已知四个类之间的关系如图 7-1 所示,分别对每个类的方法进行编号,例如 Shape的 perimeter()为 1 号,表示为“1:perimeter()” ,Rectangle 类的 perimeter()为 2 号,表示为“2:perimeter()” ,依此类推,其中,每个类的 perimeter方法签名相同。
[Java 代码]
Triangle tr = new Triangle();
Square sq = new Square();
Shape sh = tr;
[问题 1] 关于上述 Java代码中 sh 和 tr 的以下叙述中,哪两个是正确的(写出编号) 。
① sh 和 tr 分别引用同一个对象;
② sh 和 tr 分别引用同一类型的不同的对象;
③ sh 和 tr 分别引用不同类型的不同对象;
④ sh 和 tr 分别引用同一个对象的不同拷贝;
⑤ sh 和 tr 所引用的内存空间是相同的。
[问题 2] 写出下面消息对应的方法编号(如果该消息错误或者没有对应的方法调用,请
填写“无” ) 。
tr.height() (1)
sh.perimeter() (2)
sq.height() (3)
sq.perimeter() (4)
sh.height() (5)
tr.perimeter() (6)
[问题 3] 下列赋值语句中哪两个是合法的(写出合法赋值语句的编号) 。
① sq = sh; ② sh = tr; ③ tr = sq; ④ sq = tr; ⑤ sh = sq;
第4题
A.语句中有两个等于符号
B.语句中有两个赋值符号
C.语句中第一个是等于符号,第二个是赋值符号
D.语句中第一个是赋值符号,第二个是等于符号
第5题
下面的语句中动态分配的内存,其释放语句正确的是()。 im*q=new[10];
A.delete q;
B.delete q[0];
C.delete[]q;
D.delete*q;
第6题
A.可以对字符型串进行整体输入、输出
B.可以对整型数组进行整体输入、输出
C.字符型数组中可以存放字符串
D.不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值
第7题
A.(A)$e, a, b = 10;
B.(B)char c, d = a‘;
C.(C)float e = 0.0d; 【解析】不能将double类型的常量赋值给float类型的变量。
D.(D)double c = 0.0f;
第8题
A.(A)$e, a, b = 10;
B.(B)char c, d = a‘;
C.(C)float e = 0.0d; 【解析】不能将double类型的常量赋值给float类型的变量。
D.(D)double c = 0.0f;
第9题
A.字符数组可以存放字符串
B.字符数组中的字符串可以整体输入、输出
C.不可以用关系运算符对字符数组中的字符串进行比较
D.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
第10题
A.A
B.B
C.C
D.D
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!