计算机基础与编程知识问答合集

table {
border-collapse: collapse;
width: 100%;
margin-bottom: 1rem;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
pre {
background-color: #f8f8f8;
padding: 15px;
border-radius: 4px;
overflow-x: auto;
}

1、以下哪一个不是操作系统?Linux、Java、Windows、Unix

Java

2、以下哪一个不是应用程序?Word、Internet Explorer、Linux、Excel

Linux

3、三个字节中有多少位?

24

4、在网络中,为其他计算机提供服务的计算机被称为客户端、服务器还是笔记本电脑?

服务器

5、以 0 结尾的二进制数是偶数、奇数还是无法判断?

是偶数

6、以1结尾的二进制数是偶数、奇数还是无法判断?

奇数

7、一个以两个 0 结尾的二进制数是 4 的倍数、不是 4 的倍数还是无法判断?

是 4 的倍数

8、使用四位二进制位,我们能表示的最大正二进制数是 1111。对还是错?

True

9、以下哪个不是编程语言?C++、Java、Windows、Fortran

Windows

10、以下哪种语言不是面向对象的编程语言?C、Java、C++、Smalltalk

C

11、Java源代码文件的文件扩展名是什么?

.java

12、一个已编译的 Java 程序的文件扩展名是什么?

.class

13、要编译一个名为Hello.java的程序,在命令行中应该输入什么?选项有:java Hello、java Hello.java、javac Hello、javac Hello.java

javac Hello.java

14、你已成功将Hello.java编译为Hello.class。要在命令行运行该应用程序,应输入什么?选项有java Hello.class、java Hello、javac Hello、javac Hello.class

java Hello

15、将十进制数1564转换为二进制数。

可先找到小于或等于1564的最大2的幂,1024(即2的10次方)小于1564,

1564 – 1024 = 540;

小于540的最大2的幂是512(即2的9次方),

540 – 512 = 28;

小于28的最大2的幂是16(即2的4次方),

28 – 16 = 12;

小于12的最大2的幂是8(即2的3次方),

12 – 8 = 4;

4是2的2次方。

所以1564 = 2的10次方 + 2的9次方 + 2的4次方 + 2的3次方 + 2的2次方,

用二进制表示为

11000010100

16、将二进制数 0001 0101 转换为十进制数。

21

17、将二进制数 1101 0101 0101 转换为十进制数。

根据转换方法,从右至左每个数位乘以 2 的相应次方(次方从 0 开始)再相加。

(1×20+0×21+1×22+0×23+1×24+0×25+1×26+0×27+1×28+0×29+1×210+1×211)(1×20+0×21+1×22+0×23+1×24+0×25+1×26+0×27+1×28+0×29+1×210+1×211)

=1+0+4+0+16+0+64+0+256+0+1024+2048=3413=1+0+4+0+16+0+64+0+256+0+1024+2048=3413

所以该二进制数转换为十进制是

3413

18、将二进制数 0001 0101 转换为十六进制。

15

19、将十六进制数 D8F 转换为二进制数。

根据十六进制与二进制的对应关系:

D 对应

1101

8 对应

1000

F 对应

1111

所以十六进制数

D8F

转换为二进制数是

110110001111

20、一个随机存取存储器(RAM)芯片被组织为×8内存,即每个单元包含8位,也就是一个字节。该芯片上有7个地址引脚。那么这个存储芯片包含多少字节?

由于地址引脚数量为7,可表示的地址数量为2的7次方,即128个地址,每个地址对应一个字节,所以该存储芯片包含128字节。

21、如果一个CPU的额定频率为1.5 GHz,那么该CPU每秒可以执行多少条指令?

DELETE

22、如果一个CPU每秒可以执行12亿条指令,那么该CPU的主频以MHz为单位是多少?

1200 MHz

23、假设我们使用二进制编码来表示颜色。例如,黑白颜色系统只有两种颜色,因此只需要1位来对颜色系统进行编码,如下所示:位 颜色 0 黑色 1 白色。使用2位,我们可以对四种颜色进行编码,如下所示:位模式 颜色 00 黑色 01 红色 10 蓝色 11 白色。使用5位,我们可以编码多少种颜色?使用n位(n为正整数),我们可以编码多少种颜色?(将答案表示为n的函数)

使用5位可以编码32种颜色;使用n位可以编码2ⁿ种颜色。

24、在HTML中,颜色可以用十六进制符号#rrggbb编码,其中rr表示颜色中的红色分量,gg表示绿色分量,bb表示蓝色分量。rr、gg和bb的十六进制取值范围是00到FF,即十进制的0到255。请给出颜色#33AB12中红色、绿色和蓝色的十进制值。

红色十进制值为51,绿色十进制值为171,蓝色十进制值为18。

25、RGB是一种表示颜色的颜色系统:R代表红色,G代表绿色,B代表蓝色。一种颜色可以用rgb编码,其中r是0到255之间的数字,表示颜色中红色的含量;g是0到255之间的数字,表示颜色中绿色的含量;b是0到255之间的数字,表示颜色中蓝色的含量。灰色是通过对r、g和b使用相同的值来创建的。有多少种灰色色调?

256种。因为r、g、b取值范围是从0到255,共256个值,每个值对应一种灰色色调。

26、Java编译器的名称是什么?

javac

27、编写一个用于计算两个数字乘积的程序的伪代码。

以下是可能的伪代码示例:

输入数字

num1

输入数字

num2

计算

product = num1 * num2

输出

product

28、编写一个程序的伪代码,该程序用于计算输入的大于或等于 10 的数字之和以及小于 10 的数字之和。

以下是该程序的伪代码:


// 初始化两个变量用于存储和
sum_ge_10 = 0
sum_lt_10 = 0

// 输入第一个数字
input num

// 循环直到输入结束(可设定输入 -1 为结束标志)
while num != -1 do 
    if num >= 10 then 
        sum_ge_10 = sum_ge_10 + num 
    else 
        sum_lt_10 = sum_lt_10 + num 
    end if 

    // 输入下一个数字 
    input num
end while

// 输出结果
output "大于或等于 10 的数字之和: ", sum_ge_10
output "小于 10 的数字之和: ", sum_lt_10

29、列出局域网相对于独立计算机系统的优势。

局域网简介

局域网可连接多台地理位置相近的计算机,通常在同一建筑物内,允许它们共享资源,如:

打印机

数据库

文件系统

此外,局域网中有服务器控制对网络资源的访问,并能为客户端提供服务,例如:

响应数据库请求

存储和提供文件

管理电子邮件

30、你正在查看两台电脑的以下配置,其他方面都相同:电脑1:3.4 GHz CPU、16 MB L2缓存、1 GB内存、1T硬盘、售价399美元;电脑2:3.3 GHz CPU、16 MB L2缓存、4 GB内存、1T硬盘、售价399美元。你会买哪台电脑?解释你选择的理由。

会选择电脑2。

因为两台电脑价格相同,虽然电脑1的CPU频率略高,但电脑2的内存是电脑1的4倍,充足的内存对应用程序的整体性能非常重要,能减少CPU从主存到硬盘获取数据的情况,避免因频繁从硬盘读取数据而导致速度损失,所以综合考虑选择电脑2。

31、将十六进制表示的 0xC3E 转换为八进制数。

首先将十六进制数

0xC3E

转换为二进制数。根据十六进制与二进制的对应关系:


C

(1100)


3

(0011)


E

(1110)

所以

0xC3E

转换为二进制是

110000111110

然后将二进制数每三位一组进行划分:

001 100 001 111 110

对应的八进制数分别为:


001

→ 1


100

→ 4


001

→ 1


111

→ 7


110

→ 6

所以

0xC3E

转换为八进制数是

0o14176

(注:在 Python 等语言中八进制数以

0o

开头,若一般书写可写成

14176

)。

32、讨论一般情况下,如何将十六进制数转换为八进制数以及将八进制数转换为十六进制数。

将十六进制数转换为八进制数,可先将十六进制数转换为二进制数,每个十六进制数字用四位二进制数表示;再把得到的二进制数按每三位一组进行分组,不足三位的在左边补0,最后将每组三位二进制数转换为对应的八进制数字。

将八进制数转换为十六进制数,先把八进制数转换为二进制数,每个八进制数字用三位二进制数表示;接着把得到的二进制数按每四位一组进行分组,不足四位的在左边补0,最后将每组四位二进制数转换为对应的十六进制数字。

33、以下哪些是声明名为 a 的整数变量的有效方式?(可多选)int a; a int ; integer a;

int a;

34、以下哪些标识符是有效的?a、sales、sales&profit、int、inter、doubleSales、TAX_RATE、1stLetterChar、char

a、sales、inter、doubleSales、TAX_RATE

35、给定三个已声明并初始化的整型变量 a、b 和 c,以下哪些语句是有效的?a = b; a = 67; b = 8.7; a + b = 8; a * b = 12; c = a – b; c = a / 2.3; boolean t = a; a /= 4; a += c;


有效的语句有:
- a = b;
- a = 67;
- c = a - b;
- a /= 4;
- a += c;

无效的语句有:
- b = 8.7;
- a + b = 8;
- a * b = 12;
- c = a / 2.3;
- boolean t = a;

36、编写代码声明一个名为 a 的浮点型变量,并将值 34.2 赋给 a。

float a = 34.2f;

37、编写代码,将值 10 赋给名为 a 的整型变量。

int a = 10;

38、编写代码声明一个名为 a 的布尔型变量,并将其赋值为 false。

boolean a = false;

39、编写代码,声明一个名为 a 的 char 变量,并将字符 B 赋值给 a。

char a = ‘B’;

40、编写代码,计算三个整型变量a、b和c的总和并打印结果。

在 Java 中可以这样实现:


int a = 1;
int b = 2;
int c = 3;
int total = a + b + c;
System.out.println(total);

这里的

1


2


3

可替换为具体的整数值。

41、编写代码,计算两个整型变量 a 和 b 的平均值并打印结果。平均值应以浮点数形式打印。

在 Java 中可以这样实现:


double average = (double)(a + b) / 2;
System.out.println(average);

(不同编程语言实现代码有差异,但核心思路是先将和转换为浮点数再进行除法运算)

42、编写代码,计算并打印两个整数值分别为10和3的变量相除的余数(打印的值将为1)。

在Java中,代码可以这样写:


int a = 10;
int b = 3;
int remainder = a % b;
System.out.println(remainder);

43、这段代码使用快捷递增运算符将变量 a 的值增加 1。

a++; 或 ++a;

44、使用快捷运算符将变量a的值乘以3的代码。

可以使用

= 快捷运算符,代码为 a

= 3;

45、假设我们已经声明并初始化了两个整型变量 a 和 b。将以下语句转换为合法的 Java 表达式和语句。b 等于 a 加 3 减 7;b 等于 a 乘以 4;a 等于 b 乘以 b;a 等于 b 乘以 3 乘以 5;b 等于 a 除以 2 的商;b 等于 a 除以 3 的余数。


b = a + 3 - 7;
b = a * 4;
a = b * b;
a = b * 3 * 5;
b = a / 2;
b = a % 3;

46、编写一个程序,计算并输出从1到9的每个整数的平方。

以下是使用 Python 实现的代码示例:


for i in range(1, 10):
    print(i ** 2)

以上代码通过

for

循环遍历 1 到 9 的整数,使用

**

运算符计算每个整数的平方并输出。不同编程语言实现方式会有所不同,但思路一致。

47、编写一个程序,计算并输出整数 1、7、9 和 34 的平均值。

计算整数 1、7、9 和 34 的平均值

Python 实现

以下是使用 Python 语言实现的示例代码:


numbers = [1, 7, 9, 34]
average = sum(numbers) / len(numbers)
print(average)

此代码首先创建一个包含 1、7、9 和 34 的列表

numbers

,接着使用

sum

函数计算列表元素的总和,再用

len

函数获取列表的长度,将总和除以长度得到平均值,最后使用

print

函数输出平均值。

Java 实现

若使用 Java 语言,示例代码如下:


public class AverageCalculator {
    public static void main(String[] args) {
        int[] numbers = {1, 7, 9, 34};
        int sum = 0;
        for (int number : numbers) {
            sum += number;
        }
        double average = (double) sum / numbers.length;
        System.out.println(average);
    }
}

该 Java 代码创建了一个整数数组

numbers

,通过

for - each

循环计算数组元素的总和,将总和转换为

double

类型后除以数组长度得到平均值,最后使用

System.out.println

输出平均值。

48、编写一个程序,将10、50和100千克转换为磅(1磅 = 0.454千克)。

以下是使用Python语言实现的示例代码:


weights_in_kg = [10, 50, 100]
for weight in weights_in_kg:
    weight_in_lb = weight / 0.454
    print(f'{weight} 千克等于 {weight_in_lb} 磅')

上述代码定义了一个包含10、50和100的列表,然后遍历列表,将每个千克值除以0.454得到对应的磅值并输出。不同编程语言实现方式类似,只是语法有所不同。

49、编写一个程序,将2英寸、5英寸和10英寸转换为毫米(1英寸 = 25.4毫米)。

以下是一个Python示例程序来实现此功能:


inches = [2, 5, 10]
mm_per_inch = 25.4
for inch in inches:
    millimeters = inch * mm_per_inch
    print(f'{inch}英寸等于{millimeters}毫米')

此程序定义了一个包含2、5和10的英寸列表,使用1英寸等于25.4毫米的转换因子,通过循环将每个英寸值转换为毫米并输出结果。

50、编写一个程序,计算并输出半径为3.2英寸的圆的周长。

根据圆的周长公式 $ C = 2pi r $(其中 $ C $ 为周长,$ pi $ 取 3.14159,$ r $ 为半径),以下是使用 Java 语言实现的示例代码:


public class CircleCircumference {
    public static void main(String[] args) {
        double PI = 3.14159;
        double radius = 3.2;
        double circumference = 2 * PI * radius;
        System.out.println("半径为3.2英寸的圆的周长是:" + circumference + " 英寸");
    }
}

上述代码定义了常量

PI

和变量

radius

,通过公式计算出周长并输出结果。

51、编写一个程序,输出字符串:a3 + b3 = c3

以下是使用 Java 语言实现的示例代码:


public class Main {
    public static void main(String[] args) {
        System.out.println("a3 + b3 = c3");
    }
}

如果使用 Python 语言,代码如下:


print("a3 + b3 = c3")

52、一些程序员喜欢编写尽可能紧凑的代码,例如在另一个语句中间使用递增(或递减)运算符。通常,这些程序员在编写程序时几乎不添加注释。考虑到程序会在一定时间内存在,讨论这种做法是否是个好主意。

这种做法不是一个好主意。虽然编写紧凑的代码可能会使代码看起来简洁,执行效率可能略有提升,但程序在其生命周期内可能需要进行维护、修改或扩展。很少的注释会让其他程序员(甚至是原作者在一段时间后)难以理解代码的意图和逻辑。当需要对代码进行修改时,可能会因为难以理解而引入新的错误,增加维护的难度和成本,不利于代码的长期发展。

因此,在编写代码时,需要在代码紧凑性和可读性之间找到平衡,适当添加注释来提高代码的可维护性。

53、Graphics类属于哪个包?选项:Graphics、java.awt、swing、Applet

java.awt

54、在编写小程序代码时,程序员通常如何获取一个Graphics对象?是必须使用Graphics构造函数创建一个对象;还是它是JApplet类的一个实例变量;亦或是它是paint方法的一个参数?

它是paint方法的一个参数。

55、小程序是独立运行的应用程序。对 错

56、在小程序和图形应用程序中,paint方法会自动调用,程序员无需编写方法调用代码。对还是错?

57、查看以下代码:BLUE 是什么?A. 类 Color 的静态字段;B. 类 Color 的实例变量;C. 类 Color 的静态方法;D. 类 Color 的实例方法

A

58、在 Java 中,Graphics 类的 fillOval 方法需要多少个参数?选项:0、2、4、5

4

59、在RGB格式中,灰色是指红色分量、绿色分量和蓝色分量的值相等的颜色。每个分量的取值范围是从0到255,包括0和255,那么可以有多少种可能的灰色?选项:1;2;255;256;257

256

60、矩形将以什么颜色绘制?

若未设置颜色,默认以黑色绘制;若设置了颜色,则以设置的颜色绘制。

61、请写出一段代码来绘制一个填充矩形,该矩形宽度为100像素,高度为300像素,起始坐标为(50, 30)。

对应的代码可以是 fillRect(50, 30, 100, 300);

62、有一段代码要绘制一个填充矩形,其左上角起始于坐标(50, 30),右下角位于坐标(100, 300),试计算该矩形的宽度和高度分别是多少?

此矩形宽度为50像素(100 – 50),高度为270像素(300 – 30)。

63、这段代码绘制了一个半径为100、圆心位于(200, 200)的圆,判断该描述是否正确(假设代码已给出)

该句描述了代码的功能是绘制一个特定的圆,圆的半径为100,圆心坐标是(200, 200)。

64、你在文件MyDrawingApp.java中编写了如下程序。编译时没有错误,但运行程序时,窗口没有出现。请解释问题所在以及如何修复。

问题可能是没有正确设置窗口可见性、窗口大小,或者没有将窗口添加到事件调度线程等。


修复方法:

确保调用了窗口的

setVisible(true)

方法使窗口可见;

设置合适的窗口大小,如调用

setSize()

方法;

将窗口的创建和显示操作放在事件调度线程中,例如使用

SwingUtilities.invokeLater()

方法。

65、在万维网上,小程序(applet)是在“客户端”(如你自己的个人电脑等本地机器)而非“服务器端”(如雅虎网站的服务器)上执行的程序。你认为在全球可能数百万台不同的计算机上执行同一个程序(如小程序)会有哪些潜在问题?

可能存在浏览器不兼容、安全功能限制、下载速度慢等问题。

不同计算机的浏览器版本、配置不同,可能导致小程序无法正常运行。

安全功能可能会对小程序的运行进行限制。

由于网络状况不同,下载小程序的速度可能较慢。

66、如果drawRect方法不存在,但你仍然可以使用drawLine方法,解释你将如何绘制一个矩形。

可以使用

drawLine

方法绘制矩形的四条边来组成一个矩形。矩形有四条边,假设矩形左上角坐标为

(x, y)

,宽度为

width

,高度为

height

。可以通过以下步骤绘制:


绘制上边

:使用

drawLine(x, y, x + width, y)

绘制从左上角到右上角的水平线段。


绘制右边

:使用

drawLine(x + width, y, x + width, y + height)

绘制从右上角到右下角的垂直线段。


绘制下边

:使用

drawLine(x + width, y + height, x, y + height)

绘制从右下角到左下角的水平线段。


绘制左边

:使用

drawLine(x, y + height, x, y)

绘制从左下角到左上角的垂直线段。

67、编写一个小程序(applet)和一个调用该小程序的 HTML 文件。该小程序应包含以下内容:一个棋盘棋子的绘图(可以是单一颜色);对棋盘上特定棋子(例如,车)的描述及其主要合法走法。为了使描述在视觉上更具吸引力,你应该使用多种颜色和多种字体。你需要在 Java 类库中查找以下内容:Font 类、Font 类构造函数的工作方式、Graphics 类的 setFont 方法。

题目要求

本题要求编写一个小程序及调用它的 HTML 文件,具体步骤如下:


编写 Java 小程序



– 创建一个 Java 类继承自

Applet



– 在类中实现绘制棋盘棋子(可单一颜色)。

– 描述特定棋子(如车)及合法走法的功能。

– 使用

Font

类创建不同字体。

– 使用

Graphics

类的

setFont

方法设置字体。

– 使用不同颜色增强视觉效果。


编写 HTML 文件



– 在 HTML 文件中使用

<APPLET>

标签调用编写好的 Java 小程序。

68、请编写一段 Java 代码,用于绘制字符串 “Fill In the Code”,使第一个字符(字母 F)的左下角位于坐标 (100, 250) 处。

在 Java 中可使用

Graphics

类的

drawString

方法,示例代码如下:


import java.awt.*;
import javax.swing.*;

public class DrawStringExample extends JFrame {
    public DrawStringExample() {
        setSize(400, 400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        g.drawString("Fill In the Code", 100, 250);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(() -> {
            DrawStringExample example = new DrawStringExample();
            example.setVisible(true);
        });
    }
}
© 版权声明

相关文章

暂无评论

none
暂无评论...