做题小记3

Java

  1. 分析以下代码,说法正确的是()

 public static void main(String[] args) {
    System.out.println(val());
}

public static int val() {
    int num = 5;
    try {
    num = num / 0;
} catch (Exception e) {
    num = 10;
} finally {
    num = 15;
}
return num;
}
A.运行时报错
B.程序正常运行,输出值为5
C.程序正常运行,输出值为10
D.程序正常运行,输出值为15

解析:无论有无异常,finally块中的代码一定会执行且在最后执行,因此num输出为15。

  1. 以下哪一个不是赋值符号?

A.+=
B.<<=
C.<<<=
D.>>>=

A.很明显是赋值符号 B.<<=左移赋值 C.不是 D.>>>= 右移赋值,左边空出的位以0填充

数据结构(数组)

  1. 关于 Array 数组对象的说法不正确的是()

A.push()向数组的末尾添加一个或更多元素,并返回新的长度
B.pop()删除并返回数组的第一个元素
C.unshift()向数组的开头添加一个或更多元素,并返回新的长度
D.join()把数组的所有元素放入一个字符串

答案选择B

pop方法删除数组的最后一个元素,把数组的长度减1,并且返回它被删除元素的值,如果数组变为空,则该方法不改变数组,返回undefine值

  1. 在以下代码段下划线处填写以下哪个选项可以输出good。

    char a[] = "ggood";
    char b[] = "goodd";
    char *c;
    _________
    printf(c);
A.c = a+1;
B.c = b; c[5] = '\0';
C.*c = "good";
D.编译出错或其他都不对

A选项c=a+1,则指针的起始位置为a[1]所在的位置,打印输出刚好为“good”;

B选项输出结果为“goodd”,改为c[4]='\0'可符合输出结果;

C选项语法错误。

正确答案为A。

  1. 假设以行优先顺序存储三维数组A5[7],其中元素A0[0]的地址为1100,且每个元素占2个存储单元,则A4[2]的地址是()

A.1150
B.1291
C.1380
D.1482

正确答案为D,可以将三维数组A5[7]看作5个6行7列的二维数组。

1、A4[2]元素在第5个二维数组,前面4个二维数组存储元素个数为4(67);

2、第5个二维数组中,目标元素位于第4行第3列,其前面存储元素个数为3*7+2;

因此A4[2]前面存储了467+37+2=191个元素,故其地址为1100+1912=1482。

posted @   Hurricane#5250  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示